From 02a6dc6c48b5198a483dfba41708af80323bdbb2 Mon Sep 17 00:00:00 2001 From: Max Amundsen Date: Tue, 14 Jul 2026 10:33:12 -0400 Subject: [PATCH] Add js web stuff to landing page + documentation --- .gitignore | 17 + CLAUDE.md | 110 +- go/basic/basic_test.go | 2 - go/cmd/bundle/main.go | 12 +- go/cmd/examples/go-wasm-web/README.md | 112 - go/cmd/examples/go-wasm-web/go.mod | 18 - .../go-wasm-web/server/__debug_bin283327599 | Bin 11573698 -> 0 bytes go/cmd/examples/go-wasm-web/wwwroot/app.css | 144 - .../examples/go-wasm-web/wwwroot/wasm_exec.js | 575 - go/cmd/kjol-web/README.md | 120 + .../go-wasm-web => kjol-web}/app/chart.go | 4 +- .../app/client.gen.go | 0 .../go-wasm-web => kjol-web}/app/data.go | 2 +- .../go-wasm-web => kjol-web}/app/docs.go | 20 +- .../app/icons_test.go | 0 .../go-wasm-web => kjol-web}/app/kit.go | 2 +- .../app/landing_test.go | 0 go/cmd/kjol-web/app/layers.go | 200 + .../go-wasm-web => kjol-web}/app/overlays.go | 2 +- .../go-wasm-web => kjol-web}/app/pages.go | 68 +- .../app/routes.gen.go | 48 +- .../app/server.gen.go | 0 .../app/server_counter.go | 0 .../go-wasm-web => kjol-web}/app/ssr_test.go | 4 +- .../go-wasm-web => kjol-web}/app/table.go | 2 +- .../go-wasm-web => kjol-web}/build/main.go | 5 +- .../buildsteps/buildsteps.go | 39 +- .../go-wasm-web => kjol-web}/css/app.css | 0 go/cmd/kjol-web/frontend/css/style.css | 79 + go/cmd/kjol-web/frontend/src/app.ts | 52 + go/cmd/kjol-web/frontend/src/layers.ts | 72 + go/cmd/kjol-web/frontend/src/layout/Demo.tsx | 33 + go/cmd/kjol-web/frontend/src/layout/Shell.tsx | 176 + go/cmd/kjol-web/frontend/src/pages/Forms.tsx | 220 + go/cmd/kjol-web/frontend/src/pages/Kit.tsx | 199 + .../kjol-web/frontend/src/pages/Overview.tsx | 97 + go/cmd/kjol-web/frontend/src/pages/Table.tsx | 167 + .../kjol-web/frontend/src/pages/Theming.tsx | 168 + .../src/pages/public/PublicLayout.tsx | 73 + .../frontend/src/pages/public/Ssr.tsx | 77 + .../frontend/src/pages/public/pages.ts | 30 + .../frontend/src/pages/public/routes.gen.ts | 17 + go/cmd/kjol-web/frontend/src/public.tsx | 35 + .../vendor/pdf-lib/dist/pdf-lib.esm.js | 39404 ++++++++++++++++ .../frontend/vendor/pdf-lib/package.json | 141 + .../frontend/vendor/pdfjs-dist/build/pdf.mjs | 26465 +++++++++++ .../pdfjs-dist/build/pdf.worker.min.mjs | 28 + .../frontend/vendor/pdfjs-dist/package.json | 34 + go/cmd/kjol-web/frontend/vendor/vendor.json | 12 + go/cmd/kjol-web/go.mod | 28 + .../{examples/go-wasm-web => kjol-web}/go.sum | 27 + go/cmd/kjol-web/internal/handlers/public.go | 117 + .../go-wasm-web => kjol-web}/server/main.go | 80 +- .../go-wasm-web => kjol-web}/wasm/main.go | 2 +- .../wasm/main_native.go | 0 .../wwwroot/fonts/lora-latin-ext-italic.woff2 | Bin .../wwwroot/fonts/lora-latin-ext-normal.woff2 | Bin .../wwwroot/fonts/lora-latin-italic.woff2 | Bin .../wwwroot/fonts/lora-latin-normal.woff2 | Bin .../wwwroot/wasmboot.js | 0 go/cmd/twcss/main.go | 2 +- go/{webbundler => jsbundler}/alias.go | 8 +- go/{webbundler => jsbundler}/build.go | 6 +- go/{webbundler => jsbundler}/compile_solid.go | 2 +- .../compile_solid_gen.go | 68 +- .../compile_solid_render_test.go | 46 +- .../compile_solid_test.go | 2 +- go/{webbundler => jsbundler}/config.go | 33 +- .../crosstree_test.go | 14 +- go/{webbundler => jsbundler}/css.go | 4 +- go/{webbundler => jsbundler}/export_shim.go | 2 +- go/{webbundler => jsbundler}/faicons.go | 49 +- go/{webbundler => jsbundler}/genroutes.go | 2 +- go/{webbundler => jsbundler}/genssr.go | 13 +- .../hmr_browser_test.go | 2 +- go/{webbundler => jsbundler}/hmr_client.go | 2 +- .../hmr_client_test.go | 2 +- go/{webbundler => jsbundler}/hmr_e2e_test.go | 2 +- .../hmr_error_test.go | 2 +- go/{webbundler => jsbundler}/hmr_server.go | 14 +- go/{webbundler => jsbundler}/hmr_vendor.go | 2 +- go/{webbundler => jsbundler}/hmr_watch.go | 4 +- go/{webbundler => jsbundler}/hmr_ws.go | 4 +- .../hmr_ws_integration_test.go | 2 +- go/{webbundler => jsbundler}/hmr_ws_test.go | 2 +- go/{webbundler => jsbundler}/import_check.go | 2 +- go/{webbundler => jsbundler}/js.go | 4 +- go/{webbundler => jsbundler}/js/ssr/dom.js | 0 go/{webbundler => jsbundler}/jsx.go | 4 +- .../jsx_bench_test.go | 2 +- go/{webbundler => jsbundler}/jsx_dev_test.go | 2 +- go/{webbundler => jsbundler}/jsx_test.go | 2 +- go/{webbundler => jsbundler}/renderer.go | 2 +- go/{webbundler => jsbundler}/segment.go | 2 +- go/{webbundler => jsbundler}/segment_test.go | 4 +- go/{webbundler => jsbundler}/ssr.go | 6 +- go/jsbundler/ssr_test.go | 203 + go/{webbundler => jsbundler}/ssrcache.go | 2 +- .../vendor_plugins.go | 2 +- {web => go/jsruntime}/auth/AuthContext.ts | 0 {web => go/jsruntime}/auth/ProtectedRoute.ts | 0 .../jsruntime}/auth/checkBundleVersion.js | 0 {web => go/jsruntime}/auth/permissions.ts | 0 {web => go/jsruntime}/auth/useAuthFetch.js | 0 {web => go/jsruntime}/basic.ts | 0 go/jsruntime/doc.go | 36 + {web => go/jsruntime}/env.ts | 0 {web => go/jsruntime}/finance.ts | 0 .../jsruntime}/hooks/useDocumentTitle.js | 0 go/jsruntime/icons/README.md | 37 + go/jsruntime/icons/regular/angles-left.svg | 1 + go/jsruntime/icons/regular/angles-right.svg | 1 + go/jsruntime/icons/regular/arrow-right.svg | 1 + .../icons/regular/arrow-rotate-left.svg | 1 + go/jsruntime/icons/regular/arrows-rotate.svg | 1 + go/jsruntime/icons/regular/bars.svg | 1 + go/jsruntime/icons/regular/bolt.svg | 1 + go/jsruntime/icons/regular/calendar.svg | 1 + go/jsruntime/icons/regular/caret-down.svg | 1 + go/jsruntime/icons/regular/caret-up.svg | 1 + go/jsruntime/icons/regular/check.svg | 1 + go/jsruntime/icons/regular/chevron-down.svg | 1 + go/jsruntime/icons/regular/chevron-left.svg | 1 + go/jsruntime/icons/regular/chevron-right.svg | 1 + go/jsruntime/icons/regular/chevron-up.svg | 1 + go/jsruntime/icons/regular/circle-check.svg | 1 + .../icons/regular/circle-exclamation.svg | 1 + go/jsruntime/icons/regular/circle-info.svg | 1 + go/jsruntime/icons/regular/code.svg | 1 + go/jsruntime/icons/regular/cog.svg | 1 + go/jsruntime/icons/regular/copy.svg | 1 + go/jsruntime/icons/regular/cube.svg | 1 + go/jsruntime/icons/regular/download.svg | 1 + go/jsruntime/icons/regular/envelope.svg | 1 + go/jsruntime/icons/regular/gear.svg | 1 + go/jsruntime/icons/regular/globe.svg | 1 + go/jsruntime/icons/regular/grip-vertical.svg | 1 + go/jsruntime/icons/regular/house.svg | 1 + go/jsruntime/icons/regular/list-ol.svg | 1 + .../icons/regular/magnifying-glass.svg | 1 + go/jsruntime/icons/regular/moon.svg | 1 + go/jsruntime/icons/regular/palette.svg | 1 + go/jsruntime/icons/regular/pen-to-square.svg | 1 + go/jsruntime/icons/regular/phone.svg | 1 + go/jsruntime/icons/regular/plus.svg | 1 + go/jsruntime/icons/regular/print.svg | 1 + .../icons/regular/ruler-horizontal.svg | 1 + go/jsruntime/icons/regular/sailboat.svg | 1 + go/jsruntime/icons/regular/server.svg | 1 + go/jsruntime/icons/regular/sliders.svg | 1 + go/jsruntime/icons/regular/star.svg | 1 + go/jsruntime/icons/regular/sun.svg | 1 + go/jsruntime/icons/regular/table-columns.svg | 1 + go/jsruntime/icons/regular/table.svg | 1 + go/jsruntime/icons/regular/trash-can.svg | 1 + .../icons/regular/triangle-exclamation.svg | 1 + go/jsruntime/icons/regular/user.svg | 1 + go/jsruntime/icons/regular/xmark.svg | 1 + go/jsruntime/icons/solid/angles-left.svg | 1 + go/jsruntime/icons/solid/angles-right.svg | 1 + go/jsruntime/icons/solid/arrow-right.svg | 1 + .../icons/solid/arrow-rotate-left.svg | 1 + go/jsruntime/icons/solid/arrows-rotate.svg | 1 + go/jsruntime/icons/solid/bars.svg | 1 + go/jsruntime/icons/solid/bolt.svg | 1 + go/jsruntime/icons/solid/calendar.svg | 1 + go/jsruntime/icons/solid/caret-down.svg | 1 + go/jsruntime/icons/solid/caret-up.svg | 1 + go/jsruntime/icons/solid/check.svg | 1 + go/jsruntime/icons/solid/chevron-down.svg | 1 + go/jsruntime/icons/solid/chevron-left.svg | 1 + go/jsruntime/icons/solid/chevron-right.svg | 1 + go/jsruntime/icons/solid/chevron-up.svg | 1 + go/jsruntime/icons/solid/circle-check.svg | 1 + .../icons/solid/circle-exclamation.svg | 1 + go/jsruntime/icons/solid/circle-info.svg | 1 + go/jsruntime/icons/solid/code.svg | 1 + go/jsruntime/icons/solid/cog.svg | 1 + go/jsruntime/icons/solid/copy.svg | 1 + go/jsruntime/icons/solid/cube.svg | 1 + go/jsruntime/icons/solid/download.svg | 1 + go/jsruntime/icons/solid/envelope.svg | 1 + go/jsruntime/icons/solid/gear.svg | 1 + go/jsruntime/icons/solid/globe.svg | 1 + go/jsruntime/icons/solid/grip-vertical.svg | 1 + go/jsruntime/icons/solid/house.svg | 1 + go/jsruntime/icons/solid/list-ol.svg | 1 + go/jsruntime/icons/solid/magnifying-glass.svg | 1 + go/jsruntime/icons/solid/moon.svg | 1 + go/jsruntime/icons/solid/palette.svg | 1 + go/jsruntime/icons/solid/pen-to-square.svg | 1 + go/jsruntime/icons/solid/phone.svg | 1 + go/jsruntime/icons/solid/plus.svg | 1 + go/jsruntime/icons/solid/print.svg | 1 + go/jsruntime/icons/solid/ruler-horizontal.svg | 1 + go/jsruntime/icons/solid/sailboat.svg | 1 + go/jsruntime/icons/solid/server.svg | 1 + go/jsruntime/icons/solid/sliders.svg | 1 + go/jsruntime/icons/solid/star.svg | 1 + go/jsruntime/icons/solid/sun.svg | 1 + go/jsruntime/icons/solid/table-columns.svg | 1 + go/jsruntime/icons/solid/table.svg | 1 + go/jsruntime/icons/solid/trash-can.svg | 1 + .../icons/solid/triangle-exclamation.svg | 1 + go/jsruntime/icons/solid/user.svg | 1 + go/jsruntime/icons/solid/xmark.svg | 1 + .../runtime/@solidjs/router/LICENSE | 0 .../runtime/@solidjs/router/README.md | 0 .../@solidjs/router/dist/components.d.ts | 0 .../@solidjs/router/dist/components.jsx | 0 .../@solidjs/router/dist/data/action.d.ts | 0 .../@solidjs/router/dist/data/action.js | 0 .../router/dist/data/createAsync.d.ts | 0 .../@solidjs/router/dist/data/createAsync.js | 0 .../@solidjs/router/dist/data/events.d.ts | 0 .../@solidjs/router/dist/data/events.js | 0 .../@solidjs/router/dist/data/index.d.ts | 0 .../@solidjs/router/dist/data/index.js | 0 .../@solidjs/router/dist/data/query.d.ts | 0 .../@solidjs/router/dist/data/query.js | 0 .../@solidjs/router/dist/data/response.d.ts | 0 .../@solidjs/router/dist/data/response.js | 0 .../runtime/@solidjs/router/dist/index.d.ts | 0 .../runtime/@solidjs/router/dist/index.js | 0 .../runtime/@solidjs/router/dist/index.jsx | 0 .../@solidjs/router/dist/lifecycle.d.ts | 0 .../runtime/@solidjs/router/dist/lifecycle.js | 0 .../router/dist/routers/HashRouter.d.ts | 0 .../router/dist/routers/HashRouter.js | 0 .../router/dist/routers/MemoryRouter.d.ts | 0 .../router/dist/routers/MemoryRouter.js | 0 .../@solidjs/router/dist/routers/Router.d.ts | 0 .../@solidjs/router/dist/routers/Router.js | 0 .../router/dist/routers/StaticRouter.d.ts | 0 .../router/dist/routers/StaticRouter.js | 0 .../router/dist/routers/components.d.ts | 0 .../router/dist/routers/components.jsx | 0 .../router/dist/routers/createRouter.d.ts | 0 .../router/dist/routers/createRouter.js | 0 .../@solidjs/router/dist/routers/index.d.ts | 0 .../@solidjs/router/dist/routers/index.js | 0 .../runtime/@solidjs/router/dist/routing.d.ts | 0 .../runtime/@solidjs/router/dist/routing.js | 0 .../runtime/@solidjs/router/dist/types.d.ts | 0 .../runtime/@solidjs/router/dist/types.js | 0 .../runtime/@solidjs/router/dist/utils.d.ts | 0 .../runtime/@solidjs/router/dist/utils.js | 0 .../runtime/@solidjs/router/package.json | 0 {web => go/jsruntime}/runtime/csstype/LICENSE | 0 .../jsruntime}/runtime/csstype/README.md | 0 .../jsruntime}/runtime/csstype/index.d.ts | 0 .../jsruntime}/runtime/csstype/index.js.flow | 0 .../jsruntime}/runtime/csstype/package.json | 0 .../jsruntime}/runtime/solid-js/LICENSE | 0 .../jsruntime}/runtime/solid-js/README.md | 0 .../jsruntime}/runtime/solid-js/dist/dev.cjs | 0 .../jsruntime}/runtime/solid-js/dist/dev.js | 0 .../runtime/solid-js/dist/server.cjs | 0 .../runtime/solid-js/dist/server.js | 0 .../runtime/solid-js/dist/solid.cjs | 0 .../jsruntime}/runtime/solid-js/dist/solid.js | 0 .../jsruntime}/runtime/solid-js/h/dist/h.cjs | 0 .../jsruntime}/runtime/solid-js/h/dist/h.js | 0 .../solid-js/h/jsx-dev-runtime/package.json | 0 .../solid-js/h/jsx-runtime/dist/jsx.cjs | 0 .../solid-js/h/jsx-runtime/dist/jsx.js | 0 .../solid-js/h/jsx-runtime/package.json | 0 .../solid-js/h/jsx-runtime/types/index.d.ts | 0 .../solid-js/h/jsx-runtime/types/jsx.d.ts | 0 .../runtime/solid-js/h/package.json | 0 .../runtime/solid-js/h/types/hyperscript.d.ts | 0 .../runtime/solid-js/h/types/index.d.ts | 0 .../runtime/solid-js/html/dist/html.cjs | 0 .../runtime/solid-js/html/dist/html.js | 0 .../runtime/solid-js/html/package.json | 0 .../runtime/solid-js/html/types/index.d.ts | 0 .../runtime/solid-js/html/types/lit.d.ts | 0 .../runtime/solid-js/jsx-runtime.d.ts | 0 .../jsruntime}/runtime/solid-js/package.json | 0 .../runtime/solid-js/store/dist/dev.cjs | 0 .../runtime/solid-js/store/dist/dev.js | 0 .../runtime/solid-js/store/dist/server.cjs | 0 .../runtime/solid-js/store/dist/server.js | 0 .../runtime/solid-js/store/dist/store.cjs | 0 .../runtime/solid-js/store/dist/store.js | 0 .../runtime/solid-js/store/package.json | 0 .../runtime/solid-js/store/types/index.d.ts | 0 .../solid-js/store/types/modifiers.d.ts | 0 .../runtime/solid-js/store/types/mutable.d.ts | 0 .../runtime/solid-js/store/types/server.d.ts | 0 .../runtime/solid-js/store/types/store.d.ts | 0 .../runtime/solid-js/types/index.d.ts | 0 .../runtime/solid-js/types/jsx.d.ts | 0 .../solid-js/types/reactive/array.d.ts | 0 .../solid-js/types/reactive/observable.d.ts | 0 .../solid-js/types/reactive/scheduler.d.ts | 0 .../solid-js/types/reactive/signal.d.ts | 0 .../solid-js/types/render/Suspense.d.ts | 0 .../solid-js/types/render/component.d.ts | 0 .../runtime/solid-js/types/render/flow.d.ts | 0 .../solid-js/types/render/hydration.d.ts | 0 .../runtime/solid-js/types/render/index.d.ts | 0 .../runtime/solid-js/types/server/index.d.ts | 0 .../solid-js/types/server/reactive.d.ts | 0 .../solid-js/types/server/rendering.d.ts | 0 .../runtime/solid-js/universal/dist/dev.cjs | 0 .../runtime/solid-js/universal/dist/dev.js | 0 .../solid-js/universal/dist/universal.cjs | 0 .../solid-js/universal/dist/universal.js | 0 .../runtime/solid-js/universal/package.json | 0 .../solid-js/universal/types/index.d.ts | 0 .../solid-js/universal/types/universal.d.ts | 0 .../runtime/solid-js/web/dist/dev.cjs | 0 .../runtime/solid-js/web/dist/dev.js | 0 .../runtime/solid-js/web/dist/server.cjs | 0 .../runtime/solid-js/web/dist/server.js | 0 .../runtime/solid-js/web/dist/web.cjs | 0 .../runtime/solid-js/web/dist/web.js | 0 .../runtime/solid-js/web/package.json | 0 .../solid-js/web/storage/dist/storage.cjs | 0 .../solid-js/web/storage/dist/storage.js | 0 .../runtime/solid-js/web/storage/package.json | 0 .../solid-js/web/storage/types/index.d.ts | 0 .../runtime/solid-js/web/types/client.d.ts | 0 .../runtime/solid-js/web/types/core.d.ts | 0 .../runtime/solid-js/web/types/index.d.ts | 0 .../runtime/solid-js/web/types/jsx.d.ts | 0 .../solid-js/web/types/server-mock.d.ts | 0 .../runtime/solid-js/web/types/server.d.ts | 0 .../jsruntime}/runtime/solid-refresh/LICENSE | 0 .../runtime/solid-refresh/README.md | 0 .../runtime/solid-refresh/dist/babel.cjs | 0 .../runtime/solid-refresh/dist/babel.cjs.map | 0 .../runtime/solid-refresh/dist/babel.mjs | 0 .../runtime/solid-refresh/dist/babel.mjs.map | 0 .../solid-refresh/dist/solid-refresh.cjs | 0 .../solid-refresh/dist/solid-refresh.cjs.map | 0 .../solid-refresh/dist/solid-refresh.mjs | 0 .../solid-refresh/dist/solid-refresh.mjs.map | 0 .../dist/src/babel/core/checks.d.ts | 0 .../dist/src/babel/core/checks.d.ts.map | 0 .../dist/src/babel/core/constants.d.ts | 0 .../dist/src/babel/core/constants.d.ts.map | 0 .../dist/src/babel/core/create-registry.d.ts | 0 .../src/babel/core/create-registry.d.ts.map | 0 .../src/babel/core/generate-unique-name.d.ts | 0 .../babel/core/generate-unique-name.d.ts.map | 0 .../dist/src/babel/core/generator.d.ts | 0 .../dist/src/babel/core/generator.d.ts.map | 0 .../src/babel/core/get-descriptive-name.d.ts | 0 .../babel/core/get-descriptive-name.d.ts.map | 0 .../src/babel/core/get-foreign-bindings.d.ts | 0 .../babel/core/get-foreign-bindings.d.ts.map | 0 .../src/babel/core/get-hmr-decline-call.d.ts | 0 .../babel/core/get-hmr-decline-call.d.ts.map | 0 .../src/babel/core/get-hot-identifier.d.ts | 0 .../babel/core/get-hot-identifier.d.ts.map | 0 .../src/babel/core/get-import-identifier.d.ts | 0 .../babel/core/get-import-identifier.d.ts.map | 0 .../babel/core/get-root-statement-path.d.ts | 0 .../core/get-root-statement-path.d.ts.map | 0 .../src/babel/core/get-statement-path.d.ts | 0 .../babel/core/get-statement-path.d.ts.map | 0 .../babel/core/is-statement-top-level.d.ts | 0 .../core/is-statement-top-level.d.ts.map | 0 .../dist/src/babel/core/is-valid-callee.d.ts | 0 .../src/babel/core/is-valid-callee.d.ts.map | 0 .../core/register-import-specifiers.d.ts | 0 .../core/register-import-specifiers.d.ts.map | 0 .../dist/src/babel/core/transform-jsx.d.ts | 0 .../src/babel/core/transform-jsx.d.ts.map | 0 .../dist/src/babel/core/types.d.ts | 0 .../dist/src/babel/core/types.d.ts.map | 0 .../dist/src/babel/core/unwrap.d.ts | 0 .../dist/src/babel/core/unwrap.d.ts.map | 0 .../dist/src/babel/core/xxhash32.d.ts | 0 .../dist/src/babel/core/xxhash32.d.ts.map | 0 .../solid-refresh/dist/src/babel/index.d.ts | 0 .../dist/src/babel/index.d.ts.map | 0 .../dist/src/runtime/create-proxy.d.ts | 0 .../dist/src/runtime/create-proxy.d.ts.map | 0 .../solid-refresh/dist/src/runtime/index.d.ts | 0 .../dist/src/runtime/index.d.ts.map | 0 .../dist/src/runtime/is-list-updated.d.ts | 0 .../dist/src/runtime/is-list-updated.d.ts.map | 0 .../solid-refresh/dist/src/shared/types.d.ts | 0 .../dist/src/shared/types.d.ts.map | 0 .../runtime/solid-refresh/package.json | 0 {web => go/jsruntime}/runtime/vendor.json | 0 {web => go/jsruntime}/ssr/serverData.ts | 0 go/jsruntime/styles/theme.css | 174 + {web => go/jsruntime}/superfun.ts | 0 {web => go/jsruntime}/types.d.ts | 0 {web => go/jsruntime}/uikit/Accordion.tsx | 10 +- {web => go/jsruntime}/uikit/Alerts.tsx | 12 +- {web => go/jsruntime}/uikit/AutoTable.tsx | 188 +- {web => go/jsruntime}/uikit/Badges.tsx | 2 +- {web => go/jsruntime}/uikit/Buttons.tsx | 40 +- {web => go/jsruntime}/uikit/Calendar.tsx | 32 +- {web => go/jsruntime}/uikit/Cards.tsx | 14 +- {web => go/jsruntime}/uikit/CellGrid.tsx | 18 +- {web => go/jsruntime}/uikit/Chart.tsx | 0 {web => go/jsruntime}/uikit/CrmTabs.tsx | 14 +- {web => go/jsruntime}/uikit/DatePicker.tsx | 8 +- {web => go/jsruntime}/uikit/EnvBadge.tsx | 2 +- {web => go/jsruntime}/uikit/Floating.tsx | 0 {web => go/jsruntime}/uikit/Formatters.ts | 0 {web => go/jsruntime}/uikit/Forms.tsx | 86 +- {web => go/jsruntime}/uikit/FuzzyMatch.tsx | 20 +- {web => go/jsruntime}/uikit/General.tsx | 14 +- {web => go/jsruntime}/uikit/Icons.tsx | 4 +- {web => go/jsruntime}/uikit/Menu.tsx | 14 +- {web => go/jsruntime}/uikit/Modal.tsx | 24 +- {web => go/jsruntime}/uikit/Popovers.tsx | 2 +- {web => go/jsruntime}/uikit/PrettyTable.tsx | 20 +- .../jsruntime}/uikit/RemoteUpdateFlash.tsx | 2 +- {web => go/jsruntime}/uikit/Sidebar.tsx | 6 +- {web => go/jsruntime}/uikit/Tabs.tsx | 4 +- go/jsruntime/uikit/Theme.tsx | 146 + {web => go/jsruntime}/uikit/Toast.tsx | 16 +- {web => go/jsruntime}/uikit/ToggleSwitch.tsx | 8 +- {web => go/jsruntime}/uikit/Tooltips.tsx | 0 {web => go/jsruntime}/uikit/Tutorial.tsx | 12 +- {web => go/jsruntime}/uikit/Validation.ts | 0 {web => go/jsruntime}/utils/accessors.ts | 0 go/webbundler/ssr_test.go | 145 - go/webui/README.md | 2 +- go/webui/autotable.go | 2 +- go/webui/menu.go | 2 +- go/webui/modal.go | 2 +- go/webui/popovers.go | 2 +- go/webui/signaturepad.go | 2 +- go/webui/toast.go | 2 +- go/webui/tooltips.go | 2 +- go/webui/tutorial.go | 2 +- 435 files changed, 69567 insertions(+), 1522 deletions(-) delete mode 100644 go/cmd/examples/go-wasm-web/README.md delete mode 100644 go/cmd/examples/go-wasm-web/go.mod delete mode 100755 go/cmd/examples/go-wasm-web/server/__debug_bin283327599 delete mode 100644 go/cmd/examples/go-wasm-web/wwwroot/app.css delete mode 100644 go/cmd/examples/go-wasm-web/wwwroot/wasm_exec.js create mode 100644 go/cmd/kjol-web/README.md rename go/cmd/{examples/go-wasm-web => kjol-web}/app/chart.go (97%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/client.gen.go (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/data.go (99%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/docs.go (94%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/icons_test.go (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/kit.go (99%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/landing_test.go (100%) create mode 100644 go/cmd/kjol-web/app/layers.go rename go/cmd/{examples/go-wasm-web => kjol-web}/app/overlays.go (99%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/pages.go (89%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/routes.gen.go (53%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/server.gen.go (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/server_counter.go (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/ssr_test.go (97%) rename go/cmd/{examples/go-wasm-web => kjol-web}/app/table.go (99%) rename go/cmd/{examples/go-wasm-web => kjol-web}/build/main.go (86%) rename go/cmd/{examples/go-wasm-web => kjol-web}/buildsteps/buildsteps.go (74%) rename go/cmd/{examples/go-wasm-web => kjol-web}/css/app.css (100%) create mode 100644 go/cmd/kjol-web/frontend/css/style.css create mode 100644 go/cmd/kjol-web/frontend/src/app.ts create mode 100644 go/cmd/kjol-web/frontend/src/layers.ts create mode 100644 go/cmd/kjol-web/frontend/src/layout/Demo.tsx create mode 100644 go/cmd/kjol-web/frontend/src/layout/Shell.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/Forms.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/Kit.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/Overview.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/Table.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/Theming.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/public/PublicLayout.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/public/Ssr.tsx create mode 100644 go/cmd/kjol-web/frontend/src/pages/public/pages.ts create mode 100644 go/cmd/kjol-web/frontend/src/pages/public/routes.gen.ts create mode 100644 go/cmd/kjol-web/frontend/src/public.tsx create mode 100644 go/cmd/kjol-web/frontend/vendor/pdf-lib/dist/pdf-lib.esm.js create mode 100644 go/cmd/kjol-web/frontend/vendor/pdf-lib/package.json create mode 100644 go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.mjs create mode 100644 go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.worker.min.mjs create mode 100644 go/cmd/kjol-web/frontend/vendor/pdfjs-dist/package.json create mode 100644 go/cmd/kjol-web/frontend/vendor/vendor.json create mode 100644 go/cmd/kjol-web/go.mod rename go/cmd/{examples/go-wasm-web => kjol-web}/go.sum (70%) create mode 100644 go/cmd/kjol-web/internal/handlers/public.go rename go/cmd/{examples/go-wasm-web => kjol-web}/server/main.go (50%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wasm/main.go (98%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wasm/main_native.go (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wwwroot/fonts/lora-latin-ext-italic.woff2 (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wwwroot/fonts/lora-latin-ext-normal.woff2 (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wwwroot/fonts/lora-latin-italic.woff2 (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wwwroot/fonts/lora-latin-normal.woff2 (100%) rename go/cmd/{examples/go-wasm-web => kjol-web}/wwwroot/wasmboot.js (100%) rename go/{webbundler => jsbundler}/alias.go (90%) rename go/{webbundler => jsbundler}/build.go (96%) rename go/{webbundler => jsbundler}/compile_solid.go (99%) rename go/{webbundler => jsbundler}/compile_solid_gen.go (94%) rename go/{webbundler => jsbundler}/compile_solid_render_test.go (84%) rename go/{webbundler => jsbundler}/compile_solid_test.go (99%) rename go/{webbundler => jsbundler}/config.go (67%) rename go/{webbundler => jsbundler}/crosstree_test.go (87%) rename go/{webbundler => jsbundler}/css.go (97%) rename go/{webbundler => jsbundler}/export_shim.go (99%) rename go/{webbundler => jsbundler}/faicons.go (82%) rename go/{webbundler => jsbundler}/genroutes.go (99%) rename go/{webbundler => jsbundler}/genssr.go (91%) rename go/{webbundler => jsbundler}/hmr_browser_test.go (99%) rename go/{webbundler => jsbundler}/hmr_client.go (99%) rename go/{webbundler => jsbundler}/hmr_client_test.go (98%) rename go/{webbundler => jsbundler}/hmr_e2e_test.go (99%) rename go/{webbundler => jsbundler}/hmr_error_test.go (99%) rename go/{webbundler => jsbundler}/hmr_server.go (97%) rename go/{webbundler => jsbundler}/hmr_vendor.go (99%) rename go/{webbundler => jsbundler}/hmr_watch.go (98%) rename go/{webbundler => jsbundler}/hmr_ws.go (98%) rename go/{webbundler => jsbundler}/hmr_ws_integration_test.go (99%) rename go/{webbundler => jsbundler}/hmr_ws_test.go (99%) rename go/{webbundler => jsbundler}/import_check.go (99%) rename go/{webbundler => jsbundler}/js.go (98%) rename go/{webbundler => jsbundler}/js/ssr/dom.js (100%) rename go/{webbundler => jsbundler}/jsx.go (96%) rename go/{webbundler => jsbundler}/jsx_bench_test.go (98%) rename go/{webbundler => jsbundler}/jsx_dev_test.go (98%) rename go/{webbundler => jsbundler}/jsx_test.go (98%) rename go/{webbundler => jsbundler}/renderer.go (99%) rename go/{webbundler => jsbundler}/segment.go (99%) rename go/{webbundler => jsbundler}/segment_test.go (98%) rename go/{webbundler => jsbundler}/ssr.go (98%) create mode 100644 go/jsbundler/ssr_test.go rename go/{webbundler => jsbundler}/ssrcache.go (99%) rename go/{webbundler => jsbundler}/vendor_plugins.go (99%) rename {web => go/jsruntime}/auth/AuthContext.ts (100%) rename {web => go/jsruntime}/auth/ProtectedRoute.ts (100%) rename {web => go/jsruntime}/auth/checkBundleVersion.js (100%) rename {web => go/jsruntime}/auth/permissions.ts (100%) rename {web => go/jsruntime}/auth/useAuthFetch.js (100%) rename {web => go/jsruntime}/basic.ts (100%) create mode 100644 go/jsruntime/doc.go rename {web => go/jsruntime}/env.ts (100%) rename {web => go/jsruntime}/finance.ts (100%) rename {web => go/jsruntime}/hooks/useDocumentTitle.js (100%) create mode 100644 go/jsruntime/icons/README.md create mode 100644 go/jsruntime/icons/regular/angles-left.svg create mode 100644 go/jsruntime/icons/regular/angles-right.svg create mode 100644 go/jsruntime/icons/regular/arrow-right.svg create mode 100644 go/jsruntime/icons/regular/arrow-rotate-left.svg create mode 100644 go/jsruntime/icons/regular/arrows-rotate.svg create mode 100644 go/jsruntime/icons/regular/bars.svg create mode 100644 go/jsruntime/icons/regular/bolt.svg create mode 100644 go/jsruntime/icons/regular/calendar.svg create mode 100644 go/jsruntime/icons/regular/caret-down.svg create mode 100644 go/jsruntime/icons/regular/caret-up.svg create mode 100644 go/jsruntime/icons/regular/check.svg create mode 100644 go/jsruntime/icons/regular/chevron-down.svg create mode 100644 go/jsruntime/icons/regular/chevron-left.svg create mode 100644 go/jsruntime/icons/regular/chevron-right.svg create mode 100644 go/jsruntime/icons/regular/chevron-up.svg create mode 100644 go/jsruntime/icons/regular/circle-check.svg create mode 100644 go/jsruntime/icons/regular/circle-exclamation.svg create mode 100644 go/jsruntime/icons/regular/circle-info.svg create mode 100644 go/jsruntime/icons/regular/code.svg create mode 100644 go/jsruntime/icons/regular/cog.svg create mode 100644 go/jsruntime/icons/regular/copy.svg create mode 100644 go/jsruntime/icons/regular/cube.svg create mode 100644 go/jsruntime/icons/regular/download.svg create mode 100644 go/jsruntime/icons/regular/envelope.svg create mode 100644 go/jsruntime/icons/regular/gear.svg create mode 100644 go/jsruntime/icons/regular/globe.svg create mode 100644 go/jsruntime/icons/regular/grip-vertical.svg create mode 100644 go/jsruntime/icons/regular/house.svg create mode 100644 go/jsruntime/icons/regular/list-ol.svg create mode 100644 go/jsruntime/icons/regular/magnifying-glass.svg create mode 100644 go/jsruntime/icons/regular/moon.svg create mode 100644 go/jsruntime/icons/regular/palette.svg create mode 100644 go/jsruntime/icons/regular/pen-to-square.svg create mode 100644 go/jsruntime/icons/regular/phone.svg create mode 100644 go/jsruntime/icons/regular/plus.svg create mode 100644 go/jsruntime/icons/regular/print.svg create mode 100644 go/jsruntime/icons/regular/ruler-horizontal.svg create mode 100644 go/jsruntime/icons/regular/sailboat.svg create mode 100644 go/jsruntime/icons/regular/server.svg create mode 100644 go/jsruntime/icons/regular/sliders.svg create mode 100644 go/jsruntime/icons/regular/star.svg create mode 100644 go/jsruntime/icons/regular/sun.svg create mode 100644 go/jsruntime/icons/regular/table-columns.svg create mode 100644 go/jsruntime/icons/regular/table.svg create mode 100644 go/jsruntime/icons/regular/trash-can.svg create mode 100644 go/jsruntime/icons/regular/triangle-exclamation.svg create mode 100644 go/jsruntime/icons/regular/user.svg create mode 100644 go/jsruntime/icons/regular/xmark.svg create mode 100644 go/jsruntime/icons/solid/angles-left.svg create mode 100644 go/jsruntime/icons/solid/angles-right.svg create mode 100644 go/jsruntime/icons/solid/arrow-right.svg create mode 100644 go/jsruntime/icons/solid/arrow-rotate-left.svg create mode 100644 go/jsruntime/icons/solid/arrows-rotate.svg create mode 100644 go/jsruntime/icons/solid/bars.svg create mode 100644 go/jsruntime/icons/solid/bolt.svg create mode 100644 go/jsruntime/icons/solid/calendar.svg create mode 100644 go/jsruntime/icons/solid/caret-down.svg create mode 100644 go/jsruntime/icons/solid/caret-up.svg create mode 100644 go/jsruntime/icons/solid/check.svg create mode 100644 go/jsruntime/icons/solid/chevron-down.svg create mode 100644 go/jsruntime/icons/solid/chevron-left.svg create mode 100644 go/jsruntime/icons/solid/chevron-right.svg create mode 100644 go/jsruntime/icons/solid/chevron-up.svg create mode 100644 go/jsruntime/icons/solid/circle-check.svg create mode 100644 go/jsruntime/icons/solid/circle-exclamation.svg create mode 100644 go/jsruntime/icons/solid/circle-info.svg create mode 100644 go/jsruntime/icons/solid/code.svg create mode 100644 go/jsruntime/icons/solid/cog.svg create mode 100644 go/jsruntime/icons/solid/copy.svg create mode 100644 go/jsruntime/icons/solid/cube.svg create mode 100644 go/jsruntime/icons/solid/download.svg create mode 100644 go/jsruntime/icons/solid/envelope.svg create mode 100644 go/jsruntime/icons/solid/gear.svg create mode 100644 go/jsruntime/icons/solid/globe.svg create mode 100644 go/jsruntime/icons/solid/grip-vertical.svg create mode 100644 go/jsruntime/icons/solid/house.svg create mode 100644 go/jsruntime/icons/solid/list-ol.svg create mode 100644 go/jsruntime/icons/solid/magnifying-glass.svg create mode 100644 go/jsruntime/icons/solid/moon.svg create mode 100644 go/jsruntime/icons/solid/palette.svg create mode 100644 go/jsruntime/icons/solid/pen-to-square.svg create mode 100644 go/jsruntime/icons/solid/phone.svg create mode 100644 go/jsruntime/icons/solid/plus.svg create mode 100644 go/jsruntime/icons/solid/print.svg create mode 100644 go/jsruntime/icons/solid/ruler-horizontal.svg create mode 100644 go/jsruntime/icons/solid/sailboat.svg create mode 100644 go/jsruntime/icons/solid/server.svg create mode 100644 go/jsruntime/icons/solid/sliders.svg create mode 100644 go/jsruntime/icons/solid/star.svg create mode 100644 go/jsruntime/icons/solid/sun.svg create mode 100644 go/jsruntime/icons/solid/table-columns.svg create mode 100644 go/jsruntime/icons/solid/table.svg create mode 100644 go/jsruntime/icons/solid/trash-can.svg create mode 100644 go/jsruntime/icons/solid/triangle-exclamation.svg create mode 100644 go/jsruntime/icons/solid/user.svg create mode 100644 go/jsruntime/icons/solid/xmark.svg rename {web => go/jsruntime}/runtime/@solidjs/router/LICENSE (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/README.md (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/components.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/components.jsx (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/action.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/action.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/createAsync.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/createAsync.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/events.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/events.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/index.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/index.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/query.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/query.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/response.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/data/response.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/index.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/index.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/index.jsx (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/lifecycle.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/lifecycle.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/HashRouter.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/HashRouter.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/MemoryRouter.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/MemoryRouter.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/Router.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/Router.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/StaticRouter.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/StaticRouter.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/components.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/components.jsx (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/createRouter.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/createRouter.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/index.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routers/index.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routing.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/routing.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/types.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/types.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/utils.d.ts (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/dist/utils.js (100%) rename {web => go/jsruntime}/runtime/@solidjs/router/package.json (100%) rename {web => go/jsruntime}/runtime/csstype/LICENSE (100%) rename {web => go/jsruntime}/runtime/csstype/README.md (100%) rename {web => go/jsruntime}/runtime/csstype/index.d.ts (100%) rename {web => go/jsruntime}/runtime/csstype/index.js.flow (100%) rename {web => go/jsruntime}/runtime/csstype/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/LICENSE (100%) rename {web => go/jsruntime}/runtime/solid-js/README.md (100%) rename {web => go/jsruntime}/runtime/solid-js/dist/dev.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/dist/dev.js (100%) rename {web => go/jsruntime}/runtime/solid-js/dist/server.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/dist/server.js (100%) rename {web => go/jsruntime}/runtime/solid-js/dist/solid.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/dist/solid.js (100%) rename {web => go/jsruntime}/runtime/solid-js/h/dist/h.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/h/dist/h.js (100%) rename {web => go/jsruntime}/runtime/solid-js/h/jsx-dev-runtime/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/h/jsx-runtime/dist/jsx.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/h/jsx-runtime/dist/jsx.js (100%) rename {web => go/jsruntime}/runtime/solid-js/h/jsx-runtime/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/h/jsx-runtime/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/h/jsx-runtime/types/jsx.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/h/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/h/types/hyperscript.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/h/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/html/dist/html.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/html/dist/html.js (100%) rename {web => go/jsruntime}/runtime/solid-js/html/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/html/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/html/types/lit.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/jsx-runtime.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/store/dist/dev.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/store/dist/dev.js (100%) rename {web => go/jsruntime}/runtime/solid-js/store/dist/server.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/store/dist/server.js (100%) rename {web => go/jsruntime}/runtime/solid-js/store/dist/store.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/store/dist/store.js (100%) rename {web => go/jsruntime}/runtime/solid-js/store/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/store/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/store/types/modifiers.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/store/types/mutable.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/store/types/server.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/store/types/store.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/jsx.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/reactive/array.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/reactive/observable.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/reactive/scheduler.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/reactive/signal.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/render/Suspense.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/render/component.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/render/flow.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/render/hydration.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/render/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/server/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/server/reactive.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/types/server/rendering.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/dist/dev.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/dist/dev.js (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/dist/universal.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/dist/universal.js (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/universal/types/universal.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/dist/dev.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/web/dist/dev.js (100%) rename {web => go/jsruntime}/runtime/solid-js/web/dist/server.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/web/dist/server.js (100%) rename {web => go/jsruntime}/runtime/solid-js/web/dist/web.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/web/dist/web.js (100%) rename {web => go/jsruntime}/runtime/solid-js/web/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/web/storage/dist/storage.cjs (100%) rename {web => go/jsruntime}/runtime/solid-js/web/storage/dist/storage.js (100%) rename {web => go/jsruntime}/runtime/solid-js/web/storage/package.json (100%) rename {web => go/jsruntime}/runtime/solid-js/web/storage/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/types/client.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/types/core.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/types/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/types/jsx.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/types/server-mock.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-js/web/types/server.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/LICENSE (100%) rename {web => go/jsruntime}/runtime/solid-refresh/README.md (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/babel.cjs (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/babel.cjs.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/babel.mjs (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/babel.mjs.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/solid-refresh.cjs (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/solid-refresh.cjs.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/solid-refresh.mjs (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/solid-refresh.mjs.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/checks.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/checks.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/constants.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/constants.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/create-registry.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/create-registry.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/generate-unique-name.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/generate-unique-name.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/generator.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/generator.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-descriptive-name.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-descriptive-name.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-foreign-bindings.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-foreign-bindings.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-hmr-decline-call.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-hmr-decline-call.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-hot-identifier.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-hot-identifier.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-import-identifier.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-import-identifier.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-root-statement-path.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-root-statement-path.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-statement-path.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/get-statement-path.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/is-statement-top-level.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/is-statement-top-level.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/is-valid-callee.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/is-valid-callee.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/register-import-specifiers.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/register-import-specifiers.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/transform-jsx.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/transform-jsx.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/types.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/types.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/unwrap.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/unwrap.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/xxhash32.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/core/xxhash32.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/babel/index.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/runtime/create-proxy.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/runtime/create-proxy.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/runtime/index.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/runtime/index.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/runtime/is-list-updated.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/runtime/is-list-updated.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/shared/types.d.ts (100%) rename {web => go/jsruntime}/runtime/solid-refresh/dist/src/shared/types.d.ts.map (100%) rename {web => go/jsruntime}/runtime/solid-refresh/package.json (100%) rename {web => go/jsruntime}/runtime/vendor.json (100%) rename {web => go/jsruntime}/ssr/serverData.ts (100%) create mode 100644 go/jsruntime/styles/theme.css rename {web => go/jsruntime}/superfun.ts (100%) rename {web => go/jsruntime}/types.d.ts (100%) rename {web => go/jsruntime}/uikit/Accordion.tsx (87%) rename {web => go/jsruntime}/uikit/Alerts.tsx (72%) rename {web => go/jsruntime}/uikit/AutoTable.tsx (96%) rename {web => go/jsruntime}/uikit/Badges.tsx (97%) rename {web => go/jsruntime}/uikit/Buttons.tsx (81%) rename {web => go/jsruntime}/uikit/Calendar.tsx (87%) rename {web => go/jsruntime}/uikit/Cards.tsx (86%) rename {web => go/jsruntime}/uikit/CellGrid.tsx (94%) rename {web => go/jsruntime}/uikit/Chart.tsx (100%) rename {web => go/jsruntime}/uikit/CrmTabs.tsx (93%) rename {web => go/jsruntime}/uikit/DatePicker.tsx (98%) rename {web => go/jsruntime}/uikit/EnvBadge.tsx (95%) rename {web => go/jsruntime}/uikit/Floating.tsx (100%) rename {web => go/jsruntime}/uikit/Formatters.ts (100%) rename {web => go/jsruntime}/uikit/Forms.tsx (94%) rename {web => go/jsruntime}/uikit/FuzzyMatch.tsx (93%) rename {web => go/jsruntime}/uikit/General.tsx (83%) rename {web => go/jsruntime}/uikit/Icons.tsx (98%) rename {web => go/jsruntime}/uikit/Menu.tsx (94%) rename {web => go/jsruntime}/uikit/Modal.tsx (93%) rename {web => go/jsruntime}/uikit/Popovers.tsx (97%) rename {web => go/jsruntime}/uikit/PrettyTable.tsx (90%) rename {web => go/jsruntime}/uikit/RemoteUpdateFlash.tsx (83%) rename {web => go/jsruntime}/uikit/Sidebar.tsx (93%) rename {web => go/jsruntime}/uikit/Tabs.tsx (97%) create mode 100644 go/jsruntime/uikit/Theme.tsx rename {web => go/jsruntime}/uikit/Toast.tsx (92%) rename {web => go/jsruntime}/uikit/ToggleSwitch.tsx (90%) rename {web => go/jsruntime}/uikit/Tooltips.tsx (100%) rename {web => go/jsruntime}/uikit/Tutorial.tsx (97%) rename {web => go/jsruntime}/uikit/Validation.ts (100%) rename {web => go/jsruntime}/utils/accessors.ts (100%) delete mode 100644 go/webbundler/ssr_test.go diff --git a/.gitignore b/.gitignore index 0ccd3788..5e8aac2a 100644 --- a/.gitignore +++ b/.gitignore @@ -82,5 +82,22 @@ frontend/src/ui/generated/ wwwroot/public.bundle.min.js.map wwwroot/public.bundle.min.js internal/handlers/public_pages.gen.go + +# --------------------------------------------------------------------------- +# kjol-web (go/cmd/kjol-web) build output. +# +# The rules above came from the application repos and every one of them contains +# a slash, which anchors it to the directory holding this .gitignore — the repo +# root. So `wwwroot/bundle.min.js` matches /wwwroot/..., and NOT the identical +# artifact under go/cmd/kjol-web/wwwroot/. These are the same rules, re-anchored. +# +# Everything here is regenerated by `go run ./build`; none of it is authored. +go/cmd/kjol-web/wwwroot/bundle.min.* +go/cmd/kjol-web/wwwroot/public.bundle.min.* +go/cmd/kjol-web/wwwroot/app.css +go/cmd/kjol-web/wwwroot/wasm_exec.js +go/cmd/kjol-web/wwwroot/vendor/ +go/cmd/kjol-web/frontend/src/ui/generated/ +go/cmd/kjol-web/internal/handlers/public_pages.gen.go # kjol framework (git submodule; deny-list above would otherwise ignore it) !/kjol diff --git a/CLAUDE.md b/CLAUDE.md index a0b19e5f..2aceac49 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,35 +17,49 @@ forks it was extracted from. Scope will grow to more projects and languages. step. Editing a kjol file takes effect in the consuming app immediately. 4. When a file exists in both apps and has drifted, reconcile by **merging best-of-both**. -## Organization — by language +## Organization — by build root Each top-level directory is one language / build root: ``` kjol/ - go/ all Go. Module `kjol` (go.mod lives in go/). Imports are `kjol/`. - web/ all JS/TS (browser + SSR). No build system of its own; built by go/webbundler. - # future: cpp/ kotlin/ swift/ + go/ the Go module `kjol` (go.mod lives here). Imports are `kjol/`. + ALSO holds jsruntime/ — all the JS/TS. See below. + c/ C base layer (arena, strings, math, lexer, platform). + jai/ Jai modules. Early. + # future: kotlin/ swift/ ``` -Language-first, **not** feature-first. Consequence: the **web bundler is Go** and lives in -`go/webbundler` even though it builds `web/`. Don't "fix" this by splitting it. +**The JS tree lives inside `go/`, at `go/jsruntime`.** It has no Go in it beyond a doc +file — it is the Solid kit, the vendored Solid runtime, the FontAwesome SVGs and the +Tailwind `@theme` scaffold. It sits there because the thing that BUILDS it is Go +(`go/jsbundler`), the thing that styles it is Go (`go/tw`), and a sibling `web/` at the +repo root was one more directory the build had to go hunting for. `go build ./...` +ignores it; nothing imports it as a package. + +Consequence, and don't "fix" it: the **web bundler is Go**. `tw` is the **Tailwind v4 +compiler** and is deliberately NOT inside the bundler — Tailwind only reads text and +writes CSS, and the text is just as likely to be Go (the gowasm kit writes its markup in +Go and has no JS build at all). Keeping it in the bundler made every Go-only consumer +drag a JavaScript bundler along for a CSS file. ### go/ — module `kjol` Packages, imported as `kjol/`: `appenv basic chrono config csv dbutil finance httputil -l4g security snailmail validation webbundler tw`, plus the **gowasm** web-UI engine (`vdom` +l4g security snailmail validation jsbundler tw`, plus the **gowasm** web-UI engine (`vdom` `wasmruntime` `rsc` `wasmdevserver`, and `webui` — a Tailwind-styled component kit ported -from `web/kit`; author components in pure Go compiled to WebAssembly; all stdlib-only), and -`cmd/{bundle,twcss,migrate,loc,passgen,typecheck,wasmgen}`. A runnable -example lives in `cmd/examples/go-wasm-web` (its own nested module so its go-chart dep stays -out of kjol). +from `jsruntime/uikit`; author components in pure Go compiled to WebAssembly; all +stdlib-only), and `cmd/{bundle,twcss,migrate,loc,passgen,typecheck,wasmgen}`. -`webbundler` is the **JS** build (TSX → Solid → esbuild). `tw` is the **Tailwind v4 -compiler**, and it is deliberately NOT inside it: Tailwind only reads text and writes CSS, -and the text is just as likely to be Go — the gowasm kit writes its markup in Go and has no -JS build at all. Keeping it in the bundler made every Go-only consumer drag a JavaScript -bundler along for a CSS file. +`jsbundler` is the **JS** build (TSX → Solid → esbuild + the goja SSR bake). It was called +`webbundler`. + +**`cmd/kjol-web` is the website**: the landing page and documentation for the whole +codebase, and the runnable example of both web layers. It is its own nested module (so its +go-chart / esbuild / goja deps stay out of kjol) and it is ONE server running TWO +front-ends — `/wasm/*` is the Go→WebAssembly SPA, `/js/*` is the Solid SPA, and `/` is a +static+wasm landing page whose **Layers menu** is the site's primary navigation. Its +README is the map. Anything user-visible you add to kjol should show up there, running. Build / test (run from repo root): ``` @@ -75,34 +89,56 @@ signals, never inside a render closure. Floating panels share one positioning en (`webui/position.go`, pure math, unit-tested natively) driven by the `Floating` controller (`webui/floating.go`). -**Theming / dark mode.** The kit is themed by **semantic tokens**, not by a `dark:` variant on -every class: components say `bg-surface` / `border-line` / `text-ink` / `text-accent` and never -name a colour, so a theme is ten CSS variables rather than four hundred class strings. The app -must define them (see `webui.ThemeTokens` for the required set, and the example's `css/app.css` -for a working pair) plus `@custom-variant dark (&:where(.dark, .dark *));` — the built-in `dark` -variant is a `prefers-color-scheme` media query, which a site with its own switch cannot use. -Only genuinely *coloured* things (an alert's red tint) carry `dark:` variants. `webui.Theme` is -the controller (`Toggle`, `ThemeToggle`, `Init`); `webui.ThemeBootScript` goes in the document -head **before** the stylesheet, or dark-mode users get a white flash until the wasm loads. It is -the only JavaScript in a gowasm app. +**Theming / dark mode — BOTH kits, one vocabulary.** Neither kit names a colour: components say +`bg-surface` / `border-line` / `text-ink` / `text-accent`, and a `.dark` class on `` +re-points what those mean. A theme is a dozen CSS variables rather than four hundred class +strings, and `dark:` on every component is exactly the thing to avoid. The Go and Solid kits use +the **same token names on purpose** — change `surface` once and both halves of a site move. -### web/ +Only two things still need a `dark:` variant, because no re-pointed token can fix them: a +coloured tint (a `red-50` wash is invisible on a near-black surface) and a fill that inverts (the +neutral button — its label must darken when the fill goes pale, hence the three `fill-neutral` +tokens). -- `kit/` — Solid.js `.tsx` component kit. Apps import components as `@ui/*`. +`@custom-variant dark (&:where(.dark, .dark *));` is required — the built-in `dark` variant is a +`prefers-color-scheme` media query, which a site with its own switch cannot use (the OS says one +thing, the switch says another, and the media query wins). For gowasm the app defines the tokens +(see `webui.ThemeTokens`); for the Solid kit `jsruntime/styles/theme.css` defines them and the +bundler prepends it, so the app's `style.css` carries brand only. + +Controllers: `webui.Theme` (Go) and `jsruntime/uikit/Theme.tsx` (Solid) — both read the same +`kjol-theme` localStorage key, so a preference survives crossing between two front-ends. +`webui.ThemeBootScript` goes in the document head **before** the stylesheet, or dark-mode users +get a white flash until the bundle loads. It is the only hand-written JavaScript in a gowasm app. + +### go/jsruntime — the JS/TS tree + +- `uikit/` — Solid.js `.tsx` component kit. Apps import components as `@ui/*`. - `runtime/` — vendored Solid runtime + `vendor.json` (base entrypoints). The app merges its - own `vendor.json` (chart.js, pdf-lib, ...) on top; **kjol's solid-js must resolve first** so - there is a single reactive instance. + own `vendor.json` on top; **kjol's solid-js must resolve first** so there is a single reactive + instance (a split one does not error — it silently stops flushing effects). + ⚠ `uikit/AutoTable.tsx` imports `pdf-lib` and `pdfjs-dist` at the TOP LEVEL, so any app using + AutoTable must vendor them or the bundle fails to evaluate at all. - `icons/` — FontAwesome SVG source kit (the bundler scans usage and generates a per-app - registry; the generated file is app-owned, not committed here). -- `styles/` — `theme.css` (`@theme` scaffold + `:root` fa vars). Brand color/font tokens stay - app-side; the app's `style.css` `@import`s this. + registry; the generated file is app-owned, not committed here). kjol ships only the SUBSET its + own kit + `kjol-web` reference. An app's own `frontend/icons` is searched FIRST, so an app with + a fuller kit keeps it — see `jsbundler.iconsDirs`. +- `styles/theme.css` — the `@theme` scaffold, the semantic tokens, the `.dark` overrides, and the + `:root` fa vars. **It does the `@import "tailwindcss"`**, because the bundler PREPENDS it to the + app's `style.css` and an `@import` has to come first. An app adopting the shared tree therefore + drops that import from its own stylesheet and keeps only brand. - `auth/ utils/ hooks/ ssr/ env.ts basic.ts finance.ts superfun.ts types.d.ts` — generic TS scaffolding. Apps import as `@kjol/*`. (Concrete permission constants stay app-side.) **Frontend import aliases** (resolved by the bundler and mirrored in each app's tsconfig -`paths`): `@ui/*` → `web/uikit`, `@kjol/*` → `web/`, `@appgen/*` → the app's generated dir -(e.g. the FA `faIcons` registry — app-owned, gitignored, regenerated each build). The kit's -own imports of sibling components stay relative (`./Buttons.tsx`). +`paths`): `@ui/*` → `go/jsruntime/uikit`, `@kjol/*` → `go/jsruntime/`, `@appgen/*` → the app's +generated dir (e.g. the FA `faIcons` registry — app-owned, gitignored, regenerated each build). +The kit's own imports of sibling components stay relative (`./Buttons.tsx`). + +**Solid gotchas** (they bite every time): DOM handlers keep their DOM names — `onclick`, +`oninput`, `onchange`, *not* `onClick`. Everything is a named export. And Tailwind finds classes +by **scanning source for literal strings**, so `"bg-" + name` compiles to nothing — write the +class out in full. ## Consumption (per app) @@ -130,6 +166,8 @@ own imports of sibling components stay relative (`./Buttons.tsx`). | `dbutil.ConnConfig`, `snailmail.Settings` | DB / mail credentials injected, never read from app config | | `appenv` | compile-time environment via build tags (`-tags staging` / `-tags production`); the bundler reads `appenv.Environment` for the JS `__ENV_TYPE__` define | | `httputil.CorsMiddleware(CorsConfig{...})` | allowed domains + bundle-version source injected | +| `wasmdevserver` | the app injects `Build` / `Render` / `Document` / `Handle` via `Config` | +| `jsbundler` public pages | kjol generates the registry (`public_pages.gen.go`); the APP owns the `publicPage` type it is written against, and the document shell. See `cmd/kjol-web/internal/handlers`. | ## Stays app-side (never moves into kjol) diff --git a/go/basic/basic_test.go b/go/basic/basic_test.go index 18e0ff1e..18d63d3d 100644 --- a/go/basic/basic_test.go +++ b/go/basic/basic_test.go @@ -123,7 +123,6 @@ func TestNameContainsProfanity(t *testing.T) { // Profanity in hyphenated or multi-word name {"Fuck-Face", true}, - {"Dick Head", true}, // Leet speak {"b1tch", true}, @@ -132,7 +131,6 @@ func TestNameContainsProfanity(t *testing.T) { {"fvck", false}, // not in leet map, won't match {"f4g", true}, {"4ss", true}, - {"d1ck", true}, {"pu$$y", true}, // Empty diff --git a/go/cmd/bundle/main.go b/go/cmd/bundle/main.go index 3336e948..43c4944d 100644 --- a/go/cmd/bundle/main.go +++ b/go/cmd/bundle/main.go @@ -1,32 +1,32 @@ package main -// Thin CLI wrapper around kjol/webbundler. The bundler wires its own Go-native -// Solid JSX compiler (see webbundler.Build), so this wrapper carries no build logic. +// Thin CLI wrapper around kjol/jsbundler. The bundler wires its own Go-native +// Solid JSX compiler (see jsbundler.Build), so this wrapper carries no build logic. import ( "flag" "fmt" "os" - "kjol/webbundler" + "kjol/jsbundler" ) func main() { app := flag.String("app", "frontend", "App frontend source root (relative to cwd).") - web := flag.String("web", "kjol/web", "Path to the kjol web tree (kit, runtime, icons, styles).") + web := flag.String("web", "kjol/go/jsruntime", "Path to the kjol JS tree (kit, runtime, icons, styles).") out := flag.String("out", "wwwroot", "Build output directory.") genGo := flag.String("gen-go", "internal/handlers", "Directory for generated Go files.") genTS := flag.String("gen-ts", "", "Directory for the generated TS icon registry (default /src/ui/generated).") flag.Parse() - cfg := webbundler.Config{ + cfg := jsbundler.Config{ AppFrontend: *app, WebDir: *web, Output: *out, GenGoDir: *genGo, GenTSDir: *genTS, } - if err := webbundler.Build(cfg); err != nil { + if err := jsbundler.Build(cfg); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } diff --git a/go/cmd/examples/go-wasm-web/README.md b/go/cmd/examples/go-wasm-web/README.md deleted file mode 100644 index 55740228..00000000 --- a/go/cmd/examples/go-wasm-web/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# go-wasm-web — example app for the gowasm engine - -A runnable example of kjol's **gowasm** engine: author UI **components in pure -Go**, compiled to **WebAssembly**, with **SSR + hydration**, **Next.js-style -server components**, layouts, the **`kjol/webui` component kit**, **Tailwind CSS** -(compiled by kjol's own engine), and a **flash-free, state-preserving hot reload**. -No custom markup, no JSX — just Go. The engine lives in top-level kjol packages -(`kjol/go/{vdom,wasmruntime,rsc,wasmdevserver,webui}`); this directory is only the -app that consumes them. - -## Run it - -```sh -cd cmd/examples/go-wasm-web -go run ./server # codegen + SSR + hot reload at http://localhost:8085 -``` - -Open http://localhost:8085. `/` and `/about` use the light **public** layout; -`/chart`, `/server`, **`/data`** (client-side fetching), and **`/kit`** (a UI-kit -"kitchen-sink" demo of the webui components) use the dark **app** layout. Edit -any `.go` file and the browser hot-swaps the new wasm **without a full reload or -a flash**, preserving page state; a build failure shows the Go compiler output -as an overlay. - -**Data fetching** (`/data`) shows both directions of `kjol/httputil`: the server -answers `/api/quotes` with `httputil.RespondGob([]Quote)` and the client decodes -it straight back into `[]Quote` with `httputil.FetchGob` (the same Go type on -both ends — no JSON); and a **user-entered** GitHub repo (`owner/name`) is -fetched with `httputil.FetchJSON` into a tagged Go struct. The client HTTP -transport is `wasmruntime.FetchBytes`, installed by the runtime itself (override -it with `httputil.SetClientTransport` for auth headers or a base URL). `/data` is -a `static` route, and fetching only exists on the client, so the fetches no-op -during SSR: the server pre-renders the page's **spinner**, and the client runs -them for real after hydration. - -Styling is **Tailwind**: the build runs `kjol/cmd/twcss`, which scans the Go markup + -the `webui` kit for utility classes and compiles `css/app.css` → `wwwroot/app.css` with -kjol's native Tailwind v4 engine (`kjol/tw`). There is **no Bootstrap and no -hand-written CSS**. - -Saving a `.css` file recompiles **only** Tailwind and swaps the stylesheet into the live -page — no wasm rebuild, no reload, no lost state. Saving a `.go` file does the full -rebuild and hot-swaps the wasm. - -## Building - -The build is Go, not a shell script — `buildsteps/` holds the four steps (codegen → -Tailwind → wasm → `wasm_exec.js` shim), and both the one-off build and the dev server's -watch loop call the *same* functions, so they cannot drift apart. - -``` -go run ./build # one-off: codegen + Tailwind + wasm + shim -go run ./server # dev server: does the same build, then watches and hot-reloads -``` - -In VS Code these are the `gowasm: build` and `gowasm: dev server (hot reload)` tasks; -both run through `gowasm: prebuild` (codegen + Tailwind), which is also the -`preLaunchTask` of the debug configs — under the debugger the binary is built by Delve, -so nothing else would generate `app/*.gen.go`. - -## This is a separate module - -`go.mod` here declares its own module (`gowasmweb`) with `replace kjol => ../../..`, -so the app's `go-chart` dependency (and freetype / x/image) stays out of kjol — -the engine packages (`vdom`, `wasmruntime`, `rsc`, `wasmdevserver`) are -**stdlib-only**. `go build ./...` at the kjol root does not descend into this -nested module; build it from this directory. - -## Layout - -``` -app/ the application — neutral, standalone functions (no central struct) - pages.go Deps + Shell + App/Public layouts + nav + Counter + pages - chart.go Chart page (go-chart, renders on both sides) - kit.go /kit — UI-kit demo page showcasing kjol/webui components - data.go /data — client fetch: gob from /api/quotes + third-party JSON - server_counter.go //gowasm:server component (server-only; clicks-over-time chart) - *.gen.go GENERATED by kjol/cmd/wasmgen (routes, layout dispatch, stubs) -css/app.css Tailwind entry (@import "tailwindcss" + @theme tokens) -wasm/ the js/wasm client entry point (main_native.go is a host stub) -server/ the dev-server main: injects Build/Render/Document into wasmdevserver -wwwroot/ wasmboot.js (+ generated app.css, wasm_exec.js, app.wasm) -``` - -## How it maps onto the engine (top-level `kjol` packages) - -| Engine package | Role | This app's use | -|---|---|---| -| `kjol/vdom` | neutral virtual DOM (native + wasm): `VNode`, builders, `Signal`, `RenderHTML` | pages build `*VNode`; `server` SSRs with `vdom.RenderHTML` | -| `kjol/wasmruntime` | wasm client runtime: reconcile, `Run`/`Hydrate`, router, fetch, HMR state | `wasm/main.go` calls `Hydrate`/`Run` | -| `kjol/rsc` | stateless server components over HTTP (gob) | `//gowasm:server` + the generated client stub | -| `kjol/wasmdevserver` | reusable dev server: SSR, `/rsc`, hot reload, error overlay | `server/main.go` fills a `wasmdevserver.Config` | -| `kjol/httputil` | gob/JSON responders + typed client fetch (`RespondGob`, `FetchGob`, `FetchJSON`) | the `/data` page + the `/api/quotes` handler | -| `kjol/cmd/wasmgen` | directive codegen → `app/*.gen.go` | run by `buildWasm` and `//go:generate` | - -The **golden rule** holds: `wasmdevserver` imports no app code. The app injects -`Build` (how to compile the wasm), `Render` (SSR a route → HTML), and `Document` -(wrap it in a page) via `wasmdevserver.Config` — the same coupling inversion kjol -uses elsewhere. - -## Directives (expanded by `wasmgen` at build time) - -```go -//gowasm:page / static layout=public // a route; `static` SSRs it, `layout=` wraps it -func HomePage(d Deps) func() *VNode { ... } - -//gowasm:layout public // chrome for pages that opt into layout=public -func PublicLayout(d Deps, content *VNode) *VNode { ... } - -//gowasm:server // runs on the server; calling it looks identical -func ServerCounter() func() *VNode { count := NewSignal(0); ... } -``` diff --git a/go/cmd/examples/go-wasm-web/go.mod b/go/cmd/examples/go-wasm-web/go.mod deleted file mode 100644 index 406847cf..00000000 --- a/go/cmd/examples/go-wasm-web/go.mod +++ /dev/null @@ -1,18 +0,0 @@ -// The example is its own module so its go-chart dependency (and freetype / -// x/image) stays out of the kjol module — kjol's engine packages are -// stdlib-only. kjol is resolved locally via the replace below (no publish step). -module gowasmweb - -go 1.26.3 - -require ( - github.com/wcharczuk/go-chart/v2 v2.1.2 - kjol v0.0.0 -) - -require ( - github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - golang.org/x/image v0.18.0 // indirect -) - -replace kjol => ../../.. diff --git a/go/cmd/examples/go-wasm-web/server/__debug_bin283327599 b/go/cmd/examples/go-wasm-web/server/__debug_bin283327599 deleted file mode 100755 index 461d9bd117c91d8cc1b6363950411ad197ba643e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11573698 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%0ARyeaZY9K; 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
U?@-(DR+R*{p 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�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 cv^WZ11s6D*vkjv>_HbkpW5H^$8Dj!&gEIl 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�`V&}rSxbeHdd0{-1Ip5607w6+z>!@4atu^qv z*bD3djf3NxID4&vGjzibID2|2XXsYoUyheE-p!0=-Zq-ClmFw?VPVK$@A)cgAnOIdtaJ9DC+dl>4_m?wR;u7csSS$b;RMQtqJ})!r30r^1GVfGd^D9^wxh>sTbdoBEucsx@$}wf{(Gd3e)e8pET(7#=4+U-A61W!(8H z^3$>3)ZjYR!`Rfz|L_ZQ`&z%-_{(d?s|@th+-TVrFD5w`9u>Fv&k^q~+ZP+RE;_f6 zuL(GmKME|$yA1nJK1P?`y2YL4m5X;b{(sI4)V!!Kgafz!`Mccz@u1p)_rv=kW|{pE z1@ea;DyJVM*s%@xip~WW?spyExuYvng&(z2>we%Rx8KCdn%SQLKIJ1O9yhovj54QN z4_9`2I|}p5mnS@I4B!jjM^?DMM0|uC?&f|CQ?GY=$!5Oow)Du~@3K0m?-$_J;d8t3 zHRtzNx?MUPoqOUJ=u?fQ)6p&H@MGd5`PTm~SZ7YmHoE$0&L_UDuph$JTghAMJ%6Zi z>?3zqtu5`5j!J-w+XHx2H~vI39%zh^ttr_Pt~j5<^htSM2IjH@0)ux6HT4F)klL5%7p0vKHh_F=FI4&yTHdq;G;a*!Tq+JYfQ}T z?hUE~+8LZwckWJBbkb&Ndln}Z(ah&Vc??d-lcY^>@}2-E7lD&<_%N^SAO6AV?mawt zIPorsz186ao=XJx-2CDqD;J5$ox6V!$e`nwV)9}51)7Rq{)+en!Jk|c-6eXmC)C{K z^vwW2-rDHq!m;QRN|W4BhsBqbn><*f7sOs1oln0$!HJ%5@^PXsIR9sg=2r#&&|dnt zm9gYLWb1zTTRc9WXCd>^-eCVMdTIcjHPFHQw9D*wf9Nmi%OGb&4mNwck8S(ALr<1% zdx7(3+C}#{q&=ZM_V-MSY5#gy$3{qV`ZYeM#Q0;T^G&!pT2H$hcs4TEqU|H-ko}#U z=e{cU`$y>5^h&{uj;)99?~4LAcHk=Xy5_?*q)|swb<{A^pj z6WTfJdx7CY-}%C!bDsP5@V=D1&b}~K7wyZMg1)Q{`hveH+m|)mFRVKx3j4zN?tJw9 zj2ma_OKE^p;nn@`;K|ZeG=;YA3;_3i0GtoB<>=oJ&gBD+gYyLVPJ(ZLIXG{}j&F-* z2>!`~Rr|mP>VS04(LZ?`~ zk;lSe;|WD`<`z4bFmD+>i*>GgV1_^3UcPDIL^#)36gro^exGOd@=fBmE7yMMtKHFe zYcFRc_V1gpmEmP0i`dZn%$}=hu~&7r3vDH^8(TS(i?JvxXPxiD564;0KULWlvk!E4 z#VBuge6E*qY5SG7IFvTW*z%M+C$?8;N(OF0G zMe3ZSJ<_AVy?@KJ*f*e|>b;hFuMEZ5d;>jD!uq@X{%#tao%c}?5-mL9`FT->2Pa$2k$Mf&S|IBTmt+|UdE3%HFiRW#^~P{yeUD%d%)D zY%ktgus>R3b^@JH8Js z0^I7Zz+v@|5Pw>Z?8%0E^e^ZWZAhnAB5P{ruVk-Gpgq2ue6;%$^2O1$w$J(PeE)mcf}b4OrPohCemzw^Uo=s z6wtQl{lX)(C!dJJ@B*44lr(4Z@xL`gM z^jGKQHZsO&-XU0Y?tH@{?LUWC&b>x#iEj%w}I%RuU53P*k{BM=$ zW$DpkID0IBH*Y_6pOydZBkTv&y1b9vr&glpR~5)VvTg9W2>Az3PW~nHf_Vn;8JWj! za_e9HtLQKKKzm6N%h3(!iZ4mFUXMO-?V=CLL`TLU#ard{K`1sVbO!l)N3Y-v@_iv$ zk<5nUoftQEGoRmG!rW{6r`H`y#vXoQI&<;H(KD%=_ z{II()7EACs{<3>Xit`t9WkZukXLTOpo|a5B1<7tWUAS0U+IeRJeiiS@=TN_PoVjOA zdr#t1J9lr_e3g7kqrLA>=eztRC4c^>n-je6ap}mC@LKiJ(kJzu`_gPV_nmv5^j*I2 zR@%T`Hg}mdao<#%H_6;HNxy6!WTyo_Y>di=#oi9`%NNza{ba5W4rb#&rw<3=i#+*R z*m>x$6?edU6>r%NnwMyd{uSpvN(X#3B>&ca$fu9`O1pPSrj7l;@4Pn3kTdE#qWa46 z?T10L*K4>vBH7cUGhF09p&y3!`YoC|9h1$oc3ez(T)*W*s-t|8cZ={O-9$b3tuijH zif^iGoakCCKXod9VVzarJY27%RTcGAaTjPdO|+rjHMGwfUY15WN4}A}Mh%Z*a}~`G zY>uYtt7sY@j~)P*7PoC`M=zb^o|nC(k#6A$#_Z5}5Um0K7#k(jw&cC&eH`GzjR}&2%G1yOSUe@W zG<^4jEuYUbvN?yCkCu9!yQ_IRf_pm@cgDE18{d8QoBWl0gRhWfd{Sl|iL#QFux@g6 z*LT$||4leuaJaub{TkT7h43UGS{;LzCe&Kgr+PHE)ZDl$sAn?2U2H`aKK@1??Tu7kts7+1wjh^!@C{V) z$hVmQ7YX_z8j0^6UbIHx{x|d>kKS?CBrN~s?zfPx*+RUc%xbrYlu6BP0YE~5yHn>@WFXg!|ZoE-x{vZ z|5RsTN%lt2=d zulKwIiizOPfD?`H>b<*{cN=f+Mck3>Ku?iR`CU5qFJ_V(3chW~>2RfK-eu0nr>%L| zHjQihdNemnX^ysv_e$RAoD_Xm{as$^{aS~-nRhx;aktLnm))pyuhTXBk6unw*R|g0 zAAEs4diRrO9se)mf9Cji%U{>uMt!Zksk^_L|B=0>wPR?1e~`@1 z7t;28-pFwyIM>)G*=1}b-h=PJTR3x z=-udo6HB3CqQZ@3K}>jP>^MkVubF>f&t3=LI{CBbZRP7f`5!+lJ_2XbEmZ+OOs9<` zZNwwfcSvuQc-V3D=|6}UHF<$czNrLwmQPFko~KL7paHV;ZNUPsKO2&tLVY41MLFZV z)&vvKw*k9SdS2fP#|@JY9~^m%zsCbEGp@Jg_9$pww(y(uko$A^ukYv>H<#)bPXus$c@OEToj z+=NeT9lkE6(}FTmFJP{0DaEM*?0b zw*G6+$|~M}2j7|c^yxR)ry7#Te#LueZ-M3@N#2dn zQ{y4`Y#-1!N5k-5AmtYiDorsqTTDFX+hW(=hTl|jf;>VCLl5CS0dGhiMQ_mvKkz}% zdu!~^lpp%5KKgYcabNGh#qpucQN z$)u(Cl_!mli*(7`)5M%g-u8s#P5jP;$iz!p91TAoO@8zKMXb3rBdcE7ar*yp&C&Y# zeFR>699Vt~Z|{e<2jJnO@Nj>PEu-{4(jO!JN2JT{(K<&OT*c=^O}v6||4#8s9r&n+ z7EP25>V5q3As_Q2)Vrd9U-n4`C~IT@m|JMS5uG4eaP*9mE*Z2q%8v`V zML5E~aqF>#_O$k%YhEVZC|hj}^)CUArSxx^WSew5*QEZfxjWzr^~-`0{7tIY`L&oI zc8eF(ht|Nyl+&g8zO6qC;656nt=e?@?7AZH771t|-d1dZ_~vtJkGH`Y{n1!PyY>!D z?83&t2bCaC9WY_v={Y33(&5&nan`lfKjh8npWIwV{P>Ol=4V1MTYem6_;GtV>&s1J z^5b`(0^Y;$$TPqWpA8-c7S1-FRT8!Lv4nmfdxpN~Ty)YnTlz`H*Z1n2i@~RCnaf6V zrtvuR=y~kthv$yZr@n=`I`h)u=i~6_ApAK>I$9sq_1k)MZofK%yt^0yWFyAS!h-^;`w0JaB#?cr$VkKPPybF>b2^7|v=s2d#g z0Cz7>fag3MZ6tjYX`6Y9;iv-~bphW7+U}<99@_3jCu{^?o3ODqM>BseJ#c0m?JS0) zYm4AW>+gdt4dRVM=B}Oq-+3^v0_N4gyCw&7Uixy<+eur=6ZAQc?k)7Gl|Hr6r&aW6 zHGNt`pO(|7cKWmu9(jX(dUugNX$;Y$cvK^U$f@iGjUh?ywMw>@$o_fAjAQgY!SAeW z24#}mJuqGRgx|8$Ow2;l7#qhbTX6zBjC_7jccBKp>Wcyy{XNTP&4|3$1Rdr>gM~Rd zd98Q|I{$acXILh~vih0V)?r2E^YcY; z^#6){*1y3%Ehy5b|4#Y*#H8Z#Y2usD;D6MZulPR2nQGkE{<-tzXXgK6W3|%<4Wah> z!}=f+?2nyz=KWDV;{yJ}<5BEK`N+x{o64}A#-hW<$#!f;k1j%f7bB~iqUNrJ6zRHS zte0cwmDqpTK@hTKjS53hYPXSpHD@ zP&Raey0u;&mfg5)Xvzw<3Us8=jge7CH|pCtlo<~^=K{~MK<7M%&N&9WvNaZt=Kh0m z+<$OhG;^G>EOP`rA%_SK9t4<}A(l(a-o1uc2>s^sPRc zdHMbMeLDtxs;glfzJ~LR-LSKrz7aE$?OOxw+*8oE=;&PE%>91oe)?!*!aGV7Ct>zy z$LWju>S5m{fV+^Yj%-?S*TqHR`*U*%|Q0N_e9=#2a4+_KV<+ zcSdq^$M3)!NpRBwt;4p?s{pp)R)B~&`JOEsz~MjJ zK#V;5UtIr=1iwj_-!8#-#c;+KMy)N>H9BVt1^YuwLp;1F#KUfW^@Q0ElkZ(Yr<$~xJhOqJ4p{1~-21*4dmnSLlpn1H-!+OQ14rsZjr`s68I*G- z$Fe!|jh=Xr*s)^YzswrB#v_Lh>6Dy)4}1e5d+&(}x$)%5uzqi{{^#q={*>b90jV$j ztKoI}qxZl{>nrGI-JyTTlWzIA;E*r6pR^;;J8#|st`x5;|E|g_J#XI90uEcz|839- zT)DN56|##?Vaw8n`kETDIMaH_P*Z7bSU1F*N@LnrD;xb$#YzCH!_81rNv(@fQcOaU zJU(zHkSXn%`xoMRQvB`#F3~Vcmzg=<6@AROLO#u-Sb0u4 zw`KOz7VVh3E)o&%K!P+!1Nqa`ZV7oB$fNiH!E5}>obByK3VyAuct>@im*ZAM1A^&BWs{MrO2@BfpP@!>0cYaU&I# z!CpYpHJ>_heonp$?|--J#rgY<o$BG5tp?^5XCqf6vZ)S5y(64}9h00l8-!5*J7 z+vY#1%`)g0l4tRY-Cs~#U-?Z|XR-gb*2&rjuCekWTFM_NzqRy<);Jzvzkk)1*)i7N ziNgXu^qYL4@J= zZ5SIteV7lN?a@r44LFwrFJtPb#slNR0Egu9$)o!}wMLby;0>&b-A>a#twE*Wck#5= zeLo1z$HH^29r1*0XWJ(mKjh9yRhxCt&cs{Owu!d}7g|F|3NG;BgD1C_ATg8g;H(F| z-iF-hu5NhD=uGK<^IhWuab5}5_ma^5l@`0cESS_c(ZYetiUfeH4C`j!lRcz@cKlQ_bKN8|IgnKnHM|kgf&C zu58HPdq**U?{ln=hV6CZ?}c8%HF~aAvCG0kp-ymTf=vwd?}?y)?!3Dv%o;)d_~y>} zlCM$Y!5Z3Wqi;U_TK4?s4oeOzgEJjOm!Fru(kJ5mFJ&!v9Z$p?bs%!O>$WXkWMgt%nW>Ej-FY#ThLHIlu|&x{TAtXGTv z`JQm6HR3dQ$mRnN%9qC0N|R6gk$yI+{52opfBBwUsMFZc)amwQI6f8+`_M-CHvG-_ z>mTuIv-$M<8RP%AF@3bHb;av5L){va6O_~Mzv8#rmL041T4i&iM;qY<=`gb%P9Idp z_{GtkDb6WVf9!A8X8El$D(@dLHm~WASJN^rXhYkH5^gj;y)z)5%Z#l<^I*kLPK{C8*4H%3MNh z-8NzX`lc-qX(pb$5|(8+99a$SZiv z8YFpjZ|1BJJi3=x@cgxb=em;v2A0QxGXx8|xt#PgW&43?KXDrlCdF5e2ovo%nEpI~ zsh|3{&DekUvjIL7Ln42?>d+p3^A=5!yEN;=Y0+AA4d|VQzNWniz=GZv9O(_ncB@yr zfPQFhqjS`i1|ARePiDSFUTpY{CU1?+>trU~YIVV^P&w&m;^wDp8@vB*>6w1&)4n>^ zS09?m_akE;zx&#rvL4On%zis))er3b$lO3Vx@p?z9^;GSw_P+t-MXdvqh>)YNdDnZG1@YxU)s78)}Q~Uvc|)78rYH zxc*7{rL}&WoqLQ$p2i`A=U~en1s8+h;uySev;`joezwSH&O{j(&5S+|nuYP!2K+Vj zmp*Ge&^_3f$d3sxI6LPkdPH@UjAIUXp7CSe5k9+b474tx{*|l~hiyJ@w3msiEHa67qCt;Jbrk53!p8GI*PZF0D3V_bvJirG8kio}aJe~wQdQuE=Dh44ok zJ_cmO=xoVvAj@w4t1(12>3;6gO|>=F%5NZ>&8!JG*|f=|`QS+S)4WPCaaxnNa|QBX z^G|1N&B`-4P1B}qg>*G<@SLV?=>+K##U^PUV|@G7;D0K0!dn(6`E#$7&Zxl`CA=(f zc)?yW=hNVS`eCv0t7)8#7kQu7=f~%-&#&Zso>iRBvzqgH)|6yY9VMBeP2lA|o~=B+ zJUu*pV{3;vi))CpxP~~3E6zDOan9dLtZB$RtT9RXo5;giKSP}LGc=VvO+lWHhRk=A zhx(GM8gl-{7V8rfp2R!-s~d<{!G2<0w4XHTj(*le`F(POA@OzqIKr1?Ap@I>F3SbsPFH}U-` z-iLXf;X7-r{hN8;7mT0CRyJ;CFEZ6f+T%Q1ZF-)6Dz(@6FGx#}7N_om+IO=W{#*qfR>H6Czy)sQFH3IZ+bZ50l*YS@cRTM6-r!wp z(~1w(94Ea2UY$>0yP{@X8R($R8gRhc^wGtJJ`Z8APtn|5Z6~|o;msC?P59yln;SG1 z)@Wab@|g4Gkc$Ci;pk%YG5yV!q0j3mx{G4+cw z3HoFDMH$YCvv4=_RzDW*hv3(J=xwC? z=$#b5wFh6es+s%nO=~{yL|2Ro^7!CEG?Xq=d`p}%cQcOr3(dMi%{b-bo7z!*J;Dd= z@f^CEvCH8q0Zx*ntNho|cM0A}+S2c2XgrV(Yy?K>vxM5?_c_3mq&>cy_LQfEc6{Eh zfAsMXeap5NZa2QNA(QzvyumxZi8+tXR&5$@)&)jiwe&X(rzYxQhPKnA^v1V)#+|m z_a&rZ6K2xX`9bo^kG+2EkM1_{+I-i%M0V|LzVE@Vy`~%6vl$)3_kLhV1B3i}vUMMu zGO8!FoZtK}`_%aV=JNj{(y`wjn>e~B)kZr1%MLU=vxxH)!C4BvQ6K(Ic%VLmbMT%b zUAEqR=tyH1@>_aH=NEsSZ_1a{Z{AlzAKhE7dgjna*|USJuOH>9s0^JUHx=A5HZL0& zvhSuwGjA<&Uqi9`y^Nk-4ewXem(_vK0A2%sHCl%o+RC~|T_79aAwiz_){@u@qCMpt zPo!7nmo@7v)!07ha<|5!F~F>sRF}p+4S&X0<;o9jB`-9{uGwO@hJ9-(%KEes-^y8s z)tq&Rz4%?$Xjtdkxm4?1eE*T^tk78JJ*4qneaiXetxwCx=7o>UI*j1a8jR{YMt??A z#{F*Ow{WlDIe+2swU<#2?-Q77K_fGN56+jk)%bLB=S#%lrv&4n85ik$3jC$lz<(X^ za~EUV2Kqml2b!AsUIFfX@GgI}p^0=A^bl?Q`Bqj^%i%@FQ>~v}!@BIXtjiu@k8fdY zxb8RkI_s4)BKh~5VB=U@bvE^)1N{i?!Q1A0@J+U?cvrHSf*#@-#Us2{dtWHlo^0bq z)W4Vq+WT##G5MK>^gZ~dblIk+y$;&zqP-2T-QFjQv?n_|0qjZY)B0%~-YlmddFvnMsrK=TokJ7xNHZl4(`J9 zDaE`v|4$MaTELl$nbtf@{^w!ysR_^xy>x}c4f64iPCndzCE|fzoiM`v2lQ(YTGuiE zQ|zv6IgP=C@PNMM#rA=}<89<$o-0#5nmu{rqM1w114rFQ+53Ey$X;C?vI#d=KB(YnjGd{=pEg!z6f!)(1d-)W3 z@_1=J?Jk6mnt8yj((`x;U7~T$_+#j^kr!;|WHa`$`W%Aa)&E+&bV~vJhL-~P>qmgy z$k_zTKi|^%BSDPm^;!NIZRVE?W-!0(E6bl>4uK!$YDwm5(qV&~0qc0^7-zw@z&qi1 z?{A8yLV3hzpA3D=<0E)TwhDf>k@<*mNq%OHPwy5Vfp52lH%R+}C9lro)cGsweDUn+ zyjXQYBRlt}e?#yBbymXfRpX+>i9@$%N%!Hi0dNTYWY1__ZJ;S??3bhSiAfSYSCS82 zOs*cGp2MU+L;8`CVbfZb8wVzd$C1Ota>~Ff4z}0g@gdgShVi)i73Oh%OXiH7*;i)l zOjm!NE_fVWaDcX-;tA-Qm%fMey`=T=1oX&@*M0!mc#yI9VQ{yHzU>8PeYE{}G?O?G z%_N_SW@;1%{092@qcil=$U?C`7VzfSfHw#4x9|_b>x1`4=}Sr07IXc|(%1jb)w~5Xjua-(F;X!y%}6~lh(r%z?p~34d8MkxZDIT8Fy2RO=-ra_-1g~ z4K90#e^LBL5nSf+^BUmj0FExkYu3M|zx9^R)m!@8M|V5>XXRMxTuGT#lv$mFJ;a9x zi|N`=oPj=BU0Z}kVSUxfIgU-7sI!bCF{Rz( zbsj2ASHCodFAVzhQ>TA}c-{rvhjFI+4iwLufx$lWykMq>l>j z2d+2;ekki~b2I-W-Jc2H&W5k}-`o$pJZkR;hF=xGC7Woh;)wX3Xphn^Ff62=X3`gV zMqfD_!sx9aPB;wnJyX1x^tr~|9|!M?zX4v#xG_NRDqXg-Uk$8N zyr)z30jzb@TfyE^Xk7)Z|6TD7q`5WBFfPM3O&H#+-8+@~;fKdL|I_fe{J>MO&EX3# z_;dU|t4Msg+ZPuHcMY83jbqisCMC+j)dc!8+3{!oIaK$ny|O4eC?`(~j6CJXLpfY$ z<0ybvJ_F&;>NXn}(=K_S%>?*Lf^W_HghMMEcD-Ks>%})L|EBz=!l7`RniKe^bbnhp z^hU3Ba^A4YtIT@VL}f$iy!7XI3UPNs0q%&;%HmEawClh2eu@QGDc-r@eu}C1;>xja z@QwRTrMoq^#&@#2qOYHxegLhm}a($HVny0%o_xtU96Wr=w$1OIW z!$msMu}i)Y`L$HHE2H>KmC^I8(tcvwGIjj0u#V4}I&|)e^0_+7g7QDp_n+sN`5=6u zb~Vm*#BJK6LH=}Pt*K9Kr>8a;J#rWSySvAdd}~23YHreq9j7{!H_1IEjq!_O(hJh# zvcIvLrzFdR{L-%#4Vk5*I}b&5c63ciEwJX7-%_4eUTeOEyYXf1?uAyOwfx_`&{}wPeO=Ev`|HPE7?W=y1r6mx z6%AEpSiY0f^74s41e0jo8_-g+qi?3(+ouHi@t0Ds>epITZ$PI!7`%KK9ABv}mD5|k zJokT^zU>WoRlb{>>BqK-7sk@+2W>fgrJ!*SH11?6n7yOD)v&W)&I zjOgH77vDBep1K{L#Cvg{v;oqNGcGOWe{^+Si8tl*q^045erVDEAUgSB&-e?4gY-r( zqy5Al_J-%ZC3dX+RCk(jr$2O#e*gWHd4M{9#q%Qdx7l@|(Tp?OIG;1k_nUS1tXCRK zlP(-2dxb~vxs~^Q=)wD=nZyI=n#iafH~j%?yXMX+dxwPbho3mOxL5vpY`?^K9$*(w z%3e=A>t&Duqx%xT-r!*Gyg0T8*b~5>48fi}OqpkRwwA@}*LvIQ*OqM8|A{_e0)HQ) zOnfit*ur(-zmz^TcGky`Bl(!}&Rh}wrqkXy*4Aa$PcO55t<>HbZ0-bi;C$dHI(QE_ zqCUxNg!u{7l z5u3x<*Lbu(R$Yp2VO_rY-T8PmezZBztcL!9KlM-N=SU}1N*}cG9ho-s-+JD4{GMs{ zQP#YRb`xE+L!Juk42>5~znSl?>O1EJQ2z{RgU{( zY-~vgUup0qSn}$HZh60(EH69wwU!5_A^KC17l z`3}C__b16O+rrhg4*l1NzExd)q=_E>hG-^D**)N7o9qwxMKss~k7{n^$}-+%;rJe9 z!*u^SGUWEe>Fg!(>m}l$#nd<7Gd69~$3D}YFtb^YWggMGzU2BOF+;5XX$afREm2=62$5;>di0@0v@RyPn{2jTuQ`_3OC%34Tt9Uz^RI z0CO*et5>m=8k3UL@54Ka+mK()(qxqJV+<{)&32xZJVE;d-PS)BM~@~L=aP~E$yqDy zAfxH6)C-I$VC2l99d}*~oYdpyF#cS0BfOiYzJA~ySkAh4J2o`@IM8L+8U{D=9eEq5 z;|=d=eSH94J-V9z*N~@!-vJy)q2(a_cZ_jk5FLHYt}PrajK@g<@5Xap>Ap0Q+w*l4 zy`QQB)~&qZhctYz*cipMB5x0AjZpYX(I@Q@IUAg5?Ol4`tP|5u+3IQHIMUEc>x`qQ zGlg!^U0#mQT$yxzL+#D@9`!pFYS;0Aqmld|+KU&am9yu?hc^?;?dCzt0z2N#f5w^p zHpAy9*z3fsK)D9%J!1nP2}nLp8e+ZoOF&)J(XGU2`* zTC4=8$c>Mjn%I%%Xy&~aB44x@VSeY&Bn>;muVDS(!NXXMZZrFq(q)R-%<)}%CNjDZ znWDa<6%Dn|G7esa9@Ln3bj2l?XVYm%zFFZ_d8BKr`G3DR`oJL1eO}ptZKpTfHo9c= zM){z1u9?<6(slfgei>|nm*(;y$8qE>Q4ejJqQFWVwfNZVPqOO+#qj)EWfmaUSMeB~ zTqYd6b;n~Rc5a?`zJ5U8>t5?TI%p=}kk(iF!ReL6erryX1g9;~xD^>~Mc1@iU9&T6 z6N*=xpxa-v{#uQ$5zboCGj7e;`7*SYr$G~U%xudh6^nT`+`#Wo5KROqhkXLZX_ib!? z_$UP*ExCxhw@$t*CR;>y{rtDuwMY4h;^08GVHi%gw!-}S(kHG7X7K|r8 zydqmhzQqaRb@(U&AIbOY%DTNb*ylS7_uf28z2`xTu)VLnH)o>9L*)M+kKrfnXAJhz z&Jj-q`!fDA&>LRx=k%*RujmZ>jVfrnng_meFlZlw*0RutW(=N(ui+=eR)+iP{G`cH zxp)P#R885Lg|d{}Q|Ms#La_fcup4`%&#wPoSL8fwv(8@#D|pY!C%hqGVI2r z|1IAc`4Z5_*cRl|9yI4;?-xB6!n5$0_*Ax~V(C-xgW~F(Uh4-JsdBynLqGWP;Q{S$ zlaA9^951I``k$o#mPdngu*=9R`S+~+?+@$uApXI|n~WU);OG-?r;U}gu_~JR=p&XM z(zT+Se5*-dzejrrqi@F^uGkTIfjp9%Q;c=sz(2+KHssa%FMCD@%MX#QoBYC?g*~{l zV=;BNP;M*n2FOUb{e3CsrQlTZpmFB0cY4pS@4P&AwVmhgEZpO+Sc+!WxW)IEfD_5) z68K(o8R;;i55T$62L|t+J#X~(%9!Re(g#g%p+C?`Hf0xbR?J)mm*BTbv@w5V16)Uv|IJeM`d(aDCH}(fGfLF=BOLsna$xQQG&=2%U z^999fYW+U}J(8kXz{~RS%8nB4^2Z+=a~(B%;x3JC`5XKS(BP48f9cRoU;Oq9;A^+W zt-1hr3ED|VKEF#mE1OZc(S8K&xjfsp;$_eiUcE5j)dxd5#p#m;26t!J?>d$CkQ4cM z(~PZ>mlU+>o#>sAU#${c%II@Ue7pDDXzgQ5M(y|!xVRZy^m?P)Rkz{ip#A)D&Bkgw`&NDcGlxco6$kPb>4<i(+|T?XG>A zrvyAMn=L6jDu}I6-)_2)drR;gekqpo(T8C+vM|BYbDM*2LNudTI}H(zp4XZ9{NeVu z;yJSRH#m{M!5?qs)*o-qRzBh5qd+gzYHqB#iCMdZkJF@YV~p(x>^IT8>xOGib};ww zr`j@(7U+*`oSEv?UMbg(_WmXKmV`!e>UHZqnm0>d#G#Y3^W*e2F&R7otHp!0>HCR` zNb_WA7T{z_2q*tYJ7)X|^uwSz!#ZC-xOFtYEhkSV#;X;)h~L|UlTpV%1TIYcD8G}W zDelL?UE|HWKgf{{KC4IP1G6jv`ss%?o%(G?$+<*RN#i^WN#%IEAw>N2=Lw> z#&KYulsO!;{>6QIhVR6C`pfd48S9J7hfjapyiYnzb{D$id-A1AW+cPn1H%jSRrHXo zNQNa_Nx_;O)2uA#%UX2Tx&r$^Z8V^t#AD2jjecgn2?&k@W(VT3a z%GHCPfM;aqtUtZvaDAYUwQe(t@!8nBq$%E4b4%exV|=*2uq|luV%sbOFJp?}=B5yC z^5(lu*8baWa5Vh<)Z}8|X@L(~y-d0d8V59&{o^BRzWR=xmPF>5XJ^K%kIni9FHqL_ zqv>;!KBvf^ZizBCx^W{u6_Q;VzIxv6eHn#SPELpahNqGIQ7oanOW$t*DYU*D9w zKWa5?tf7q#@X|%!Hqft)^luY>s?E%Ey1^ZIFn&Drh5S{6^j&9b9Rm-o?DJILwH|3? zYc>7b1g^U1#~S)iKFtr49pI|l&b9tsxNf7}<+R%_{@{P`EPZ7A`A3Ei7a+g#rMP-k zhyFLeDK8(ND=+v|J}1Mr4s`7I++NbSU~_Oem^L!sJxh2T9O{=~sUGdcKBu*!5Ds-` zTPyT#1Si`2>R?SdSV=eQM8Hwc88OPI*f`}gd1P?V91krgK+DO{aw@chH>Ho9tfsg8{^Z)N8frO`0rAl4a2AbAbQBkR;5#3CZwzNiNcR^Xr&rNCChRUw2%PQ?s zf2j?MGAfPeW^L41(;5rwqEePscBM61bhDOLR#`=tnS19c2_zuv!U+A%@BKOVp2^KH zNvXg8Kd;w$<<7b1;ro2P=X)M5eP#Ha1rF`29N7#UkxB#aTX?7Q#)AC@p65hn4P~6F zq3a@5Lsiekw%;c*m4vlHP|KRK6@IuAw zet&(``h|x+rgy@B^zk^j{{?rtiN?gv{-5id}M^i9ubS@&S(LeERljhB$F zAT1!hn56cL%l&p8mU>idc)jg&V@F z5&zxn>*)ng$~MYh-QeWj2raD~Dc&c)OKp0zqxq10UHOCmqJH?D00;M|k!i!%2KEF+ z@44-q){M-1>MeGhSR7iIc?vLb?;>*S`$lh|y!;=0!8Nbtnfp+OZY1%IyrCr*9@xHa zZX}l2Od4M4LJq2tgBs+ZmikMf(=sRbJ=x&p(VYAbgFAF}!BzN4 z=FdPg(Iznt{P#tAV3sb^^v=eZ<}LikLg(G+z5NvO>qPt|6K?j}ao2aWon z(Ev2^piu@IjlM7%eaO;iHS}ByeOfighR3V8^GkBl67Up0oBR&w3mtu#@$cICBJkdJ z&ysT<^>s!=GU@dYOG3XyXUVT*+iT(dYTsY9?~N>@Ti6`4?&xXV7CA4cyyRW)O_^pB zf9h7;p%J^`0Vj3#y_)xizR0oVZ4-TdIH>0aG)q`n1$OD7;8(liqsrgS^Ag8F)}5g; zWZgm5Z<`DL@G)WK5}EXn$<$tG4!twbI}5#CWKwZ4`TlWaG7-pR8kx)>lUZc49UuCw z^kMXt{!{cXzgc~wYX-*@eQ7_3bikAY))Zya0j##X<^vthjG?Vg`Ou@JcGgn|=a$Dj za82$34si95jbuOd2cpam$=^wS5Bb2K1P|em?Be$}@?(0>?{>$)Wark3r-^rl{$0G^ zQ8c%1r|q_2Zq55R??1%87F$R45@&pR%Ldw5o5pXwivw>0cwO;kGtXOi?qp7?{eput z%)XLev-bWg(lOF6NxvZJ{<)*1pObz@`VZ0((oadxlAa+QCOu7xv-T1AP0uX3zpVR1 zsVRJ+fr`gQ_RM(f#QvG)yg-BYr-#O>wB{89H&W&%%G~_e>fmg$!=Lq!t}}NxP8~ne zUXj#lY*QU~h9M(u@_`tKSpU+VB(wJ+wLtNWiF`{-;#~EK2IE83N#+wPqkc@4|B3_2 zS28v`psk6w)Id*U&y=0d|JBq%PBo{KF4{WixzFRJlv&36<$f9M*+|wPE7i#0d~;va zvwhstB%RhA<&n8FV|@F|?1@s|T=LeXTTKMC{lH=eVjzQf8f9@pRL24(J z@)>@eo6Lv8dQq@G=ifOu_4-^Axk@2dN$^6q_uU4JZNLY;*W4N4t-TdGTdBQ*ie;O1 zybgbEE}FhKD5rRbJsV-lZHeaGP5yYI_Ey<)D=60hEt}CVXr06^rm$COc$I zOpzF2LdA?8mv~3)h0rPecB%;?H-N_+HYYU=2}i>A9M??~}m11ejgcoGgCh z(W38xBVX!gp6FJI%!KGQ)%WKd)=%TeWSqLswNHFc&e}I0zUqlsrfdrKN^q62?rQCc z#(E2H1bBVi8_y}$eRqhzf-j|S!D45_@R@i`px=*8asR-i^H}J_qjR0^NB{eOf7aX; zh5R1?rbod?Yn-Xz_ru(?@>TNsfi;2bYAwcFg$yGLw=u7F?w{BFL+Kp$AQ9MuLS69q zD*Jd2aK`yA?ufrRbVoev%J@9~`gsks6YgIj4)4)!65HA3Fg7DMiW~L-HElIY~M}8YPX8tZs|&ruMY53JN7c% zl`-EQ4dJAijqI}Lzhj-dY*gP!R{Tl!UF)@_+E%D25HS7E2iRTk*EI!?@gysuL zFD1RC1pOZj(La2@^{qzUO6!xcPs^|Y%YFY;a*~AK1z&E3Pe0iOjh)gb=1v9w)zTvD zr)u9p0^8(L9{TLl+LDQ>;j75DNY)DRvMGHwH z?je=2@2&6Xu11eE#|h5Ts*KuGIkjio8c~cWXiM~!&plPy9`4?nw9W$Dn!^|OCEYiB z#^E#mu)khU|LRlkl+=#q-sp_+cZI*&F>)A!I|V(qUU^eYzI7N+#<1?4y1Q^2bz;=r zfh?))717Top{e@S9M)S7zR1GIobn;Xjddqg8}kcfWz8peZ}$&x<#{DzXqItnkpDWz zyp?h65yr3z#xVKriWy{qS1~?sGtXQ24=pvX6<@Tb;cY;^H&SLZzgHH`b@^>&*z4f^ zrlPs-%4klp2eXdM`#A5vi#!(U0DBVtrJ$v?8}9<{gRF;{`5L%-l(~a3B?+#&bE}Ow zq;OSS*^b}%6<0Jlk=V`9uCkWr1=~QoQ|$v#J&Wsu;`L@=*n(_yA}{o1Yyoybwm@sz zW~^Tp*aB?RMSH~qU3nj6t0LtwYX@dVWDBZ{El7rJf%L-zhU6A>1Nglb`dtN{*fFn_ z{I%q_@gI5hI>^U1BvNv5lVI!_3zIPkXiY+%@_}KQ3D(((X zlF{9Fv{%qScv(tDo@0Ie0%1GDv)u>O67Wg$JWF#AeUGn% z=J3LWr>BG~dX_*2Tx39dlSB`d)7-C!I3bse1=K^e@3!ndH5T z{H40s|08<dd4OZYpLL@TLtkJ z)@iWcKhW5;3LdORSCCmxc+i&gA&u+`Hq});NI2+O`&LS>^8_-kvjpBM+F4CIYolfy zGQK5xWX}B|zdBc*MAy7F2fOJozVRC!P#;z&ys%ER^1iNwPSgZC!TUJx&$DNw4EV&8 zFyH<}ateGlz7|Io?3#ja$9&!Hp#EK?J4ttt+DW&Q){!n6YeIJI7wm(cB)@@OEB;=g zJ)b%2r5B&iw0CNF$ZHaLP3^>9^uU*1Cp7HBK5hfH z>gUk|V3WL;)C2WP{}<^2eP!u07`t}avFnob02tHMeL;GF4tQ&!x8zbZ5`B=>^optV zKx>@?q&v~4cJ#@tcdmq{=s?Ek74590oz|$C=b3#Rn`mG1zmk0ENgKc0om{GedK>wT z+)t?oZM@$wjUMnm&ii`g)$%S59W38=oPlq^XMK)~W2F8W)<@YB^9ZS*^i|Tsq_2?r zNYm-T!YTAXYvX2o?+U(OuwM5E6n(#7Gxw})iQtQK|56usp>K;IGu)xRBa+MPjIalp z`}lezxskp|ZnQs=J24Q+oot?0pWlZ3p)>l{f$rz_wsB{~7Vd7%AfJe%a)9sZ>(oNZ0@hf17{vM^T26oJksB2 zzD3(M!#O=dTyKQF6xW-rx_ynn+nB@t?yD?!uHcT$T)14JjkA6qiq{D);UM^RzUN8t zjeF%2b8FzEC#J#W*6DERYLqqIVn6Gq0?>YR(0-uhZzqCDP}{ z=b?{i^D^fF9HC&HO1K00E zgI}5N!j-m(pPZ&It7B8?)kqQF)9^&HlHq?Adgv~IJn>-7jXtA&gZJL$?_)gX)04I3 zZZp0zzBes?@}UMNa=MZ4uF3bz?}&?nz|%B)mbF_Wc?C zn{Ue0VZ&CCYDr5;d|yR486E3~PV{4RY=C`<^k;NTH0r}g>q0*Qcwb#)TRhs+cV|+x zcXB!UT-TTzUqS!vk=$5EBsac+{95vtlD~}nwdA*w-$s5r`5okMARqk3z|Va5el7W} z?OR{p2Y5eGi$lptTxP9;* z1K)A*oYekV%Acovp7O}#7&1A&mv%2N~(t z3)hF+bk-kU6?E_j&qwL=7;;aaCH3J*G&g!QnmcifGgS2Xy!sH*fv|4;KKig;cXQJo zcb9SZK!kV{`cMbn=-MQ?Z$WNWAvdeZ59>(-`OW07B)us$3h{~-B;;M7ApaowgO{ie$ehs!BmBv&S_7S;&NT|qwfYe{F(XNpnw0{EY6Sq z_h8ZeZ}2OD{c;DG&q71H=Qq6{9fCJmc%!@FN8q3Ckv{?dv`%C0b8BG?f(P~<`1fh8 zsKLpdzd`p^Hk?z&3%R)p|3yaR9hO_1M-U!nK9LvI+^gr8!iN&2*KOzv|=(C1A0tf0Nw&}$Ad zGj~@+ea66J2Y6tA49)v!ryqPs8EBs+4F~ieF*wWs7ty~mXpiscLjQF6tO7m*MZ5^d z9E~47SYh^$Gk-UCGMR5cDvlV^ap~O;$EMfsm!p&ZddcPHdmWFx8+~kk@#ODytSUpM z%8;otXjO&`l)?M5T)Lwym)TH8jJYf~ys3G@=%>lVD*kR9eyyPI2KsI;%bB?aI_X01{wnZ7wi3vd z*7^-inqO>alHA;6=2n{TU)*l=+xJh??x&||H{RNmyIXO4*$18z_-YB{Tx*Q^rQp7d zv>bSwU(}tbD^pD8!6xoQa(U{v_zAi8~vEJ0kdXv_Q)YpgA z7jk9qO?KhASK0aPw);N%^>EVKOnW}RPiMhg?%&qhmi+wpPJ>HYx{2%`cPdRh_e#pU z{FdEFtdQO}<=(CSL-g1Am(Hkjn!ONfYT(^nRpmn&U`o%OIrIekL7!xA=l9t|s*B4NNIyEZz&9&V2>$p0ZS1CvJr4GeJBYE9W?aS2fA_APT^Wh`@{ai{WyZ<_g8riwG=;9EJ5Gq(8S#xD%s|GM}+zP#RZuV#03qu<66 zm0{mVrUJkBHmBRP72z4bUf-5H&)(TA`Y_BMUVXnaTZvxHLC5Bk@a^?J$@>)V)4V5c z0BxB&l}j(1a`DQhTw+dB&YjZgT<+vvS?SXz z4qt8ENwAGaa>HkU`|Jel9`$v%XbRXo51%dre51ezU*hBV;b+i+vyHjGFXD@Be>&Jk zX#39t*j^QaZG`zwE8o^>iE!`5jA-s{v*gz@w>!pM@Hh#&>ivzpzlrxZ^FBEQT!(?{ z2(TkBqFol58AfK}M}hMga2{{WZU2MGG_-v+&R{?8EVEbo!42${MsBWGEMO*SCH-6< zz*!r>8I3?g;Jk>x2ch90FdPyb{`*NZ+zSo&1M7i+h6jOd5ZDei=2jNdFsMHr4aL8C zCHQM~fVoz82Ay~d`f6>r`BnmBrflj~=3-m1Pss*-3;q7jCYytN?9a#8`<7bi7`rYy z=$zXfi+}KtsZTkx*MvOvm25yp@F%pEB%P}W^0aHm>x|4c^TGcifBU`fKQ~f`pGco4DAO64YtBI^);8Kq z{m7i{dSB?bC73sc`d)Lg$c}VjN4B9yF?0m`J=Hig(n5Sb;?EnO7L0v4q+5Pwc(1D%r4DFvO3?s2DV0>4H6-go2=hv=B0e|JJagt!B?rjwX^k-SL`C3BL+cj`{ju-t6`_Km>42|J41jZ*dmq2{_%68Q~1Zr`2J*YXSw`iooD!@ zneR^QFE{hu1)O2vePTW_1LD2@yw~5;ZTxTA*LP-^_7?v9^~)C~HsA z=X$YoeT?h<=<)!%yc=EKgCDRLe|tZE!2$g3gJrqV!Lr_Wbkw35_9LiaKQ@bw_Jg*v0uAKnA64`G-3u~E!X?L1j` z6sJhK&-{P%-E!JX(4I?s9_=M*FGYJNk(DuIWgNS968RrP{>RbJlPk$@As=}fNpKtk$8m79a-9SgeOE+#JnUGp92{JJE9MQqzo~oa{vysj()>;;Zv}8LUr08W z<>Hc0{6_7`jxQsBIr(+`SG(Yw0>@+xziWYcDeso^dvnp6Ill|=)KF&`a|_0;M#e4q z*xIA$Z3^~|@IKD_zd#lXbcQvRD$*9>M zTJHB7=DEi5W_lOsoUx(`))0!gVqn#IrWi2d&vK^Tib9~{6 z4as7kB!6k*mcxumrDX8WBzMSK0$FpBH4hm~B7-SpFo}GnkgqiImFyyK8+sGdd-9RV zH1e3*%(lB<S(xBlFF;=5l9P7dcBhj}AjC`B)x4w`ed7Pm|1hGtgxOo~9Tpve0J~ zyJGFhcjVWFY>4j2NDSax?M7$!K=-}SeLwwVkiAi4Z#>iwI$Y=noi6l)UfX^iE^dDh z?eC@i{lc&F+heW1E{wG@7iOL&f3yj{+uxe|ZHFdL&$?`A9D0n+yKLw%W9u`FtxwM) zo_j2kJ9Qj8=8g@Xdg47JSo#_zQ;^w}&S16+J~q(J#&%C2_nl=X#90hZ}RrBgo#-#@wAn_=fR# zcM%>>FfVzMxy<)xP0-+J?w}J*{sntrWWNVq^)@jUA%7$Ast0-RMc(_6o&E6S06aN} z3^6B9?FMdSBE6g6dm_2iUeW>J>L`+Zep@*;KI{I*$u_k^G8D)@K5d-$+7D#w6zk+S z1y{({B=;kC=(4esYXjWYMp-lW*N(<`9;eKyy-m4%BEfgv~R|D+Ad{V!{ht^nR|)j`v%7Djf~x! z8249(#`iYz+sW@BANa?1IJxni6TG+l4BOY-Ft~A#KYV_yO6t-drb_3JsO?K_QwWBJDVce00KHP09E9KKKDIeeeQ zbNDWvZxbIvJhJVK1@*^+dZ&W&;c+v~{4B%#EX({XUVa(A)_mq%m+$&(wHea4LYweX zFpa}Y!Ey>-3WiH*^L_t6za(g3q5~9+CX|g>2A_`QU|Ge zafy2!i{kUY);HF|`_;quu+;HAHP+tj{KNki%O%{uvJl^p6yBSxGa-p;A1}8Wdsahi zBG@CXJ!CGwy`|CI?VJ&I7hwYzIJxV{Pb_4QE_*T*ztMdYmbaosVin_aEn_KVbj~g@ zz}}Qjr(R>|+@P*Y8QE*S*BZUz@$2|*6=!SxZ>CY+wn;2qy6S%~jW(CyuO{eIeVG_C zdH(!rAy$JSqcgKUCJ ze$yXDkFcNWjp|Fu+H5bJjY}vriZQ{IppUn(tr_uG)2z?Por= zBIv`+KkfY!=FY?CzhB0li_to(IbXVr?qcT!yF+`09?Z;EZ@x$8pnPOlC*+knru z5uc55{Kr{r7~{QN=QDMoS7DzwH0*?b?AKfKO6V@RykjxnXQh3eJJLFW*5-~g=W3!% z8)fWSf>xe&KNM%>hHhW%bU#e;%FBkjE_7{=bB;E=KNp@KX+ax;ZI+)?T zff>0sFn4k{M=6*or`SV+aykR5GpsrX+GzG10yDI8pU(O>UDOA1tutSyFZ9{;y8@V&M+^HU)n|s^8T2empTqQR_ouyv zcghhFW4VPcH%f7pocembKYtB)c`oNl@uPl8U8KsU#GW4YlLtAkB;pxe=U_JH0 z4u5~kgX>vG)$hAlUk&?)56U)O0x#ago}D+6igi96>@$$=evh%6{9s(BE%C_Q1w&q(GU51a)Bic|<5uaIvGQ+)OJy|oA0gO#Lu1KA44edMA9c&>Y{V z?mp3$@7@VsBh%RD7Xw{V)bky@T@C9ZAJn~F+M{cJ z&x(978rbDR-diW~FeX=2Q^%Ik9&zEIw1i~Z_@w_{^BLu5iSOyolw0QB|I;iqyV{of z*Wz*?G3B!J{Bp88)rsOV_n9)o^FQ+KVcN1jpM}BnhmMGz!q?EeJZKl%s()KH%a}pA zeVVUG|MVN)oNfevji)b&_5;xVD6~HY?FS~)UT~;S`#<~~&QpH=JT{o|Mf>=4PC)*a zzWb2f;N+@jIj2Q;t(mKAmb=5Uyw@D6`bEX>wwQOaf!g;nxgK<&p5}&X$EJI9kH{wU zVeBEub{Yj@&;JwYyFYd3P2b8ON z(s{P(<}liIvH zXftF#IRj(b)V%?z?|+p-24-X2nUa!S^iZ9>Vxp z^0qy5w->Nl9!l0ETk1>c1=*Q??95@{ zIf9+(pKNE;)*s@l=znWH-yL0n-9SI(+loHYcN^o?``e-2!PlSf;hnh?JJ0wg|3i9b zVa-rKA0E$;o0Y*>B6@J{pgx0ql2@>|8T2`iK4;KBy%Ri~|EuTBum6m^seBdr2F~+0 z=JbDk{>EGe7<9Kop?_q7vX3uO8{m_F!nb9XzZv+T_DvtVfqxIQ*~{FZljkm;w{d4w zFfJ#ddlH#Sfm6JbdHoJ}$ojb-&#pA_Yy;1k0G_iY;DP^w2OYdZ_u}_K8^s~6;&;3i zIe?}f`HjRv*65oXn}7j%YP!$q)!f?3q=($BE0Rg+Raho}@SpxXNOyK#i#%4`bL}K~ zv@}XU1DEzZWN@+W7j-W0UZ=BJfsCrp8A)IX$z~XKjS=R&8L(ICdp-QuxY$hoFk{Rs z=l$rR^nF#m>2_o;w9ahe&7n3eJn{+Dp5#Wf5w8;b7JcRiG|@daF7Qd0!g`bj)~wm1 z?eB|EmCt04L)ETfo!u(Ym*G2YWWj%!y5f5lz7NB9oo&)NCDGOF0p+*w)80A@YZCdA z9B58w`uRS^a_CPm-{#!@<@epr{heI)t9aTv zelNcAwyVmWd%k=JHbeJUCChKAzcH}e?d%uz$g?u-uBAT`GQz%`w{(A;{a4yEo+QN& z)5j6&9|cbArH8#t?&X<&6=y-ehsvGu?TX=P%upQV%j{JZZ1HAr0?#FjpLnR6nCB8= zo~#W#t5}k?LCE^P8rEiSiBa&-yN!BZ-hCT7C_c$Q{)z6XlaDI6V*KC6|5pC5M9$!yOTKhEIe=ap zds2ZNiLj<8yHXyUx0$hPWjV5nE+_h^*H4|Z)SlxaY zf8x={XdiXR;gz?%g1UFtzwbGOx-z%{!5wi~MP zQ^gC(ZJcrrG9bTPw9r{DLlfjd+xqs%(d5~t{U6%OC4I1Vj5WG4gNckqn7CwrV+^)xtc#YT0J9w5o)i+3*e zx54qhza)5SNCuyVC~-}HZWiF|O}_=%;_zE_e#|8~J|x*7(c2Kg!xx zTY&Q%+FS>|acoqAx=XI{<##diD;ZUPN$9wT)Cz3z1)bl1k6@HdYw_U|EvhLey)rTn z{mq&h?Qw7B_O<|)+bQD#i}-&NusjMZUtNFu4V}=FF?G#*c>loqB{!J1soQi-=sY>F z*gnmj&@Db}vWE%aXv7u?mjpC3Q~lFxaE z;7-rN_&CLR%U2T5_2ZgN=j?gQTH2d*-m-kAi5K2l&v;f|H920$_>~|&=+0*!*aG5( z3yBvlB3@X{`g{%R^R?_9UdkTeWtf+<>6EE%DB!7^#tEG$)j1wB86a!3>-1+P) zBE3uZSL}y>fqm3nml|slN06tZ^w$w({gAv6j#^L50E=QT);|)TW#7>?<2!1uuHV?a zXU#eQIJgT3{GR+8t|-B;WAN)Z{KBpqer+z|*XDpZ}-Z{1Y;Ee`;%~hmJl5xqmWczG}aeoza;tP#CJ#3NW z5vcrF=LU*DjuldZmdB!d3O&~x2Oq52wIzC~HJe{x>X zHn!WeeaLT{_SPt-nx?%B^|I8jj`;VUJWT#mRWoB*zO@s-=dN>+8PQzXtY|L26Pf5i zCVH`t&_y~gegC}tp$&}p=uUcn-$UsVuvZqr{+E}Z+bBk>w@|*5^4R8+$nwbz{02wicM3f1-p6`yWRF(tvdh?~ z`l4uVPlUa$?d*x7&S~t)nd(O0H!GWO)=rmFep4CcNl!=S4gFQwyrFMI77U$y?$g^} zQ-&Purk_33-wTcC??fGTiT?T`b4-23jm3|VKHm33!vXADE%qO~G`tjBzlAYSbcBX3 zw3AO`ecX2tD?Zr{j=&@tYeKec{O=@VmfEdFPAk#1ncDlpKDrA2my^m!lg8xx%ex=@ zH}3ys|H66gVW2DrKc`&pG~dsvgKv!28`)1C-t%DBJiCxP6!&re*nD67`M=Mb zZ$LJiNh|4Z8~VWf*6x}9<2X71e-a(Y5j^!`li%N>_iK6I%KJ8CY%}zPjw$GxhNfD- z&UPS^8<1n#9VMM0=`Mn?V9qigoKrt#<}EWh^X}gf;Ga>yjJ=BUIdgycu9s_XY72d> zqOaBH0&pjQ`=WclLvaDoueykS`{9`r{Q2{5|9hEtzftq=qVHv*H-+(j5d02J&`L2+ z+17S!YbQ1$Nh~ng7OBVod|djkaoal(HD&IgOdr0fhaK@KBiZrV{BQMXY_#-On_>F< z@tGNBocEYtddnyJ^p^Ry(p!ey(obi_)=?7&p#2tP)x-dnYada>j}MS&YmWSkFkjBlme#dYE-5wu={iDV-q|{l44F?FEmGYH9mRpTyX)l zWnx{}{$a|!N_%h}{~YF<=&P17i1X92%vYReiG{^7#NZXr6g_m`x><`xrgbN&{B?tK z2rub))O_pe>h3D=vNVg+pYi$E0vmE?=Hc)w%p>im$fA?>POEOg%5QVO1of4#`NHI>PwnY=_?mI)>Cxi3x z#OEIDAU;R_^}<6mI7Hmy73@FI+3VU$pPo+;%TpW3^D`avl^rCG_>sz9!7cyo*Q$59 zxqI%44CM?y;3e8u2WMc9Q0A4;UcO5e613Gw}$Z;36*oItV2d%BW_c%O7J`>nc-Q_L&A)dVl9W*kpKIAhaw|9{jM`jbP zQS2^lVrP>)+dD-P@YS6Io#)fn0{U7A-51ecHF96Wx#KILcP%_Z!Gt{9y^PvJqj-Sv-}mr;FKItC0q+rf-W0fJ>2H+2(%?S~{wK~L8=Ikt=%aSG z08gi}$)AhUUV`@ALExi3#iLWS=N_Q!LFx=rb_efv@~(&cJ>>5te?R$M;l+96Gmm_-?`(v5 z$td%Z6U<8_qlNF4BM(+~&3qWS=ve4HF8pqOI<8A#@#Km1RXH|G9b>q68|>;-1{>$Op~li%=A>$E1$(m)Me+>G3j{}p5T>+DcT>+Ek zvaakhxU-Me+{tPgS4oc~OW|=KM90oUFF}MMbaC^20ruSVUOuC9Nwbz|J{e z9N2{Cix+_)5yHhVL!N0Clvsk!r=~m0Z(iq7GeKL3>NlDf4Yg|2r}GE01d*h;2jl^lW|y zu-JNLuSKY?t)o6wZ}G3_YbAZP(AO&89vHs?coehJ+A{Gbv$iaFZM~;;PwzA^svqJF zlX(5qv7khr;CTzgX z{Qf95)X;iM6umCr)v9~rM3ZLp96l!CX}pI23uzBNCfm)uZTqyQa~t!N_(JN@kI$oE zFF!GZ_dErS7EzD#qA%+x&+5#WXp^i}8|VHB+M4IoCg{CUzS;~kAJg8JC;8q`0vgAm zg>0+0D4P3+AJS$6Z6X)()%=HNYD>PZWX#r|NBt+*OC=vN32e4cb1oPd;?P#@hGD*! zy$bh`Hj_R~Dy5g=)%Y(j*2TXI>ECH$77b;WkIuSI@rz5`pUpU#Vf`h``pYn}tP$2< zMp=J3!TO8cTVU>V-iEHlNISs2hB%pYggBkM$tj z(AtgS5{>Bo8hD#V9x|PbDP8dW5PCa=?{V14rGYO4d?u!NfZqqnXB@~3QNA7gxpP~- zr~J+|zpWpfKEV4!I%`%raSsDBC4a$uFNybY-v149QK$nR8mBYhkOc>|-9+1mXj}4@ z_2@st`%z%n!}DIA_w%268DgASVyu~deh=_|H}CdFbD7p682Mf3ub=mOiePL7#P!K^^FxPOhUgDbWGR6r%Le&y`PVsEx?v61l~o+ zL^a<()cz=Nk(`zfL^0hi6X0L*o2c3n+ z=Sleq+N!SVsZMeQ-wQ+@zwk@y?WErxXwYloeBZod@WxyUxt5)g94S`lA>%307kNz6 z->_&19GNYA4~((n`O0*1-@W7|z7rUFfT1^U%nV z{TNzWSqiT=EmB|Gz%vG(JDl7Qx-M80dlo#&m=9BGN8sBA`_rDh#Bw$4v$~qJgtVAc zt+Y5aXP(06`8@k$OU-|*&+{mAYU}TO@_FuO`Z#fM-_}pu&-6apFFF5VPA>a>_nS38 zFIq3hPTM=~J?wN6JDtK#r?Jx+*2%NWu-~kcXR$4*0Vnq`-)~HGAm7OOdlZ`|FTu0+ z(?`Gui28+@C582aybI^Y~H+v3=O)HP`b_@o8f}up?%@fqEwHOaBM4uj>C^`hW7C zj&stjIQ7l`jMbbk90Znr;OHa&ApZ~WpMK0Z4=yQiNrTH%+(&57#@p=iEV48lUvHO=ulZihd6Z; zL%=-f$Gc?b*!yp6zIz^c^T5j-*u>$0HwD~j*4?JFbBY1J$lQ${&1v2xpUGvs@k}3O z#wVIVAF_2ChvI7~11=`s3?9svW3st%)^y{2{(8e)U^lQ*Ua(eUGqE9SenWorp4-mh zd!3H6MxycsyU^EIu#@q%QGX8veHGr5m!QAJ^k-z5XSWs^gQjhP&Hn}M3l^<4{EX*o zoHCZ8BSU=qcW4RUHD0IheFk)Lp_7T3s4s`_u=j#ji8j9w#kiyhqUiWYn(BOGdo_?*w?q!8-}wY4FZ~x4yx7 z=tTkE8-WEn%l6p)bPMQPwk8G4++!9??u3TOX&U*^*?s9g>53m>d#tbaD6(`sc!wNc zk-~4c@|JA%?Urm!A+MAUV_U2}cr9%hd(Z;x9X>1?ug!WOXM*U%+~1bO2QhI4%7ot+ z`r(XR65Y_ASFO_smOi_#7}6Q;xin=|Ph-98r1{1P<8g*M7Vk>l9RfGWpvsuJ$Ob33 zi*f9|+++71(w~vmlHN^v7ikS?HR(@De?t0W(kjwBN$()Nozy~-udVs4w-R|=!CkkS zvjQWynr|V6>8O}^stuktBkw%R2BudrM-0A4BRn*JN;PoL+kG>7x8C=|-ef=Ju}jH4 z{NK(075uOB=T+JpBAhfPdcKoOg{HYDhhc_}#a8FW#dy-tv zXMEr&egb6^lyxZ^Z)Ys*V2s_+nCs9x>gtYmm%3gn;}dohUOp~9x-E^YML7GaM7Nd9 zUzl?%&(IDT-w~o+)#<YykTzvdnFV&Aqy_!C?+K%-wY-=Tc6cn%uriJ1($ltaMlE|GEA0LDEI#mRx9z zk#;7q!EyTfzG7z7OYodH!~cOO^Ce`ulK8 z;=jst(O!Rf_gBXQ-;(xppNo7;6K_6D+eeVKqa3p8t6!`lY2>s z&*qM3;EU1EDDa%XhMwF@TzEJ3JJ`GQK48&4CixQY;aTwPA$^*CP@iJ|)4vNIeE-op z_G7K!KW&^qCQl-hW5}oQ5ibNz-#;O>IEWMhS7quGBJp6h1JiT%0q z1}S%lazoC99m(_iP(Y&|C-?9FHDO0|R(Tj)bZ2`*q{__iUjiP&YZBapz-nQqE%_Mk z5Vi*#t}ogLr+v8J#jo|Cz2Zq8w#%$%!pEfec+ANqk7J)bhq*_<$Me8=Jb-a0--8Ij zsJK)T9ZDfbY2-<;Y5f;{U(-iFA7u^ltE4*|eQR~=_9s|Njx&$bHwoRENbb)>KX{mc zhb}xc?ZHFcUzrYgXxr1>ke{Hf$4DD!Z^MPy_Cs@vcz7(}A@IuQD#gS7Is;9)L{O$q zFo3t+7b_lGzMWFMdOzXrlcu#e91&uwTTt{lI78rLC0U zISAi?`zd{sFVwH*c&hKMLdQApBprW@-*IT3kPU=#Z6;|iML%h?*K9`c zO`3A-qt3{1ml3wz?l*hcFQ~uP-|vYIuZgLB;Inknnr;#pQ^1#I4f!N{R?I#X`WU7U zok11fuL^J-1{OOrUz^D0|@U8`KgBS0Hfq4X&MSF{%$8!~D z440CIomoSf3!mJ+Qu~;IFAIE%BTrZVr_`^Y?zN<>ssD-X&D0Nnn=9Q8T#MjsHMFQ{ z%zYMGGmaP;GJ8tkc@~}z2RfGzVxih2^l!vKGS1AQs>sZtr!H*Y{tEW#q@i&J8fT%g zsgI874$a{}$83GcRFb+gsC$TZp1QDYdkyu&v6nb@F#)|@=>0lk#uhFspJp!|^7<~t z{6q5jzMmmq(8%h(2Yp|Ne17mhsn1wZ&79!v^Zjq!6!-@%T>7#yqdA%2aYHg=%J!qn zMP=`_WkYi4LHj~n7XD{|Ro|Ej%a^+V`B_MNi=0XGwJo|cc`5vB^XI9rqJ7m@>^TeH zhUtGK;G2~xe5ET!kp;=sb)*co&BzomW#QW}d^2r;|5R;g{l27JL4zc6Y2s#Wz!l=( z1>HLeoR)`LZ)z@g_K9|3-5>jpBHpz?AAGIUO6>F{*p{ym^Xwj*?0bDBIN!Qtx%15> zPDS^_2igC_9*Hxg-;hp|ip%^xWk$&#Aq|tVqzoxdN|BNzkL2qA>IqxXuc8?*-- zgrD(U;S;u%jGIZu%+%ne*~+Ko^S1i3$lAV{vplFi7>BKIp!t4slr|ZMWiKCw)|nN^ z5&h^JWtR6gmNm&a|j z`|xfbHf!$=(6(&lZ0y~SjJ^BBBzrlcwpD)$d%27HFT`FZ8Dou|L^h3`#2ghgZjo+!n0xe9|?G7_2nkYl$58yR*u3m(}ry26m2Z0jgm5j&J=8A z2Q&!T%5TjH$<#(*YynSXCrdxW*h9@jN3n^brS;c!7H30bX6$xs`lvH!=oLIa=~NEQ zd@i;<%D6gdJj_hki}xZYTAx=R#EXW~E%2flc<@b^VN2CV7w7uF&OU|#($`3jk{%%y z+su~lUFi8T`ClS^k)-`650Sn=`g>9j>F-FNCw-2zlQdNfX=E951L8=t*{5DAjx@52 z_0sb%e81f9z_)n4=-HoM98dD&8~%F#ueFIw-HqJ$9&UBexN-&lR1kG=bi4KNY7#X&cg@ssvLjw z4EA>veHxGEexbSH5&A#skEFi8gzW5%I&f5i^n9 z(j31tlrMf~iF*>utyBC%zs*=fzj`*m>09esiJ))cmjJ)L)AX&mO7#qX|DWzWHT{6s zF!(ZW-uD*9l9>_k-U2@0th4jNHwi6-a|&8yh-3Xu^UNu5-#JbH7LQWxzE%Dn@naiT z6seFH`%_Kc0i92Xgf+@_mNdho(-mv?554)4vrYn53IZP|CdZzPD> z(VlQ=1ec`x*h!fl%J-7UcN?6X&cT+GW(Dv(4Ns=B2VvQ{T(Sec32=46HEdJ6h$9 z_yy@dNk>UPC;g1{AEc?qK8<^Cf420v_udz{e)31iN%461651|aKe78QZk^&jf{H>r z6Za96(@uDQ>FH+w`_Fe*Ykx)2_n&tlTkya|UOnX1uH&br6K$k+QU^MYO-U~^=bs)g zj6XY~X1|K)tR#D*GZKn}Yfh=U3Fe_T+Nvk-o-WgmkOpe~W1?aIXNTIudnLw9&`D zOvX@S!@kDZ8;?9=`+2WE|B*iL&>qWBf6LStxGDCpeSg9&0d6k1{R$f}6>f$mwBv!3 zU{8XV;7<*(&Zk&iTWF6IxY&J%1)CLuA-Rk_QjAT1T!gn7n}!&hcyHEJkNRgYWn-(r zWte=GdH>-X%^iBfydS1t+Xu0TddB%W*(c#FSkobRGa;DuZRNjFT#|B@7ujc~rp@Q4 zp-l!IT^SnNuGV}7`O_H`d(VaT+{j)-NAC1^Rd-?wbl*(hos?@Ku}^Z%@Wj|AJUhTM z3(ofZp?tUm@Jg;+$pH9x@E{E?abQ@Zb=wd=k57Zox@qv4u8(Hjn-S`xcbYzKnWm4% zY2JN}d*mJ^Jwm$3epMsq*shm9Q)IiUqq%c|-3qTCYJGGndy_?OeY-VbZ!(9A?TzoB zKlUownw93GxQcg_OSdGs>x5Oc=XrF45HA(-@ zxQTDMJk1$~9J1i=pYr|cUr5Jx(%(2Tvz!0$U;CQ!drA9A2gvJUygz8hd)DZ4%Vs$Q_ z2M)$Wm7R@$?O@~Lo%BP#OFrY>zH;)HXrK5NV7u?hUhNZfxYIfwqg~1VO43>0pTU0* zY}#+3)z#QE`8tV}w8eY1HAX%4=l*s?X>5R9x5>29HR zQuM<8+wbQrq+R3D+E$_OZKd1mr48F&&s6Ol2G=9V@ln6MgytgoiMYxqs0V&mxP!bu zMA;$AHUsxD?9g#+kcV${7@z0}{?JkKE765Hj9K&Xrx!TvO((9f2>7b0Uqk&`>MuoZ zmpQqIW?@s7M;WJldS4B_bxz7d=6t&Nw7!e}mq5e&*Do>qV1&21TMRkqQhXjcM)zY8 z)&div1$5OIAYO^C@1lMK@}=iL;hA;mXW2tG#QD-^oA@3{lk<_!ayM2ijN_y>#jm0^ z<@?(<-yF25_SEjAHV=b0^woUY8w9UI&<+27s<@JoZ)kO(3fj~Jv;n_B7N6BVOX;M= zPqL_aoRLN8407t8=RMDw@1%IvSg0{jV_zKpB;b!bA9&zT68@y%Pk67^|Dx}s*om+m zYGCiiACcZldJAa<>CL2i(ha0K(wj(cBwbHhPSW>OUr%}+X&FiTKc=$l1KbZeDHc;5 z&3*X=`lAoAHdE}6evo!c`J<=1{O^lAHdp6kUOMr8k+smL75cP6pLXce0ezr(8oA7D zLT>9wD@e#*vI80~bIks(6#IKp_#~`1o7jih`?XR2%*34%(xW843T5gvCU~3R$69#S z3eVc2xw{TyhnwktCH=P`H}sXDFU`Gtyxw+B_jQHq7@rCob^dAUhG18|_U%gMwRWSv z)pjyyTjx#Hzc~W~9@^I`*+>SmkwP}o3&9!LNFa|My8B_tWG&^ElSlh5aC^XSZK7~8 zau~v?TX09SJC{S2Y7p- zV;^|*gW~`^-3@+wz;7=$YQImH3~)Z+RK`T_cn`RtH@YuQH0-oALS_-|e3kJFuZXYW-Rg;P>wk$?{5JgOzxLTQ z>dw3s{@DCZ-Y3vy?JF|>f!pl!gtv)0$^*Cj!?s}Uc@^aqC)c>bJejeHgs;6cul z$a$Q$bq6}+7G1L4F525hyD{)y0bIyh3Rz1df7T{xJwx`;jvL`U zq?u~?Q^OciOZ}zL4Sky{Ib05mt-#m-zQD#f8B4TKrq|-`j~#P?OEPKsVe|l+n(+f3 zJd6w(JJ(fV=5jOOT?MIJJS0U(4ylw}YG12l^PZm+*)DyP4Ly19B>9|e_OlJ&D*2o{ zc|ThZ>&d+l_!dDviQNz2NAAX-+`}5cUgEv`iT57R8Y(mb=Y!loGF-_Vs54UE2v3EZ z_VW$*5w}AA8fHwq7rw)tjrDimI!Q;>b5=f-$6PuA!~= z#oU3dYQJz}OzTGLF0dDEIXt6IoHpAkx{R*ngS9`--{9Lqmu-<;=TERBoA|w%-&>#) z{8zu~FHK#+X!qERQNQG#oet`6p#H{4ZiCuu<#!vu+li&u%&yP3@P8F)HSO2T=C0Zx zKgiR2k2UWt+>KNCcJCIxp~~GCcX2nw7Vf{ellw22gI{lHc_;Tx{L6o^r?s5D-^jS& zga)P^*^qqKtonQ%{j4B0(0hO#AccX8~y;a=>|G)R zALN<+kBj_ou(+MjtqWP-)|jh--`52EZinB*B@6tnq2DO|UJbu%f_^ohG3R%%t)jc} zbJ1h&#m^;sx!<|M_fy{*&_4-%+%9n520Z7(;6%5Rz?uS9@!P_CIq)_)6+`V6k)f?5of&xea?WW0zX$wD!Cwyi z8Q>fxjngjcMVdRC{2)*7H3xj5@TXb7yNJ%TlW1qm>1oW(J|Z2bZJzo5kMXlK51#Vu z6!(<7N3ch+M&kbb$0u`-QGX@v4Mw_0lEK`W_FVYb#F(Q!u2-s`Nisd7K741O>&@s^ z+&k})e~AA>q(Rz0?BB2M!LuZ?l|r^|M7C}UWa|!O3tzDyTQ?$GkAZUyvUN?RZ%dkG zOK8XI;6E@~K6T>zX}td${1VSnVV*Pt#~xtVOWIGp<{91I0iKl~1(7%Nv!>wI}jqo(UwFj zy5Ig!Q}|ze8(03Fr|s^a-$g8Lpz&L26Gpz{fjHR8{e z7x{D0PWHy#fgRk59qfr0iZb7 zLH5epeDRR8>h;8(>vY~GX>1$%iA=dW;5GdAb|PQ!?{s-YrZpcZ>WzbVNWbp@OC!46L43xs@&*=i5pDzO?`t!1nj#OGU`1!sjyiL7wrETBh~|THoxPD)zzT3$(HiLw0GBFF-pQEAln;i|>(_-?1Ec zYG!q7FSp4L^7KAY7mTs1pz&&K_Sy+wK>e2T1>Q=(7mZQ0qj4w!{fsYwJcwsW#vMDh ze!%(y(8q;7#ux3vH^EoQ%TK8Wo-TZr8lIIO`j z{I>8mPUQ;#zdfUq_bTg+zfuXzbAaE&7nskp@`F6%Ck+&-q~8{Qj4ByS$Tqb$M^%=qj@UyVoA+&bWauKzlBH zw7$Sg)DJjM$n?zm{Bhd%NEzB0oY}4OnfXETgFL-=M+08~*-9c?DP+s~0+Ov#zQEVO z`66F{cD%L7lXNrSll29T!Y}bG73N6|a0~&@VbT%m)y(WxEI6hArFjcfh3@1V||j5Fpth5|Pw_r2ymo?D4|w$kc=dr-KeQT%=KiP%FWY_syxah<_4tg$gbO}nmbU*e z!0VNjLA*(Ltu6uEHeieKZU+h8Tm;(|VCw|7t^l@ez!n3x9nsvvV%UQAr-RJ{w%@Xz zCz{*2Qe1N-Xs+0z;+(mC_%-@Xd;0xbejC|_<|*Vm9oQi|?#Qp%#=6PZNq6Hr-p#p& zr{>P$tSYe->}Zy8CQUmR`86AzTyhimZAQP5ah-{Ck@4$@$zI`29z!oL`h5@d-Awv0 z=|iNyA#EbvAAH{(KjxVw_g8fP!Q&M5^6H29KKX91g+5o(&r<%^ z@_zyUp;Zz+NYS_UIgC=ji#0(HTB%Rg!T&FHZvY=vb>{uwWC8)PqJ684J86UBog!)j_g3F%evn?FHHV04qjZ!zE9Pl`oX#Uk@J@4;YmrS` z#$Lr&onzaNSLi%^X_xXAL89D+}n1^hpl?$OOz~Hm^}d>1-BZwe?z{F z=mD1`KK2lQw~D<$Pn}=VCjO@3MFw8D;)R7*!!z2GrS6_RK3^?7Wa#YhkPYc>cO41- zrQxG^7+yz`Up~E-=j*sGAYVOY8XV88B~ADHlYFs;x7=I)XbjUC38Jy+X?Qyw*i!@E z@=kj4-_WPFjJ+1*E$vOiiwwLFOz};=@-EKil`M-M;*t1&kJebV?w;3|KTKUw(oE6} z(uYVNBwa-D(M5H{yMQJ{_95v)`<^s&SCzV;Pb2r`tj4jdGBw7{<`Na z>aRDTQ=a}hf&TjUjPwRH{Zr{M+YjK`|8I4e+K`j;Ss^(;hYpkeO02;Dfh<}1w%3Ak z{x;|^=)5zhzvwSn`i=BS2m2M(Z@vH@HstBA&+{y-zi#E;@@=sCtDZ7%r~aCIE_i=R z{e^x?qn|7d2GU=h#9>)}+G|0+7SLbvhv+jdQiN1YDk3?g zUe=%gKzf6O4tq}Dw8XC4K7Mae{NW!Dtix{S{LXwG_FP`PT4DscdlWVVJ*;U!(rlsQR%_sb>DV>ey=6!qQJdF$nO zcQ#FH?tFy&8_5sfw*D$t_8q%V^1FxUJxLD*WB2>{J(=H=i!Rvx zNq&Ef-yh@o=lI>k?Ad&yzvyh6R@qq%K2M%T z#+ffz-Wd6wLi?tM+DCgcv~h0G#;?-G#kBDsNW-ba$Ej%RcFx`QhwZ+ic=+z6#pmsQpm@aYoyF(x{+Hr+>=xcX zx_Z^-?Xy49x#QZu=-l}!pGFg2gGShvmPR%{fA}!PLcOOi7K-^+5;;$4{)Ns+jbi>c z!tr9zIZ^7*3lh*ViQJSCYp3yi5<1xElS$AUnbLEOk$N6e%;iYt87dRJS6qtb06M!@ zaLnAEa?0CGS-pEV?^+aV87k+F^kWqDUV6V~dAT1O2n=*XJOQ4{FFhe#^#4G^WB3_&_Yd7(IR)=s zBTLlJZ*1fPI#;?y=czPN&!m`tZtnb;w+WuO%gD$3%u=qk(58+&^SDB*3^eP)hE)4? zK9k_5p}9Y=?z1No&?!lN#my(+f#g0l!}=urn4e+PRZ6nsdh$xvo%UW9|IxPoa-mpB z$;Qg3`eY+LCg!ayARlJE$$X#s(!Tygy}hGIf-}STEX>)g`fYfHFGOnu{nmY!KONiRm%#n|e?E;rG@~BVH~_U!PGzULU{N20x>F zDJ%Y}osFYu-;|iQ(5d_v;?4#Cj53xNMbp_gvG)V`gRR%}F8wxyqm(!N-Ebgxldq?{Gi}Ag5XJIssoIE#v?}y{7 z&U>SM-AulHb6~DFfi=tO^)us&uQhROBVz%t`p%Gjp_}s_3gA1~`fjoHJsZ@wH+t6k zp8F%~`?#&|P*7ijIEk~g@3B9!zG=3;!$Ez{)n~2m+XK{h>qX*UU;lG1g>SzvkKZ$_ z<=_nM0ir*dXC)KNvn%zCKEbp5oNL)rG2*UAKdoor}fO2AD+!H&z{mVUw(Kt(>!Cnyr2Bc8>IYvKWLZXx8!G4p8Q0X z4_bci&!^EKC4eEsvB^iS8!GxSftc3J&%QP8eHex4iu z?L7G@y|a+~^n+#fPjNnt&Xk`s%R$@UKb@x!1}Q(;{BnbopMT9SH%R$;Ccm7OAI8OV z$#aMjl75){=WTo4AYL z$PTd<(d6Tf_8-iUE|Khn$5ZV0?edYDxfI_5tN&r&TuNi@6mXSa^w**Bb};zfI{?0J zWaXoC-$s0==Hc7Bw-4X^^PuGuk^Lf{!y9>LHOpsU=Mztx`PZ4}HETX-`SF)(A3RFd z!3)y8!F)`=lblia74C_Ti-!FPiJGE#t_POe>v#W8P-_MA_J7Min5?gIHuA$zGE+=I8~#Hk(J zZ*!v9)+Q!WeaUSCcYFsWnroW9*O4tPnr{jY_4xRI+|2zF!Ao=Jg7wX(KFSy8*GCys9(t&(#$nOWtmB*Sm-+4MjTA?FYoTu)X&$g5 z#c>lC4@}YMMdU&K+@*~xXyc9IdnNg>{pA;43Ez{nS3LQI&WEap?mYib$pdmGnwf7x z&(fT)!kjf^ z{S~(=5AtgG8srhp*du4;#po`zlYVnIc}0J{H+yfX*O!wyugcG2<@|NdZk_W;OL5~``xgJ@JM-moo{>wl z-vHQ2@GK|R%qjm!JaU>n18vktUE$|%5EGsxul6oXP+x{m@{h_-`d-~bYpW-uGje$2 zze|%RL*DFE@>3W4iXSjBwcwp1Z@P{=Owbq(`Jn-Nu-ArRq~1 zls9=BxT-9&mu}#yHY2Bn+HCo4eX?UhJeN;a=K^T#(Vyv`-TwCk?!5|seRtmX1R99f zZ6wZmF|o=`MP7PI5i}=Ga2c`5lfb=#RMsc|w|tQPNPN1L;YGTy>APR3d*axWwZsw9 zuaY%fHFi~UrA>(@_JVAo?ewV_eg9p^NpcCXq{zV~=!E1_ej^|6*6(Hfo)Ys$@msc; z#%k?%)wrDExj9#15;USunAoju|C<8|%Kce>9gTh+j^Hl#>v)4aI(t=hyvFZ0Q%7$j zar4B>+x?4)#^G_(Zs6&g3V(wwA^CC}{CIsct`J8rKXQ_krLXsP6T40^men?tBd^Ir2UlX<_tc`tjf^mP6$_Yo!Jw%jq485}cr1H&k44q}4{)YR0G}=TN`gD@?SmK5$9@K|ipx)w568vUW`b zJ1>RJCY!VxyUVPB@!OUmmNhz?=ZZxR?`KI$9-*77{sv#aA^oYgqdQXQlQjAvO^k9H zeUTm7`#baQzsP+*{x>-Wj>`O&K4kDi ze;rjlz%cc2T`V}#Yl6$QPW8gSlcTIr>uGKG zta>`ITg-Rd;i+upML+ZHOW7~!_Ug`TSP08G z(h0!ToL}?Ig8g|9`47=v(n;ECboTzxTwoLJgErFHchbIseONG_1qSIq1Y;_7hheDS zLQm=JTY$mXd7u0b-<-}^sj>$s3;Ybck)B<#nd>NYWLOu5;i<0&y7xt7$@aZo7kO`` zovTUcgoKN{hvBO)OWrB#N-v{h^!?&(;xYFLqAKK#nh!97`^_m)t%m zT5+9rE?O-H2KiKWV~AG$>IuoP6XMVNZCl{0fK_wBY(h;ly>s zxo~O#C-SLmO9&?e3pvoc8v|IcZUW}nWTCzf*5^X7`n8X-%+~h{^>=74{g&b!#`DEr z{f0hzHe2;_{r7X#J0FfbjD9iOd!j0>WbKzD84DzY$jGO zAQ|(RXTirL{N{VoQ8N#toti%+nTPS6D&vnFt8sS+aJKRMW!mrxbBSJbON9MGb^hL; zedV?WA?kuo1gN_%L=Y67P_md|j1BSEb35uP4%s*=e=MWqwaT)mf&! z=!LXf98YiM3a*NeNrQX3hU-?Y=s446+NkrKGacM-pgo%?JDuNC{WaqBROm8Yak>7t ziDh&8`^Jewx@FPKG;>+ahtrX}9+eHESS)kSF!&f70vUJFf#TIaG3V5NxFqik4&7XZ zQy156uA*aCtRNjT$Xpir>msIFab(!Pxq1vAYvE(4u1cM|8`PzJN~XReTvgv;uA<2y zu1C0vHix;2Hix*1He+-S*GzL}XznZo!F$=47k57Ss53*I*`R%&f1NtTL)w=jZx40! zJj<0jdk%1g?mhdtKFgIldk%1=&Yt~Tsnd>8s(Tf2RHChXO&QuvEM;7Ce9`%5%w5g% z>A~~qj;C+M+dd~-LH+J;_Vo2T*$K?&`_99v@%&y&AnRG+_N3HUDs|7DKnu0R&3 z)68+{SH1Pf>5`bfefB_KKMVOfY@eG73~(}iF7S2e3_9a?nkU%E#0uy)HRi3u$FXW$ zj5?7K+GBjM^C?Td^nCIl6K2jogDZW@%=u@KA6ZL47vInEiC5)+v%ak?I35A+K71$H zI%GPyf08v``5|1@#j`YcWWYmng(H#|>ePPV>^#afa;5%k1J_2b&>`7SxL!+l(fp0w zeKh|;0eT-d{-yr(HuhHq^lf&cE_;WYS2~@|D~m|QB+fVEnG0^LML*X_EWwNY)%kFUaj|eDyDsvSj@W4Iqhp0PnJ;3)Vr z#*blCe=ny@axCz*FSe_iiHBhXBH7$-6-p~l`c^qyFqQJfj8ionxt<&g8Mw`LH|hZ z)lXgYjN)&_55rGn%(fjrhL&{(GY=fYd6*%2 zd#Tme@0~{9yt7Zghv=y@chakAV;gN=G&~o+@Kv;sEqsCKL7t@Y)PMu>CELeE*4zbL z%Xo*JCC5^x%#K~3d{tvtKF`}9e!aclvzDpx`*~ItibD_k1RBD!5cmY{E+7y7`qSCv zA*btTzxvQD_&*+ftE=>`VzGB<-aQPy_k`DL)~3e5r&egf`-b!H z>C?l=j$JRv>0;{eW#6YmZ#On9ys&m`qMNlycpYBDNNA1&U((c(rjE>*KKpcp^d&fp zKaJq3>y2F1*JUqgj(crrzLTPClH}9+>iEe=_^ulFF3I>AksI+({)&|PF!Gre9OD-# z+42$5VU}Zfo`UxSwaeNFw(q|Dlm30TJ>ZqYpYh)W{rC7gWS^a#U+TX(|4kjgC8y9V z*LN8cOuvHuw(p)$pCYeWqf%b_fmxeDZq+ZeE|Xcz^Co^*a8mya&-7E;IZ?QfNBS(+KWBlf;WgK>yhBH5yiANeOF!K^HU7wk zynf2F%{dUJ!R!gIVy|i=eWb{VMJpZWb`!(TduszQk2P~-tv9z!Q>^lP zW?n6 zt@VII^m*wFTTgRPPnvqZqPZ3IWEq!x7_0QXDA|MdTRzp3G{@o<9xb&fmny7q&rBrlX9{$5`2-97ak9E!$|z8$cVo_ z8N?5~_w4J_Mn;eW&Ec^Pyel^NxS03`?bqlsvf%I6pl?prd)gj;pOXdFDUg>L7t;Pj zvmbAMDYjQE65~8!9idzmo`D^IZg#0Z54=ejq=)Z>M#eDO(2s=Guz5(phzYm{? z@sm-OcIC^c<_^ijK8~7uh#uNQrZw>Y7H^@~xylJ|7rYgBBfJ-0qS)T^;!lA018)&; z*|8eW?6{_VGK=U>tC0J~-*aXzzZ>aK(qE07qj)27t#u$fwk6rW^FiX)Tx4EyFZjyO<3u`FCU&%O198Ug+%Tj^ONk?OWdv^bO&} zcWv%}Lj9wGzSs!t#ngi=+y)KPz%>01m|1@BFd|qoMb}P~n)qAsMgkE#O zA%Sgg^4G&}@}|hEaVcHLwTZE53BPNgNiFwv{GLL-nixI?;2@8(7y5h@zU+OGID{{d zmXhuu-A>B&{~$i)1A$?I}83A)8)I%g1`3H%l70wcwW$zfqt)lh47A952o)|5wLX%Fq8c$p02g3)Z>+=j8wD_;%s{ zHp%~;p*H+!<^SsV9qPAlll<3(@qSz6|LXWBH6ENp{@-uw9Z7$E)AE0H{4UjT7Wsdd z;Q#65|Hbk6p?*pX<=Y|uzvVnYYX|%f$-lw>MdAN8$^WiU8~%jyZ}5Ip{q}8=|F$sR zf4uw~{Jx>_=^XO^Ia}|Wmw!{o&s4`*ew*a~Kp5}0MgB|TztZ@04*7q?*87&^za;*K>Nt!1e^c=D zK_t&#fH7`9$y7di%&f+1yn0uH8#l z?kDf4-BYIBvw0PHoeMcXl<_SMu9{QHuD5>$=Q9oR(Z#$9lD;_=V=k;%i{kQFw1QOa zM4n-O{2}>jit&Y3kZeA!fflnCKAu!b*#v$dtsBZm5uOt%PSwr<@xe#UKB2SiR~xRm z=$Z2monf-@3hf{KNPOdD-*?EFUhzuSwJTZIu4G-?_zbbf6$dqo^9sUeqhA0Xn!{-w zp@#PUo^{9Z5&sNe3s=63znXHoU2DSf*Q+fJz;6J41MsWZ8@kuT5Pl@SN;ojrB@btX zTpj0Xe3z>CjD6?$QvWrmZvr;6;1;o$(!{c0XV){I%*R*r7 z2k{3E1ZS!9zMub*`KWx*@Z*gA!V_r6&G4ffxv_jK*Et#FSBzEBwNCU0zvSFzvwrXM z<)OTLweeQk_=|z~W7hNg=6^BTE1ye@_G80+J91Lt~Fh0pasre_7RB00ea2f{!t(OB+tJ-?>w{5eD74&9$JRQzj--yfhOwb^5wirJmj?5PyF!0 z+4ua=UN0_no?p&6bJJ$W9=UL~^T@Pedp~mFu$GS`koi7Y_UGE->1gmc8se#Ke<6H+ zlZVgke*%17R@Hv@>&*VP=KAQ)?XSmUi{rw?hkrDO1no-En z2>K#EPx;?h2YwN~Pok5pEM15!O+%LK)ymR^$kH@q=|W^_8nR@^#X>%n7Vt~Z_y0YR zshm6+{LUO7Q}gh}%tsF**H(AS5BCf>=GIcUH*G;5ChO3P^RQ3w+wD@j&@oB$qgjup zUzoT8bYTizE8o7W{vw@^zE>Xz>$tFg@vnq;5I<7LzvcIbv-m^7!^R585BH#G%+=tn z@hI?xyWrn58obq(0B_R<#x9LbK7MEVKmRO*-;qN7)%e5u^p*4k>t*PR00;R0&+j}h zILFJ^L)H&AD&X14kUkoocb=DQ2KkXWOBMSefQgR!AuuIllCMJY@cMRN9)6oA4+Fvf zcpm(JI0yW60r>WNwf-2~fBo3VndKFDOV1`2u-}Y&t-P7<*1|LSiuKO$5Z=7&U9=UR zX{^?|vi7Z*b&jbq5U9uZesvrDr zdpB*QU0Tbwa_QsX+dttx^A+I{^qDix&olNw-+5wMQ?vcU^1zO3N8iV|MtwtWF5~866oa+|^qe2iGwhG=ED)b)=miZ=T?&oh zlk_R}%IF1(p+G+LUTYcoHkjgY3@yP)?MtyH>$m;9_-z^^&|6xck^N)Z&sw9^!S-r( z@g>+xQEa6CIyi_;4BAr`v?pxOOwMbMEA;5|2z-> zPrOC^N4|~t?;QaDbFEM1kAMFwq>nTnO14ZN35|dEN)F+N9Y@?hV*I-wylr1DME^I7 ze^{Rmg#TCGM*MF)7ybpt#~~VPkXb|95snuJA79t?A0Ks|rfizQjE^r$x1w_lO#0X_ zFM&sA86U3-V28)Yw=#ZdefeDD*FB>5{|CmeSAOKv^R13w?PnRk#*L+ogB-tpEj$Jo zzwXVme|piavVR^3`P7QE#_ha^Gv&}{yfeNt6K|tfo8llIzV9s4UDS6hWV_+s$oV%0 zs_(n~>)ZZj>igbXsPExFqP~0HLVZ8{BkH@UKz;fCLVMnn?c-q|Uzq-r2Ux%6+o(~a zV`axN?rE%Es`)<8HP-q1qHpb5V^}44Nv@8E?6Xee59)6ZC9w;Q-%7R$GMmEwku6xF zJuS#pL$L2bzQ_cA8u>D0!^jt@x@CVRR0_fo6BKi_;` ztu=3d{$b?q2r_+?KB9R{Evb&AzEep|&r!wSIWJ|2k<9iw(K*36Wb)zaU6!QS)eNyz z8Q!bkWO`%d^J6)~FpqG)X(MwWT^C_jdGpxC?+$54>}g-W{ z&^HTxdqVULw_UnNYeHcfXm73J26b+RZFkY=^#@bLoBrne=)rZ47vbLR0RIiNvw>?P zX|cbaARfVso%aR&Qao4}H2o+vmA)H7Sv`{u)Nk=G%lxEgF|o-FF|U_Bu+`*^^IY$a z?Vt^h(}q3Z6r!zYn%V(99)~V_V%|6MXlr88W(RZRl<7{ds|HGZDh-*UVE+G*XKiw4o@JHb}nb- zQZc{=W+00+;fo>V-mW6JqrQqB| zowPZzhUaT})-Jlnyze_h+ce+k_e}%d4+oBDy9n7|h3tP#yr*n3C@bFRy~Zl-$4m3u zeA8f!;!63ZK^t{wjD<%_iA!;Lo?Z(M?UX^r(o4W&DP?Jc`jh$Q!%<&`mM{)vz*l=) zd%*pz$nine*Pkbql?UIp7)f1>Gan~L*w~08IX@}budn#Cd(C=Ze}9{ewX8%RrO-$C ze25wMQwT_u=Cq^6iRz3z(ht@)>Ru-+R4Emc{YXrXZiS|4c)8DFwJ@KI0#k0rM zAGKZ-tg9KhvGvI=%5TRL-KX34k}OR{&sVql^!!m^2lunrrZ~HZMTSP}4ib0Xlzf~v zH8|0a(Vw(8vutMUc5@aa&vNxP#G(nxgQp!>kWZZP`^!UTE**$vcY^KI$m?!{imrBzY?>?mW-so9D}c;^~u9 zfJeK>JH-c5`q{?*09r$$I)3 zIymQxn`HHNC1JNgLI(A7VW!9p+__xWR2|@!M`?i z3j*!$`(qqQ)lset9f1Cp|J}FY0$*n6yvwD5OlUvubAeo_E&2<$=jqW}V=vqujVX4I zWmq@Lmn+?q0pASm@#FRVa}!qaoV|6sGBeN}yzil1(u*2s^PMZc0Xp@xZ$sd0zel)hj@Y$ zj^_yAJa=Qm9Ip{Lo1C*t_$e1c3?OQ z+vj+h08V+B@9jeZz3kf_8ly)dzt;ycYvt9SUl%@aSnIaNrkhT`VLYf}f7kf?_^uE8 zyZ&PqeIXbF{C?E`9EIO^`h6uozWL46H=ccP<9}Ki|1$OMJx6{2IzW9-o4rK+*U#;^ z#W)zX-!qc^>5kw`3if$bq07#f-l6|BwnXDvzk8Axk?Pn5@zf~v2jf{{mOVcr@B@~i z4}mco8%t|Pd=oe7Vz;q(YYWe=vg3&AlnvJWdgS&P^;mr<9fzGC)mn^nm{Pd@Zt8EO zewX_7PB^4Sor%Z0kQqZOvTT%9E ziZdIkol)j{L?$+-e45yD4bW6=)%?fO+nz7dFF!OC9~g^w&LwX(G;Co1 zt~nnR+ED*hrhf5?yn?H7=fmV>|2ugvxx?%QCa)d4h`o!-)~4(XJ<}OIsZc$#w@p3p z!<3!jM1^aidh~t1Ts^Yk$(yTZhF_0(lVTpA`U=u&Z(&-UjV|A(f3GKXkp7XB&)-Wz z{QX)UfA2MCai7`0H5MBmC4E@^JTa9ql76nS+Qb(GeH&Wr6yIEAO>=*(56bTt?(@cf z!Ca!b-2YBr(08^sA|ozvOy6-v#uW#lxReC2!sWF_X5^jv<>yR~k^iN{oPi~qLv=6u zkL8Eb$fDk9POrUA+Mg-@k0;MloYU1>j;$K>50`xGnU1@_)*6h(F%2x)z8lVu9JqO0 z>`-fY_k%~BqL&({aR#m616$`UJbZr1fv@nsi+7y8@aU>(UwLrhE_DIZvjr{ma_VE*n#*m<4N}UntuO9?I7&9!b`e*RGMc z%r(yBmv5t+vjb}2c?jMY1W!D#bi5Sr)W2NuE3lP}euOUa5u~R3{u9%msWUl=XHz6Y zExUZ0`1NSrQhQ)mt&FYh;5&s?@JcqQ@I<%y@T4by>o`kzg7=G^1D z5bZZYdqeMtzrXzWg_>^^KA+yih|or}w;Y=>iOrZ=67wF@+Eg9wpXbwCdRlpz6MBkU zvUEwzu(#B_d{)~Y)2 z9VIvUzMR>C??_|6^jvbk|6FYk`*+M5m;ACOe%BvU6^Ak*I9tM;LxVn&jkbtqi`XB( z>czY6U&S7I<3}4w{m4LuzTCkXHPV&R6W>4op0@GG*7%9t4>qIU#-sbn*~i}J=ke=` zglQ5wlj$x?7tMpl#Jr!`{uS)szUH0h*uRauTAk+B=iyG=w!wXjKc1Mezr!DsCI6c5 zC`M4@N;5RI??pSe!#|5aeJPtN50-#*0 zw^YnD`gc0GA|KMfdUqM`Hr&!UQ+{RbE!MdN9rz#g?ma5Uz4k*Nr_9D%Zl0N?u8kA- znK5!B?P_#}Z0QZgUFnXBTm3$(y3BY>JM|sXustyl{hNr9_$=vG(k-OLq?<`Mk#c=8 zI4>aagP<=Wb2kO@X6#qgyvgnd5eFGcwF`X%w#m?V{ov*#qKgZ7A z7#kVSpc{?;9EBV~1Nl@X7ry-Xah%yoXa%fVc>P)6>_ZN+^!20ToR@m==dhGe%(LwfT%9MO zZ>DSAM7%^cM-RRA=9$v9$9T`Pos2o7d%*D+bB$r+_dnQ+td?E@9+cbXlzwd=_6~U5 zZt$QkQ!lox>J**!@lD_mowjdm86=&kU-TA!`(C{3P|pZ(bxIFp>3eE}!4ciA`i?>y zZ0GAn@w<44^ZXN($wrC~>_fjn-}@8J&^8k-;2F?w(o7*HPn9o(s|G- zQjC4D;?c`q`GfC6dj;Pk`-!@?JLbFLqJM^G8EgifGk6p8?o7SoW!m81YWTE<>r(EQ zIbP2S@}LXlH#X(a8DSsn1i_jCKj4#|YyBp>{N`76PC*y4u6`l87fw$MX*u{0;G}*c zSc&=cxdrsOdU%N~Fq=IWiw@EM7o*3U;Pn#mt&hHfG0wJ$x~%U{@zi>E+5i26`Q}8j z5gN<_20GoWb@H7A?MpMUuYoM=;~YY}F0>(#1)1!|eys87fBX`i=bZPw^EJR-3vTVu zMe-mUtBy2}1U)lrp#^o*FCUXX7d`XhMs$wW|DM7YUbS~*+?-Q`PEOD#%wDWI^v&t! z&fXdyPZt=HIdkUCR6A}(jLokKH=NFCOt^BF(67tWAnRsaVdv!ieY5~vdc@A%MmV|6T&6!fPMKS;M zUt`bOc4TNrU!NG_uQLa2(pc6ND|)F8dC>SH`%q&}Pfziqo4)g%-|b&nyKcWz+Sc>> zoVD54zj~ktJt2MjcjWy6@uoV*&FB!y9HY!;${bty(RIh1VQs_Sn6q}+8>wZ*7z8vHTu}6^YlDAS3u9{&EEq}xdOdiMlpJ=(r@d8n`1{$|E^b5`8I`ZqVmgR}e?MpltY<4+mk^Ty8UC2Mw` zV$OaV!To68H>G)L8arSWJ`2rV@V7BPy)bU(z?75EDBo|99*NDDxbskYB=wRf-!CEi zPksr`oQh_sOL{NMxUX?sdO-TG!zsQ!%`^DjH@{=d)%;F4p&MRYg`UXa6gxLg8El1( z7su{jg{>ys)NaF9=%ROXoS7do^R!XiuZTTrX)-L221YMI1D#!Db+fUBpoQj_`Sg%% zq-m#_yFvSh;OQCox11gSZ0MVl8WS}>-(cm0@$l~hIWhXUJ7T`4czhiCxO>R+-+QgH zv!mFFzfs{lpXfq|b<>CTBMbD)+?Xichn`Ay!P9QqfX@5zhmgamJfkm0@Hsbr{C#oF zli4f%sPv^d>wO#79i$DUO^(sgDRiy$w0ukVy+};YR$!2i?=qU0m^As^t@PP#$i@!x zEkRC}Li1%j-^B9`q{aMhA}!(fQt~Y$ANcB=vP`AkDGv#}-Fc4jFaH^IF5x@ZtHxEv zH8+{aIBn+i)So-YeE>Xf9stiYcxJ#e3!d^7WE#+Ajo<;E8Ss=%kX}GyOwKfruaSJ< zsWADu6i6o7AzMU1>()Gw|?fAmXH;0VBBBh~MW86th0^St9OCWeF3czDO zb|H9k*xOtmz`Lx}*NfVJYwei4`z5i{)u39$*P)hFX1(|1$S&I;-zrYW3}_$)o7c#18iB z&+XK^4tzV1ab&^zrEK3$wu8&MnCZ_y`ylneZ_W8-$C`8S8n}YDY%%$6UFaC24>>RJ zE$K+h!S$z*GxFLv3iUPr+(6{DK4xTI{WKS^G@s|lak`OyxtP?%?L-*}8*CY!`>**xxNLZyv@%4qo#4|i9%}>ZstfQR;7_RB%lW%A@Nd?eH8>L| zW1gpZzS@6o$BJY<@l_3ee3hO_4<pW%`YsuOB!5 z*uwjfEzPX{c&q%9e?c~73w|{5D~UfveQ(k^_@;eEXYk9pXwdvx9pabxtFdn&{)`Us z=Zy0s;ZJgt6HW20VtDTJX;qQWC*s(u86$JFKgM(MDKEY)IlqrjW(`4nDhXf^GuIEs zEdh-DSUO;cpZIB`N%&cXyo>KScvg1u;aS@z z7=%L^nU$bwuAm`|G)Q5^naaaYWxT2Ycp1(ud{)^);wEv z${%jlPlEL=#Sch-%N8}?hU#*nn!`!ngZWy2eH=S`|2B01&&-+7?P+vGSVwz~0mV9rs69;qhm3hXG>NVaS5gVq3l z^G$qB*bRwV#*8|~HpW8vjI^$7=1r85-IH0u6?;qTkC}SjGhS-l#xTIZLa zL+dJru1B4y*79;|f7qYTK1KVe$F5NuIFvE81Gdilv^KrQw^^bc?MX7O+4jgTF!n&d z@y%b$43BS5DONV1<&S}DWi3D1j! zCuNh!oL#5LofXgz&$+M4M#OHt&skI!ufi_e{ZEvIKbjxe`cv>mep9V&$$w#C`D29- zBiz<|Lv7s`$c>Sg?%?|><+6bae=j`e>$LoDrEY8=>|C=x?dUA?^Zz0~o;m6o;fgHC z#$nW_^Y}uKsz_u3*B$=3$(j{5Zanx*`)hu6bOVcbR5m8$EB=xDNAN zYh2Av5IaPE=^n|8TUQlz=M_bTpZcp{rzxLdEZsP)Z{6+ZylZ8xEeC@#IT-V*OnI%P zY7B0qoLL)OEqRU@U)f{4GxfFh%^^)Ypbh7jx83-9)mp{i`2FfHOus5szd|nLzty)v zG_TNnOY;`_RRu4j_5wq5>U(q#?pdDA<^EgT^KF2r?t6HywG^!dt>Jl=_^6+k4{6J6 zbME}X)v-hSiN96cv++kQD3Yyd=G2;-Y~+2G_xLfJwC^RudsFuUVu_&xbsJr-K8w%b z&Y`=5yx4h}`F=dK;OJfUXTdvc2)(m3%*^*;8Mx3h1CP#tOKi5mp%C2O;9ViOz%p>* zwO|U*upFM$w`Jdg9H!7si8|;%Z{RrP+33ktEq@W;`+y&(e3{m-M5E=GEw^*$6ucB4 zv+$?~nGvpC$hO9i3V!z>Psbvq2PBWf-e_Jstf=|^efYDp%_`?m#+QY==&Qmf2|mK@ zm6wT8X`+8EalF)0WTxL5N!gZHuB6>HyqDe%`m614{q23f-$jU_DJB(>98xdq{(m5q zl}COZ)*p8glWle7?}BgihR2)9mkk_mTX029h6SC7a#$+q1qCF;Vt$52ZvnHqSB@8k9 z8Zwbm_Bjj-<~ja2pt_DTeyJ|?pI4~s@>>_rJjPhB*n8nq`kuLmdd70SD0Y8Y(bzkV zm3BOM4BUIrxxFhL6Yr?FMC*T$K288L3GCDo)?;;!rFenPOCgIcI?`YhMrfgrnA6 zG#2e=4%vf`xd*tc@v;_vQ9KKL!IgbvVH>{*uzlU^)5`Ye9@^DITaJN8uQSZ>s32_C zK?e)F2Uz*MSPQFh+kHPn{qJ_r4nQJR+8RDs_ zH#YdT3fA!7EI)J{I`)(g+ah}QqhT0s%i!Tk&ndRV^dV@ey<(ErUZ=RfEQaCleRJ@w z%x3G(F1NpAjr{=W8B$K41?vrS{xQ&JtT+5Btk1fKoArjtv$WnYqQ8H#neWNB@(ugd zMV{Nn_v+Uad6~6EUbel+UpIK%@%V0q*L#?Bgub=5%1gFac~_3c*E6O#YSxZN6-V8X z#nHqF?zhp;%eWuQeT4fa?n}Av^=%i)y7_)sgX0D3$wvj;}WzmN{;FDfQIoh3GTIIP*NVHjP&G}YobD{QXEh4kj z@w%>cUeXw%e$q9~*VWQvlXd^mzWd8`PhM*qjptr6tfaMvu7y4v#j13DsxP0$rmoL8 zrZ37jYx51^x5{P|S3!G5^V{lAJr^Il{;m&>@^>xw?`>HVlR;T~Z}Bm3Bh}F#@LiEC zGBhW!(Z&KpI^3*1GDc;QHQw!1z4AL`TC1bk((33&XXrB--WfP!s-qcX(ZVpc9JI?e z`TOY1o_pS#yralVedhPbYE!15JjTu~k15F&@{>T$WYdh$w+4X?{bvL)i8&%>!peBd zxnZV(C3}sv&^9A8jlq1e(bwgb=%6HhaTez=jbD#^(- z6Sw&}XqL^z?wl+x=YSTK@r`A%Zos4^}lcXLU;?KEd~|p9zb#pZ~~*#oA8-JLGpQ zz#5Sct2jP^^Hy0$Is?{aoH_e+0L%L7b>?h}cGW{e$pPOa_tKnUnl9s7QRKB~zIydl z#!k~Z(&wJRS6@k;HRzQHsT3MjR&ihDv8Uck>i#tJ>;=b{xxRv3Av{l+_`IA9@Qo4A ztgD9fTiV!pL5xXvpy%3vy$0Dbb7}2gDA{uLXIW3#0qn=YeGmG>9TM*#7OI1@l{+|F z*{m5Y_GKgk&9%SY#&!H9ZM6FPvrWL64$d>s{j+GxB+?YpRP<%V@VI*v_|vPf-Oz8d zNIXxGCruvF%5`Z2{^Lv!*Auiiq`T7Cs1M!JA5RxN#?Q~IGtkf3js=~^Hhrq|x7$A5 z`9eKDSaeX zP*u4BQKa@uzuaf;f?n3ubU z+2hgB7n3QyrhOte@V-IcL)(N;mG{CI9TZJa_KnaQgYQZ6|C{+u>xYazaLreWSg)Mf z-yWD+>LsU_vY)1un5|N5`cf}bQ|e`FOTFF|;5D+C{Wry)TU+b7+$W~ilE0SxwO*zX z{%$~~HX%cmyjMS3;jbBKEGie?8AWON3+|OM|;NBddJFYz2g zdM9e`jJ{BNXLQo}@EMx|7-s&icn=fjf=+>zb|9FG`?xS9use#T<7b&L`Ri3er50-N7__IJdDk2 z$H8=2wTXTC$71XdWW~l$^|nT$y^TY?-o-^Bj^Jok^50qUeAV)Vn5K=Ivg*HEz(ng9a2U=QJ-8qmolUilsQFOhkRp; zWH(@kRA7gIPo{}-j0-*Blb%F5c$Ydg*GrxtLBkZZQ~%KToKLru@C7eDPojJ0n>{x^ zKjg~_^Wq_RQSFRozhN^Z#nNCB$ zqeaw>e?@i69vZ0b>A$1yQrctdF0C@QWwI>dr79v`f^p`3&FG+cLpkNl=f`8|R(5}ZcW@VV>{MYvft3U8TSnLD_(oU#DH7pVI##HDBnrQFgAL8T!l`;zdk+ z%gh{{yG4(S{k)e4d3!6NK@F+4FfA(n8(NSjNuCsWT zRokI~`!e^h6nlx&)z}c|ut<&Ph;OyLZ?YmBRBERCBd~rrr>cOv} zFpjV3J21RY@;(KAuJCIBk9yKnaGD;%YZCmLf*eh)LD$!KJMIQ2_VibYkjo_myJ>DW=?r8ks#i6gVUv;l#NMXW%pgzRv37 z>#jh)#M2$Zk2#}w`YHVm=97cr=@Vz8ALmH8bs?Vif@=hxvTrU~H`{xsaOFIRGjQz% z*GL~vzY*Xk`h9@kre92_Ps||AD%>~P)qly8Bu|Pwx&AwyzA=NoJBz;BLti~n>}5{T zkFEYX%5Rs{L*G16%{%%haMHlZ0B0ewx%y^vvh|Ai*Bta#%@D8A#OuDduMZuitV_8- zZ%J1PXG2@&?QfptXvZPiahP@-0dL!m1N?rLbO>Ay(~cwHGeA2&rFK*nXvYD{ zK1;cv9e*x91U`Ym$i@X{ljCl1+fTB6YY%PcLT`4XH}_Y2ZFeCXGYZJY9&qaF!%23u zXj>>*yUyAh3$Zsew|22;u1LXNGM|x2ej!SDbQ!-%0#DJ&Uo6Cm~N$kf*80 z6E<@in>mBcoDKG+_Za_v34VU<5Al8cX?)-reBjeR^G3VHXCT|wj>-8p<}XFZH)CV& z$5uRmt@x~L#i729+08r?*)TTd4ru*2X+JjR0c^}?u`yfcMipb5si#~6{%mdINGkyi#P7*J7l6l=p<^_5tpW#X7ntEpGa1xvJBsS@PVGni{ zU2sDEB4>-@LzLWMi#}H!8`u^-xgh5K7jwp=MejIqlJ&xq_$&oSHo?hy-Z2+BQq&Ut zRZ;&uIUL4TM^9qY2}k*PPU5raDso=>FJS!_J}I6*ro2A>HPMrSpXwxjDwWH@!B!NE z&yzR3p~~CCnK?JL&cU87G40a+g#^!&oBVe-a+b?yvwg9WQQliv@*8zvKYyHde30h@ z$;I3^D;M}2GLOUGJ@D5Z;>*RhkX&p=&Y5ztEs%?C$i&uj%SE_vvZlrS z(Wk+prE|=hbrtPY+vSt&M4Hf)R$DJnbU;jsAXU|dMk6< zJBBf*J!RIfjeOhrbZ%}N)Xm)XxyHSt&pEdh&bIw^7XTYsPSQV&FCMuwzWJ^6NBQC- z+`m#3B^J(0oi2*HJ-%;#)lg@2WnlkEcGN#4!;|%!{&4bT$Lsn_f2=n?=qvp3Nc6v$ z)OAhYz4)QL>Q8#F{Faxa^zPGr@6_MAKG%1zIcV3N{=I&yoT(pt?Y)JitLd-!48V1# z>1+HxNnYD0l*j%)IiEiIw?1s`A+l{$A5$G&H~8-i9JM(F$JB#gB3BQ;!|(gmgYQCp zT5#Tv-#nb}KHigO7Bj z;E-<*y6O>hmEiRPKi6gpJJ3~nZrX=_l^zn_C(%KIFSr`p^6SmPLU;AmjZPkH-2v=e z-S~UL?Xi0FjJgZxNz-opwCAk*`{#!sz`qfle1)=_^%%oXRFJy1%Xedqbl@ z-{;dyZBl%o_-c3vJkdzcO?x6W(f>MK1#d2RMs?+2g~kKr*BaJa(IpL~^!F2I>XHq> z%k4*HTu6gQ5?dfOl6gP=rZoPhB>L2>A>4*jORic;@;*3SXCtuPcqOD}%2q zA_X=XXTFT?e4Kw3E5X?h;FuQrz$h#WW6AHp)Jz-})Ont+S`E!za z^l$$jx;)zl&(2e7E-nnOY8=BI8sa5i9^&4)5Qi$;Kx#Z1C6!)e2d8F)rv2nzcOyj z(74U`hmXPc^J33&e%D#XVQ3}$=WM>gTN&f5Z}295uf`{+bALCIR=vLZYfoY4r(5YC ztMS9OaSg-7o(n8 z@V7Soj(rqO*PwI0OB*L{j~{&MzV+sr#!JQOy6>0#ogbI~U(X^uOJKM7SO2_yyT&Lw z85-9VnLa4{rh@Z32BNuQOcpiYd$8nRzn`n~id>zggQ|0)t+N(?F8(9=w-c?{sH^dZ zwpDpwItd>;oLxDeWJk*`x1IZW%md~#cWdW<4fmzokMMoZR$sccRo)8vb$U(9u0`k( z)3#FPS|j@G#e5&NY{M{ZMYAfN(eKa=LkHC+>+eif(x$`6eSvm;SMB0mu3d-m)zr}* zJ9n<(cP*)|+H;p8Keg3fx`x!t??|yX8+lMWb(WsX+M!|r&@b5g^LEV%z9p$KNbSFg zZxel&Z$eItIG*jtdY+?6FSL#fOcT{3+S&9){97eMzjrWwy3_Do^7k%WKg->gF-p=!N^vwl6-NR$WaN3cqjhH?Z(>HR78&849)_0t4PuA8LIh+Okh1+ex zHwbT=UB$NuiypbNobO#&(?82Kj?!U_*QDoii+}lG9{6{dV2pWb~K7nLYZRgA*_NQBD?@^UU{=T`(vbHCY@B#aW22#Qs}b`nym=Ytchn!xUUOnwgQ?hg=Wj388o;Vy5;wA zLo>ch{BSE9t%e?L z&}dDumt7m8Q!~$7xt|yCdo^@wgHCIzy`Hsw{bVsVWR;P>)VN=#2~Ydg&w-@UdojPYnl@S`V|`M{`R-f3R^5U z)-gv^9A9!)v6rf({k>ID*X8~d>N;Iy){ljciBE8=qKPTk15+8JrdN44FL=Y8-IIKU z`_nuh35-$LhuBwP|7lsU-YGcpg_Lp5MKw5oO1}gAuj9Ac9)`aUe@O!sWM_98D*89pSSE#KYJ3(7JoL#xLcC_qr*K$7vJg3suwcNLHe~Pxg+`p}1 zJlwXHU9F$;+v=WTOnRB|h_-4ycc8kvMd$qW+jjIo1$9rN?smqyW!(2r_lf>>yUS>2 zh|Y^_-96NOqOWc)bCS6{CfhG4##TaRY0nP$$JUPt>oNY+MK z%bHp{_v^4_I%q#Qq=my;?%TN!`rB}==LT!cgTdhnjsFATaDe)rC0QK0!C^o52dMK| z>a;j?bHAVa0Ec6uL*P>#3=S*LhQkr+J4&)R90G^K+#jLNqtt0}IK=&7?gJe52lN-e z{vYAP8m)N5d?UBEJQ&=*C%a-G`fLS{Z6u4^25{TN{Z??<1}+x24cu?yKEQ2#fRD!h z!QgP!*>KoHeO)Ar!wztGoclf0*+rcehaKEM&V7JGGdPGgh8}#M=w^69hT(nh^& zNEVk?a9PcL8+EUtZi`DR_p7-NaQTer5v-FA28XB4hQkW#YbIG7mV(1F?pIJ}Gj&=V zmU6$0`v3=PQ;8-v^_DTmuR!Ox(}=sl=R<$L=u7x}Dw#{w_`bgh#Lk3#f7|n8gD=DP zckDa9@6XO>6&swQd_6iu2cBjt=6F4$=6IW!2Vo0uUyPrlHt=(34z!7KjmX6N@NrBE{GLCMOi(^26H~AW zBokA)P9Neqip#$5()bOmt0*qJR5DQy?HZ8L5sWV*@xRqGCN|8a{fy1Jk8myJdK!B4 zmUv$lJzg;~@nYClDSB|WSU`^;9=p|#A5GQ=WB(W6O+zsDW6va4vxkW|+>fKfDruAM zQ{)x?)zkdECeHLg#7jO)Ox_`4a1ImCa)cPTqr||u5wE8w;vG8?@s6L0c)xu);+=RU z;=Rya7EMLo&zWBDHU5TcXFHF`-*7GdhTCRWb1i=4PT+rfn&TxlU@L6GZrF<5unqax zfzRV{?2J9oziWV`%Y@AYZ4Vca=sl!P7$=#p593@j_rI{SS$w$1Sx9Os0- zp`bBn2)LQ&Yvy?I|Fqx6EB3#Q2mV&RZM?7STE#eL@Ofp4L+v3B^=RPddWLs8C!iX* z`}n=t8G3;I90&H1HopE3U(2w!gS{(WdMxwHGISDp$LbuNVe_*&@MjWoJq3GjD*n|m z)n0OJH8ym$_u3bb-zBtze#>5L)-guJKY`sEwkOk*@bgR|=5i{!eE>W9yUY)5n|hmB zH*5|3tpmw=YoDyQ(WWH#`MflIY=n=C;bRkgTmm1L!pCLsaRq#AhL5fAaW#BwgO6+A zW9ztRs^%SWH!}8|d`wX%Jj=xhL*K`=rkvOV{kqWKi=j)C&)-Gxw*&s_tipW$UXtT) z$$3Ps(J~UYXP3obEdujA|&!y4RHJ8R0jfr)hZoM>qa~ap}OXIgp;<{l9 z&z;WG?i8MLt@v}EJDt{^*1qhpA2h){BFQ`=#XLe~7gqp-vbRp*O4+9AvCf_iPUrEh zMV%*h6nA>sht0gq&Vkdttfy3<-%8mJFoL}R6^x6>h@Bf$F>b2Al=9n*!;CEn@`d+I*gm261_u2x z{N4%vw4XxfeGWJ0w+wLJXLnIFy}u}$IZzbMKFeO~O7;cSINtGEzVT7V`5%qN(H9o8 zU-5_&b-VpD8p=gi;iYGl{fT7hzxey3{ok@J`rX@e$6B2zXPHGaZB8`1hJEE5 zijkj4=ZT7<=nIpGC4n~^)`&O$c`lqCLH-!|W8{yKznc6tn!1 zhNgwjdvTYtHjGci>~EgLbqZ-JX*vn|+H*SWIeYF>#^J@#t_hjOXQI9AIyW&(TA_VJ zl;P|k&+Ji0#?rHhbE?5!tz}O=^gK=+NY4WJR?ijMADhKGHoQAFk9%z4V++Vr&olUO z41A7*k2$An9y|aqovW6pp#DkJJ;k1X6*|8~dxnr#(Qm$`pY{uliFtcMG_vwG*?jM_ z|M$D?87z_wV|&1VWPay|kclMEW+4+3c&2yd*j-iZfhjlpU+5pq3F*(*DJG_1UhGkm zm$vE5mK0|fXiV|XPb}MVkG`>0GA>>+9^NB!N$B9q&s-y0gMw*n{63gB2s&+}kV26uj?kAT^Q}lbYb^33z%c=6(Ke>5IsMiK#+P?$BCroljTu-P9vRxfm18 z6B5XU{mw&WEqRY}zB+lNZ`>ok4w$Tb0sK2YK%QrTf5`D#STk~3O5z_JLhS7ta6N>K zJsZ;|X((B@^zyrT7Z`qzd?G`T4fO>K=t-EEPm zVnZ{{(6yERvzk6rQxZL1TM~8GezG&OZXV;(wVm$T(focFzu(>2+X0>%z~yMnOS|CR z15RDQ?*^y+F)!P39eV@+n!SP7clO^WShl4`zNK350!B(OYN1yR_e;26%6$#@mE6-_ zogGd;*r_%3FkM80bQ5)=FLK|L(HZ9f9Wv;MEO_;R*D-JuACCsMpZb(+zT>1#4(Fo~ zXTUcw+A?cte>=Kj9khT4ik&^)7?Q0J&HH`pI;it$cv@!0M~88+|DMBY$-H!MXwP94 zdc^408vp#^$*Yn7n!NLew?T&;j7u9hck{0Qm%F!tkE^Ql|0kK0q@<-_ivONM8${ejEf(^kINLXg%8ieTr=hQ%6|7(AxS{tX;&8T^ED~ zYaEL9%t$4>GswaU+wyDpQ8_TyFD0i0o?YI7NXYuWJ%AM_g`<1`k*?fD5 za_73={@q{hT)zE~a_76>p5|No`MislZ|NU<&%yS$Kk`!l&wu_>_1(XFskx}UKkSWL z#B)c$HM9$TgfiBLIYQr?E8Q4{d|5wk9`)MI$IT}1eIeX*dfy7+hRei<#LXIixjfvg z_Ls}UO{>3L9&VQL&EjV3m^BB>?|I~<>W}~IrRp#KcLq0Fo0q}OrlQahWL3N?{KyBK zY|e<&eFW&!cK8=vp!{Q~I|qjsxj0ZP4_pJ~P|HfY~kH6mO zFPDeIxBJWG;qXF#xjY=cnQs<{{olI#VAmtxdTGwvfA&)QMOpruqCUe%{m6rO>1udx z9Od**eOO${J%$&!@5^|9*9GCw$0|?Xa_zgrhvsa%`yhO}SbQp4Wa^pj=6{v-Q6HO5 z`DoECIlNqY+m0jX?Jay)j0yXeOAq8x`72c?Fj#r-CVwG$Kg|1fBj@D?uC4dnQy4B! z2OJb!$bRz|^WY-xB)C@beWWn`U37ghj2qx$v zJmt&&mxq99jrYC~->&w)72?}gf4MxqUFI*B$G1!TK}bFlj7 zkG#|l-_G&r#TQ$zZSdz7Sqw-nT+{`47HXyhv`l#%#*q zMKK7Y-%CHYLo)C+@>;!Z{p=sf7g=#GzQ}Dmx{eVq#`gg3nzwmnh{Kg{<+yfcsYe*L}p z(cyLFRpd9i@<6Vf8y~5mI0VxSmUGX>e+)eOZOWxXz*OzMFT~GP-nT;hJjq`!Pgjoj zm&?E)ce%94@yWIh?UUWA{rx_ljCrKOddSny?@`-6UqE}63-Qtp z?|mVF3+YZ}hWg zvvTmaZD{LQSd3-60jOXc@u`M!{ka31B1kB};$I~t2avN?Vq zLH0)}bbMeU`|yZ$)Di1oecZOXkj}w0@d4rtJ;WY*8|sO5)Q8MmYr`lLNBPyg$2)#W z`UU9_=^*I<=~>c#(!Y~_PWlC{i|HwF!W+S=gG7s{?M6&itShGOe^@(#_8pU+PSU^$!FL6T3&S9 z8yU^){F(Nx*gA9TIeEAjsxEJxDLid>J<}Jhue5!s!Oz4OoX?yz;mL!6${*Plpm*B-!c+juFj*g=wj*Kies;}k#rAU1l={BvBgC2%s7KF zjG1em%)T~vUa9Vw<}Ayio}RBFe>wN=QARMW6iiiN-qrDr*t|D~mIEJk$En+#w^zz< zV2tx$>&6Sg8sN{u+h^`mD12X!Is2M%kz)E9GwDoh-KS*c1F`=aXC@h2Iml-Uo=Y+} zr+YiJFA@LsdifRVv(^6^dnISOy1$O^idpJjXW=Hs`#9gP1rIjA`G#z$J&1LsF?Semt&c0NJ4oZ->e&L!;e%|{l(=fE(ywD`Nz z;IHug*UlVpG8ejlA3JxdIU3nNjinuMmz=?G`k#X{o-GcXD!w!Jmc7j2Y$7;=KVrO( z^Zhl}5ZL?)eUnVnj&MI1XN`v6@^LmHA7{WIoF#NOnVo;3?jLzLv;FTIC4Mi=Kjscl z!3pogYrq4%BbgMh#;9L()Ob2kq5IT|4bPZ)TiVf`A)4dW{B8m~$p&b?x9&{OE`Yx{ z@=zHFv`fBBUDRXNYN!qHS{Y{j7wz-_bBw&Pads}($^T#Y*gE+BlFN8wv)WO$-9R<@RQXi&U0bb zT*4oR!)a$J-a`+9tOTvGmzvyVkYWCb*=87i7XNS$aXrdu(^h8F+=F!Id0y4(h z2*Ks*i_4=w06yuQgy7o*{9EbMHp;f}dojP4&^~f#?{<>jVmy5PU9`QhEZFspF(qBM zGiSe&{ejPO#({sou;%zB2T|sHCkL~0{3}=wU}Ohg?8fd$epKf_lYdoNN!L@VlX5GO zpEmX)nz`9d;MhR9d7d21&&q+p4gELg;exZ&WBi84W!oNuSL3vipe@B6xjP=(%#1G7 zneLNMi(YqL;6B}#VeYLWPY-!gdztgzho0$z1~vRf4rLG3j^c~5i^79!B5<2KYn+Zi znsYg}h$jw}1J50ZVYfmsy@GXEazx+%b(e`J4efO9v& zzt%YP2>Ko{BBm=)D_`>E6;7Tvs&MIuFkVNJX<^BwDP?@&+b%%mub+N_i?^A zBmbHFwBuA!FR-@>9&lv(Pv6bGiQq;1zak5W^@5x4NtbBdLEC92ZtxRmzK`@YsgO_B z`IfOW2j6z{Z3W-H0bE9BPXy24HH9p9!(YO41^jgl{Gl=X%0QrN1E~c5C^^3B zt{=)aKo8>=h(@+<`fKW@-fws|!qxBY+PO#`Eu`CjdqFZCPtm2NgbHNZB2d_hayDlE4n;>68zN&Pf(RJiW@lI=^v6}~0{rs{Qtyj4;F_pLtM z>wb94`}$vq=fkWgmQKx#TQ+cC=iY#kH~D62*WejAfG`smU%JJ!^gM6y)wqi5muqwe~q%@^WN1oPH6Z32%oNZ`%hfvda1ub}T8 zqB+0kd;+{8_qsPhe)T}4B&2mscAZl!QWA|pmpFOvyM?^;gBab~8yl}kYd!vkPwHJb z{mXyhev`N{o1>|b}q@Z*T#^h!! zE;|r(pm%}o24K_w8-bNF@<*P{-|H1b|9<@L;~ka3>^O36Ux}9% z=spN+^dxk>p5;#^h@mAG^M47rXTR_^wbK;P-Y3pbzS!7N$&ID|uz2;s`&HG0ESh?N zQ}%eI^;n*xk88~xH`4;?Ho>#vjHvWyVj42$(bw2_kFL+sU!yD0nbsFl>{q_7GZC9K z2f1vNZx=Lr@?ZG&4ek(3@m@Y(GB|b19`BpZmwakbmC>OpZ~TiY)?OlmCRPBy5W_yI zy%I_I0UmftLnn|@KInmrt#PSY##XG`%A-=i$75E1K$?#2Soy#}Dx?%a|aC-s1 zq5U}RC(sqMMTh0+#MY7X%}=Rw5Z_Qf!#8an->l|;yURC~YG>Ig@{JGPajIwOsqxMG zp#NObbtL28!S~XEKW(GV(s24I?;Z(j)2zMTJj{Kv4!XQ}oRDZr(kO&VCwOGRTfJ7llNZ7=0GsJ%nv;Wd>=G<+3nPau*v2O$&G>KJM>QY zH2A?L@43~ztLc2vXntL2(=7d|BjY3F)4xePSZwa1s-QjjJ5l*N;!*q)?tIC#DZL=SYdD@e-QQ36 zZcsm|{}R>jgF`;6e5h1Ywylxy_lwJ1{&t$`Lc(h>52vEv$?&teOU7ZI0lEL#$}C?e z8P74!4MmU-EC2cYEg!&+Uu;~KJ=f9U{QaYzKRUWxJUp~Nn#6XeBKY7ffpiONidz2A z*xvK|+wSe19Eg?`1-ou$t-J04?fJvi?GEGa2=60&uPO?*_plC2@2wVj%B|-oSne z#n!WW*zYMeAOyhR?@x&6vJv8H_2bseg@7e(QnPz-9J{x1!7+GVw1m7HRqS!M& z!u2{+b-|}^I2HrP-%?!_)HM#7Wb7ZOUeQ(MB%`XoPx_qi*|>l^ZvGN@xsSBYj~~j5 z@6WJ!p`3sI!Q$f@6KfuRJ|TtP6)Z~fx#W|{zt+4$cY{0rapOdcNx>O0vUa`i;rn3^ zcZxl8CoyAI_z>So^Y-q35S`gxvgK~|A3GMGi`>y(5}YaqtTvO>rFoy!B=OoP6W5Y2 zr`S)5Z{4)Bhj@f&B%JR3^ulABzlovWG+&vR7f%0kUj3$C%A2?|?I>pN+C+E0A`C8T zNq^(VsW0aIUERrM=PA%9y5q{~68*RM9X&?6Aa}o+=42Ddp~f}Fm!^HqQa(y7AScK$9zNC%8NcQO~aXIjzywACLO`q1Y?*qRQf3rsAWOMxGLjH1Uqr+{Z zT=`~$&l>9V(d--0tn)$d9&YklSx$Di?U*(h_ozLs2eN%yrT8WL-$g_G^|g`k*-=B2 zD(C^;70+<-?e25axKFX-1hkCa1a9Fo#tUmBu}h+g^J(6|-WwdF4igWt<2e%}bL% zqFW^E!}HtlxG{W78%F-Y^Ka>o<-unby8L%4__{O?UypkD`tA_;y7MIQm5_{}Bg7-k z@RefxlfjFzFXBb;C4Wx%Q7mi0q8kjqP5A9#K1)zXJ+?)2yGMrOvnS6S5uYu89e7KA zAuF%qvjraBzT@G|>eFY;dWZ9}u|D)dTsDb5pn=g7=!R0@Yjc`V^CiC+w;TOm}6NX-@aAjN#aG9N5^xP zi_tgu^+|m03%GwixafjeLC)7$Si;&m>{J{(rI@0|5Am7&uCZgs!SThHb?2666AS4F zi@!U^4(}h^n2*MG>ig3#fAwJZFTVTINBf?B>B38T4IZB+et)t!{Am1vgCCvn=t~bb z{_v&l&;G$jkE=#r7dRe@9wUZ_aoe&4e!+t_9}<8N5l0Mva*`+Z2I3>c(CdD^I=E#7PxQ}f;f^GQvl zX3|{JJl?lr``fTztC7W-=o@sh^!5hDipU=)e}eoD`IE{IkL&z(jlZ<6!&$=nrTWhM zdEvAZ;kkw9#XK(|&r;q2LuP$c3-2SOD)OKY6>F5gX!~a7jnIpB54MZTxyOv&^T9VW zLSK=0<98`e3vML$7B^=7&kXvK<9B)W*mEw>-A6y?=>cf+HJ|=|z4TZK{=dh%Axn?8 z*GZ4v|BusS|BWs^@Si!$|J3R6#i8io#VejUfj+kJ3LE$L>u1H6;_z+){#%?vw&6h| z+sLpp5C~n1A7bP>TyZpoyr+0)#}KK3aEP&txv#*;I{Y4o-(|xTS7_UQ{(&jFa~?Ud z^Ldlt>lEMis6N_Az3R3h-`TuJf0%Z7pK0e+x1B2T6l^D4aiA=(9iv07T+%oHT-%-E z8)QFY8<9ErAV$X_m(mT^4@n>|nKKB?IK{P_s^5>#J9Ksg<0Xx&7i#RZ;_Rs8TkARe zb-A*eYkL*vlFu~W(%D-FwK`8fTl@Qr8S|ewKIMnc`ZIodznJvsP0ZWqa%ii$KjGcb zBfjcj1>^M;<5SUHeYP~$dT4+BgZlsEiTkg)7(ZQl6mRwMiqWaiPWqL7DX*JmX8oQo z2C!52<@sU&n+DxXKKHsZ7=JH>c49bd-prTlK-H#S1N?$Dmjt8m+sPwlq%j=Z{^+Hm^f{CCJjb>6$o zJh89eryT*74%%Gr!P3d^4YZBUk)2fhGU*iUn0i+9rG>X%v3?#(4z_1P+KqKov`1c}d4p8GU z&3%j4Po~X_y*3s1zKJt}Oq|_EGsSTlym|GLt@~VG-5U$kZS|yy6M@SMz~vpcUb+4b z#sLq5%hklFpE|y(OJ^}%0SqO;lALgddCrtYPo?t8Zlvr6$~jHo%*QK_C>H1Io7QL- zD!Y-g-QzyDWAEBg>z(<5bZ1_$khNcW_&yP zAwMtH8ixMxJ^r0^d);s7PZc~d4gRQxCnKC&R)IW|znlEBWhwlxZpNiO5yo2Ztk(W@ z*AjOO7Lylw1-C|Dp{q1EAb(G5t-2?XcOK95UvWSAb^iAK^DchB&aCMJM){!Kz$>0n zoW36ZRNUlt<`BM4TF4rr2y3>?-QLK19GNn5PQUHEqQBl(R%OTO)(8KT#qYRqdP|PK z_h#dN_w7Lc?VWt!tFP2`toJ)Izb7}jX%FqivmF$V&Ojz#V8sJ>|0nUAoRj_WP>I&+(B0b>>^h5(^CpK~~ z?{dy(<*tF{v+$diUddW2_b#9}(Qm!GaT(`&KI85on!r2Z#`?zcZEslszbq?O+|u>C zXgB6>x12Kz$8lDz^@GiMMw87tCo2!8ZSB$GP7B2arHhu>_O(ZgI}2ibd)kAe#e-v@ zCdhgvQZ0RZD|o;Z0D47 z`t5|4yWySLSEM@^cEYGr)V(e~hl63YU>^zw?f^*Y4gd=SXZa>M+t;ZAhG{++#)04Q;CUDr za%ieOemEk0wu*r?sEb*ME4)?Z5U@dOUrW*Z*0z|F0IO2L?#NLVd4{en$6hk|$1{ z1bGZkzf9gg(U(^}o_-ZvV1MK5=x+ylIG;Dyz?93-M(N{!H~#--{&p zBE_BSNr$sUdwA~W`9+?=OG>=yz{foeBj*e4TlC>Y^I=BUXy2lTm#&|%Qvz{;IF^Ir$v@d!9OMfA{lzi09|{ z{yg7pfA`bhLnG_2(U(5m>$k%z--RAtj*Y~Y*!_;z(BBH?l%#je94gO#8}`L%lyUV^ zjqW>rwI=ZUg{*bb|C?C*WMRzc{bBU4Df?>JEjtiCsj_yjrtE};-THEVcq=aj-eveB z|A3uXV(i4Tkp(lN(rYJcCxpu|=TF%Eoa=Zt`1Sc1AMu?JIEnRo!MBCenLAoGAtzgd zW<6F=`&jY&7igaicHHjq)Orj*{2v#-cfw!0k+(g?=_k~WTCX39Gn_;}oQBez`^Nn3 zOcXE7g%|K=p#9^8Z0(oT_Uuz@+w#;q3gAqB*`bSRe=GgmMn4}z{~#lNd*(DWhGJXm z`Hl_ZuI*%FBR)uDsC#Z>sOLq_8+bXK?)wvG_Q6m6P9r`@W9V~1WOFE4>qNFT_++hv z=k+{yB5NCbvetpDtsh?2!~;s2tH3sG37E4hFO0tOPpoU43ty9BGq7(nv2!(?fqe)Y z@EkVad2|H+;`ce1$nK53->b{1!PeoA+Pgj8QUGrst^;T5!CB{Ee8tv-tIqoL`wQsT zjP0LCf9Ipat=*l&^IV?i(f|4M8{RUue-6Lr4vzzS|3@J>FCGD$?Z*b|#SEMg;A-)~ z*~D`*&k^8k@xj@|@8%Q0$r-THZH3@GZ3J+BdpI~-fve32=Q5s`^V|xYZ9X`c@q793 za9WbXK8++kG3&r6(6DBYxh!Xe3D=PMZ&>WZ1*;Jvnh}s@8$8sV|{!4lkH~R z0RC8nm{=t6M)s4tzF`8JAivx1AI7(Od-!#?z&3BM=2F^X996+QsK(>Enyod+w%k{seEniv1rbN_Pi~(>E80H)C&lcMC0D|4D0RnfrTVQBhvBqK;TxtJ9L43_|^|R>W9|z6&2)cRksp;l? zTx&kX;Cm#(?fPPxBlp`Z*^Ngof(HA*RTsYI z{y_SsSvProM8uSvlFDtgCfUw`xW;Bo$`;W5cN zktB2r(xx4UXgySF4(G%MO1c#HOSG7M{sryp57hR&Q)|1~^V#ejEDr7ZaTO7seD*bo ze62^m;>w47t-9FTKh_3rR)d>%XubxTuY=|t(0n~K?}X+Xz}Y5fz7?8pgXV2xLrG*T z6&w@Y&V8Y4xxZsO_jj!2{*LY3-?5haJ9bg`{kp#cS&Ab|oISDD-XCz5WXQ8&Z_pia z4dtPDV|gesr#$4$Ee|D^(Ed`|Uq<`OY2PX5{($n(s}1Ge{Q>3P{Q>3f{Q3-`+Xn#k~KjKR?;!BWXjrbCC z@FnKrOB}|RaPTF1(AV?5HF)Gn&CjmUiRQ_T;Yq%4ApZKBw-x3K%M+@n8yHU2YrCc(1-DZ*0Va! z4JH<7`~u*O18?H_aC*9ERqfI0!IPs^%vaAu)l+e5H2)wpub3R z?$_wjeP)`k8y6-&>sN=lU*mnR3|`NBwCyZ6p1oG*EsW2NXD`F&Sk5@J6+If95K5L# zK=)5T_fJ6g<43mRN3Ow-T!$aIVFJ2;LTCUTJ0KmaF&jEJwhUWF3@Jgp=nFH@QHxEi zw&qdBa{h1A-^sTQ{E_#0clo&au2<~DpKtEpkPrOoK2#GoxD|P@@qu-&KjTbfo}Tj7 zw{RA_@!y$wb$wrV^3+lnGMd0v4AhVqw+~=52Cx~9Y+o(#HvoSlzU~NY-&XA#p&oND zF7-I7r-rh#>xmVkWAF)dAAE8y&)DlE_S)G{$9wdQXP**F`OUqY32^8Lhv<_y`o!p- zw(%w=@5jln-{Iko^RrCfTikfKnOE`QzgPMEI3iyLM=hLB2+kBI*Ibx`9WR8#e1E#> z!|)&e4)Y4^UnI^#A7Xy`d$8xsD|mener=l?7dZG6ns0PU2h-01R>79vr}bXnM|FdD z=BT)jHm6T2^X@#l|KQ!=VFolJ&QPkmn|wS_BcA9Fq~kB*gT4&@foVDZAA20}^8)EL zivRd<`l|HrH0nZk#QLGri|CV=!|6Zj{Y2hRg8tK>cQrg@)@W)zS@+kLZ29JC>R!{LWDPvyhmcYHW;Cersw zgZqB-FnxdeL-f7l_4VBkYrPLv#!B0DKBJvK`#SyAJDtyX&R%!?^cCJE+r~vZZw+kj zytRl_ObTx1Jm_>B+9%Lw4*F~bb7_IVo1;G(g+DV1f3E_6FE~2n;AbWAvr_n3-81pG z@CAGE1yyHiZ`mOKZr5b|e(LUn7m^!Fqbc&`j}dI1B)Tlws(hpH6-$TChfPW%>smKw zc#APzoOcQA-9HJx>rM^7E6n`M_~`xp%)LC8-9r=WVg9n8zOt9A=SBYSlOKQ$XeG6g zR+Ab^Le5U)h}MW#axlB^JjQ`x$4aKBNuYc$M?KCGyBfZlpjfdo-0bT=4boH$#0LQ(1T{I zVeQ~BdeF+NpJ%^xIWpzxs9$Tm2XB~pBJ`W);$zEsUXPAi#`991S;HHz;hDA74r_5a z7w2G-d{&=pEwr9(TS?~Z;f^5lJ)uib(D(DV?viLftyIsa!O%QHxe`Mm^wZYeVS zC3~SWR#H6M`cup6+&e#))TMh`>dc*=!e^m7KR*gSFN8+ZN?m?3cYad733|xKPPEdN zVg_yeUtN@b@*MWk`R@EY{p*~|xDP(*0$%WL{EudSNAS1z!B1WI?>xu#JfHtf{GZGJ zdC0&Aq5m91x3y-i8uZdwF$KNk7s~EBMsM5uKVAEqWW3vntx935Qs7l`CL5;pCY{*f zB<~C1+wAY~V1(D){r|K{TyT3NObpJm_qJ`n%}+AU9c8vfuQhVZ0tr58M z56Bdi#z!LHBP!&ISpm@5OsP>=D&(@taZ)V-DrJN5AR!tF)<<`Hp=YIPBS7 zhu;xkXdx{oMS>wci?6iyN@v+=Eq*t9W4iekd%h0aimi3(&~X)8e(@r-=t0K%k+Bzx z(hKLK8yl(HYxhL7UmRPR=yY*td|Yg1!w__A zfR4YR-b(7N^6IUFj&aJ*1{X>eA93K99}>q8(HuyIUf8E5@=XTD%(-OpPv(*4lbT4J zzhL%0@=i2Vy;Je~wNA~f!vKF*vQIii-fn2wO@6<>vP$^#`70BIzXo9N;9QB0ugABT z;`uB2=j2QUwhbQsEWb_$e@V)ps&COlKVGFDJ@li;rxPqq_08h0C!d!Zz)2%%4k_Z{ zhIfXacyIWLZ!SN93m-q#R$s=8eT*g{f>|%Yuu8KhMElJk%%MTz1W^9kjx_iVcw!G(A*9LL+(m~lX zm9>5u^D;Shb#n;2x)Wa7U6lUY2WZdL<3>*>x$8#uO7tkb8v^$MwlZHg{LNpR*{=<}T$oa)0K; z%>$cgdn>7vv;kNmSB5h9ZK3}ySB6rH8NV&LGNiFt?@rd3Fupsohcza_t3of7UKL8c z0vyy6r=A4$IMkEa1m2im)7o5Tncnlff#=0MFX4G9&&Zkf1884aVhPWSNe%pNWbYb2 z_Zjf0pZ*zoc=WaVpA*p7_|grhnfRH`iIIM<#I|U^#bnLdR0E&4HYH}xlf67T@1w^% zL`#RH*qPSpIqRYGJbusTcN1l7UHAkhW^cv|CEO>hIM1jpPg1wt1EhT$W}G&gvbEq7 zI1RtTfA*{Z*<$&Wet3-xdgmEk=kbuv;9deB1-!q^enqo4aPavT&@Y6pkxdJ64=m^H zghQoe;m})1qsN3pZzYwV84kUTGUJ_*Lo(@>}~mjLrr(r94|-*ZvpI-0${&?8Y2< z?*D`<&ktF74!ZJu^AzMcm?zKsfT;_<*$-UEbw-bg2YR?i`w(Z@o*#Hz?dkWPlI1Ve zo#&p_uIDQQSDSrhid#6yeUf)8xMMzW*}2g=?xmPjj1HjwIQ1u}-}XVV4)OYAd;qPt z{2%E;cvtfl?dMVk+$ruZ{AeyMM*VT>Pw?G&3*SAt9f0pMI$$g9Bflx?-c8*bp`Xq) zP#qcv6Mr!0@_tk_#aGfh`O~^*TfD8iw$;xhb*9h<-ROfD``heYuieYgP3&>&d6{=} z$TOEb$Xw6MynB&%@JXtgci_%>F&uKhUyPWlUb%If6HUB%ngMHV^?-srd!jh-&;)lhX3n;opS#DZdTsR-Y4iJ zJQ}^@;V$R?bZ~C>--=)D_{iE=e>p!7y}`q)105vOb>QBNZ)Z|p4QV#%BQfTlKG`y^J$P5Nj+k%dljlayWuEUzvwrd2(ZB14 zx7KjZ5_@-xT;G2C4a6ep=VfDoQGCuFeZQ}NVNw*COefa3W07Y3**L$ohRmF;8MrJO zq+XrV^i|Fc)425|>wkH=fBzECztVolAvMJKB=7vX@Q(p_pSH|6leRLtaDQD^7ZML_(OMPcOJkR-&!G%Bvbykt;3!7@ zaq3U-{XwlU?x4=~z~5G$vqrcT*js_!=>V4Xb?FrC?9S*#*N$oK>ImyA*0TQReOCrp z^HazFqDStZ98Q0z5*U!b(Ow?^ecR2q1vhigF5g|9*-zW=yE6R9C#d6nSJv^r=#dXq zhSQ%>9(3rDs?wiCNLxv?pS(lnL)RWb*B*gR{p1}g zUmyCnPx@dQyj+dlAco}3gg@|U%y~E1<(>xo!barFBV;v zFs`3ZY6ABgPLDdoa~)#K#Jb&g^Z9)k-f^J8P_#J=Ob##&MVp4Q6Vrw~uZuRpu_vYt zI{wJsQPF<#4u$h0==~$;ea4kFlk@QPF5zo2_@NGG9{(4En?2wKIwpB1{`&;$&%}S9 zVEvi+?=zZzg8xp1jz=QFf;bW16vCBwqZ^*cw;}Qi}ue z^GVjGXbt0$hT?*4{-t3#fmY2)R6E+@gE_T6JU7*6K_` zY}&K3X$zSP!=^nOSn=-YLrLVarO0p7))ug7&t_~Ib39GxJ7d%M9q%lXO_#$YpQet^~=9V@cpRP^Dd#zrND{r>MWt%rRYNH%(qkS zxQH`)sY5bp?M{+%#z$|Y&)ATJd~kGOhiG4YxzQ`}8FOK|b{7?tI>Y!IO zZ+cc9Y)QcuAwgZHCto*wgn3e{8y;|=V{?wb zJG^da_W8T~R-Dx8hDPd@ZisUxQ6b$hUb5+(M{!;Oe^d7%ovMDgO#E1JVt@A~))Wt| zAO6?J`x!lP`JaKS3mWf71`myFyuaq`Ts@IL-tU>p_f6Ef6`oyB>LhJ|*S8{Ln~<@6 zetmJ`@xI3ScFeCa$N$!N|G>uv>ze%W{yz#A9rUl2)J7lw7smT1#K&WSQy%YsU;SA} zKmIR|_uuH@_5b7J{T$!ueCG13{`;`@ov%3w{f7oqgJQjgD9LVum5 zaefQ_3+1nykgEgD`cUe}cablXez=P7d#Q6DFd~lw#0NO%FFmk_exU!7d(nf`pY@wu zJ*fEcP0;eA#GzVF&dEZ3dX7WaOkKfgY-<1Ndnv3cIuf5G3x6)PnD#$=I`gn)z7W;tAUvBI{stt zGzS%50#7XE_cHpim;|ovxoGCRLg;I8?fP{telzptbHT|x66NxF-=&Xx|8~xtPtc>0 zj}AW^@6thju=NeK7Aq4!t)>2kQ)@>ucqRU${M}TfG%CJ+2p;}AJiGxO-Uv^N$41ic z6f*RB%0GFLdk-yR((M|P?)iYxyW2G;JsyK!H)ZwidiMDg7?W<#j7c~7^e(?O_p(6u z+%hKJOuf>(4a`>;(z~DfSXS>o?Ttxa?|AfI7mZBc{+-$`h1Uw`Tlu@2&3UAQ=l3)x zs&R?tuoKmR^wnoR`Rl&mXLr1%sI04Z1~R}nX%caYKoNRrCh|}nX8t6c?wJd27(XQ% z;qy7Pi*6!reV=ZLGOIH3p8FHeBYM*%EUJ6 zcnmmq0>f@(bPqDRmxL^_H!ajt?XHE8e(Yf$S@X#~fwC^GiyF8%a8zqDG=IHv02eIQ?eM7jk8Dl+k@Xd%|hfeLS912mCHyaHu*yH9D`3 z8Fgk|mh8=$epodBfc_Y&p1oy(`_z69XQK7cZ_`KH57~<~Lzlh06dML@a7t}}Iv_v38>u&y2&)-RUOciN_p zrfokxGxgGkiXz&3j`ql_^*x$z?uH+F;05u~=uv?K1A)=zEb-g#>?L7+u z2Y#}s<=E4K()NAu!qd>PcR4t~rggWGz>%qgx()|Q&0QCtpgiYVcbzu&H0}}R{w2!& zm~yfk$))i2vOxM3`0%PAeZvOEv4x4YFmW5!8bC+Z_#EwKeNZ>BX8HgQg~)GG0Z$w_%o&We{6{~;XR@Xo zSrp#NkiXtqY%BaSy(rMtSIs=aZ0^V7PM2%{IH!HiYYprA(Lc3CW#)VWor_X2_OAY3 z`qzt0XZlhJJP{9`naC-!kl&a8=G@X=zLkv%M0@Fv>Z%>8u4d_w!u6<*66*N1S6}b$ z?7GT6bo#BVqgYO=uzT*jb1=I*gXZkfKj^M5-&vU5oei7!<;5qDwt4pz&qLp}<<0j$ z2M(V{-yKHZIrO;)So`6n7vZay(PdR6{JriTXn7cZdp?{V2%KhkvyJ_6mbdo7TR-u5 zQhKs?A9Zx8p26k*nQ}eU*GGLvsL$5%6YA*l>ZmO$HEk?X-m=oJ#<8Vc{mff-Gao6N z`cdXCuk!7q=%(y#taErvFp$2m)Wu;h^O*kj`{2bR`&jSOmF>e^Umt!-{as%D`FjA= zzniF^HQt#$0MDp?`oTS8QTevr{pR<9?rCoO-P7oMwJVE8hVb{a#_lcfN;mKG@mcMI zB?q7Im-s?9s1O~_^Oehy@vYEv8}xh(8GqT6apWWpFDBq=BjYnX8Rv}PZs4;r-i;p$ ze$Cw&g4Om>w&17OQT-pbf9ku(FIE>FWlg=Mbx!{}>E8zWwkfxNwp_wjE~kI%=wAo@ zTkq>%C;i(%|2F0IPdaR<{sAlf%g{~z^Y?8IG(-PP(4B``bDe}|b%zo<@cQoo8+R3T ztsGO_)c}uN0sq!Zzpe(hcI0Xesb_Gxt(0@9FGYRb)Mx9sf;t+#I`*&*L2Y!BH^QCT zd&dO3THw(eJs!gwM&sQ&`$ukz|=oRW^w55@IO92Z?->|UF@uB8y4-%NW2`CvJG&_KxqJ`xhzCN5tZ_KCuL3+a{Q|haq|0G){ zlrPHX<7b=?rX2ZN0$!Jb(`BTd!Q}$Jayjx9frnd=uf;z3T7rBnMZT8h$=6>|e^{LV z61)`ToB8ywiM}-#?%&hCayk8*L;vQ|zj?m?&8L4&^shOuf3H)2%=KtmNQZotZ&v4wldc_tPa6v(OTr5*;yTOv#$>)(jn`pe<&Ry zUqkDBPNYNdn+x+oExgbGA2gDDGHiKBakP=@5bZNAphKQ5@Xk z9isS-Caf03Ri{hIWjr2im2NBR}%m!w~i4v`L$hVoJ8us%88NB!_??wVkCJnqh4Ut{94 z!_Qw^d*6-E(6b?6VpiQ9@FMoC7rSQZe7;Yo<>*56pyF)Z*qZLn!R5}NTo3j2QQr~j zv-BzCn-(kYU>j4AKYqm=;UNC-wcm$MJ+ch`z}DD4^qmBM{DArg@dy3Du0*x|w0pg0 zW2&>`3u9wsM`rkZ)CzYWi1ASi;B~JLrX0LtCwj3Hie;K{XdXQt_m#`h!RYNIdOL-! zc?G}Cj6++{!HdzsOFSKn9?XnGfiL5uR@7yERQh21s(xjB)RXMrojy2o`iGt9#ZGi% zYm85m*FVmq$;fg}|IkHAbWsXhlj+}F`ZtgM&ClzfZ0Jz^qaVgc@aSiJRA1lZqbi24 zzQ@3Y=K9_EgFDAxh$choP;5>wHm4h1TBxr^htkGKWaMOY=-5IsqCR@K?yEsYusQwc zQY#}TqeK759Qhy_p&yoSym8I}jpc;L8pZ)%0jBk&2T1pm{*}~0`ZDQDr29zgNcWPW zq@i@+>ADLrZ=C)^bhOcbZEier^t&}a&x=Ry3@~29{_kOYz87BF2QPI&m;LBIY~|-Y z`BvQC%Jbm~furIF$%$fI%BQ&<*QUDh#qKVj+&|}zjWV$)aH9BM@9r#~_Y9>^(ZRi& zfM+X-{H7e`{V}X-H2Q?Wl2hNXx!!qK1Wuwa4%Weo9=vuUhcwbq&jjh&>C@Zur`ZBGq+UmeWG zMfw%DpgqnOJD_;A=xo|11ki?pQmr*y|wQ-y1ogVG=rlE$?`Pi{XG3~$_~rZ z*bCh;ruonePdCBS&G2+2%hS5IXWkI->3u=?8i216*yaokA8W%V^Z@h8@RZisjFhLo z&V2hIo}xX&Q`qYaPc^tc?+bIXJf(BKPnM@XPkZ@1WoS>EhW7BpN@#C=gU|B&BKYua z;(hTWX*%gGB#jFW6W7l02G5o^Y|Lp$-e{$7ZQy;i5BHQmDc)ELZ!Cj1miu_472arr zH&z$m4Ig~g?hVNsEx@-J*p>_ppWzMa{A=;Xq(Zzwdxke^e7w;DZ!AXNEO~vrF~B@u zLEfNEt6SQ9ywQu@eHa)wlDfwDkXcub(Hh%sX^al`HTmKAl~KBlPa0_=eH{u7UXb^-Bt>bcDN9Fr+~KXlQ& z_2g2wA5#=7^tJDdr@e{cbZQdx_h8Zbc-wvn^^fxEw{z&We)aEm>aU{yO0WK)>Zcz8 ze4-dQR9pPc;PFv-z@0C4@3XuBx=tlkk){kole4pUb84lfE`CcDQQ10Cb=f`une-(u`fcj=WqqacG{=0JPNBR#z1hCCT%9<&$z|4k3il2!c~ zd2Mjr5Q}FXw**{iwU_u?x&)hfO>{ zzGocxU3_|XS@O>83m{Max8K}M{Et*I#N6`-3gEmDzGeSLmq<4bzaB_&c*R#VmhG$c z^gt2tfxpyTa0kA%2B;U@+jT&Fyr0T?3H`s2dGxpGY*TQqa}wNs=B*9#$>jz4@K=P> zzbL>jf`9rOMh^djoDVNsTQS+yx7uGTd-O})aXvASjst4~o7ceoe)Y#1+Ut+kud6I6 zZs)Fn195bQ#zoRIe)!|SmY|$NxrLOA9J``DLb>{qV7u;;uVp?`YmRPETaiHY%W4bR zh)*@$esKlGl23n14fCs#oWbq{ySWhs6lZ@#nB^D%UP zm)d%Wwl2g6nBw{X+w?m+D+W4>AZ^nPU z#^=8Zj=mOmTrs`W?Z@dwz#;f)zYIUitTpob(%(qibHeH0&DB`OZ43U$^lJ=ljUA?~ zf2S>tr)^v1YOC32*BhWkwa34}VC=e&7L2J~S_n4L0^ENcTKH|}&G7FcQVZ#$q(OS! zk;#SOi`0or^cCmz2ka-M#0$r;L2$sUR-ZL%gzwIJw5}CcfMjPWP^cE*-J~r?o#r zo#HLgdl&WiVhz#WMISvz3@W>RZZWVe0mh{y>gl1LUh3%s*P<~p6SZscHd2=_<`W$h z$84sL5&GPM&0g=>?8VS(2{NTUU0Ci;AC;+446$N2LPf3ot;cqjKM_H|Jl)q$XL7&y%Bj99u(dq4$7P2S$euVGS zN006*8#~(Qj`C5i?yzx^ndFmSb`|R%yU_1H@$`G4^+tcYC3>4i;*QcDg+o(cFWd|38a<_zdaOq-CUkA$^MU z&!nZKL9*p2jm*A$9vQQ+cEj5}&`q&3$z%z5 zkbEmntKWVd)Qv1CE~&gm28iWruA*9Hc&~9|ZzPM;JA63J;caLko7N5g7=K*lC@&jl zdE`@+^~vjjLGlW3XV!l#^W=3V{9OZoLtpD-XXLfOyo30<5Zsan%L_Sh!|T1`b!2NO zxUZzFaAfV|Nah1-RA%sez}iA<6=uSFL&k2=Pr|=x+vD#S8l{`v^_V*6%BN5B=L6Q} z^Sb5(CemKP_#AyS@j3WJ@mgyajP64YKE}K6Q+7A$d!${Y?~-cYL$P zJbsryf3w-2kazyfIDDq@0TUma%@|5CEcxr>bjCL@Zu}o)iFV}M->$tM;jx^t%d^Ui zgJ;Z{YC2D?*c-Fvo=G!Wu$995uM-~h%zc9A_SXqdO81Nn0ne%KS1$Yek?kLO+G~5L z{UawspH7|Q2|nKaI`Q$)F!(qbc=r9yh3DMY3D0eRA$Tmm{PB;kkAFWj3_PdGFSj<0 zj9=dM7vvX~2bqprn>c;S`zLp-A{V;lXyc@TWFCu#t=Q&;;NGmq1 zGcxViUvmvNe)@)E4z^zBK(%@?0qy0uo%f1;4A-`4kGjp+Up4@}Zq^n6r|a{$FqX6S zL+d|=vRQ4yo8L#nX6^87gvMJZYp(`8dZz#I`sDp1!_f0iV?W=No$J6CGv~KKGo1}W z%;*X2)zojrBNt#xZy?TdBQYb{PsOwVES!7eu{_ZFUI{(lmX8qUQ2?8^QN)zYPq)sCby*P`uBD#r07R=E3q?-4TXw5c9$EmxSk6 zCxGYCJb1o$0(e~eoXd}zOEBjsH@I}sel^kMG;mV{Zi?YWjZrkuVB(n41Ngj(PsZ4j zeo2NuTwc7>!sO!*bAO&EyT9@A$LK=z0_Wln(MfOweQ@Y(W-Ajq@3mMwgDi+|{B&Am zVesVPpFO-JJUUtaoL-=P#b^`AsRLdF#~B_RqdYiL9)Bbl14(W*XBXqF(%K9jTwZCk zF!=EBw}QjNLm~a|`UkoC-^$Ba4-U;Yi!Pe0j)RXFe)NPvvg7L13oQ&D9xnCpFuXnd z%ksx98N9gsQDkBA;bn{uFMmn?c+(L45&LegPI=+Ot{ms{$6rHUcIDyY-z+RXeEdZ4 z{1xQo#v$`(bqT2HG+9 zgYSO(ag%M&>)S0}-wN4}%|;&#J^!Y575|rBD)s55Ap5<0rXi2j=#Cla4s?i_lP4z7 zJxBVXbW7)R77y-RTdjr5hlgu@czE7tQ>?za#=w^=pRBMj_>dnVxJvTiN?Lsdd=BvG zY~_Ch7Wo&_oi46i*?g0Q$-~u!9DEbeJCl{ta?(}5Uho^uKPk%{$@ipNE zoaEb+UsxDCyu@_Z7_xhC64fXWogf@KuB9yUBs5gWYq858c3TH^zdGQ?laVgAvAyw5j!e}5kL=By9r*&Wp*TU14AWek99n0Z32r_#Kq zeJ6iHK13DCzLV@0F9?S!Np*pupAthlD0l_eYs|}XhL<_tAs=otuJL^jcz;$to-ub# z#Jeq&jxT%(V z(A~$ay0hbF*O!Y!!vy8)(f^aFi@UZ$@ean{th?deWumj_rgbN?(ZRKWKuA1Zdpvjx z?O#78@4Lpo)Z@~c-!a;B@!__ox|9mRQpb9XiplQX!ou6X>E1i!Rrk9Dyg%XZXoENZ zI8!=ld{%y!V5gR1rLp|xI#Ih@5q-`28@z3R;HE~h52>l?Gbdaz{wBQLcEN~)Rj zz5bKHb7SS#4z66kiFd_|^{$3@#ee^`gY|blWZtQ-@|WwmbEAI6471)s?m`}|w#DXwTcc;gF?7O3Zv5!Ew=dR9@-*P%zTp+|AG`ZX!jubL6n z!@T?i(XizGpFjB2l+D27(v`X~H5AN0 zS#z-dmWOG}h4~7~x-ici5zK3CTlkea-^q?sr3X#hP9VCu*u@vN`Cy{Ul`+}i7&a`9 zoeN#a`D0D!fM(=A!djGap6BvBkLUT=JM`Qt-Se;yoKxQF$V68-gswAZUC3r-b)-uV zTYshM_tp1H)$eOh^*?(a@1*zgX!`XB9yqx2-;EA1w9vevi=WFzgr8aY_^G8o4W5lK z{8SYEp=e|J1%BWw_}!e*6RQP3#5BzL%075E=Hmx{E2eYVg&)di@U#B}`0?uhPo3ZF z!_OD<@k9N+lM3TUd{!tWEI;70$j5)sJA19t%)h-Wx}g4ehwh)S$zR8dynoG?{NMDu zmv6^?$^Sj=E2laXZ!~Lr#{mbn>5aNKPvh8e#M=t2_rKZPZ{+hQJl`@QyFQaW?&ZcV zJ#OOKJZE{%^&9kE_FOtkc??gH&+l8*Vb`$7;4Lh>d`n_t=L4J-AbWqA{550SCx%Tu zS_?Cicf1M(@s5dCF>iAhPj970>bwWcN+k8pB`4FU)U8 zdM4A3{1NhI+Np8d5w7F4KHsDO4hr>o7HgAgNbe-QgJk`Mgh!X{f0w1pSD~5l7lN+8 zu=x!63xn6^55Vi0yV;PbSPSy9w+NrBb;o_WH~V?d=Q`}l)M#Ljp>Kdcoj|VGThbAG zE}O^pHF-E3LJzunMS5O)Fnw#q<(q45JM;ZdFjs*sRQ_4!+{c9KcKQ9;z>3SG#$L=} zuRcDw)`4lwwKIpYIP#|Tu67TJLpf6~aB2UUgWgLa^IE&?;7`h5i!BCr+EyD{<5_X_ zK!@mI@C}?fFe0-l#sQsyQD$w&c=9EA*4SI`b=TaF7u_@~b%-;f@Da7gFBQCC%i%zY zS$}ml`BRIg&Qkp_hQlje_a5#(@s)LBNk*dn5j}-c4w5-|2U%exTzy z%I#zx{W~N}d&%Ra9^F^*J>dJZ{`NJ7_9x?Sx9&Jww9oUm4egN$`P>O`QzF{qFEa)< zKDnj+$@tyZfE&qH9ke(4V4a^=vVL=ppU)b&IIzJt*UKOG`|)Ovj;9lhtdcJS*Lqjx zL`TyH`l4~R=p%hoPkoYg#&rjh!C;rxB(GwqfP5iHiuJ!-*=|iHW z{RUr~a*8F0FBB({EqW{E#VgAxw{p>qvskOW@;!UofVRRh)lYo!vv6oko$M_@oJtpQsK9x1R+Juimedc$w zPrhg~pTFb2IxqI>%;@0)`Tx@L(9AfjfqrWoGg5gldu}3HI z>%R`cubWMLcd))pY$ys1C4MKe${tNAHS|N_B2mV z?)P-8#!$9Q3_Zyi--GlZ=}2M>y-*Pb9>ee5%bG|y?qme{>tbN;W^ zu-UojI@%RKGS&?x*3(DYZ)M$h5}8PLn!8^f*IMyr?r%1JKkqEAxT7`%+^#P%1e^|j zK;#_R^xzi3q34FctapkY@(rcer&yaz9WJlA{ghmpaRISk`2&j2arXKke7x7ki=xpp z^IUzg-p7NY&r!So@r}|MgV!IcZnIyu20G0KXU*8vHvIF_)*atcOaS~?{|owV>0VXEOD%pJ@Po`1z>mAf(3ZVX{evd%m@{a6@K0Zj501`|EsNEHw}t?Fnt;i( zt4Vxu@ly==;u`|d1@aGpPjJl?-r$kuaFL18Yo0{<%;8^$=VWU?NZEz>W709EJ?fyYC*IGq!x+cbEB`!2y&Ja2| ztMVEf#TgqV7y~6E?p>O<(~p&&Pny4<{C515-!b>5y=0Z8ZhzYb@xR+{2Xp#gCVh#d z^&jg<_mZsM6|bM+@%q(1UdKJ~_Mf`volPIdc|Q$#=bfzq?sf3c^YA>d56mYu!B1<% z^TqJ|Z9866oTs_S@Kl7p+Owos(-i$+>Q%GNIo6pP*% zy@C5cXLk~lA#a?#3GzDR)%g_8a%j{FPqa~{g?Ebs>C_V5FXR1EQZv6Jq!xZJCf^eB zArr|4@*xurcuyj$+C$<%3-Phx9r|W;=c}!o2O3J;yB=!kUjzKp$atE2#v;JB5ZD&3 z1GXAqn@yd-UCTJM4mwMgD@14dqq&MWYi90e?Xl$S9N}c0=bKWWL*1IQu7aLZ;Q_`Z z+XszFn8W)x^v@ZSz$?bq0`F@+SjAtWPktW?y|cdhU4QH9z7>V|q0K%2sc+)Y=RXZh z!VW_NbEhvfi0uSlRl#Ti94!_^ngl;N`TPV=D0Y#Wr*Fzb0v7R;_(bD_h48_u_golF&L{6U?ywNN zBY<=D5O5}eGXuzzF?ru3V^-X2@2mXUzmb=|Se;ZXB=#D6=8|I!!Pe9>3-J_($v z&y1yj6C4=-HBK4&?~a{#pWz4m>^OCp{sb#PiXF)=3!V_)Z&-B0EWzsF??xv7=mEYRy^--c`_~UJ{=ch|aruxi0f&KUr*Aw5 z?F}E9n5u_k4?gLwCiuFNv&*<&BUBj(cGZo6|9NltUHB%i{3~CqYOr0vFX&+&I)~q_ zUyvD(xNS#~i?yURq>9PedF*nJr{4=tXZYEihcI|OO`-}tPyEmLI~DLnM<6;+e7t_J zj~nk`Y*1AP9g7!_eBR%UYZ$vmJN_}GncwinQ@?$mD~AcjQ-^#u>r~*M{eJ=eM^6BM zUy;Tdx$9Bw8aLT-@#rlYTO5YRcy{sRu08e71Knra8ONSEAAL_;f5ny$jiCNphp2zE zSua<3e#r^KL$&CYa^D;i&skY<=a`V|Cp6wGLJ!?&WUqK}jIk2q8n3@@zUSe8%g<(> zrOh34f4~Qu(-scd`*pNl-CeI#AfA9P$K9kM?%)a~XSja(3S{hd#@j3L!D8qZ>1OFS zXK!7I^*|lc;Yswm`~r=6H9lL8Y%gG)iPc-&u^e*txObwePYKGJ7{yHFTXmq*%ove8 zwoHz`2A(W_e6d&FyR`S-X|3KkVDoS=ArA*n`eY@*U#`65t-lNwhs0}>=!<`CV-lSn zp8*bL(oV1*xJtIHR38o-{avH=(sq52>|R27@FC*Nk#n}0$(QBX#$$?2Wc*m8E4_E6 zwA0|yGBFoW|>Eg?2zg2LSgp#ZAW!kaBFQdQyL;^P1 zWSwi}1g{9imQjBdw)szi=)b5x<*v{AA=Ym=e{#pT07*{ z^Y#(da|!imtxo>hp||qht>@wq)$=Cu|BQMHtsQdfdFP1gDW#t8QBR?@LvB5njHsSJ zP{%h(`D=%M$2+&4ni19WU*!KXX%uU2er(pQ9bynX6_+>tqyil{i2@BMpTc+uA-N48V9H2&u8ov0f#N<%Ef{7zG9vk z(=xY_PBil$dNP-p9<6+HcxJqr(71R$v~Ggd&5T9O-tr*#b1K$R!u_1Z+?hFwJ2Ow) zl4K2jin}vEaMo+tdHg)RCY_wG{{&;9M7(otV8y$lMVAJit$gxb(bb{j9sh$}v&moP zW!`Ij%#^olUF59jgO9(`kyD;}mQntXzu6ZLN4OqIsvYoHtaAyhSTW!6%l+92miyar8eVw zzGv}wwXq*I|3ds1m1)3M{E|Mk;ZHgE8#?Q1J+}Q0zA=B!y|HdQwu?NgScj9`8wf2t zGkkC7t$|x4YeTi8F}d}9^jmed`FtPl*W87_x69cp8#?Qq8sqABgfnxr-c>PP;&QwG z#e2VyxPKBqh*-n)u(evGa|_odKbcD$UDZ$&%uFXS_|bH||8 z&C&N7#mb4j>>?(83vdoe6Xh}eWbAs!nYSHU#W*uE^{EH;Fs6+#rlss)huldPHO}&b3>ddl%yXGoW~>Dj3&k4!T6jo z>nX##-l6s5(82h@9zAo`J{F)yqOCrpwU*$yrcCuw7wevO-K(`R)MeLVsy)G?`c@VN zYV_OqoYd+1SFX%R&hq6bM_&YHM;FgJ-thzG*#C|6ebR1H#bkFp?f1Rk@!njyABBFf z@_vn3U!NNkSavz~V0M;x1~shBhF!=`KvE7cK4$ZAuZ) z1!-$#(F+wV*0|djR=X>AmwBI1)QWajM(E~#f9HA5%rlb-q}RH;embu-^sXH4* zn?d?*$*%k+X{VI4i%R=-PTP)ipS}M(_;-@nAMLx+9frv%d@tua^CIn;6x{yyv-k4) z;P_)pvoh=(Hu9BQ-SPd`p^@YJv-EQJXXew37`VDY<{VMh6*MPHFsDlJTkvb|kLJkQ zOCleX{BAME2j6Es*iVlL?b|uVa~=$uV-)T$nptH37rOb$!PU+uqsP7W90 z{RhYRUFUxP;IYKZ_PYlsc?4$^IjKhuaR`YoFu zGqU2&bET__Z)M%FF0TG~F8b6Ns$=b_E{?5>Nx!=Iz1EGXlbwvrrYu9i~ytQjrE?vKe|9b@Zqu}xP?{oVY$!iz1`a{qF<;b-|3~fqI6lKTzdNBrJA7iC@s#@BNhIps=d2qSKK=}QB%x=NeD&lL zt%jVPO4)0mmG-YqD|6SoE3b4v9rm?2%yphqJ;+2Mt<5-~nfigr=Dqg_d7It7t>SKH zSH;}{QVA(Y8nvr}y5sOqaN9BLhB2YcXXq2xLzm_F=I@&5wzZtII2rF=E4(xgT28*v zz^XgrrhBm7$=YmTee1U~uG)_L*mmfjmtXG72aT6k`hNE{)h(|K0x=gqa}Li5N5_A9|Kps$ieEd!T3aRtuC26+FdJV%#&|eYoJ=Ah+!L>ki#X^yUy$da`#5OwE;Ui8@`evUC^`} zx!Qg63CdKLvG}?><@C0L;c_0k`lvg#QkBZqM+& z!x`PbgLTGdN$ux0-rwy6d*Za8r2Q1_+xCR_o!C9$o|@~{)9Z{j^`xlhDDwg4uGBS} zx$MUK+nLA4dx5`?x^_~}9^l;z-JS?#;%j)mmgk*3@8fwd&v)|K!S7W(U#<82Zc!}U zs8b7omHv}CdoF$yc{)3!e?@0M%(`!0|BB99dsYeF5&HL!s@{b~ z>ZN~^ohz(&2C~!a)oc5pO8U+iaETYQovhp$*s>7zc{sdqx2S-c8X_T*~-YRq{2n_;^ABy%3GJvp z=pc-N zb;%we)0>@dObb6VdfiLMI1hHDu&Xa!8jpqyl?hR z@m=E%ow>gb`zCv%J}ufF%6uBRi$kMMXr%Y@Go_dt-sz2-CHIBn)g{0_4_q}~wYcJU z^!!yWu6c61u0H(0T%WJa+wam!%(IzG;vcx(8#hXJ^=IevD~F3`fxq>@EIoDm-jdx* zn9D{cK!-{0oKikF`O#X*7xHAT@IEQ=t+WW=tZcYr;+)?hM*Y&et1RpjLYW@`dlp`^ zA7E&Fg7vS-2dJ@x=xzMk4kPN&v%`hzrnI-Ojt>@F&8&O8%@E{i5Y#40`!- z`5kz58_C!}FShTw7FUjXeKKVEF>{#nw}@Y^+oD(jWJNv*#oghTI2|b?PK9@FoAb|@ z7zeMNysDK8a^|X9ZYXa~W?VZE#kR}0*1$Mcef3+( z7p(~$n8w~p`tk$D?}q**&_nGt!UtsXXdh)`CB9hl$X3X&MGR(GdUFaKqSzD3Fyq|= zSsKy4UvHQAXkcyV@f$t+j}09zzUeu0msauhRbtlb9u+O<3v7&?XdyomYcU7>eWKPj z1h1hD<#M!f*N?2vQFx0s(oOA4)t-iB;2&Gf+_Qo;HE4y8{(xi!--@A!@-f#4$7tiH z(8H{ak+-u5pQKaqg|7WyioIOsj>lgp^f@lYMz*p3tZ{x-ncJr?k&VQrM1bF=t+)17 z1RuZ8_8uRdcNf?PH=b~)e}8bBQ|HEshxY%qbgUPe@yu;E*B`1cTS&;3~pS8ai zuD@&lh6~jHyT4BT_!|D`0`=FOr+)5zC~80DFK}&W$?kyo?CVED$e`gfwq5=Fh4`Fg zy|E~tN6-)W`CR7X^9w#+Sbm)DcKyvKjg5I*&fmNk-Dt&@w9)ssgV!N=FZ+V6`JVP! zGH#B7uYBpkO>ro3{E6CwlVl7TZ)V)U_%*q}9XlxYSz`6h^p z@VkV%WK-hUCheusI0)PA`U)5a$bTuj72(}6^ugwj@(z1Mzb#u8I2BQRDR8^;dCM8~ z+rlHK=k7B@FK_&L@P^#@vvB<~?|eAyMihDo790QCps|9DX>HG)zb9Jj&&t2M|23yy zA@-g)pZ@^9x~}~Px#P85XS;O+xO#vN_Mh?sdhc_kyUhDMb!bH2l(<9Ek~pW*DrmAWhUAnhM=+tl8Z z*r8BXX0?WF=H%V3zc%tR?~Wr=U6ko|GVi?y8GnNBPh(%#^4STzT{@%Cji=Q9LE?YN zPrcrru>kVdwWJ)Bjx6`E>|lQ>8RU+;^GpJLx_1lZjE%e|X! zmfH7prfB=Ci?{zBwU3UBsC{Qt_zQ|tE7E?A+DE>Lvnh_hbg>Bj2h=_?J)-v4jS4SS z%vX{2tJS{j9(q<3f9Xz<_P?U`TSwTwQyL~Fr)c})WfUH2e`gH-X^*G&o~GcRjxiKRnyLT}WO;kDPnL-zO;v<43k&;K?>w>R*uP!uJTc}V+5L#7UoGc1^_w`5 z1$-i_j88Iy@XN$>cL4h;;9d>f$h5{|NoZ;I&&Rcw@$UV9`g3T^IEnazmsnGhpR88? z#R%g!Ghf7}eN$t=gSkAmpBdN_svFpA_6275G_ubutaXA2^*7?5tRmKW*DJpA zpBjE7ut@Riie^N->)FN~jIZHv~G&GLXK+kg8n+1L0qkO5!YQ`AG*X!Qb zJ?QacxV$O+Iq9rV$9Ko~1Xo@rTX~rf%6t+zG2^dh*WQgaXO0bXK5aF4cybY08_GQV zVOJNT=t>NoH2eO+Hwz!K5nTfgt>DxKKJCPBXx}&Vkll-cM;x4`XR-qtgQ(BbT1jjn z-;pW#oJD)h!HMBC9nwZ22}nL%F=T z3+Ch5a`2gQ`-YUm=lqGna`?+tE)ITK`h!=#Ki0#~?)AbhJj^+h#s@wjl-XEl54`?u z1uQn9?AC^#m7ucCN{v0 z^OYYZ(i6%&r#$f1pGP{ynB9!W)$c8t%9wWErRLm+4Z3@HHGEzJEszaslj87@c*d+P ziXbDBml(3+@Am}Px36{K(mYT7t2xUF*fe*P{V_TZY=5hKlDmR@f-eqy%qMC+_+D^6 zHZJ@O=M#M7*Mu)lTg3l_b$(s@YuuO3_x5wmTjI!aJL@aU`60OJ!Iw|?qSpd>8;y=v!QwicH@aNTO?P5N4CE$2+s^1Y9BXPv8O&(wPc-@6%C(no8(UNo(TR4) z3p6kE^FBY$*d6=aj(#m7eTekCqz{t(V?_0-{f)Uk^;)0q*!j2hcdVQ!{Tbfhp_m3^ z`=z_kLH0k^j$FdeHfU_lL86bOZ@k^iRojqZ-fOP zIQCR$h)8DCFJ^fIpA2u1bMZ!ViwHWfNw7nUfZl^N~aI2DARP$ZTK+FPEOKpLz8#G(1VHDfY$0d5eZ$wd0lUvKJdlCZ5`LrTj%> zU;OJ|HSFpwal)@xJ1<6R1B~kf%$Eb1cyj>%U;uj&z+MFCKLd52y+pJM)HzqUF&cy8 zc|L(Oi8Kh!gM5~ee#!T<$YDz(cs4R7Y0O-$@gMo4ljKj4KTUr2DYD<9 zk-Ze8UVitHXD6S7=tGcaWsRBm7M^Xzc5UPNFL{18#Q2|QoA}+!?>=nYPM)>%tb=^3 zc)o?_TY0{X=bn5dTY0{T=RKq~d|&I@db1XhcV@|06HhqUJ-Tl2W$-#qIstC@ts=ib z=g^(_DtL)5-6Y<=%KIRBkMh}1dY-(*I7LpubL26G9L8HinfEJi8W>-t{ndP?`E28} zw$a^3#vFJZGMemCTaJmbc#LtwI?Zw8t_+XjePSc;S931!Eb5!(jt3G)*&76(ZbObF zlV;3-o_|AmYP>N6d7|VovRmQ$@P@-Zx-n$hID;S4wh?=p^FS!ixa4bU!}R^Mp}ap; zKCc~{PwgaWNAV%UwG;26oqA-Z0XgV~R?Ur>pw5&fdHsd?aw z?;~FezdNBB$@K}8?tcE=JYVRTJkqB&V2eU8%}KN-bX4ybO)3j zl4;r+gojCBJc#|!_)YPn(LuF^Tq2v>#T&t-d}-jAg?yjlvxd)E$ZrGBYxtZC&(QzZ zt|@4Pa%v}u45*DAjD?eXbH5*Dj2qj-Z$Au`$P+L~KT^OTUuK%UqDl6OMg$LaMpdWa zs0I$fRl#R9aMbg>g3sA*yTZ?m{pM0Yl=9IdwHt=M+9` z!LgZfi%%|-_~vO_efE<^CTl~PDSnycy=2nb(Kzy=vEp#@V&;|`;Un#wobB>e-+#v^ zr)E6>eRh4#t}eS{!0W_*}Qv_W@M@FNYa2VRBl;LEyRX0VskN7_W%LfT5&Na}%(@GJ_A zW3Li7brzW+f0X<&^2f=aAb*nlDe|YupS6SA;L9R@FD6f`^1@SWVG>)&p4Cj^5ao{W z92&|Fnz-4g`Hh`QV5gF;Jey0tTJqKN{2Tu|7S5fty@%g> zdEUV19@^eHvi8%#V0e(2&p~272idcr-|0^1HkWZwEpmk14|K5qZWYhkNj3bQCHdlW z4bRu|Y&8kk&&m#H9MJ|0$Kg+d3%^}oNOguX>1E9Io57{UU8gg$T!bzWts(Q=$Z4}n zt301oZ*bQ@4ec<-{`m(AWU{xJccIMxC^p`1cF!N&#TmWBoj<7a-HgAgoX-jpcFd!z3iH03OTZVvIIPqUCEoj%;p)gnX2VEI-i90N$4Y)RLrF21jerc zU1IQ0V{XkIj9Hq2TFGLY<`&3Zmp z0sCsccL7f~zw7y4O};MLMs|m5+wgaS%hSKGJe|OK>Avyqf3$r$@~i*0FY%qo(Qk=; z*(8}nH{MM9@*~Br+PQ=Jyx$W0GF5%!Z?S!uzv4G%U+%O#{ZF!Yu8cDCCe$pJXqxl_ik(NnN* zDDzVMY$onrF#y^#zpj?`F4pjGeDqgag}e2$ne~XdtQ9?g{4v*7Oo3>nwJ87EjeHMJ z0Phd|^V6Uk|KRQk7<%7cjCpb#nYR0uQ_PX`d<_fv4cv--(0p2c&+YOD0Y?m_<#BJgOmwkLsAwKx0Z2xJ_BOd`ig*ezaMPtX+uXs2;PG59feG>iW zcit>q7z+pw$B)Mp?vwWVRmIBa&&E5PH2Y<9`&AULpjfdOG>t<;6N?0GwLdJ5E_DL0 z=-959GR}a|*|AGBKImodO_BX#y6e!MuX>#G82!3g?7X~{=YdBsl+!-3s|F6mSqP5v zwm-q8$2V--6QIA>--(~+Yft!VzjYM6>pi@)G2@evC*HYZnB4w2d$;3u+aCR_zrCA_ z;OB2+8o0I6RwcMK+W7QhZI!ureMaq+v3@iRf8DWO@$={6j5YjgB4*r&{8;(by2LhM zu`wo*`jCk;Sqe)uq#oXATG3epqZ= za=VXSc3e`pA4&YW&*5JY);4U9>ha*+z_CWhir4{DCKm14_Y<6gr%OA1Umk8Mlge z*vFCBMY}e5ikL>f{#xJtb3T0O~g$+ z`&t1`fA8s$wU0B6zUJnCjp$l*ylWTC`KjZHc{|5BILNui;j#%)^wmEfQ#*IlPO<&6 zHxIM_n>G8oYVe;fIW;m2 zV*c1f(%wns)t>+CJNh1-t7G3O-X{BwvrC#tdS~wb0WQ4{lI$GMeku+}aO*SD8>(|@ zkh||fbhyK#_i+2aXAXDY@*AK>m*W^5wa;Jl_~-R5J@Rlaphq6gK6+T3wWm^Xb8iIK z3J+Jme%x%%r>)5D#qF$hURaW*KjU+09C_DgXGx}>b2JL~beeZvO_?9Co?96tzK=dY zwAS+_T_v8(H5wZ$S`TuDpZ|Q^)7|cR{Yl*y*j;d6;8x^z8~uK-XK!lxtal7NOFEle zxM+L#1jg`#j^b=g>`Y`U`ml|$S#Kz_=;g5w5mPfcrr+3|CBAdjzA?)e58aI{Z=|2- zL0=m9-puzF+FL|goNH5dS~l9^tvT?$vpCzHx})TckykO+>Zk2~<|uG$e?lC%62OrJ zuJ~H&?{v%>y6Q_%ujciMRpeXE^EG8p%sfNp%yZsH7Q>fz`jyr2q7@!@5LdGXzP2GF@O1#boA$v%dc3v=>jaQuj9!`;`|zyNR~9AlqBv z-8SSEJx%t}m+u7UJ>a~T_@O5}{3KgjkR9Z=Vx4pP9^%K0ZAJ%d{7qyN_>w2KHI%t@ z6LVGGY5ztH+Q}!TSk^eWC!mFmy;AI!VxlzWP>iAVRfX_K=;2q^G+4I3N1i!`L*Lr^Z-tyqc@e@w!(*&obSs}ed!>cbq zGnIEPW6!|!DdBrATK7`;0(kvk8F+VrM>p~k?A-6SNB6K#zv_#ZhC@fON2|z#PTqML z`LRn;?3T4l>nnZs$eSak6oqAE!)_fiBeZpK0N!DZVYCYNY+AEn{!^TvUT;G zr>;%SnZGYq*QTKE>D}ynv?Lsz(6#?ETi2H1>sqq4Idjmft1?HYeM`3vwckn3DEwl9 z{VqIDV{p80Zv@|8Z_htNqgZ~~6^*;f(PsyJjuezrohAmfpe}VHrvEtNjd$LTJv~xj zPqClTKIC^Nc5V;$6#JQc0(<&2_VgfndI($DOlqMGY|xjrXSjnhtK78@WAAt$<-M_Y zM_hXs!A{+iVLs5!yN#Up^BL^NLcU{9RnPa#oy+`gKYu;*ODVUF7+3li=-}R&f!&qQ z|2DnbDw`F0DaLziyJEd=ti9}%(dUnj4M)p5_y09#t{VG}&RU!8hdCRMsrSJ6*TNP1 z8l_K&@hnO|puR`(@3Ahv_walZzqjyx0iX0G+BazXW$|rT`W#}uq`3Q9Co^7n0Kf1Q zj)Gf#i^e_?@T|hOW5zxWv{9>h4s(#5#Br0~;{3|C#=2X)vf#Yg`S|qkBjeV+wB!Of zze0Vl)Uzk1)cGoHo4s$wj(Y8@ZNXsMkJBHeo)EtDP4q|Ur=bP!lY2v%frE?@DEA8X zjr-#`lW*+qlfiMjPkjwrj{Q@=I-v0b^o$O}18{g!^A!t&ZLe5c>U$qk-Clh!s&22H zV*FK|N+-ct^u18s-}Ke}w-=~8&zIwiBaX~1V!vxbnYa7w_i0Z*S1P{!4eF;I*V%Qn zD0Bo;}d{v**K?yHeb{-mzc8 z@e9IH@`X){@l1PMj6LW^2R8EEZx5PzzX{#xAuZ(lqVwY_-=dYr7; zS*LB;Q*IikpXXN*jSl%g5`=T2%i3)el zDI2A`8BE=aZ=h|#fczC}V~f`YefS02Xdb4GmK#j{YUeMDwbAXh!T9BTZ3yoy&5GbF z`=Pn$KfK4a7ysL5A2hz(WzIgx_xI||L-C?Bh}?I%zKG?tqdm2)^d0QaHRli9&NDlg zuGIJee!Xi3WhQA3S9w}zn0sUTpE>)chL_TByu>-1#=kHNUgyE<`mXcpLk8aF)fYGy z>Zv-@^M3QbU$QXUD(A0c5x(iJ*@E{av5b`o5qqQR}rJ*o!6=JSN-*(`@{tqz1zGTy}MBT zonxVc_U*Cf_3m-{?$HpPmR>LM&MWxA73a3tmbd*z<#Lg#yIR)&gW=H35_dm{l?o0Re!x#f31_*N&V@$jHP&flDc1^4cQla ze!-XceoJ6<&jRj1+wF|&AI*2}Kpl7T@Yh&=P6B>27ecTW^V7#2@y09E*@0{5S z2OYH^PG@&(AAWo`vM3sWtIkmr{r?yo53Q)4XZ(??dAEkLedOB-?0bMyb!eY6`y~@w z`Mr(jy?PHUvkLs1{I>m#@t5`$_%~-E6E)zs6}jNuYGPSzeskvC%jgh#B%RnSIX*~U zp2c_;WlS7BtKZatUPXVw^I!7&EZ^7i`AeSvg4D@(=!dNusz)QFpU&PJgs)~_vh_?<{Yt5fj&Rh|QP61Wp5coye(n%}3$ z_bSg8@oX{qTB+v*zvHyCfIJJK#Uk)qOxvybcH@hz$8RG&O!@-p^Q4MO-x+A$9i(r) z#_b1feAeIk_k()zS@)UqEzTbgXV2ZRY+&kI8}h7 z_zf;GaEYR8v0BHBtId4Q%xy}%bE&;^kIG#iihQL>>PnUC%#zXOJOjy!DL0okYoUiP zHZ4iM6lK!Dq_ZI;+qaTGx#G@w?6JERyE<8UuqR=yS*H0u0L&-JUlDNcIB6h{?90uR ztyf!tGVVGl>mT6$!!+lS*I-X}=&TbTzx?zN9W;ltF(s=+4|F0+k6GYU&F^OD&@wW5 z6vIp7HsK}Oq`_HdV%&`XaECMYdxBrMYyGKoVY{7Gp1C7z8(X2y}m zlE#qANO>|e1$m@jy=RV3hNgrve?r;p__kR5!FbO%qcPGX@SH|pF#*07oLf4izPQ${HO`C8&L1zE^XYje|BD$f)8_y5WZ?n%Y-nF|9wQ@^_s?4x8}4&H zF*n@Ec{c&wqkNvcR%TwF?aGY3PvNw8f62^oI=|=A>>6pL4S0dY!X0h%!H8}jz~5`> zBs*qoAGFoEK9SlG^b29%LYeV%=mVg0ly@=SX&xsTilXPDMOM!j@EyLJxR++$dAO*L zGJAgwFL+)}K4=+(77=vSrH6MPhR)zwR~H`lII-aisY`NGL{1dTv=lj!|F_zc6J#S3 zU+Bg-CBStX6=`4ea-DI;^SF-|YB#%vX!O!;-_rQg9*t!`9N(X{2kv>@e*gKW_dlb% z+bgdRA9?NHw{GYDFZ0{EJbZ}XE{?giySu30e;?<41@>hSoaCnsb&Y*Ua%1d@?gMw; zj&G9Ryo+KtVp-pr?O$B`B71flZ44LRG+cZ0evS67IZu0IO}vJ0KH38O$dLNW2y2Yy z&O+kyD?))Y+^?FA3n_<(u@-oTY$=|_A?_&Y!&!IU>Q1HYto0t&+O0Dw+_?kUnMGZ? z2hpojvMT+Q{ZNukP%KTHyWrwA*b(f#&Ww*`Okd$gY)nCvi+P|=Df)I_fvJ~;)k_&qnh*Fyu2SI z?;P^lPn-9{|MC~Pk*dEUVGf?zkWwU>?@HZQM* z$$l1tjrrQ}upMj6G!=vGSitjtPH^u#L>4}ZEOh&9h*@9h_Riydo9y*lbM|^IH0*Tk zaI8~y5q{*rb|(FSoM~^)*;0&@=3LqO z+e0RHIq%GS^ip%I2=5es@HQVj>hlDHrD42WxRjW?_paA-ep{O8xyF%M~`n&6P3ja-LnR)IEzjf$f+Nw1{el;EUOJsR`c|~h zYa+Fs3;szXaU-h3)B{~xp=VP;S&fHndHJ|i{zm4urVQ`Q9UIW#Fmk7UTz$7|tA6K< z#-1(6uJSJ74m~f{<%Ozs6T?55dTwi|*t^igaEfwtIrcXTcb~_qp~%Z$<}PS=Ky2aYs|XV z*8IDmV!Ug!JmH<8%T{XYvuJckd{V z$7&B)%o+S!oVrHjN#h;KjNu*cxtsBr<+06YvnX&tytzrdS#-~VhdrC*+9P*=+kMp+KL64Bb~I;Y zzWJnL`&`)ExkfqiYQ~%s95b(t{35V_$?tvc=iBcNZQJfRJ}g=PB^;~789zx7!Aiskc|XPa_|Dc8KB(k%xZvdtQc4=H!mjd|t1 z>MwT@nNiZUU}R93RyOBpNwf-O>C1h+D12@m|Zt+2RR z9@Gv~u7C$0w&f<#7WS~hTWhH1xsgHmC)ssE_Z;BeHI3k?HBm!1@r=HvkZ0}WwLFGy zIUbAV^xfynKiA7|Y49$7TN=*byMakKs%`q+!nzWoO@X|;!@^Jm7x`EXE`p7|wXi-v zF0x&cR|}i^W5J{3*Y&4}UwM-B1Zh9%tE7FTy`;Y(eTDR8(jL-o(k{}MNIOZkzp(pU zQrHvOr^>6`zQg+QQj9xZ_TAZO?3Fj)U1{#T%AfB>8E3>gsB0Bti`CemHTc%nx??IE z*BD(B%0!{5{L39Ytd>`77Fxd->QZJlaLk-x#_dZxL+BA??c#omv~p{BQ0?l20#9{R5PZ zI%9gwd|NsSY_dU3)MeL1jV++A71>#A~dGLY-yac=aKUZ4%LQ~xdg|R<#`Ayp~+SVQw*&R0yssvqe{ThB)4E)q5dVIpe#n=yQ z$sz6oy9u2C4|leIo3RJ`0_sEy;|GVf(xZdGyo0$!3V+Ft6?e_!{Jy#r`w&lP-a%P| z8}*B>>f?7)7k4>?zq4Zcyh*f|q}(CK%jV3`w%q)vly|+1w-d~pn9rH$Ge8)Lw7AWc${C_S${e`%Ekd)vdq$kB@PlLf!f~ zoE^J}Pa=F=(NotWTcm|NFvICm3y^!dSK$p!Gd0-K4h9`fo}ds^=~#C@I83H{cb z@en-LZ>@_8-(-htXH`yew3cVz9^=%pj_&f4_etz<3V1{-<@qD>u+CJM)rW~U@ZB+d z*Ze90%)OlVo*-6S&n@m&HiqMGndn^q>(QBh*o7OIlh9K4MBj)XTC~`}odLyQR@?wS zMgwyan3Jsrm-h!nd(e+4 zHdKE3_}oz5c;IH@Ms6atkPPgMJ>+MRosj)V5F;u+DZWQKAzNwfi)^ZF!h3iw`_hXY zF!~N1tX#=YQmo8$TgKXm3((HcnzoINz;+2%t#$ZqyxvD_B2=KRMe&3dP6Y;lwoODQQ)MiW%9czMfjdxmuW{>cXX@o(U~XcI%bg|W(3#_Vy{r`wzicJWEgpZxD4 zE%1eLg~k`|9-q<1KRoa}b58d7XkH>2w{0G z7}vibFus4m>pl1XWng^IPc}NVGp>IObqw^-?j{m&yL*!YVeozGE0nu`<*IozSN`F= zlWl=I|NDwkx3B0U&+gJtoypT$kY}u$=L^a+*2}ZFAkW2ao=xQW(#4^=D_5?VH?SyB zXK6Sl5D1&trj4OY!zFIsZt~uINvLkr%9ZmH3x~;jshfAL@?ILMDj|b&^-~bAWbE(#|WibINO{!jp|z zv@rvFybILX87_us!FFs5gKc23gHk7;Lc8>!dHq^UcBj75->BzloT<`ich+ex3a zCzSc6&YVUb72}LgHWR1JKr3>+md{0euHpG1o*&`&T7CoL05)y_7-Q&Ld@H}3ffaZw zfkAc-T9~~Px>~qvDdTzkKmZVII?`d!z zfChu~E8^3S$a8}4(z74(JqfRl5_5AD-@#boZBBMNnf2lybtJmzle$Sv00v+;-|{Wsc2&5v;p43 z_u=I9leBXY@+n!pg*4{%2lC|fl{X-#w@FUnXB1h@%BkdYH84nCSMmI5gCPGZ~6A-B`CZ8^1F^D zsb~EMOLsR>_TG6VyS1histoRC9pyljc&I3C`Ta)%@qF+lo?yPny^pDbPF?yC@Q%lR zHvm8Fuy43-8L(onSu?{I!9A4blRG8NC-+3^v&k7vDl;%?{W6P>S64B7V$|I<`Nm^$ z+G%=$y4A+ly*9S$NKRB>u<7;SQ^F`1(c#dP?|Ra;B-L>9tQkSb}e;NxsBUB|XhNZ+fk{r}CnEhxh{hbyQME zq2Euu)?YsUL(iugY;)=&lYp~2#F`uUP6}lny>i`4@0!EzJF-7xsu z_FR9XZ+*80S)zXV^rAKH9y9qJ^t~SXn>ab>^bb0}S#%Ta$*=i~+rCTxi#UU%qLO&u zGFK<33XZZ+p1)E1U1pl|7V`a_QQ07Daa`kuYA4e&@$ioZh>;*(zCR6oW^e2)`dMg^ z0I`SpS?;mS@k-NG5d-76G8$XEg zhi1#`T%1kC%TMGk?7Z?58td?*m^F08J!b3RTmbERC6iaGzFR{oasc=vbq{SJ-s#Fu z8rq+5%8ZZrTpiNJcV_re1h_?*t(u@^+!5%hIP@~ujc+w zlChEgJ)9M;z5M?4oSm}g!wp$aZ4Mg$$9=cS|52JBj|kjR+O*@`#3A53f~*|HwpWvW z$r$1ga07c9{H@F^E^%ch?a9n{keOt!lS%hc{^-#Bw~#+gJ>tnp>iHh>c1x)%Zz|gW zFC>c%kD>N0LX(_ZO4Mlz5b+Uy+Pz zZ$}dONuG6#FK4>mA&W*|vERvUl$Guk&@oVqj$5GPR`M62`)kb8hv;e#GP(&qZb4VK zBD33&b?r?aWGnzY)~+PahU#uWPent)VsR24I^XSl_{=E8XCv?lcMqRK*dFEV;Qa^v>Pe#Tj zn{{d6P9TT9UVPv-;8;Gfq(|}OO~~D{70b@VRs+WxbOSyxX3fk0SLD|n##X00C@Y+8 z*%RJ+oqSY%6G!!QAa~uKJTFI{neS)i`LPx4XC7yrbsBOv-IM1>S5%+zx0_rIt=Ht> z{ip};XQ)?gN}dbrT@DVLsaJYp>%DWuv@;RlHt{Q(Q=s4O{HxUXEd4TSdGtZr5|8qD z+5u1LBm6R8b*-8FY2@odx=ujjh;+Tp!y!-C!NJO&=A|cB<#fHugZDzZelztB(RH6* z2sghxNk7h~BSUn)9r{q8h11gK4D}45C;daZEni1${!?E5y#9F+vZ*msD>~8!KifIa z$kUPEn9eUO&hKv(!>0v&78J+lsbcsvfKM~{w1Ce7@L3qjU|`=AoyR9<_*P8s!@L`! z_p^azZgIU|PyUhUz5G-o(fcoP59WFGp7B9yZcgu)dGKCH?;oVz;q+d8y4EX((|ap- z8kY@`(^~jiUtA9A$UhRje>eFG`uKgt`uL?D4#VnwEqc$K&cds;GQsQ9`yutJk6%E& zZ$$4)=tq7|nbV}7kzOVJl=KtQk4dLUuaHiX21sdAij*WJNO4k(6eUGSCrJN7`e)Mr zB^@XIi1bgSeCBxN{cD{5 z)%u}R^yM1sCFx%jtJcd{Mt%7>?C9h4U7AO1q>nN42y9eJc5Neh$)6^_rT^>VKYg}* z`6qck+!#-Bz9Zp(ly$u!V?1BG1K7Qj*ge}%9Ume8`>A&b|AE_%hmwprMr8LHk7(V_ zjE(4@vtvDMd6N1peJp(YJ^1qaQS5jcJ8t@k0($Q7^5@xoY^wHCM;Boy7h@-}|9dqj zVoYSlM!=LE?+p$=-qYBqXkX^xWco5cPS|rlPL}7L#c;xwr?KT`Y*2uc;!&idc{pKH zw09-i08Y)|L?7@e4=0WJisDm~&m)arO?&jW8jEYJS4LaHF~T#AcU)i3ZD-{7D@O04 z_Kv+Cv)7UQOqG)k1q!I6swt@8)67H`YG;II@vIrnuJ~ zlDoW&LWfvwD6`@%?0J5fdCqYYr((`ZQ>GR=$!nQ;^en- zl{ij}&j~lKNzb&tA5s03QyglXvJbxtKP5gH6GKB@BUdLvbrE24h&tN3QqJ*z0chJihyCnV)wToX58n__sNkSTFVUL5H2l;vQ%L&KvL> zBxmuxCN~#7G}(=r6ds!ADW81wrmy$T(M|3_raV1K;$uoei>!}ntIv-0&=&bp+pzP! zIl1FZi=pF!ZuEqHBuQTR!88u=`=stQeMwo*x9LkXukTxN*BRRfMX|TBjqs``l(}1b zL!qy+Wj-Dy;n8q&*Y8XB_vCQGw|2X5k1)THY~(XjiI)OtW?hA|I zPM?}yJ3Q`d>_^~cfuKK`rG%Buk4c1J+CmQd)A%P4H>`4_fdXj zk$#c-O`nCnSeR`;Y;E;BJlHQZJ_=I*kp5A0qYXnhe6#BJN};jj!?cTieSqJlPvKdX z#zXUlwYSLHX4?lDTZ9}hw7jfv?YQJpeMZtRm-Ly6gS2>B{8o`~$at0hGEIM(l}pO` zTolUu5dWODF`7>lYhTZYw2$pdW4nfHzn(HFU>Z&~ z8aUHKez7^^8;NW@R8vGYsNe92zRc2W0NZx5A*a(L?Mv>a{zBO>JapSIyxj~Bt!@1* z->Z?QX{0JrC8>h+PLkGT4q;P^@_02gwKh;$3@yN%Hzef-#UEzhR4+PX7RYZ7>}vn@R+fRrP;t@c-;ENc^n*$$F>c0J?!K0 zD8BEe%r4TGNIOZ7lXj3EBlVFUB|SpgPUV;0$bfqi53# z&qP_aV(FR3S@*0A=FVPbAL1E*yYUIMGfDe|-1gt@!8@ON1uy=;A!n^j1BcDjTkWg2 zdPU_K;cxagLMyew_bk1hgqQAk#$6x27GBLIy@zzoFnrtd&V0UYp$eF#RpXnJ=;t`rZ^mVA>6tn9{+^TARsXYFUT@km zvvgd~N%}wgd<=QV@O(_^n4T*Y%Z7Yt46V3J^}0eZ zS?Pe+t3ueMKzLAd6WY(qyO6xKL-W3-yy}zv_0lIL7+)6Fds2CU(b`VUZxui4lwzM+ zTv+V=ivF@`U}BD8+OcIN+uDoPM7-))@G`mpd}e)BeqZS8^4Z->*2cQC#!W->b`8m^ zy8QJGQkU^3`OjJLtyM|4rxnP^r#u<)%g3%UBa;uUW19U$$VD0&oz;4y#`@wHa$@`# zo%!@7uFCK%3NJ)svp;7wpKA*05Fgi2$6ETHf;wh;G*;Y!p(8wrP+sS@<-sBT4g&}K zPjYa;AMqjL!4U-?#jE)F!rHmn<7V$o5G|j7N4~!4zM;SI(bJs&ZuU-2&G~+S)$D-= zzqshM7<);dm1=YK%lLmL(3tBZgJvCBKJ8Zc8s}4Uxpw%gec;&YOa!=0ybtZ=_O0D?#>DgR%)BE{ z;ky8~&>>YQ-o#JW3TOgdKUqlE3eGq8*)rKQ+aEn=;!!SqUzKdxK!c~p0pSXrpl5m! z@HK-!G*|rY0MAC1Ixp&Tbg2`*PV*pWDmioIp~c0|2e)9pwE*US90uN-FOhByA3vk< zF8hlz+p)Qd*QuyPfjL_4;YqpW#6Y#5na>`|rY%kEpVV0v4fMgcVS8HDR)tDQbVa|9^ACRQJD<%ewFSMOHs#vo-8pMzjGYYgaz_Tvi{#lZ-NJ845W(BBVfqZzy&qK)ak zHs&*q5I;m0Xc-odbSJ^*N$)4d>3UK<={i!OUP!*4ygc95e6)ys+5N*Sjf~}=XJ=w- zu`%&>Y)%I1MoO~?k3h3_1U;ZwnQ*1Hll_7dza|@VxOIFpbp+8 zu^WoTwrgN<`e|Zc9PQD;!Gv{tbw01%UrlyR$h6= zz)QPn_K=%67Z3JVkl|Ackb5tdVw#7;EZPtb#o8DPUS+gFyg;^%aVu-iGoGc!K$&i7o&eHH&c;r!=& zCOe%>stb6rAA(CsbM+lgY0u-xf2tZlHyKbET)BDa8xXW=eDyEHyq@utADL zv%ZYC(T2uGK7ZWi!gWxsS60wQq0dEpl^;#A+mh8cSALI@|5?&^NZ%$MA$^PV4Cyeb zQ2$cYBU@iro^R{rm#XyiP-7qc8GUSa&l6fXN%}Y?H^xLh&7L1*JdTVf+TcsOliA?O zpV7s3mo{3Xkxq>Qev6B~yLx!@8M8*yMqXf0-XwchlgNqIb!Mo{LZ1vH1I8b>2-!t9 zEPelke8Y}a$(tf?n)+q8tc(?vTV&S6Cd@+b&^e7)Ut(9_aC(Ogcm0DNJcqp4C}1B7 z53(y8o*V|A_ftkR&|Zv_z+31$w*JBQkgvc$I7F7@JAQ!m;~{IR)Q^oYaZ@P|X6-BV zudQF^!ER;s>^$dZ#bov4)L$s8SsSc2khS}fDf3J^;>m{QgO?$jQ%O@uZzEkwnoKH` zSIO#My**!6@9^Z*j?Z_Q`A`0MS9=4@*;SHv@MCQFlx#tS@6S#pKE9WAoy$YV8kRU_ zpM%D}t(+~tWX+8keJ)+=elF|0(d;A8SSm(c{;{r!nMCI`?pMA0ym}+syt?PRbzA?p z@S$3e69Be1Df$kBPaX+;Pf1OF3iD zThLX?9pu@gJloDVKz_eRkYjs>kNR1yDaG-#%;yZg_3KK*Kjq8=16zyku614vequT? z)-Ie&8PhN098>9(|Ex^av6T9ISwpR)kEwz`s$&UrVD%k-IVp-eHn=G6^xwk$KIWLR zxvJBj#2YhLfS2;~`o~6d(C@51PH^RA&t;x2PGJ1)>7nT?Y=6=1^%v&OlH&7&D?Irr zhpqwQ+qEYk+Q#Q>WJ>TZaQBr|Nv`0X;I;7rk}Hj=;pJq-4jh|;e6%7T>{a&5ht)aR zaLpN%m-+J6_fpQ!f5kqie)&J%D4#!W`Ai#GK2uL8cwLCkGm7x}Ex_UDb1@vI6yc+A z3y7xhFbXVHj?-g&UOW%#IlAfk!Q6N7`^8w$>1Q5#zw#OSHhXda{dZ*Lz;~ag$NyPA z{;w~>fBBMh16QPa>FuOY8?qQNINp|xjXEAE6|A>zUwm*6XZ!+ojvQF zC7s)!74zu)qE~+mJ$uD#qgb8VpBAN0ucu!5Mk>#p_^#@gALsQx?iW1bm{?!wsD*E( z@x2b^kIsaR&vp4!sq<;qRffw)z$cscA2t`^)5IJvV%SLLsUzaYM~d(x%g4E)jN(43 zFLLE)2tV07bX#G0;24gd_FS=#Tbgfb-1QVRH~pb^zVCBp{5$k~-&hwk>t@Wjk-nmb z@&6|1S3_Ud<@R-<5NGtQ;`dtjcO(0SjPJ+$eTVMZ4k8PjPc6AuY(xb%E`*JHEAk%i z_I#r3?~ixTR;OoQ=21_(+fJl|^V8)+B(IS#+IMBvJtHP782X)?);sSSg&--}Z z&hvPML%%-iR3q@uQl0RsleXKJIAPV>e$l8N%@-^l?ICzczisIiTLgTIfwPr(pEbl& z`pPGe^WKnqp4D7i*TRCj7El*-5WcY%>Y^`EeDUv5m)ci+*ac~X4OGn0_q9fhPQ>`G z`kKHYj!o$DV34n>`J!M?oIWZKAMCLD9Rq`GZ$l^(tq*0c6+S$djtLf>+qoDy{e4oU zxhMR(@FO}0Yu)?9ub24xUVAqzw3Y4o-jw|Du;vWEXXW)ssk{H@O6^xH%isSq2wp+% zkKzubIQK{;xJPOb85%^c2H9H`3pN^<8`baj1NR{J-6+nydQ5o7rReqv@Zy>9GIA_h zd%yGK7@C>;G-vVIMp~1TF`K^$y@(y9ylrzjZ62Y`qoK_GYICjLeQJM9byT~1C}qE! z7{`AI+L`ajr{2fWrA|-A*=wgZFQQHDiHpJ$6Vn7=mR-ZSeeEIU zAB}a2VK6aHN6L&{mrad9AB`RIV12@cwZ)^QE+{9efKMf|SkH~SdHW0zO(jq^6Lyq?uq7lGI5Im7eX(j);-wn5`{ z*M>5Y9_r>Ut|+j?xr3@qHfuHb0iW>GT0)xqXUQLxUUy-)(Ie@JVqr9ANWpjM`h1mr z9v_9xFP?XTD|!-po;54@F8Pe}zLWaec^}_M`_$3O?^w5+H%h;d`4iXP4%UF9-~+ZS zt~D;MUp^16JI?dY%7Bs6J|}a>9d26##E@V|U(h+|_i*NG)#2;IdjbV^bc$<3KlwJF z4V@CoeAO3!a4P1oWBgZ zN1;y)dS(3vTRES>>#G_W2SnSTUsoveR&yWTsPIjbvAJs~!!yy>*xZWT?>w7Zo_pRT z+uF)+TQ}pOD7Hp@>Ri=5n|HFU&_X&D1ApYwwX6CryDB;%BZkjQIJ1R*uZcAj=3bMF z+E>ZAZBJty324t$SNoaW^sGkLevW zi7+pC?A@+Cl+3AK(Q={eFlTANulLH9AHin&>1NJdhEJA$qE#pYO^`SB^@mG&m){vB zrx>1>JDHb$FU#|5HUHMwsug)?bl?GaMrybdhWUc+f7~|n=fg8R9O6D4Ec_##58wSu zD{DjN!xww?$IzEIdp>-!;J&5^Hdb>q`72@-E-koEw=PECEqRadEW$gN4lbE1=L6xN44%#U?$rJ_&(r?Rh4(pOLlyTVziIXy z=PrEO;2y7aed(3n_fF)b9lcI8XfIjN%v;SEfqZ(m1l?MS9*JI(B{Tk{E|+#Uy0)0S zlD8(tbc*qm&S&KhK1lwaIg7mjF2SHPTC%=`c)cC}O7~Fz%CP>gUQ<_HwV7W8 zzXw0xcLn&Aj0zp7CUrR_t3u41Mca}w>kd?t>@%&&lw3qUl6|H#C`zEc{8v0PwAY$K z3H@~p*rmsfd^b7_eU__#0|wF1ufy^^myq;4==;w3e|2U*iCH(u*Y}wo{fha&?i*%* zkLqJTPTh18u{Ynt2lu{dY7<*Oon+8 zIgSi;5jPu$Pom{0%EhWfnLC&MYO8RIaGs#>6di? zfmL-4Qm^5qPiD>hlIMC~D9a9iMd53E4B#Xsga_1uT&p24d#{{Ohbd8lw4sI`-Wtm7`<)SUSq zYn)nBo9>O_^nA&tU}lgr{%k)IWy}`kcf_k-eTV8^e4e_OZfVXu;ni)|>rCBSg5KD` z?RQN7|JHL`zw6lz>6ZTd{(N&@A9DlK-=e$ryfxLgjCNx5pLQ*`(68^-HnRHEPCSnN zy?n*7M4HdgsNIQEd{*-Ls25;kXWK4pH!H8BwBC`6Keja0JXf|w zDZ(7e%+G>A{$HhjuUR_fao! zMuBsb&K;Ty55!M+8Rvb1_wtu(oTyk@`61$MJa6ZDAJ2P9i}=2n)XMiZ^0ku>yflu} z-k$g(o-O7bIH;f3_)qZ5r|yThZD8cEzGEb?w$Szh+FS^17S;y7H4twJ_q&B5ZbunL$~1Je}eXX|ghGORO-Za@~2Yguc8?~yKd^h2Kn`^jrHR;){om*KW=0FSnst5y@~sDVhfzix28BRG(A)k);f}WPFf!` zvMc#OzBNaQmxcB>GykXm+2>z}l<#CdW7Qhg%cloj`}WurXW#m(D#G*eAtWfjjq*wK zA%(1c=5n`=yI7mP(YH4J8T?{zr;ZuaaYdP1&xWbF@;kW8b;ESG?46Xo!7HowH&hZ+ z>6Mk-?Es%01Md!RsHA*XD5JA46ytjwIKFe$&^k1p{LYo3%&%A%6%O_e?{8n3Yd=Z9 zx#8NOWlj5YSYM&6U|0L4mpPkvMBW_eUSa z7mh3_M!~gW$)yTY`1BB+yS~dCb ztH%dJnZ#Lm^GnTrN=`9Hy#24)%dNgf-@m~3`A)E(^L+c4oxAt`N7+jtnN2`L-3cXn zYW{52#VT@r)UA}0FC)%7$)4tm>Z8{4+}wM5n0rra-8(VWj^^;i@~^e|6Xf6M<}V?y zX%{~$WowydnmJb+XK0%HSLy#k)G2wA-D_jr$UZMD`wr#l8=a@8F=!EoCb5^H<8k7r z)Gz+*;&AK)I?7#Fu{bhg`$EdTXD#-v-)G;DAN5lv7Rc-WTzT@=(16LD+snOO>MzxA zY44rpo}v*#>fYPh>yGJPw-#9DT>}#GO*t<)M!~O)YKkZ~jalifgIUfio z4x&#%?D!$^@U4Ag@Wol5OR#>JL=UW8 z_yn}xuwvRg!EeSX<=B@gB;;MZvPpb0?<=4mYiNGHN!D(LZ?Xr&@-3d1oo}NKcWTBt1dePx>m!j_=GFH(N_~rQosp!*@-{?++D!@_ujq^z;$${$b-& z9(tdr+3)SaXYcT2o$Wxnov}iVD_e<40Yk?W_XVaz$3?Wu93avb%0$Vhxp^`;dUvJP zt83|F>m9Scs6NYIzp*{oAUki)`Gehk(5&YjU|sjXd$bk>?W6EgV?8_Oh(SXOV`LU> zGygDi8`@8Zt_6FbMVq+pJ0mXen|8k0{T36Cvum@)2NUz-ai)~uvn`!URB+8pIadbJ+$+OiYWIeJLI66a_N3mfKcrl+9qnxic!v7ZV*M2A6vr@r61nJ(L zqg-7bC@WzNyCjo_9_+yj4=i>vC&~K?d37I!?CXcgTch*TvDGJoW!$%M-~BgfFa2O3 zlMYh0tSK`vzA2LirU76|4>o27g8T+H-SdJBK51-R^@My|3@&kSiKU4{|4+CHfkGP;l)7}^K+`sLv_(fAjg1u*C!Lwg zT!7mOl{u_zUyM{kO*^XbH@M=4zu^{ZikPwuR$7taMm3dM@eeI?b)w_m`?)uPw$rk9 zEw{Ah`+S}AIro0<%}oexxBVW!-;c-Ra&teQ^XGlu|Ihop&pEkIS20ij5zmkD{IQB$ zG7hh!Pqh~8_)Ymm!ets9M_6AKPdrH6;zz($({pe77~jx9d3Db3OK6nMZ|_yXVd-N>QVX=Eex%=o8EJ@a=z zd?UYG_{^e*?w0=>JZs25yL7RU9qKw-=#CQ89{rg1meU@8tFH7riAQt#@sIVl)&p5r zJ905V=|HUhW61uRFc;_w@Pq z{NBrF51+r|<8r%H>KAU8yIE&IKuoS2#PP-S6-|nU`ygx67SM+or;c66L zO}Kj#&(rl6mba6;pwn*XB%S!cm5KBo?4RZ=`_SLu+33XmlsQFuF0?x0LRW26l;#@?BBj6*YD(ipGO7&pJXF^ZO=qxNr)VDmV;V{V>*c@F>HXT}|$ zQGVR(7}NTS+@~-0_O^bL`RE45i_T1M42`>oGQEtOHq5vOX4rB2GhWiTfAKNKz4qme zJ1qZ_^O0Rv_B20|-yPNi(ht&g4-jLJ9vEewU(RomtRGTc^x3G#y?wMP9l==*`;9zf zlSVnKXr#Klo-lasy`VgvmxIF&#;jP;oO<#h!TB`s+!exeoHDDyGi?|=4_#pK9C>MY z{(|tl>}BGaF^`bTH;R7G>xqHs<;U0v{7Zr{64xcCJogoiF%}wQJ7tzKM%plA^rzb~ z)?e_Fc&SrkT=X)>$XsBA`Ifl{5+4>_aep;@;C^!^ftiD-OkTFIG4j>T{001+#13lD za$SqHgO|Z;n#afv&g1Ws_%>53rXLycrXR^tzM;i?q~XQQpFN39tmK@5%n&}-L&Rc_ zfS=}QE{RW*GH_wfI`BDx;ZFGtJ=n-zJHJ%kcG$o4d$9Ap=ws$28RjHmAKK2j?fk>+ zg}`4oJ{GWOt!y#pc$=|c=caw~9mhm($;?yqaS9l(yt!eq-Wxr$3|vvpl^HHA!xBE`$*An&PbvF2V|o0A&wh3RbB8B3a2}`Tc)&9P4yCVz<2k^?-}nE3zpv!(*Sb@l zxkui}*wD1{{8tO^>WmJ5s`Zjf66`}@Zocu}bVG>$7Eop({6`yx{~`hZ#iqX`{yTUJ z{5SVy@*m^Y{7mzvYZ-6auP#5nQT*Eoc1b$q8;cX#H*;wf@--tgz8c0io8Mcyu({K$ zY{jR&q_N$uv7LSSzOTk6+JAtt>Aam&k!eR>ultZHqM!dTXJb4L4`}`_xzjluH*=qD zGxQcd;DI@((8t%4>uu(3k#TV2gPV~cKKJn%iS!f1;2NtqN)Xo2elM@Cfdtd7OUwYzH%**NiV&O&mwoWpy4&&u|@Nz1^i*$?T z;KGMwgS$iXHeU9>h2N*hDLBbzgwHUaET0S?pHG@kicgZy2|oYE=jVKW#^*SnpYn0B zHN}kHe}Rn|{qfntS&AP2TzXK==oap$T#8PrM<3OBx&B#p z44NYdZk@rBYDZ`CTzJrV2=hE*V2vIh8w*?a96E0i?Ketaq0<`pdjWsr>-enoG2aVv z<7|FKKYB}eQhs7lA3Rqd^VCNr{^&L@v7*`wzU{p1qvzR|+SjLa%;ET+Vi)23j~;NX z{11n3m;afY9>g$fqPef)!wKKz^4*k2fevUQCfAf^{g8VykHltu@>uIrpFB37eP-Gd zIgfp2#H5;D4CU6TJx9OkCO>AJ{kFZdz0B)Qa<1d&W_n*p^+g9$eNzTgy)8}ir?nnq zog&dfuAkOQm4lk*Ip>ysUhB@9yT@kUdQ5i$6~RJ#;rvdso>{{_75N<4((#UmzcKak=gQ%0-1^n<-wc!ElZPP+Z^>sc{J?wh zKo}kaFS$!DH`0|&VxN+f50^E38|fbN+|lndhJLk$y*$W53K>zX#N|h;zg6HzF=wrN z2tLhY-FwHQmM%eFDP`HGv~~Ui^AjJKODtlDz0vSn8u?Al=6kNjRdJ7Upo;2+@|fF0 zwEX9Qj^aK28yBCBo&kQ6toN0pNAdW}?`I#~<~3cRykhpk=-iViKD~T*<^^v z6wjqcg=g|Ln%Jjj_Vfuqse1BNUs!Q0&AhRhIEE?DdsjZmnsSmp?D)s-3#fi6@&Pib3h{l%E4=AY(br|aJHY({wwY2b!#;y_mbZ_AI7IWle>V7J@7{5 zw=GFLI|u$k-emW*&p@zf|G8vEIc{ka`>zaS#J2DH7tG_qVDzH$JdiW##XolVV*kI^ z)pS0xqpiLj{st$~2jkH9gCV>X;R^aXJ{SvUpeN3g?yYVdHJpzU8pF8ypredDz~ke} z1MeJ9raF;lD?27`XJkh_VB{Zp4rI%fXAQ53Jzx{c&&|f)DQ_=Fk9bW#)wsA}T>e9-{{JeeFaP0JFVY5ghg5P-Q2*UiZpom-GPXYx z>j?KJpXfhSp1VOz`7@Dx`F!7xF=pVlavJQT2*G3S8wkduvwe!&ue;|LYJZ*AU3u9j zK3{dT|IvQ0YOT@PC2a~f#txS3*Kj`1H>(T!Kxe!-etvj@^FVZ`$fty_6Xo$eq<81Q z_aB7nYYtsHzOQI}#{>MmP;rYH8~u)lug`|sdo}H)z@==B$t3|!`1U?ygP?aab0K3> zc%G-n3FuMMe*W&1ad7vM5bo{`WXj=>1x50o$KhA{xh4c}DZj3t1pY1x)h~y?_c{E{ zy!G?_n1OQU zXw{(n0)3M4iiFXD$`O}sQ;sQ8p$`6a;Gicpc@E6%k^oVjV3ONUM zzGU7pC{6La%)do3|%1KC*521OO*6WmutTAuDK;_3T zXK)qZso+OiSOl}}cYb2N`h_lac5@yQRrLiTss07H?e=u z!b$#q37p>&oS}AYIob-!O$29t{sJBQ3>~=>58I}@M;x!|+wt4FsP?7rl3cf_K#|RdY~IM zzS1@fZbRiSlN=widR9I{xUFuTGciG1;j(X5uKPq~L-U8m5I%K2NI86dX2$sP;V;K0 z>tId0)B3b-Za$2x3`1MtX*IHXiVY>lY5yIf!6e!rul}@> zJqY8CJMWj0b0yvN!>Yh;%P-}wl)nt=FM`GF8Z(Aw6%g+zqPdRv(pBvs` z_Ry4ti9DY$4&`SS;gEH%^TFW<0+@W($jw=UYc5+XJCSMzhcV3|_#56-Ov1{LJy-Y8 zg)eOXCqDnkr*2+w7eWpCJBS4}I^L>5ricY;FN)Iv(x>_J-d`;pQ2sne)+)PQp4=$# zWP4k>4^>7D9W`$K{_0!ab!;b}>=Cb9^7kF>MS!1nuKCd7>_%|W1wRF{d@g=^t)tJz z5PjgI6gnu~72+qs;Z+vHan(DH?c|evs091=luG;FX-3r3GpPnsC*LbpK-aF^7AZDmYgRU z^SY(q{zB(z=$>2gU@Y3bDx}|Zeua&{74{bv#lNu`$~_ZLjn1w-Bm1Mj_3>FpGv^sf z=hZ~-%_1+-%}(zt#|>sL(&=dvZ}aZaJnAQZ5!xSO<^|R+h5eD$A=pdfZ_Xb%WzKRb z4}X#UM1Gwdh2hkk^aExsvZ5&yvYUPo_b~G_bZH71NFxK<|E;*E^t*Jc=0cjMI(>Xy zKsV`;@35X#C0!D#U)*=}-ZxLscbDc8p}OblyWzb0?zy*ig1)2Y+4r>b>6`fa3p)23 znJ9lFMWyCdG8Bi^Tsvms&Lf1P+Aev~g2wkKiU|C$>Ma{CD5F!my1 z_xnx9UOW>ix!-g%?e)Qg*0dDH(o$44ppuJ`22%Q@gzr=eagTJ_my*$LBOg!kW zx!&ISe|S~m<1<;m<6Q<@l#Qc{LNKDAfISNA?9~%buA`6j)Zd`7PzQLkz#dWjiFzr< z#+g*c|BVw5%TQ0}V#)`WOcJk{b1qr=ea0gA>ygvD$^WWcQ@=Reb{M7~i&t0E?^^Y1 zap(h65KZ)q-fyJ6C5)H9m20T= zMuW?Z^wAj2rB-uyj_}BH#fIe{hViI&MBfy!893q36tq{&*yKz^DoxIIsoY%XcrEaO zZ*u(BYyIC-MqbMMC(2ot9H{T%8G*cL&n){ePpp_ykQv_j0Ut^)W*NVH5@MYA6^zH( z3(7bf7nYfK{W&)*TJWzI-k#Kf!(Ob@I2)egBCYo8+g8ymtBS z**LLvd)7SWWbX`zpU7^f-Ri>+@X_#l+iLzGw`s+MP zZ-kfDL(dJ!CHW?fe+u@cM>4oq{{G)_j+6SnoHh3Asy974b_zre_;DH{m8^ewg-j zpM{fo##oHUbByKpgRvCJf2jX3+&>oF9pJW8xV5zMfxk%p;bSBJ$grcI(W6fOdGBcW zR{9)i{TB*%x`GBHoM)zSGGUNn&gr8 zC6lgZZdT#-rg?#Gx)T7Vvf6K*A z?$F*5Xe)bPn)i{f+W_4bAQKBE6X88jA-_1ZZ~Dt6V<@ZdhOECZh>!ftP>H|L4?F|F zvnw!S@muB%?|Bwk*i74f@IJq_=RtED_2r}M>w`8~s|H^1L*H){UygcaJzO#S zaGPJjA8S&Z$OGq;!^b~4e{GYrowP&T;!7EMwj#H;M2}W zHVn8Vvx3d+ZEm(Oa=#n-s^FONY0CSQ*Z#%)y)fAClW~5pCRcDR-|)@|c6}HfGt$Lx ze58@pltFh6FW}ii^2!#`4!S`;l;W$I2Kt9*Qt*uQgR${LAsb&qdFdV%rM#QPU6#D+@sOO-5bZtoYN5F zoUwmo&9pvZ`KSwD+O=1lw_*1UI(cw&HTf29&!yR)2n?$Cj&0D3@oOz|BY(p) znh(n#%?MZ0rAx4@(8OQLGw6|p9zOWey|MB~GVT0k92*&j<|0|q0NUKdm~;=J#uPsL zLG!&;jOlZXN#{0PT5ZR5qwX|_K?~@ZtOFM4lLT+6TBm!1eUXX}Bgdl49?mgzdPsK( z%1?3sis)nR`xu`-nRSe7eF0Afci=|)DGR>jYe^nIM64LU!`MtGtM6hwdZ)9TSo<{Z z+?q=g-b<~6x3DQb{J5@?b%wQ!iT={`_g3mkE{e*5%lk{psqWsAXRKA{96eurHY6+b zrS>xPn}n7bXe9qtzV2=KIl^m^edYahV36K*_VuR!gg2<`d|$z+_day->uH<6jeUhL zjDIb@sRJJ9{vL8(w0@y|Kv`%h{&)CQJ6T|p?=iBT_wd;;d^Q5_x!8PiA?+*zXYgLJ z9xtZ9?x7VATod8}#h*VNl265F2CL+&j+5^)8@S;wqidn9%Z+mRSjvwotXbQ92d9@y z%O+X>N>bkX3AU`EZD>5(pi_O6d1JueDfnCZKxJjB&yGTiApUeD#N(E~tv_zp zl*XRNt21}vzVXc2?K)2(ti$EQX-}r# z#WymM*XQt%^m({lA74v;Shg#g`*rm}c{g9n>kV{8ejXO$6XI;>73d#_cUIG1z|UED z#$UiQ_$JGEBo`Uvv#c&RF)@4YaTuRp3E^{3DL#9H^MG{zR&R;D-wymc;Fo^-9kAmS z4$}SLk@4e;-G>4)@|@m2IlbP_+H{d#2ZzQcLJQHu*rQ%+kGg_<*~^1Ij6L5`$d|pF z=O$ma**idf(Sam;#|NGS?;C-;2RM6y8@QyWSD>3$2D*6#=ki2DXZqZTZoVA2E{zn< zq|=>Hd3#+BHr8Tj!`z2wcpjXPOP8zTxqQ@H1si#`$?9r8?PlNO7hfW5zhX`Bd|^XJ z-@yJyt7`{}VY?xCZgjHNkJrP;8>~&TFi!>M>kQ0mOJH_1(0N=Mw;S)<_&dTr$2LCM zNac~8+%>$@yY=()rGMkl0iMpl@8nM=(#ZZz3CTEg>f_x;c)ACk>P2=;3^j7ku!;Lt za^_zZd!MJ?^CszgWYNs0ki~Lzy%D;y)^x4>df8mjb(`t0@$vKj z!g&lPPmlb|a6a9$&w!il<}BAo{T+*8I8{;=hN@^G>2=H-43@E z`A^!K3x26rM^1#PM_ILJ>XQGddR1zNGP)O>cvAj-xUGvtvjyM`-IbOu#_r^OHS!C? zeyCfIPuJ7;HsIsEwGTo5V8{phqYzHR`fR*>I+HIx1Nmo;IFC34dLs8?y!fnO(PP5; zU0##w6DPbSIZnQ`u}?v~*xol#K3?pz{+oe^v&e;fdG54mO37X*=ZgC_GAAqzm5&?t zd7cq%$X`Y4d8r1)Yuf+Me&Qtv7;Z_ zzE6FL-gV+5a_@Ye8(yGq&VMrftBiaI<15wKvzmPHr1z%m@pHi070o%{?(2dnzyUGw zIpHz*td0Mva0Sd6Y@vL-+r6sqWyvGo>3K)g*KL=5=PwPNfK_>emX88_xPI{4Nje!@QrFfRcj;kLtAETd3Ri=?LOX#ziK4X+YPr+BLOI2dGs_yx1m4VMw@Hx8h z3xa=4-!9LCwO;vh!{A!}+&{cn@OQN4E1zx{9G1K9+vp1uTP@s&A$c9G<^x~5@AO=A z7Q)vRuZs|eyfJhKPcm}pJxR)|Oolvr_OTz)T@vEA_&j@8&r0@Cq$DTCr)WK+9AV*h z$!pGTA4QL;zF_YY?A6hn@|nxYkMNwPXe~Y3VC}VNqBRiBsnb1_-Ddx8(S2ka>A#0FWv0T9 z$i2H`ME7KvdWJ{5`(?Wgzqorw&;|0D;+$2U**?zwO~8=vi+juzLry}2Mb-2LY*F^I z$#1Kr9e2No_VnlLM5(i$It|g>`&Fkm)Lt9!*6|yEDv3|<3%&2RI#Dt6G;62eq)E9! z#umq{zgX1vTHAJ=>N0kX_d$3xT;AYdyFDXsJMR@sTLQfEG+$ZGp3oTk#=xhZ&DR*? zc8t#ppNvuZFr|EI3tRrKC5<=DGwDRr2R5@69W8tm!PsSCd~Lb$ck+(0FVs8uQ}{IT zR^TzT0Um!jID+RpflqtSgn#L;e*iu+zYWT+6zm=Lz49OL<-OpNycdmmp_i*+%zF1> zaFqrhYMcE{%oEZ5(&vnevD~j1Y z#cy+03ViKgnNNQybffS-Pqb+FazAc`7LGpb*-geM4xU>4<|*cq zTXo;jO3p``|G?W4>qgFQFMal5o|XEEO)nJu#OH}EqaFhN5Uf9$e4p8cJx|C-e!UYp z&mj9*WN3IZx&eOiHw1jb8T~%Em4DqIiRO=TXiTHEX<^qqz-%9h7{CzWQL(3ilZDx4Fj^+9Sdd_JUi?X@xnAKC2*V31xj z_ZY&TMKHjVPA26~ry9Zg67I{;c#sVr`4ub!@ag5`!Cc0ti1)na#F61*-V6I7U*!H% z7h7~bNEdC17xmB0SH?XLe>V5~=$=yVjfvCRCtPb{pZGw0vI!}xbOo$V#s>Ep_qbHio_ z_g8Z6a_R{E{3x1xNM}5uyYhEQF0yNX;_FuIiek&=Z+DmEx`Lc%ke9M|ok?H0zI4~w zL-f@Z&CSv|YrqzzUCFiN)A=G-s2^8HcbyGUXD$AV>YQLq$N4-KYWEV#9OC!DJHQ?1 zJl3`3k|(0Mvno$nbEo9-DB}XZkMTW9Sg5qpsFFP`Ri3Vexv^JK&JbGAeaHjHr^nhH1j zEN)n{G`Mj-411X$O>sY>aHYAPa8-dHqi3$46n7@3nk%%Q$KDy~`jS1~itx@>OsW`^^gexze>7h;JDSeE)jcC{Sp}gNndvV_TeZWl{o%~k(-NYCAqPdGH zEB-`Z9QC{_6My(o^!!GnE4I#$zDjo6=$nJw0bY97o9-ZbfHlbZk%G>yKxg~FoY`pi zxbzaE)g0daRy(EZZg=4S{2lEm=6rdz)lwEtl{$KJc-OFzL$i4C-f1U~1 z?KtNK%(iPmyUC$6Haku%W_IgfPvARZuJiW#VRN5a;r^DkYH(KX<=STOUCVb3-*tS? z=DUF$ImUOJ_+$Zet!13`jH@o1yMcWf)>d9;{6EeA*V6xR;3GKyV7&YB&NPp`AFq@8 z;rsDU_uBK@Z(gYNi1E*FcX33?rT8w&Sq#Y`=y5ih`)lsuOP&RG_YPi49^&07eyH}O zjPj0ht;j|vXA|k~G~;&V#j{atg7oKI@YH;A8d3+n+?~&1Bm21rLEpr+rd$#|*7du= znb{}I{4}56Yu>FXyi=QL;$`&Ns5qJW^np+3JAe5KI~Q`gL%!te-+`>q=Df@89e2jB zdF=KB#N*y1AIgni@xH>kNwu*jqdU+&3*lAfNBLM?e_%(!MGtd17vB?Hit!1id1mhN zro^Y$(f4*Q$2=~lz67UuUS$WsM;v_kywh)D$>yD4w(Dti_xx!Rp6mkOo#3>Cb~f@i zvSQX5V*CwXp_lH{9<3yJxJUQYTl_Vi`H^NAz&fO8jzq@6s@%{y@J-Wm9U_$YSH zjKgpDa$2WV?q{ZveZ=$&O-xRaS-(Xu9%QULuQhSSK9%zuY|PWq#}C>xxS_mo6Th>i zsb`LN%gWal)6&&R!h6#F4o7blj=+su&yY`)S__U=gRf@(USe=$=hKISKj`7{!GafG+hGR#?LzrzwG9-htEDQ zx9J+?+gy_H#0R?qeZA=_tFMoPpECNo627{Db!qAA%c?DJNMEORMY;C_SQ&qs_Qfwg zeTeRR)3o1c=Lk0*zx@DfH*Zpoh~!ju%)vMh9iANUa$nTE=^@&R(3bdXiyZ^^_ZhvL zX`~+QX7l)}x+mfn#+>IX$|=sReYVOCu&U*x0{D=>>P<~*xnKk?+(cE!x zb{O8c+nd^#Sr*!atj50kJR9NJ6SUU_oN?8sY%k9@ z^SqDeah@;bP8sAQ0xW{(v*_1@;z`DtUBnz8{#8!K@Md!2;NR;5{?+pl`0*@dM}U#M zxIX1Onw&k#IbOuSXu1PEq_*|Z94BONu+0sL79ajB*r2WRy@teFN}oM&MWV6v*`_NJ zzghY$dPU;u(r4Zki7R=QkAu`Oe(cF}%5x0X{%;N0vLbtC?t>nC{z!OEtXcN=24caNSm^Y8hAZqV~p8zMQ!lV&bXf2HFPy*?IrhLRaxs9bDT04lPS;JL z&g&SDbls)Fc%hMEL+ZWE{`&Kgl z_UJ?Yr_-l(^ie0D7rnKSelpni8-X+b8=g>mr9SXYwDs@5I$LySkaExR_1d|MR6a57 z`p{kLD2f@1$I_A~XfFC#+F0LDyqt=8P0CAi=e0}|o#5+KEXs3xW($i&d7g9pHfZ>* zSiVx|HQll2IIck!>V<+g7=Z=pQUvsoo*)-!Y@#H{$ z)JJkQJNNV?|yV>QQSm+ zRKAX4MD2_jJZDuW4i38bbcWi+cEcy&DF&X$NzpZLHy74!`$nYzCYXE?^>b{!7p)^Ciy_-%!t~6k7|*1_(!>Y z#NKZBU!t$%9=QqgQdbb0uI2qI)>6!T2|5|x5wF6>ngbALGqG*)j>$=&&jLNH?#S~m zxg+9P-5;Gqmubx?tYiKdomDrlaHri<%F)C(aQFQ>eKJ{kyki1-{A+f^IV(TY9i z+tZkqhT7AZq(hfRbN?*a3C5&0^K~>HU{Eeh(KG4Q@ED~NW2~2J?;(1y=pFJem=#<9 zA@AL|g`ZZnk9{dBkN!_$OOC6p0AJsioX(Agc%zV?EZaFP;DOS7y z=v7$zN!OtF7|V~z1$Oh09|khz^vx;bZq{j$Ba;6-<~XX;y<$VdO)jl|mVF@H;b zqu%-0?<(3pgg#e{N3tOpm|L4%Kb7&Y_40S6_c!uedlQVG2M_lADi_?#UTN=Tr*GFr zy2r+^lrv~-gm4{vLO>*y5N>vI04ozIP(FUl9xT(Je*DwdPv??XR>?viER*>PC?XZ*&zUr{`t zd}jc|c=Nea=KQ=e_PCQd26*u4?=rqK^y&5_L(@63zj5?~&-2U@;!*sap{y&@rrLQyM*y&eH>L9yriiwQ@W9-}WoT*P5J8G4l|3QS*u~>fJ`( z1#+PHC30zVFKMS#pLpcm73`?hF|NGPW7M%@vG3G}beGOul`ke6P_B(|xus#fSkhkc zUXHOk?n?pAL<7m4@O3(7@8kZ=T&*8h6|W!f0S~=ZP3is6@E|e@{Zf1Ed}W?+xY5h) z(Y{4!-10Q^gvS`~eWIz#et9uI%mZ&ScZ%DbnJOEv?x(E*c!9C6ATHn$Yx)*vjn4Nj zPt^RJ_IPjh9iByJqhC|Y=>IJK`E&eU#P3FaKgaK<3%RJ$wRza!{p1EOcd>ki9ngt> ze*6>K-9p`M^t&A%&>82fw+!9P{CqvncbK{K(b9FPD#rP1tleww@79yhTdc=X9$h-T zg&5p6_TX)2Zo(Y^jEfvHqad! z&)xVPnNDD%jWlieYNLz&%CdjVt6f~wl{fLvjuIG_14DRj*+D*x&M^lDjnC};SxCF^ zUzq1sUCq7hn-(V)eBgQOM?(V_&oK7?KhP)Dj4_C1G&%W**m%Gxle1rP9zZP8l!hig z{GeR!KL(+=I}}IlLDuw-wYqaM`rHL_*JF_{vtlKw=_Sd zjk-5+hSNNF(Z!mOTZ6w0{c=}qB2&w{COFXEqaC!hi8@JepNhp8GqAz`z=gjEeB&RO zcog9W$e6g$q&f_5%t^Ty< zUs#({oc}MMCbg^(pPGja+_ff%JqFJej}))U@3~w1Cm2r(ySxP0MN3y-an}^|Rg6nM z|G%Pl&H4s7aAm~*^RT~)9cgd0+UyW6phx0#0Vj%;i$5ZlA(!w+={}k$F#Vi$+Isk7 z9<)=tF?h)%h9djs;G2iOlMj((oEC>c&OLR6J1@YUa#%#qU)7ZH$%rY+*Ao4lf4Tyi ztpo=7spNe&rFbv8y*R)gjv>$35XT><1Nr=nIRmy>KHd6{kx5{bpXtNT_*(aqlQ+lg z8wST_-&cS$z269KfPwvE0Sw?zzH1uV96t?>oSe1O9`!Qd+Ha1Ubw;xvbUDvDko8Wz z=lPOo&dn42<@`oxWjlF>{AcPZ2mSq}JclR5o02{GroyxQlCUi8SXR(q!tt)tR&V_y zI5zzF-;9r6{_=ko9~~w5h?n5QoL^@2N3lQd^o8gneozjk{vJbnXkq+i==9yk87s8X zdbW`RXk}@0-5KTiUt0o8G=Syb0{#!{i|b8HyhLBX56a~oh7Ya-CWK~={yq*rJ~S^n z`0$l2gNLtb9UK{`96YtVYH)ZD`}W`u`LXGR@D92`YofBBx1A`^MRQBD?rG*#Rz|0n z!1|g1*2hZpo7sOd&U~KOubG=(hP-NS3Lbw;FiY2(IS$|9xrv!00B>CHk!h_z#E~%{ z94nty@}~K_n_v9od2|+iXnv5N7x3HoFCP|wGeo2_SasLRJa z)0}9^3LCGIKi|UNqM_#U#y4Q{*|RqGxlVL zwOOed;F&nK=1j_o)9*ANe=fYnoi573mVc$Q0;0jZN@eEb|D=L8eo23VA6sEz3(>*M z>3D9&7kX}h8xOuNLz9=wfB!A@9e>$)N{Ro44m9&k>Bj}&m3aQUv>wQF$@L0+efb4? z_nzRnbY_?j9BrTdrIp$7;wi8HAJRYHP>wY8Iv@Qr6pZB@`lm=H|EKgvS^4>Ih3|JPrW*MI*{=MT=mSFGw4v2XYP!s@^q=e4>!IBTpLJ&(V&S#VbqUn}Ep5eMleFSWZCxbQ=|S^qG9o8Qx--I0qq zYxpYqp^R+uM#{x6v-`&78?<`ex}Tui`3q^vXpF7%@X!l?`s-+)*ox#Oy)>HJ z^lIW;#0L~h)f#TTY$avadfgu%?>#v6S9{$b9q&DO^y6Oln(^L)Gr!C0UNPQ#@Z@)T z-M_2%_**VE;pTZ-L$|UTT0;xYC)x4uR?jG3tK9usZarXd$vEo)`@qG1Wd9)eID`+V zIV(6)3?*}j`5yDv{JBXR_XJaP60$2V0aeDIV8PbRhlpM~So?vCP8T+JO1SMaLARWoh&)7L-< zSL?u4CGX*F(IeA8KCXI&tF^+_rzXUe*2jx*_0P=~S8FGatMAgr7+g{RmBQ8cUo{S2 zA*%*g*g~!S_&Y+lS_`hG@g6&9aJ7AWTrC!^R(rYm+($DJUwt-&t6t6)ir+WI;%fEe zarMb^xT5|mg{#}f!xehV;HnW^Z2?!?LbzHDu4eMSF~HT9@p1LrsSA(Uvx;DU7=j3sv_3|;eqW<~fN;+M3z}ZQo|M9tX z4n^1oC>|2duipDa!B%U1?BbIB5vB8Y*3{1^_VqYrJ1aIdy|W_P{rFsuPw=}c+TB(0 zs*gQRj?v?byr%H;cQ!3O_IO=s+1J{#tigoKc2&%^&)Z9%Uu>T*Eq(sFj}6o3@Uqh9 zwI3Vd`N;Cp=a+o!B+pOc$A0Y~jdp-FLzp5#d&mHjMXgqRebchc&LhC}=4Xlmf7itaq?f4faeyC?9et>-GRF`Mg z>sGvheN^mo`51O0g-pq>SV9}koN>_183)a`PT>>bQ#t77G_IfFjpPx)_a}Q(%QuoXA6#}>t_P@gTQ@N#QIx* zgI)aGyI+%-3G7c|*LJ|K|K3h6V=S8cv+35~`Xh2E-V@59__GV6x&5?pHEmo|ZQJ?3 zF0}QZ#20ild}1kQY2kBy?zXDLlhE@C=$XVPdVEPVm-6A84e-s=@C`X6%8?izjW&%$ zTAEH)w=|vF%zVqNlh_>e6f_qN)A*8?Ze=Yp_&rZ}jgzyd7(gGsY%S~2+q`an0r!kqRxeuVw>C)pc+YJf7awlnF0wlk^vsx!<7bNS!!UOL2kf^{-*J`Nq9kPZpK z>vV|b=3joipg-Qq{M^lt%HHqFdb(Q^)0$%^V{Y9_j!mqkiCpouG3Je0zvv`iXN4cj z>3ii!ET@>R;{6tewli7>D_8#=;rdSm^?x~W{jMarR{<Jm-MN;YD-LLVlthYZ5+8p&y0s zHsQNE%I|2CyWjORIaSS5W<7EJY|W=i_BU_fe2$?RP3d@b!pHyay7jiNg+IXfNPKkk z{w`#MeEc)ot2w%#@occ?Y_ukA{6IR$J@a|D5!%J)v95{SIz5vbTH2K4U61&62$&zT zIXgNVXtMn$hZx&Kn#)liIIQieHtX@(V_ssIF&ttH;m={l@FB)ioe2YEwO&e*ou?L;Bi{D51{Ud(w z;`ac*5AypEIceyr^BUhlU^rBMe0lt`&Jhz|1~kay8#rV0=+`}8+u99(b?1L?N|2`oN7bk3XY7ZF?!kl%($cx?d^= zFST1aQEq0r{++*I&c|8rNdvoY4}>cy~&+hU3lLsd|(5J(b>B~*8#uk zqpLCtD33i$FDsPS`5pMk#5{P9O-nc1xW`)r*EQM)UX$3`Wqo6G+TNA@v7C2}aw~s> z^LHx~Kj3V2#XPic+h0yQ9mo{=>^9=Q^MC)!L@RTTXFhRud%Dxoy#*g+hxUSo_IC;g zG1~YS)?$@AR$pyxFmXJ523ybM!C+_G@LyEFG`FaYn8{)4YaVl1P(Mb@Bt?DghhIe= zXe+Uj^dg=?Yvn6i+hXbCXnekO4eRNjo-F9;CCG(hhx%vyMRc_E_07K_eLcN6A9f#S z{luqFtg9cWJ2Q&@8Abmj_qF5{gSu3_gpSf4@hCb;xh9ioCwT;%{0RP`y%gjKAGg=Bf7vMR05S}wS)#BRWG6OEh$o4N8=hMLa9J&mhK6D|t+c2d& z1^&|D&j){*4Xxdoo+;gmWoGvCoO8H1?-*Ud^R+zR&+`GEgHIoPw!$M}eEy~I`NX;L z`6O$MMfi+fYw`KSw}^7!m4hfnIilK4!+mz~JC z_)k7x{x{Dz$`=gTzRBnvQ|25#NgDqqy>DuFdL7^Ur*`Lcp7W7I^27WnC;#|X&cRIf zF`o?L7)IYl?EZu4IuAEevj1RL$X4UqNtgaezJCnbwU@EW>N8Sh_ZV!U?lv!%q23so z?V)}zc-mZeZ|v~`FSl?u{I-zy)Mq}IGclD2ft;XYx%u|-_2I{$L`n<6F=8HbA#p?6rK9 zQk>LNW+`Qsfs^`)aq?l|WbL_e@=eB5q`x)=I9WS+oa`xw6Y9TgoOChXIOAPyaWY+c zsT3!5l-W+19pI#HVw_wqoODvYz$Zt;zLv9*8$vkw3i0vQF9kZivn)=Imh-nhTn;DH z4{)+|jK3A)lQi;UbPIf7bc_4Vcd2d}<5!2;k^dzfu#xjfHAk*+^O49*>u<5Y;+e=r z#s1c^DY7mMmUw?jctR(HEXea&j zw1iLn^O>Ke_q61EbZ>e;cIhB(XbiM-K5ZoT<2xSY%t^+TVqC@_iCkoKo91}J<(0xE z^E=&p==@icuWR<77w7A_9Q$MgbO$e=lpdW6|JCBB*6=;s&8rG=4fRnI(Cbt{FSTFp zz9Aqm`StSU^hqv^=6iLarc{r^gQ zz4N~jUt3D>b^5tj=xcf2~0g}?iW+l4>ejrj<7{N6uWKZSjtlzXhz_))hL54wXr=-Cr9o5;H` zGMj(5HQL=zUQdR#n+)%ryk<_k%ak>-IQp9?)+wD3#FzJ)_%i*c=-=qS-d9`SZV@mw z7GNrhwZtgjj@?*VcyD~Wx+yv32V_o6OJoCEu$Oq-R^n~$+r`_Gw4YM@{>(&{^3vO` zjQe(FGmBbTH)$m%GbNX8rp}4VM3#CJ)@i2B5Qb$pzT7g{`?{ z8Jwh{kFnEy8@sHysiPV3Huh)q8T%cSGcmH#I^lVOU|}p1*(}E!d0j1gAJB+(2xFsq zILDN86>=X8^sPG|9v8Z=5Z{V9!~t{X1%6c~ZvFN=ztvO}_|3f&zf}hO#``?K z)wGzhI=4V=j^Qc%eC148TVc<%aB)1>ZxK)7=el(=_ulXn^MdW-sTt7&nWrP)NG_oq zbArs%v2Sn&*@4Uw;?d2}Ax6xko#*Y8+ZW*-&trTR@vPCVrzy57SQYO|HDb@o!068F z@EL!e#ts)@8uP4^d7q(i@OQpWn8y2J-$;jWo~NUUhX!YT%&>I4P;{IT&252>@-_4? zyuSLdp=W4)wFi2RUPN4)Z;idDgr5B&db)R_=SKs2@;*<`{t!KBa|}J{L-RpPPrGjC z?qGHO7SR)4ORdIFUt567&=cCN7CpB|2hVm@ByOC`-7d`gv?gkQM+Y<8rw%IjOzWZA z%dGv)neEpNo~^UxGhMvHw|4t{wN`3q3*0*MCAAFNmVtLnTvPJv@Dipi&+@bl{w@~_ z6+EkIqT~}4Xi!XFizoSh^7H;&=QY+ubA6@s4d&<9zpDKF+?@5fhcC~>OrpI?zH9fJXs_Dt&Q@Z`$ibN0V;XSN}_plz`Lp&3Fl$lQ2J1=1z6E7dlnv*NgzNc3QM0}kTD#u6!mbtX zU8%L}GWA{md07kX3v=u550}}`UNk==&h@b7PIG~;HWcTo;rDE(=j=Q!zqU=C*owkl z>U{r3mlx0J{!;j^HuJN*E_eD|^Sg7wCx7&=^Mr4JI+KO(W8=X0tD2HIEwnRu14nL+ z-r+-ZCqCEYN2c7<6Xd~PDml{cAP-)97bRQyIv=3EJA=Aig}RpqedS>Ya^=Ugb7!cXc+k%3LOZhsLy$W^rta2I-L*m8 zb%naxQ=##?PnwvHY)Pwf-$(l&Ri1~&X6Dti(E-R%5*(-CyBB@--bX5o|Ly82Hfa11 z>YKGy^0Os-qDh|rLiKFC*WQ2jnOU+YCHJ4PW;0q(ef0P+>oUiI?J#sa0lh-`CtHL0 z!B#sz06xlF9aL%HE3F%n->rfCZZ+~tU!`?j{#5w>cGuoRtXX}R_0z+w>5ibcPfD+& z@7?7jFcg^_7W>E+TfgjOXZO*&)9j9lex#%V>8wIba>p z+%R@&WHo)P{X>j17JqPrpl!#^sGNbzT2?_(Qtg>Ce;LsjT(mQ}Z?7o?1NL z?jn{KCmy((xZqlN9XiQBPIk5Az9U*d>lFNh44Shv9Ubl5cdCv3MP?+X)WARZD9Pnj z-J`o`V>h2YeERte&<5=-fnJwF2klAMd9*HT(z{Ry^cjXe(rrdx^dir}Z=)|3(MLPur@p@o{6p{0OJC4V9{=E8 z>&3&n&;#K9B)A_wh;BH9z8K;;I3EG$!~1x)pWg@heTZ^HJZt9}I6n!_hxhY*AD=jX zul91BS9O0F*Dt&uT=&p#kk>gLuHRFP>!YoodyU0)&*X94QV!SDpA4?E4bXA{Wy5%b zZ=cjXJDtGabq<*V|EH7>i$2y|ZzB0iQ`YE0`cf`V78;#P7hX_0HtE7iadIp=Pn?v2>|+x&jt;K`EwZ(~n``-fj|&ZsOoPXu|=y&z^?rk?KxWEOZ2 z!h1WhtISQWRouzNTvSfJPu%8rZoQHGPS#Cw8S1eQ(a5OIAF}godya_qNbR7#Y<17Q zci?}z-?wZ2S{Le1x}_FAqr7*jGTaW%S%`O5cBSpWIUp}BHi{|EVX56@A2t0cd! z*E4I*ejhMwVJzE#!_kK^7&*)hrjljnz;p1WWegs)L*~Rm9JYUbVWjtHX z?+$+BSDftP8Spw-hL`gkdX50|FfdDhG=+5alfQ%hh|@3e(;yFMjIN#vecnc1z!edz ztFI$3{P2BOB*-;0evWu$1iGGtzTXY}jWy(?VYjcHLSM>B`!2frjkM7~8&^Uj`L_?D ztK}yRujP9@T*438wVbtsEJ#L#?PTYtzogxAeRP*mM3funv2Wydad35cIf3&XTenp-b{D#8+xcs=R3E+b8iUo+%oapdfrdKbIOCfi*-%ecJWFK zo{PhC5qM7L+HHjAGVr|OIokUvyH{@S=ND*W%>E$ir#I3LV^_Q;25*_YpWq}7PK+K! z-i%KdvoRBg7av@N_sPCNyrh^E_(+2fvuBF^37L(=R=^7}=COM}H?o(?BNiw71fDYe zd@rYNhnI8vWbvi8%9pAXuGSUdYHO)4C0xC~7*|{4nPBhdy0W+`yHED|a=4;?39jru z*_VK;j|f-9?uu~L3$BnCgR2<0+72FefRjCe&DsL4D!~X)7g)LH^!9=)vfN_RoaBF;4y~Wk)$>VBYIb2cy zmBQ72`H(#&eANSA5g#_VS^};%gR8y}uKKk16TZTR7{1y(KCbG8tGIBLpU;%#t3N5m z)zSES7g$_j<0i{jYs%q@`sa%)=_%jplJXOVhmvC3wiluEieXm^BmP=CC#C}YC z)SiIQP1J8KeNEw6>#e_gY~HLX z_uyl7hvPoPBD!_vYxtS*Z-#6<@?qUSIaCsl?1x7Nkndg4bT_;PkGXkU{=A0W*lcWU zY5+Of#TmZxwb75M4b;OAkbjdwRy40nck+7yzr}m){9bDFM+5)G*yOt9le5XUupV2a zJDvZsF3<Y+mn6JFq8t-+vv?bw0-;i=Q+)#7Bpqd)*w!=#YzqpDy8NVxM9~F@6d@Mc3r< zv%DOBsDHlr@zEU_&KFUhl8HGD@Ee@;bFYc^18S|y=_F&r7g$@qYGE7t2pk2vDXf>I zzns1{dMoUs1iH)3hcy?z;dsG6>Bct+$Jah%&Y&!guemv>A16luSY7^eHr~>`^DXZ< zmhEC6IDcn5*&E)0Zd`^=#z(npnwM}n0J4dSVfd`yvi`r-tp6Xicb@xQti5-(G+jQ; zdnB^v^2HIas_({1&LNfFaAT%l7fT4ot<1P;;1AZ}HMU=OW2-^0v&PQ)a(+Mf>nFG` z!-xNL?v`0+oy*^~p0#1K@v-2;os31kk!YmzeO1=*Cw+@ftDcUT@Az}ET$=hm^@&k* zr+~x4+jd4aM0K(Y@V&4JiUVq0M(2t>xaP*i?)eC1M%cG~$g4K*XYu|!YgRA5dtT)| z@QUg8cHqg-cRr6e=u5t-;(Osfe;3~E;8UmAUf^>HSC9U*zz6$7@sM)om#493#uu)p zPxT94#LNB+izmUO`&;rn%ou&j8XmT|Il2nmq^PTPX06M=I8Zp}Trr(EZK#fGUuCop z-T2#~vf@{h|6S(1YpwC6;Tb;yuLg9KKa)h)=3}SicEq#}CEd%o(hGP`*%UNOQ`X|{ zIzz8g{<_2AEa0!72mE!q*Pf66u#unF7VcB*pxsW|?E)rrIcNBH8~??{Z@#R#qfG<}B~x^BGh0uXvBYoN<6ZcV45@6Fzz% z+0M9@MkyD~-K=o|i?IX1V)l;!vzem{X2D83dAi_}TY3cNF^2f}(h!_w&+~p6{Bclw zSq0a5^2dw+8pzatF@GEpeE&oI@t_;ye*u4_G_F^OKmIZVXDNT24%U+%o~reWaqQhb z@^qb?B2(FY(E~e~cNu$U{(kQ<**yCkJJ@0W&Mq&pgR{!n!B5?LH}_D>4&M61Vmp}a zXlWW=-qO^--KUW?4cNnKV-K0*G<|61dD_K#?|^iDhr@;VvOap?P)Of9eQNLXD$YGJ z`X|sE===lY+DFD%WFILTvX4gt`*^g-KF*FFn2deYU0Z|=+=)mhiIntBi+esf;aqU<15zw zUq7=X-@gl(%0AhJM0?t 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Р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
      ~X!dQ?4#E-&1`0@wTqs-QJpQE`Q|Y^2g@0HoTxV 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

      *48hca!1Ct~XFv@=E;zpYvS7RM9w z0&UITkM6H8zF=(H8{Q`vy6A^|5AxHA z%WU1+hYpOAsY4yEM~2gh01QsP4ma|(e|$6E=j@TI(i#bE_QnIl0QCNagT>-L`BT3? z<M!))*ScSVvBR}BHjcV&d*k#U?ag)V{;@4bvPZxC`XxtBrM#QIm2Jz}C~t2;d1sFA zS55=pU;5^$@kf@Q&K%yd(}4G~v&0|av&twj3io&Vu~7`YiLuj)L;e9N)dCf$z^+o*FEDvix-B z@czF0)cNBrXNfb+?a#m;%>n*!`rVC2zsvR4ak_zgzUtBMny0&S2W6*jeZ=bElSq%=mq6E&y*$QTP4=Ax`j_m)&IS_2cI?y6pQj(4 zR5)LF^(i}FXTDHuzJ6no`JvM{S z{L-JiiqXdD@QCIis>_Wlw*+`U$Zx}o!3!+HwcxFPHUKB_1@l%5=T-}6cE5P8{_DoO zAbbwCOP|f!vj&U5&4a|>=g$)UzSs}`?lAV5{@3r2@c#L3@SrQ!z`tyO@{=_* zLe|8v=}N97kT3JachJ(&%xg8CXdlJSRlslC!V$KAqKn9siz9d74;%_T=enyRv=x zY|GQf)@SAEK_j1vuU7>1AIAeaCpU_0io*k|#RD22kWZ(h?-*YR(Vp>Rhifl-&MyZT zKk~;8?L%M2*fAG6oAoSfOZ(U}Sy~76kF%-o&5{m!2JK(M-pI-->(68H@NWS;oQb~o zvUpLj(T@kx_vWiU`qi20dq0DxglG42{p)1<-jj}p1SdG?Pv4tn;XECE?_qes!82HW z?<(m=gTUV#&l3LLjE>`Qr+)|U*_2PeUq_pyLrkH+B9G5R-}~8U$B)Tpar~GO;DxiT-7ljV@*kU&0u^6y13l<9I86 zUTt1_CT;7T&ise*-P|El!#}de>{*}5|13fy0o#M_K8h`7{b9_?v72t3Y5EdgA*D=IoAoY{-&&-?uSuR%X*%?};`H}3p?olpCnJo}`h*B$0O zn_T;PjJnygtMhC^oM)3cn?~pV^>?1lrF=^O8)q=56C;6@d1^b)MbCi5k5BVglO8*{ z*4#C(oyW7W^^OL=)!5sfDRSnI%6ED3o07fQ1bC zWPj&C-eGaKEr2tJui-{M7Qq+(EcxgE=xiRH`=_&ioPVL(JeN3~E9LZM&B-e9`OZHZ ztoQuFv%%CB!CrVKSngSt(`*~E^Z#6XujV;A%SUS!;|T+uIT+NhpX%qn48c=ymKZ#) zd8X*<#&os6)t&=6nRe(bhlgor7~kMac$W?DRL)Z)->t&4>?Uh$Ir68JZ(y9V#xLhA zM#6Zn^e6ZNy<0xMnQ!fUBj_7Ac#d;QLh@A-&p5wj;oChI$9vXiQ2p*#JN@69d9d*G~eTOH{Vl2DDBp})&}COdFzwN*ckHtgX`fJy~p$k&4MIp3*R`PY&6kE{V!m1XZy z3UiK##=OUY?;GG~9k@y@WUXmLCo8zey@CIkUb;$rclBkF@!WNpC@bG^&&#iMy0aq8 zoW0W7{TqF|KXg_9{M`@12jl+d0%ei;Vldhh_Bn>zx8 z<2u^E{3_t$+^(zfv5V`DVC0g+ht_lCzs_EVW9Gh=$GP_b+DF9;k8_8~cHWW8X1#hl z?_0Rffi%c1bDxO#BjYQ)4L?G@xw50=XODHr*9ojlvTc6Uws}{e&8|P6h4yj}(nS&P zuc*EMTBN->{eLa=Wb7-sD7>%qO76^CUK^?7?wVTf!hec#KS7jlZtYWRM&gg+`LEwM z{tYD^oZI__DzCJoSU%;|&*A&he&+v~wE}GZTF?6REAT1&qIInK$i)P_l*E5l=l#yp zeb_gZM=Eb64ScTk#{4xd@p_H$up->;&L7G8{}MKEt~asRX@BbU9dh-|8>;8 z?(p!)H|TeQr4HFWJ~<}xX2D|N&EY|Oc?HWD3ya&2kdM#UdY>kx(4-8Sv_O;j+<8*x zm3($QakZXzS9EM~+Bp2W^G@$DV^rb!Dh|iY`h0m!`;6WX-0IuWM%q3*oQ`vjTowBi zUHjcStn|zz`istp(ORU=R7|pdlfUo8>3Z(G82N!nPn935)^C0MddBuq z@r#?!+&^36O_BM`+Om+_E0dYSNUzhL19(DmGl|^Qydg!sUF>7jKF42iMo5zP6yJIl zhckQBmzR2Dp16I%v?R1hAyc=1(Yq^5`WDigve2v9>m1RZ7*j5IQ@QJgc@dSJ+|~7^ zBr=J;Shq?p$uB2H9dYW=nyB{u)!My{3#cp1-BnTg;)R^Q5JjGqNCzXosSA0QL>|sS z_7yFQI$c?}xU#x9J2zMs`Au2KQkA1~0Hr4;gcD%W+1vHNT1)=hywcqbUfJ&Y*V;aN zFMT=A_?FW6MjN+tPmS=VJz9EJo_CT*Wycwl;-nLddUy1QQoh>$;dRipiSL}RSHFC; zxtmk+-mK->zMj-L!MWuc$9&%K=XA-n4WX`4-d#!fUbqk~jBeWxPDeOAtnorW`x7{2 z{E&>Rt>UhyN!;5+84k`QI1#Oc7wtzDKiu~QFQWGL@Z1ah2dJmAWQf7h@8N;{(D+7R zILdRoH*~ksA1E8L`^ncn^VtL5&<@RQb#74?xC}o>FfOQUubcCq*?)HyN+ivd* zdV%+$L&BU9K6FF-)!}{LnDOc7*cZDl zF8D@mV(+q{HTPgg%-oqaW%<3#wCOR*(wa-@Aw}uC-_rLc@)V=5ctQFv zaEH2<(~Az9D-#N11!@uJHsy(@`)5&ko92jq+RBPe&9>2u2eH1W$B<2k=C z6a$76uS2Vi&?=9vIkeK=ab#2wp6!%ZPkG;=JV&doJR4dm{UG}DAJ#&vMoTMi%&E!g z0M3Owg$bM?s`Wz2!W6VgfmhnGbqL>*OObhubxGnf_yXT*r*P%^W|H|~YC5vV>M8Ph zGQLjsoW=Vc%f$aLG)E!f+b$IOk-5Yz0c>qN4@Ktvu(Pwm1WB`z6roy zS6;R|nkb2UZ`A9Z(w$6M?mN1SkmMf@{-T`1UDyHnt2tCC{J0O)$N=yO4VR3q4NX zH;jB;=aw^Op#MQn`Fah8o7$K!jA|~5OxxNNcaIk{vX>3-zR*J@Lj^=g#RWy zM)(e48{xkQj}o>Lwh$g6e4DVDu!-<3!o!4b5;hVltE_)Ti)i+?4VP@EUoeM=w}eAY zdFP`XD=RnW*WGxT&hs9cdw$(6+PYg~=g^Su#6~Ce&xD-ir4zg1lU;-@JZ~dBPJdp{ z|3<Tpv388noYDBDq$h^JEkB zr&jubY^n)A{#MaDLE2!v>wk&ubs_k!Mtvl~{L7qC0jzm8~bZv z`(!6I`}YIwJT!Ii?F(|^XW?*q^inYLk42hTB^T@BI`@ti!S1OOvwE!D=Yu+5p3oYkqeWZr8)BU_p zE3f)4mSChz5zx#vZGb2EL@*5$?@w=SP+1NG0fa&2+A z@cV_m(~Ewme(}@qQf5Us{oj@^a`0pBl+MLZ3>lfRXHMc-G60y2Jrnw%p^dp}XxkH!ZZE``dfS-?PZiuQAiabAP)jgLsF#o<)8c z2IeJUQ1c=2=sr2~4xV}6%9(d#9Ibl5xp3bD&3XeglWkc3 z*s{~;j01P(eUMjFrYrYJ#?Kz;tUKTgUJv-=*L8t3s$27&xfghwy|-T+iDAcozwRxz zyzXFf{F!7NOUYN8V%WK0v?hp;cS*pA(3DYRcA`g@#xMOei1Vt4^Mrr;N6 zFV_4b)kr+Nn}Sc=Ia^8iB?axw{Y&WReJ#`vAIBt5k^OJyZ0YDi>g8LUZ^?y}(Z+uZ zi{)`B~dm{zMaassZ6JO z_WLO7RrY=$d%vpj2kB>g9&2d?-kpzO6xzq2x%9^QT4xkZ=s*4)6tsi>rt{$BLzh`= zoJly=hAUireDy%r8~KE@kB?JQNY*q zi$(c#P`_~b)vv&>`bE+F^oyqa{GucI6UY_GTBDa=fzG9V0UqTW5gQ9HSGqM+Ux!M- z`w7y!bzQU0>iR<9d{IZoyDS}7T3IWd*yvk3tv%~z-N%q;&)QGj31FzM2pK&K{2QH% zz9gH2yVEJUAKE6u>C4Z9uGpsNXEoA^9yC5qQzGM;C*Q@{rn0BRy2wXcV{5|cco+F7 zQ?^&>lBN&u^ld+J%4>GEBg$l~-C9nW@#>i&?u^OkJ#lPad^7cVs&B6EAM=4ztj`1I zvH`8W5?+EY)t*|`bZE=16C`_RW0E-W-o>mrws_du9`f}MV|#;d?}!V-4#z*gGW=B2kxVr-|KF>vAFt+Q|j>7a2v|jMs=ah2yyDi99IcXeeM5aga%~N`Ou;AjRh5RM zLuh@Ab*pE!pFYLA&dslf-*lgeXf2#+4w#{}rF}6tx~~Y}fpiJzkNq!{gvKdooZLel z`-of3J3Nrw#rtlh@z=bPdx+mhJhVztZwB67=%2f}WARF#_W6EnpT3;)P{HZNWm!MA z`!4r+AOPpf_1-vx*Gh|5$q3=;BLUpBGrw2=8b_S^#WKm{THpdV1Igr})L$^Rl7BG$ zDv3OyP9r~@+!Yy7HfN0G=erceN!}o9?~CD+rj%zf}`0sXz@7j zq7mzZ(e3n)os0!FlrbG2CGjhBbLqJ66CYBRlf64M|9Rrwksly?-*}2`F}w%<#IK@B zm)7%Gd$#L&X8l{XLE-K`*7Q=WRSAcpr}Q+}_V^g@<@yD0jU@0F`Rc{Mx6uogYYmX} zrViGulE`xNOkWYdsvOCLoHD$zw6XP(RVstLYGwWB3YjYKO|y-E3M1HRqp`#`Wvfd|!{h#eLq8-R-a4_t_^nD?JH6 z^s28qngdG;STg<8_D9#=z7@bo9y124;lGQtmR8G=Z=aHlY$^P)40%Z1vg_X~eT#fC z^2MnuLB6E&tq8+g{EPSC!Q@8j-o!iOK&p%PwY;zA-Ikx)5;pQbUk0?{6MFFuUj{f^ z;eF^pnLfOc@;1?j-|Wkf0=){o=mPTR^kL~m>jeX$k>}Z`HeS3{G_r6P;qSP5jUS0YIa6S{9&+_LTnQ?9=-)DvU z)q4i34}21Q-9uPL_ypl!36)j3>zIGo=Iicp)-ms69n*HGh8x z^_F9IF=Hup^iZGccW+}nUFUhb*D==i;=9$3Z;$DFz>oq4*$pyw1PiZVjRQ{txZWao zNt3gmYBBXMq5e6P(FA-BUU)SHue!NJ2Hr-}&(6YYWCgsyy!%n<7C~HVEk=AKyF>2$ z*4K?w7pnY3G{`2n!cJpFCpP65SmpJ%gZPe%*IQkm76`f4}DPDTbIkc6r zM&rnL`R42y!LjDQE`r`R%`(C6@CQEoz-O^MpSqkp4u_=E+N;Ji>6Nm%7`d~BIPm~D z*V=e$qtY-g$X2t7_$|a&6F-Ug^}Hijk~O?fr(RokhUcom-6YzIo&2MJL?`BZQGV;9 zthEG3zfQ_q!+RIyucdrf-x}UK3E(;ju1|+<1u)hC<8&X!x*{-&_k<6PQHj+AVATG* z#0p^O;C&_Ut9b_pNpO(p;C%%F7!$zAxOmFE6$Njyod|bY*Pp{k6GaXfJ=D>8DfnKN zrL%B+zTkKC<-7WH0@}(q2KuEFI|&Z{ZJubKPHgAf&aj!&%l?{pocC>nGl73Huus8{ z__zALsb~CG(NbZEwi6e|B;|;+m3lyo-CM*K*HrBXmI4xb{W6 zxHD>PoiCfOe2cGdtFJ;oD7huX;<^fB(Bcjd*oD?BlUyQeH2 zoR7F^U)vjuT@LxM^(V;HK%JZGt9)IwRCU&B+&jL_*05`C&=7d(zCsz1{PW?TNAy1GKftTIy!$E%w7HKq zN0B4CH$0Bt7>f`=ypI@mT+$6zGVnqpkkniGI_&Bl9GvijG zgYPQ{oupk8=!2G4@lMjNp}qldE4}4D+N*J{rzDhrg(I3&t_txL(>*VE=p%eX1I_;hCh3l`C z_-sh0{TOAd|CsyDg){DeH}|1C+<})E_z~{T7w-5T<398Z?nZ-$vEZr|T(yBKhr6Y` zFXO$H?`?cXUL++imhsL#eNNtG_Z=#Nxy}*F=#8@$IJ^D6AIen=njn@D%Kv_V)(lm z*jobanNvbtyf^c`h4xTalDZO2yw4%5;F zkCGR?AdhAKq$o4M8Mm95GBU?|tU$fqQNtu_PRN>o4xa%%0 zJ7*K~Y?T%71y1G_$wT}fwfp@(cP)Nt_dKF~5__LzzaO|bRaqU~1YWm5lWpPjrj6j% z%ESDzV3_W3K8^Ad(5-i282(_7z#^YN>zE&mXAF|P|GGDMo7XWm^x$82=z8j)KgWXO zRwMAu20r*&dTVf;akPm;oA@ipF)Ocs^Z@1j9{j!HXk22{jM*>;Va~=u>)O2dIRH_{$YH^)|U_CE*oDA#_jf7F&Jg%IT?(C zPjhj>mY|)&q1s2k9m6>eq1K<4+?C%Z!yCuTLMvlQTahuZ7232xvzdIK1zxQ@3(7I+tSMxGY+14oWOVicWM4V*s*F%d zC?R-+KJfl0!s~?B2qy@y64Hd@gjWdvOZX$9vdY?n?A+r{e4FKO5ohj^dd;op`uqDY zeWUhUzA?MMep04wiYW-?dcHSLTqX zN#*!Hw(jhbA+#e}3H^!h`|k11GQHzFCq7lX_3zqjWDoe%m>&jTb;1{Tj)7<2*XZWs z@+ZvT%Hf{+CBr34WP5k8EwHeO7P3pX1=b~p^B!i*@mOm#bwH1k)iam!=24d$qea6X zN^i7yF9z#BI9{s&Kllv%{1N!90)N@STC>Mb^ILNs$ob;6B6k&3mxP$lhU7~roC%-t z(UdvT-(PbRZNE$LyeIgkGodvPl>An_*>}@q_uXvv?$R8lnt1j?ZD?KPzZ-tld%G`} zg=dXb&3qSb^?oHm^^Yc)ymk+d=&E>ptNr)~yu0ejqqW6mTc7e*5%jOLE?ma5DeDhD z9MZkaJ3eeGL*s*aKkR>3evKuroM!Sl_=XX$at$A-EnbQF=HSb;`D1>($`Fq>|8s6S zjb#qL;C~Rm&CH=1fKUFUX5ZQz_MTMNh2HxzJkjihfXUd!MK{e$d>;1i)pBL3JhMj# zx^}=5QFtm!`e53p@K5+LAtSTwUYrK;lHH4QXAyonw$t}V={EP_UXYbvPHrsB%CU?s z8(!93i_sSP^g?(HfAo234>H5}*77~U_l&GSW^4VSK-M6;ljyBZw&>jSDDuYn$%30l z#T&VOW|ryS(wUcOeG?u|!OOS3-OL*{7p#p;L0-VtKR`T@=QMQ z3EEQ&&BQAhm)KuI8scJhzxDHvA2;U?jpSP#7$k?9!+zaComu?SaCJDnk-DAVLi5#L zT0G}?(&bkjvd_=3$xi@&UYbujK>Z zUS`jyG4wyl_!U0M_ywHvNRu7EKJmyt?WH}P@ynIv_z*h%_$XyrIr4TCvy!$f8KP!fBkFr-xK9iwVmiLh^E6e<}((mi} zPQT)OGkiA6%2-EgUES`5zfi7qT&s^by~3SEVaBP+zP_OGYcly2Cz)ZsO|pBgYP`o< zUn{vwd)L(W^v&$AL1&S?*H{=OZH%(sazFSWeT;AFLy4N@k0qv(pSebIy}u`!G0Kc( zDytQL@x=4m6KHi2_9-LNeYstvttwMzU>P}`hqGq-@rMbORlaVi@%~qv{k~cBzVe-A z#-80hP5xy=a_!mMk;BL=qx;cMWT!N~w2QoSe7i53>Y2C82Tp4Rl9w&)V*vI?g_B@h z0{K^uT~BHMj&GU#6YFU!x*hF+er9f375q;5&GIut2h_ed(ir{E;M~FRW@HI_&%3<9WCd1+RGVE$5wc0`L8L@M@q4Q@LyN4{JH()cW}BqjwhsByEvUSI3He# zwNg%-U(T(Rb0CnWg?d_{lbO#zSMim~&fzU^r8JH|)cypt7eA>F6{Lrbne>+4tPz;B z9}CtEU%E1i)`wk1-!pBc4DqMxlwR-Jsk0|teJ$d1(q!@gr-KpMlg(q>G+?`-y(?E` zo=Ll<+lqd%G2Z6!`10tip<_kpI9GjOy4EB7dF57(501~xJ*u1;LpgEsn(`P^n~If# zKgm4W7-hWEo}oI*GxIL&0V}2F6)E%SKsjow!=Zex-mQJ9GbwA9*{|yNYiOf#MLYd> zm^|2fzU$p(`h9?QarH}ZSP$)#KEwaO*zDv)fNqj4N-NoI+KCU>_yBy0d%X|)34IM* zZ8i3P+9X-w{DP#1N*^^gN9%j{pnO|g+dJw1Yv`-MnOutw+C|vJ`xZhc&uhZzJ+fm`&Ba;^mQ{+9s!4!1F2lrN0Z{vW;z?-|@w z)f;&!JScq*-jF*Pyiupg2ac6ivc%LqHvGuXysWIL!%wlEe6gj-gJr%vxFrBnre1Uu z$}uuY<;-KB@ee6Se6T>iwcsrV-r@m%yf#pd@_baZvFV&&g|P+g9Aef^KaXFI89yta z0psU6n|%G|s$%QG4gUOQ_!~55&OP5NvxkX!$Qs6w<;c8GA@kh)1HRlU-_t1H?>hnP z=qNG97R9Si&crs*3vcuiZ`K|7Rz|#@h0}2a)(bb+TmQSwqnR+Sr1og&{ z*>TD2TJX{U&rD(M1RIQWD14n)Y5$+a)|s?wr%RWD);*-v-khH4v>ABh8!ULL@#$;9$G5u(EXMa*=_Zi}y~NiQ z?U`kkR$brnY4soIN4`Im-Op+6+{&ZRNc!Vw0&O-v1e7a%Cl214z*`tORVO)BNqzKX zWOTv#Yi^%z9NZ?rt@g`luUwqAX^tAL1@8@%F_tpM@lKsF>MREPofh`s`KIptIRDO* zGlQQ!fG36D>9F~F|3GlpTeyE#ME`g2-#@Cbf5c`N;$D40YfX+1>(MEG_a^un+*Ou) z-!|hsdNO_FR`HbhCISCcVrP;)>2~7yw!0L&d+BTUes->W4WNze2ER7v7odNUKf~YX z+Sn9pCXmnggi>A)<>@>jl{cGs@o^7j$X=;5X6+xIP#@|gty}A-PZX^6r##mB;RX5s z$gY`!7c>`1(U+6xf2rxb!*?n8&cWpP+{kb1C-RuqnUJM|T{2wbrAs$Kez2_HCFsMu zln$M?SQ~ZLfqWN|z)l;UO~KRoZBUx+b}l6uBEMYD-NSF8b@e*tQl>q?p9KCOyk?)M zXaVmBd3!qkG=ED75vCDp2$faYxyhD?{kh4%xc<7+@2~zDpt<%Ux3A3XFSLEtoq=X- zN46hFo8cj3iCeF{M0^hoj9nT!CM^68|2@z}w&_$O_<$#q&@?4HL2uumjQ2+PVm5K` zVM??IcgFt27^%69_8#htfmkJdpShrq18XO#AT8s_-D+z^IQ^vUCq_P%S^J1N!+K2C zKDH2e7a>m;lXpp=pU@6Bu0$7x(<{Z(b4c4n+9mXxMZmC_f7)qmWi!d&qHp9sec#*YjV>e*^zz58qO?U@6wNPN&H(kl+vYd+Al4FOPty5at%3E9%k|EBhl8t?J^f0j_Q)pT+9jJ< zCXFpi-?Z1?r4hdRf+7xRJ zOYbmtIb(aHe!m^r^%T`N9^b&&NH6^Y?GTLWd%<-7&(_>A@OK;izL$UgiWwj5cz9;( zC*eoVf01#*$#rC)WY}MH{iMpQVHEB~zbKskH`cv#_Li{kGP`~fe&n-r8(80MqVCN4$yFy=Ke6Q$te;TMdu=(H^%Kex&kT0`v@}Fd^!RO}?mk~lxgxZzm;(Z-`RsBu)zR{eAo_n8)J3mPCy?VxXvp&ajlje!wsSX^vIo^f? z@T=7Ya_3F{eJDM{a_@Kl-3I!91^KPq^X%_z!Sjui!1KdAc%B&m9=D!*sX6~AS3j2@ z2S`a(oR6f{t08%yH^CiVUunrxNr0eza8qow9mB3<5_(W{F(l%J~$fQ zq7R0*X74Uq?DDGry1eSY>dVTj{)^l&dFlV}4CKYO=htiLVCtpMCT82bJjWVs-r1b- z9LU?~@Hj5B!~!s+rr-YG7x z=;_*fInUE=UY@n4WAY+j{988t3S=PV z85!8*WMFpvUNZ2xZeRZx){p$@9_T(U%X|5K{hh#}`BJ8@gO~iiZpIMOXilYb(b@@) zw++sf-|@Dd9dDC9pSSPN$GNLpIM=h|ZRO45?N3;o7aczeaF=_hRhz}#qXpwf_CBJy z@>9NiC^}*5Bb}TN`U3Z{%w01iJ&v;)^6w=w-@2|#hgee|Uxtr)g|9~_eqPrQJD1Gf zDbzy!aZ9({@giIQa_uL&yVBUom%94b4p9I4>(Un%tABlA{SATo3(gB1;iVbMI->l) zUgXR_2d{sBSK<89*;L&gQg?5(K zY2Tb|KjSZ&v2O@xlB~PwZz5miyYr>0BHyQOpD-<>%fmyutH}5l)xxKoLF)2-owLSe zQ@MfhNqu#}?c@D?I@_7?$G`;)W=;UC&qFKC<)s@{v94=yW6p!|=R%9Y`^O2D)<&jt z8k3!+=B%Fs5BdF6b9CLGx4B4vb@tYSMeNCLQ?A+1W8W+6u7j!>`^c8%N zG#?6I=AX6l&9A)L8Drig`;P29Mz$hroo*%@xBRP8*fbK2=KiA2pe=vmbl|0~0$Y8+ zZ)l5a6Li^Iq&>#|VD5jc%-F_|dtdbDQ+3D9ImF1YuTst*isV0L?L&7=%C!&8ovb## z%iPr@JK?#X2i9503ie;M?6};V1DhBTek8$I#G1t37OyH|svo+le#z7n^$)T2=liVlJDL-uC0U^_L^R+wXq2 zkN=8)>$m-1SN-&(!PdW{zxv0#Bd7g_{#8{crGLBXN5%}c{s;T3|H|C@4gNoKa{Mn) z{bL7T|MLFozbUtV`o!k;2PRwm_s@SbR6qLPVB0^pc>OQ8M|1ff`mbs)_v@d*9aH`F zzlo|JIXRg6OVs~u{o^bAaYFqsiae2C5Ii4EdI{tI=6SPbq^FXn3Yp>ZD1Pp&a;q2E zv&WE!A6n0O{KeL*+lKk)H~x+GFQ1d^@5P?N7<&ri>^01s8L)=2qKkk&udyuE#6F2d ztbZWyx3k~%CdR!hT>L`f`QAH+{jhvr=MCHa5bI3)y&l08teeYz z*xPSAuJt7Cy<$%=NNAQT}T^&6M5b`|M#8ARlEeCjSz26rJbQc8>7@ zNHtSNOSX+`OdBb$k1~kwVXXMZMd9v;Cf0SYV~*O>HLCl-`t!R}osXzR*w`llXy0XG5L7VuvQ{Op5_Z(`ip5>7jQaAVI)yWzbP zq&-w(?tCqm-b|h(c@pfoOtK#{b*L_sI$9D+v?Ax*80(JKh1gS?v5j9!8#8-|wP$Ap zf&HD))xgvlPH(;nc-WU~_7L+u!S^KJ<73&2GmgD8?9ENGXD43Ew+8;%3!2bgQ1Z6e zW5PMGi(dtQ3O?(>$EFwk>HzwczZNrO!;jE4)~&iQ^7#NCXbxxkStETyd(0crKhSG* zmWp|Yhf{q#Kgc)u_=Ea3hw`iI%sRAqPBsU{X&;mM#(t_F-G1A&)C%vh?ExQFeKTd! z7URFedz7^7A4uQvZ}2ARV|+94%%;4VUb<(+^2d5wy~p|%mV|oRyvO!`&R?6jm^$}k zN0*&uv~7d>fH{j8p1cm97WGffS5x3I1r2)8pQs=CFyxTAkA`%nF7YYlYprDeXZ$ji zce388PjxsvsScBu^x_%iSCH<%|79OG&87E$GrLx@pS>Vj2T_@CBIsXv_Opia9$U7{ zt8bcfyEICtdHDY0S-3Rk-hXF_flJRylY;-$2KTNw7g7uBgb#BDxcr);+rY=;;q+IT zGr09x)u%S&l>M7v+0bMN0RN(r$fc6Q&r|;k^p#f2 z`)#z#@P4>}_b=9-;|D7udup;Wa3c<##f=Q78v|pS=8wnh zc}X|EzyI@+rlSvE%y@eVGI0{)Oll>(x07kG5j3R?u`kmJK-Por66q4tu zO~`x7SWkZ4DciG{JWD8JDgSfKc{7H;7jTwA4>U+YgI?sB_7SEUsH4{3OKQfLhN1o# z(?B`&0aq6cIVM#bHsfE;*it#N`@p18-Kh@B+T-tM|JuipHw%E}cKD_r+Ag?Ud~K2nrS|wAjWN+uS4|RvdAH9XgYF%byE^gHu#G18ua4BuXXiz!lrH zrfpE9G*~MIeKDmiSQIMEGb(h(&dWQ){hNT+`mcTDiZ;K`cb|RkJ-OVQP&<8o&zt8t zIrp5i|E#t4T5GSp_Fj8O4-|x2Kf?Z-+tGQIwDC+}-5M}->n)oHj5l<@MBnv;@eciB zUiS|681vwLaD|h6=oW0Fj5@{RKLC$+nfsGnb4jt=4qKK&yWL!SD1$P4*9Vewkb^$X zA=bX}(gBh!wTapzjJ)Ytx;4So%cb`0rHlk+gqzVR52>1;@$g!r`Nf+lLi7$==`IaZLQ1iEr_Wn@;}~ zuwCrKw`j#Br#*U6XYwKTA8~*j7+U;ZS z5ziCM|K)5q=5QZk&NnNb!1X+N2k0#JVEv8w5Zto1+brChH9q+?-8$m8VoP`nTN*Yzzeu; z%EXKP!@nqerscq=9DJDD+BSY@d^WyEd};^7hxHE+mFK_*xIU4I&p0P}rSO@R1D_kf z=Nj<2ZfJZO-y=R342I8j;B!L`e1PkZ%r_5^qidX`XWvT({Fm3ad3UWdG-DXqSr z<05RWZuZkO@`EjBzR&0TWBgvkcWk|T_E5zm5ow7ME(Ak^VoXgKTU(k)0 zyL24(W9P$iBHxub_GuD1u1_@FJsC6M5)Wzodre4?u=5eeD`VFE`P^Q*ki=ZZ(!Gjn`FZ~$#^Sv6E;!|8!3(*q&?@f z&qhMy_07ENfTo?`QqON_9>bO}G{=VR#kTeATIR9GX#OO+hBUm7&D0p5brjeW1gHFFilM{T}+$^=^NyRNqNQJ41XYPNNJmO5rr$KB@_wO{>FXXim|P0kyZ{@>}h zla0-auDc9z}S_2j3rEa(RK;iE|(5n zs&SxmLFjhcO7&D=&j$+&+JpGg3R#P5Y`m4&W~L-#Y3K#dM;gONDnI6_&9%vwNb?f@(Np+IO`q{Hx=B8&SGm6l|L;LR?hW8OVojUm zYqN#9!@}J8=fNDue=s8hZm$nNwQ&&mUj+VkU?WuoPjHWAfq$!of4hbMkv|`P zCkOno?eNzl@YiGXi*L~vo&lzQ^ww^EKZfpl#O)V6f40`T$xr(^+DdzyMwp+Ncz&RJ z(wN%r3G^$`QRC2?7j{REIm!Jx`_}nj=yPN7yWneAU*w+~l0P+!AKsn29~Pod-zk61 zg%^^3WUbpDm43dvui|gJPaR`Ec%0K+T%OlGg1#y-sy4Y7-KmxAje~9kO3)Vjkb$cbk5Re!$bkhIe;s zT@YurLSO9-7R2Tgjeki0;^$*`K4*lndDJg`d&}D$!A$?5*Z)*x>3_OtL;5t&52d~+ zLR;4&XX4!_)qb7WQeCx4?fs_qio&lkc$0OfN$uqy+3dD`q=R=1Y4I|7cxE11~(8vH%x+~%=`tUq;(A4+h=DYq8eit|rj zH*44V?#WqX?5wItX`xxeF8k8#tGk`F)(`b-<;5ne!AE2Ak~WpMl)PnG@>)OC)5?pV zMR1wCq)p{5n`P?M{#U6wtsm+M1SB^RtboXujeD^8* zN(1ERjO&wCeUf`4N9frY`Zj@V#*ka>XDfes7~V~wYcp*;zZ|`Ne-1f9o_mqmzLKHk zsGIrUv*ZYQi6Bc+_*k%NPIUru6oFT@r|tygNc{RavshqrvXit*`%j7RU)Tp0Sp8xMK7Yu+IID)qey9B)A@bb^UZ zYtM*HaDYv?WC@T=IoZ?d=PTY=;$(htuY(Z0hOab#p((UBiA2i@n4 zXpeHH$L!bb+%xAoK861~LcbBEe|-66^fdWm=%_`S7sSTCQ{x26jZkisa>G8_U8cRu z(UIDRn)UEzpAWyT`6IM{m+Kv_GhDKjrGM6TF~-W&KVH0}IdAst_0-Yj&}b#_twLX~ zMz54Ie><1wc|6bOc{;zRijHoZ_D+Qs)6-|GmP5nd$}wz0}8_nTv6K{TBVKrW@pd|UPBC`j%0RN=U&#Y~wXW_Vv-hn-?4&!dT>C-x^<8>l=;t#?L!JnE zT-w`Mt75m_f4B95djo{GOM1XM<<`(yPBEQ8uy8JPj;d$^PWkiU*tl|<90s+-x|lSh}L%ga(f27&H6?Y zZ!++FaWCFP@YcfD7eFWd)?8*e{d;(%ll+p_Z9;Pc+bHg|fs31azWH?-y!Lt9=Kl4< z-ulRA&7P0B<7eZ`(KjoR?^RB+Z#8G-6Pje@OXg z%sK|%A99AZcNGpZJ|V3Sc$ztxhgK{-t+m4bbO%W%oz%q|CHarEHel=8n@-C|g$(r& zcigi`apCo>ahL;)^SICD4vZ1t^Wb3L{!kpa6w9Y~=*b@9m3t->t}BU<7Qa;w{Mb`h z*jfUQ_LR5e?-1YoTr`+Vo1jah%i$ONGHHIvhh8qvjD==yo4ISZR{enWzg$|snUw~- z?;91^)mu31h=g?u7?=; zfi$2TLj&4KG}zB|HSo>mQon}Ji2Z8aHOjqR1LGTy2RZ18PKU3~R7iC%3JoF!b=+ zrBBYj{F-CKn43FD4Er-{mp$3$6dj&@;|=!R<*9ddU;6wp@;$$;Wm@Q=wM(9453IxN zopm@${lp3MzQgKNF+@E}Q*}9}u4SpZu1J-;ELGQx)VpA+t|_6dYlBa= zIt7Q>cgwA-jD6C;N9C)|Wz+%uuN?#*!G9BV6a!};`1G#5=}FE*JA4y$xbH4cy;B`7 z-qS({sDrZ;4yzvG?R)A*uPcdDPaSxOZfTmic%*5T#v@I$G#+W1O-a#=eXS3xy@*-q zK?n7qdwMe0_-Bh5_tx}Fzo~E1{%4AX(K`Mpy3EMfSXak->-fdrTE`z5NgD2oCttE+ z$rY3ZpXKj}(=V)>^vef`VSc@CM%M%ESAJgF#pS-N0e$q+DYQOV7ibVe-5i%nS9m=9zw5eWcevf7a|}nU2RaHkj6GgNM-@*kB3i zFxE9`oUeY*^jDOvzO#^LSLWSV#5nkLF>aE+Gx`viWpA0XD96)5F9Da@vx`1fX{9s8 zr_vMkJTq1r^UQSC)wIkAJv^?kJwdtqC|BR=_|`U>y-3KvkNkRfmELJx7-jUb*7_N2 zan)+XCBxGjoP4*;w%KmgPa9D!6^!%8?jrO%o=#3OOa>kvb)t6kyg00aeklb z)_x%mk1pI1-|JMV-XCCd_wI8zv#@AKoIOg4-dV_6P-jPie7(SM!s4OzS}vbY3H6o_ zYi}DLIMxL`g86*DJ+pSwlZG~wX=nqzWHXv~s$V)AI%^+;Fnf@FnDs*!a*g8}%k?2H z=`QK0&EI{yV*}~bzL|R-E8ZmUom-EoU(LVjhGWQ3a^imHaP9uQ!}(VQjt;OLr}Km4P<S`?~RF0{s!fZmF?$y_>Bs_2gy6>9dr?Cib#XL z;$7k4C5!S8t6Y^CjXZcX8i~01DX-w7?;kC==)X;V^ag!q!Qpi?>JHb{> z8TD;-hnKYFA1((z*+Q~G-reei`VTlpMzYcGLCSiNvT7--ma?GN2GMh3TkYZ6w!9Sm z{wLsmFZB9LwA(~@M(tk#&xpqL@XM0@`G+gu8R`FA^z-z~y_x%^Hqj44Z_n-yFgNA2 zFgEAh5v^bSG0W1+J^KoWI%Rstcm^;T`e6e8Bt%_Y;}liDAVsrk668+ zx#YX2t8Xn1DZZ&~v=a)JKmC9whe7Fuf`X3*@0fKA-EI0!=@3t^TuT1nEq5HdhcXUQ zhSr|;qBEplf|H(kU>ou*{i1S!uSa?NklT~Ub8z&m9sTG{*=$B3tKk9qJyW5GL2@Y45l=8CdG{Z4J<4U;#@d%^pDAh|jic}rXn(f>_9M1~(btz>eJuZ-Yme29Uwa>V zbVvR>*Yo>U`@4bPE8O4X1NTj6;rrK@^6vBQyYH^x_YLmvAKk+5Ywklq?+of`%jGe5U#W5v-*}~Dm9c$g z=ofdt-SK|-Z8X<_Z-L6t9=;8D=TwGv@y^eiiqGt&?Zl(aYA4I1iqY&vMjrC(lm7?k zf8YNo{TZvWx8-2;{{r;<32O#+at)w0^k0yL{tbiBzw8|8@A^Bk^M7j3YxK4JLBIG1 z{GcZs&9hW$484VzVdv@m(1hVFM=PGBz2V^qJnZF*&V}FSp&QAs{#SARii`ErAOg?I z#;aN6yk3j!sIT+hdF7}NJ9a1KBX7nJ<=qMsk0J zEu*d6d0|_*yZ$PH{A=BNTry5s>JM6+{7@L3;4g2o%7YeW?F!`z7O&h1{5}}anZU!2 zwCTS0~T?u+_;tOD9jgaG*|p+O|!kiTu*Z&A{GD{_V79S6V0c z*mSW~q+8ARHShqsG}27lw+52mh@+FsSo8ittCPta*~&M{x&C|DHpswE?M2Al`2FVL z8<=bTe*89mKc2PzO>G>9m%4ygc1newH(Hy4_ZlajfVVW>`v%{(;p1CJtY9<)o(0_Ja|a&z`aC#{EdpF-zb<&n zyocXC_|#u{^|ryo#-73l_e^2Y5wGsWq*+JZQRF2vZ6AKPgfFe;{SBPRLKqk$!1`&y z35*e74X@(9(xo4I#f1}i44lCCpYWRYyEJejo7v$kWF6!{TFTZ>(GodH!|A5Yq^Ime z1LwRnJxl!bTn?PU40=+hffM)yr*MmMO_0A7T+od@F)rgTr45X~6xqB@yt7>V4o`K! zo1FolUQ7E+k9-$@sp2%5pHb|8#e;8mOyrutRnAq$b&-B&^zqNMGXCfN*vxPAF~8v3 zfb{h7J-kcFyXW65bLIXX*2re|@fU!r887@lBG2E6<(B8agT|8MpQ)|igFFwE7kCSq z?#+;wc28b>GTr95X*1=e+2cc>T;KNgxy!YYmvfYBzwTM&mzOMZohdK#Jve=GJx6f< znQ}cqKO$e5w7lG-rB9|M`>Mc1(^;c)8P~_S zrg2T>`Y6```E02Sy|9kG8+c!l`3-qK%(nsQk>_W4mrI`SV?AvydH!?e=hjN6jYX%G zqCc@2Y(-iqU`2*+0I#+3bIk-p?mYOz2(MG86WfhW7mZyVka@ zJMHa-@&(Fyoif73taHKcny{$t=z}MJgzwGi(eqRPvf;i5lRtkWkC;*W{l40{L=ZI`R? zU6t)vM@(tS*TH!@-)1_=R-Tz7r0?b#UXCG0T3eo4GfzLEelN^e4?avr=hIItAg`?j4Ya*3BgLux1E9To^pGZafMe@+T~0?;+XX1?YeX??-TtagN3$`akXG+}93$$)j(| zBb!0rH7;Qu4SySFC4s-$%Nbh8U-lsTD@=I0CiJ}4W$?}OVfoj9C+6`1xGYKLw1P8mF(p2m`&Z9-->gE+sU(${F~uXi>LfI9*!}1C)`Y$R^F{A z9dIq?Osq(C29A8s#BqUeByYs#P2pHcdDYbK;n-|(Y@&`z7sr73hxd`z0QCYxHvX6v zF#hU)%xGUTj$1%kjcHl%`-oEeg&SM2$k>9K>*->RLz!=0T5|c}Zvlt($&^~%>gm_l zTdjPW^`9B?NqczfPGbjv1Dtg(VQe2T!*k7AgSp+^Lt5jQe0Z%~^0gPb9KbH;yOB*B z`xxsG|9y2=qLVg&XJWKPg0>S)buHzbGu@YQ?sHptk%?bk#yQVzob#;r?4?)L%K6R@ zf8*;%AHHOZIp105A?Ta-v3Bq7Ue}r@Tf|x*XUr9$37k)p)Y-D|h{luhC#db+bxAJm zQaIhp+$gvxKV!Yuoae`yedA7@L;g5;C%{{9h&ICg0Kd1PV|okl{c}Ia82+I1)%)6z zvG`um5*moM&_-)!wbx9Taw5<;N?HBV?R?W3#i(e8F7WF!c(8{)qbE#R5z2~EmiS$| ziFx6krSy5Z%08K`>;;t5NI45t7iF`iBWu~L`B+N-nXBvJu;Z!V4-#<%^##jR^ZqU z-5vo)`a?5!Mp6#K~24_+*hU%tM~T9~z5Yq&D? z(;HgXYW36cjP;?iKfBHT=jrtZVcJ-8M^Sibz?m2&z&96q)AuCiSvkbVBDzh4ZusV0 zIpprj;hnA=&Lm$Yw5wK`v2lYHUZ^!H<-A9RVJ@1xb^ zD+R7HzSFj`v4La^cwBqeUFUEGxL5k|A4NL!^DYnnQGw)v4E_8k;Xf6=&cxs9A%lM| zJ(LZ9n{OcgUrpivY2h#V&4oWQ90MLd{-;@M@D^99{Vo2t4}t%^W-rHq`(vi&gJ}ct zfb%ig29rZa&cn}38>vmI;m_1MRnCbR%{dV>I45E>=R`!{^$2nrWxleGbsbUKO}=GD z9;Uo-8Q&{tSL}54wJsh5*O1N<+{J<9e`JhTy3P94^#0jinI4P}2}bJs4dWy2FR6Ne z$#|xYv#z4lZ^ldTk6Wj^->Udz3ib8*_#^xL*Bv?Mzp|(QO3w6tf6l!Z5AB~dvWN_6 zjPjGE%o(uOCBU44cxa3EVEw<9p~akM^dX&@jO^lzbZJeV2zjEV$c$N2%9_fH;82s<0qrEaRZRX#R zR(A3a(67s#yceWnSyR?7yH@`8UUW~aiF-3wE5Cs$zB!QW?c~0S=heJlL;30(DzTH$ z{j!ft-@tP|<@@^v>Go9L0N+NDN3U;q40%bV=bIUyfuD453U}}{xTAypIBE<4{mpso zVe*uc$DzN|-RLy%iGZhUeWOoF6D>xkjpP~G)OdZX)^Xar8Uv?bK{n#xodD-va94T4 zQ)7}wU~o%F2}|H^%mlPZs1 zHf=rYfwezN3Riz04o;>I2Pe&~dgI>sN`8}H?If5}bF&Lcx18tc8GSg3+{Zrvq2N4`nXAXW?w6{ZR3@ry;SM~ffraeNV_y|cK981 zv_63Ik!T;;no-(E@aUW9ul&D3?--p(c~NLs<2c41`G|!p3S41e5+8XmMS;ol`@CN; zQDy|VqLiV1>r}2+j@CyMI{8QNogM+#BZcp@X+2nb444wY)C){4z_6S(5I1o}putjm zU&4Jcm&QK}xtC>(fBw&XY5U?xhJEpRt2_U6FXt!yzBOb1iF#9Z_f~XOBNzPAALKoF zR3k^MKMJXjxj`{N^f5QsKIR7cm@wbK?|$|(?2e2q=oY@%XQ4zhI5B^pXyv{hdT$LR z)!vCN?#p?%l6R}Xxz&!v7i5f6`EJIkd}l1aQ)BT**MlQ@BQ~$Z>Ns=v`2Fw`7P0o_nLo=t^$VDl(UBKO|&04GbfXbg0pMS6}n?h-@24_KKef5 z>z~~I!}X6{YS!16r1mflQ+|K{1>KW_im}PBS~SX?SHp%46=`p@@{fmhLf1{ubtiP) z1YLXBm*hL_3ld+GwmlQWT8=)9k3lx5VuJ2wJ}d#f_LaN-k05jyHbQ4)Vl$7=d*NaD zDnT7v;4R@6wYd4qY-L{o(M^7a-QPUj5uc~^wN5CicCh85&y5bpP7ZnFr2^`azL9_K zHo${-|v-w=h^AyciQZxzt&4Xiuq~LgfaSA<;xGX(M|su(hHBJV*|u$UeN8@ zDSvfZK2dx$tj)VJWc;&EMQHM!Z+AG*<;$!~(0vW}0crMsI&=|fjLf3HWas=Y1V4@n zByaWclKd62wIU+}=sDJO(>F|9>^%NCC$GJ5OyJUC<7+Sd`W=DIk8=GR*Q;DpoR*$b z+)Fp!-_ZEVPj7E?N=LRi!$(djZ0Wf)Z`ie$<`tcHX01qF#{K+u&K@1vr}V>>zKHaNq#t%I@pL2mZdhN^P5M5kaAZ^IzciG#J$(B?(jQd% z^Oe4k^u?qvy7nOH4_A>jYz*BVNPJ&}fg{NV6c zZ@I7G_z(A`;V&N?{?gLT4W%<4O~XHFaQM&s;rk7pD}IuOf6CzSAHVnh52R>6ZE)C+ zzx6;v=hUC1VV^NL?2VJwHI&}&gZ=WsVQ=~bys&#;8ulxOfc>_wHB>+Mc$)TC4Gw>G zA-wRZ?lk=H_+Y#vUKby|#MSttwua*ee0&67T#F1m>s)%?wRs~x`YdVMobyH=*8P^Y z63Ig8if=WP4u3L@5A?kjIq0@|x=Gtdo*laX{rVEgL-n=o4abl8l!+**^_>_LRtD))bpQZ7E=ZC`Q_|Lx6P<_?I zX*q#+hQjCg+bs=eZt}Gcx@RbS&g{IaVebRKNaKV24u#L&@2zWSeB_5|e2{~o@Y!4b zy@sZ%o=D?^9vupw(&qac&V0`&Kj@;N@TqQu2Cw`mjSn(C6h4iidm9?J`SgI{(ZTs` z3Op$pX`HgYp|O8o8ZYSQ%3zV(m)zQB`Uc5Q_4D6vsQ%r~G`|`Bq`s%n?MH50Z~6tv zP2;4mH|*X0Xc~`{?kINqkib2rPmsKH=B;no`!k;oHhr4KlE1HT>`P?Pt?>@92Brt)Hgpi~e)_^|RsKyQQ_E zG_)lRuj#Y0)3>^qKIO{2X?Rn8%GvbYd)4NKrsF?L)7R+x9Q5tl*wFaxPETZ~ANsL$mDg8oQ`q@<%(bfp&NM`UBI}MIROYj7_wnt>jd}B_9dhd zrZBu&NZKNok3YYjv=@I=e0=6hZ4I5b`|JtihV~07vJB|bf1rp z4ef@Jw%Fz4Y1l!)Dn4$yqP?N%ksqb$Y}z_Iyp8vLr=c^FX+va(ckjmUH=KEQUz*NF zmU6)R)AokWojcQfVPro$yl0->*iiZhpY34UIy=0j|M$BMozM96p5e{x@OCc2W?1C2 z8PLT!>3cc$%Tqpk!N`7gcpINb?q2fogV9yl;oW=n_Zu3w?@9Bq;mz#uHZ6Fd;mqG{ zOViiLQV#mw{y@X=TYYwb;p6P^wmIixKVN{&{XXpUQ6ncfd7*vzc`rZJ)qi8*7>6-I z-lZCoXzZXrcfE!i->>}?GS5r)&IM9DW0*1XYnm@9bAMkT|3xXkYZw>e$EYnly~m8P z`7NJZKfca5XQ?kOu;W<#m~qYxmrra8{$Qn5z9?6CCS_DI&Z>5jk6g$2x1MKwCtAB< z<{75)8yMVil^YkW`~m!4@=4u()7u^2;d+Ph(JJm{>{RTIow{_6591_nKLszo{ZvsF zd$)nlIO!(QnFu9hl^o_v0S6xUI0b9k$~_*S}!*YcTlb*slRtOWD(F`KbD2 z`P(f=Bkbc5)m~53sWZ2|{jz_Z#~BH{LH+|lY z6Q|FZ_30neeY*250UP(LeKiN+;&AqU2%i!jn(ty9`&NGm*%KiLKF~*V*y5XE z4*N7Zqe8vZY4)LjZ`^(S#D6Ys;ezGg*FFW`m5&IxdZBkOc=po9Vdg=^bGcw0>4Q~1 zKqE-@-?_kR_LK0#y8nW#uojlL94&Mnd_!&F!F%hU0I&Q8;cvKf{Xahb(EQo6+4d8G z&kXHafCrjHXkTxxCzEd13l7noJT9FE&IA2Y^&)feEc6+&{=m@nUp7Sj5B)jy?>~P? z{NFc3{p*IP|5O(GN8mr{43~dh8Yq_2FO%W}wTpQ7m3wlu0e(oe{bJkp{`fHQr|5rk z#(W%dYU_Pps23OpYy0P@*KKoq?xEF1vn|g4`8cn>do%DAo`}p&C-Aiv+>&F zIdBwymr~!!9Q@_hm!5AFei8J6%ik`JgVFX|nK)XSo^NT|n;}n`_@Rs5P2spdH;#AY zzz_ZYu5f%!YaxpR?`GEbYz950`%=6UK=%zHzhB5*ukkk?b?bd^^4l_W{ht}4{#`@V ze`%KW55iw|iq?%9-r7IP@K$tA!07)1^l1V5)UV6NTQ~yjv8*}SfYwJ%IWKfqVaw5< zu&1r)>dB?YL(vMi?+erK4VaTPXExfiqA4E}Ni*+;Ki;zu!|g3SJA0s+l{L-j#p>w;6!(SB>b3h($$zgH zVb1K@6m&iunt73{$7Dab@VIf=Va=zMIz5tu%LJ3`gVL5BtvR>d?Ew4rS+m~w?EQ)i zU%(S)Ee?HFtRgQIn`?Q*867h4F2Lq$6s&3c;G4u0N;kn9pVXY5XA|~=^F;Wh?%`pf zsBA*caFt!CHNa8PgSKbS&DWfkPlY0}ywGEBur37M{?KLQX&DpJT(c9eKY zG;#5_XSUHs#*VhIpUp>ZI?+iqN@!gsG}@aMw6eM>gA1!lVE@X_9y+mFp7Z9#tM(T9_U_lztC zpffaxPN!UGoY|*cnWnXo!xpWL_|k~b1m?1y(|NkffpaD0uHoL~!m4>0&BN{8mh6bo zcF~0a!~14VuE3p>^UkdEY&s9W9}kje`yk&8PmTgd=zXuHw`|rQSekqC``L{3`GI0! z8_9azl+4wg_SWWWJ?$I5{IA=1p%LfjUSHyGE9pF~H@KQ{M=5-&wF#Q%{$E+zElRsZ zX*bqgYzpqb(mlUaaw>kb?N(#kP4lTsv(duFSxK*$wr%mZ?Z7dF?3Dv;DLH!lBFPbL z*-u;cA1C&U^Ums)P7OtQSC`*%G|GD;M|?}kP(?xLzh6g&X!n#1HNy+7E+0hU1LFCT zRfE9VznZl0P9`5r8zhe>SEFn@e}^_2s(pV5&0QHzx9^D!neFS2&)hY9XOCwF_F>R= zDttZ<{$|{jDL1!>w#cn?)Q3geYVeetwmLoe$WYzr$svuY9};bOZ`N7zEk)Y{d7<^9 zE$yG8E&QbMnk%cWZgO#Q$88>bsWpwJ-%F3_Bpbg3XX&D+eYyx{(Z~V1=5fgY^vhS=4g9V3ReN>5a6P~0 zfG25=C=K}P_Z22R>rc5$H%BT+M;~Tv2;dS8rH5U5xcgK1VLn?&+x;zzU7c}<=z=cz zg#ubOD!ablKvgi|Nxn+Pd=cS{>&< z3-0Jh=KFo}V*7N~Q_`m+Ge3PTB{MrspAHO0X4I#{M`!oxRzBdTl>8{|0K3qpvApv7 zy)Lip^T|-nb>~Uvrv5&Y@%-tG=c_WFt23Uj%y_QKc)lXzxiaJVQyI^n%y_;$<9TMr z^CvQ%Kc4YCBjb5`#`9$v&mYTpo|f^P(%;56HgJDU*`KUssw&VKBqf{`!aY99U8@*C zr+f%G(jK2d{Kb>FSfjX7?{!9=d9Qq=H^14BGgiuPY{JF-j*Nw;Mg`0ox8P=YhkA<0 z=dGtxz3NZH3j!@rP;I%HMG@b^j&f4?P?! zg<~@~wu0k&ACAZ|aZYI*o9(*JCeq24Srtf@i@$h3X#C*}aG&WU|0<(>-)sC~Gkfus zm8bW`m3{oS{KxWVuy0w3uYWiCjWK#n{^*x)zC`2oVFUMnIRxHEz~?z|J%;>Nb77~% zo^xStCPu}?A2RngApYud|Im+~iz7CR9uO;eT#}2AjdB1N{pgnqzXu?!(M_+7wPL1L6-i zIcsZ-f9~0H$R7vq1b7P$(MIdW{|~=&#vel47_?1@w$MhghyBpSf2Q{+&1dn=lQC@E z9?w4!T}6K4>0*jWq^t;KMJY??b*SHs6F+F;4|9}#TJx)!Wj9jJLdpr+vK8Byt!%|M z7UF-(QFbI-+4CrSK4mYkWh=HZTiJ?j9G<)E!`aHNr|dbDJ=c~^OnBC^=eY5Qx!~TN zt?b>Djc$tWwPjFQJo(i|}~Andeq6bc%S-nSbWi_AU;GN+q-)~TCqC_kUj^Hcv5mA* zdHws+Ytpmqet^il2?%OM$yVZS9`(h9L_F=cN&$IZO;ipub8#FccZ9O!vfqrwW zoZC1>`9pHXH_~S6qZ80ROkQv7x@7}4MJexS7mefC%RQ;}4)O!24b9yDSkESQ{nW*N z97mA`{l3n_aTNZA4E=867Y%*`?e$1Cb=0^x`C>THCE!PUX#Wuy?l52d_oiRTvJ{M1TH2WLTjP_!$)Kt8r zp@;LKLE|O=FMf9a{A{-P#}<5r;gRro@a+9fv!z#zQLgmHp0WPyQy1m-XGc5Wy-pWL zPp>Tdn}P9?%n9sthF=(plr--;yp{Hw2QSRGbU}8^8kN#O%J(v0Zq651R{Xyxw*$V1 zo{^0tb zF@H~zHU@2OA{J*oF_Ue?OcIyV?(I>in8|n(zWZh_^*g|n*i0XQ4W3xVGyRTYCKL1- ziAwc3MX8uc&9iuYPJ9*Lo7lIHbyc<0YvSpVr6{^hHgA}3OOWAIdcMWc4+#r*FZbiX zeGq(}2EK>kQ9q8t2b$a{|AF`ZE^w_TkMxn|0flF54tH=8-87dKDRS=j(sxm2s(y4& z0$hb>ANaccU6F~C{0GY02EBg8b&taykMG>GAugJ223~mNBs`KThceuK2HZHw34+hQ zTSqL6(Pz}5xe%S_S_ck)O&Sm8s1M%%Em+IWhD$V6KCUraf$5nnaG5 zm`uOz0nPsZh{@D?Adh~g{|8R5jT9&Bee?XjnK7Byk$*1NwOR*3n_t5{)iJ$>ew6IxWvoN|R@cn%vslvq!E z9QrQNE_tBdN067T@WFQO$Y25)j3R@*?KbXkVMg2`-%Z>h-x;4iueigFUxqg1jo7^6 zw;11Jjo`Epp5?b0gCmB^Q*R$*!7yg z*@=wH=2L92;t;z?+jU1CS3XxkH~UQDBW<~lZ&mW2#TU5tVOQAQt5dqjdzWBebHydb zNjKpAsPuc$%A_aW(9}7febUQmCurxzFRmty()9vQFYS?lF2%&r^}#16N$;gwPMWej zSFb4MG0M4b#JU~1i}DI5|LFiUVf}j zH~lZX^on0pdc`|trk7vK#yjrv(kp(^lux{4W_tO#Y`o(Sy!2&W`Yh$k?`7j1A0WLK z@7O!@n$z))QQc=s3PU#)c((Dp)5f+j`%{_NN6reV2%Y@m+a1-c<#1@PDtoWg-Jfp% z#L$0}&ghjA+60~QW6j%?1d`VcqEF2FhCe}{M9?Mb!=mU3*__$pm1T4Ot<@#9=n};( z$E+?{Jd$-66@OV>a>v^Du1l6_&CH*nOa59kx4Oi?zQJ3c@T|_~uFufl^n>AGVM?d` zem**7US8FfkGndhe}2K~IDN9GSK1`!)#&#*E*-r+fayEUJ~L+Dnrdu?IoiAO&RxCd z4?D7L(!mE#V3Ta)tO)IMtF&LjpVj-K!?_ZZt}r@;^k&al%6%E0N!2Nv?TAy=7G{sT z1Kh{Y*~~b)%IL5|=&&=c&nkWC&i{*=N@?QIY?1e8hhUq0uAAAw#oR<@pw>FUG;T4w{*)p)I9MKLK zwFcgU;aqs(cs{&9ebND0+n+w&v_E~m>Iyev4`DZz*>#S8qjx-qYv{MRM`{1swTqvO zEMUzGZ5qW^S!mm^k+d<|JviKHXJ5*yIPE;)j?W*P;7r=E*vZ@BrMrQ2QPKrSN1avj z2|1MIfTR5WWwyN8q>GSl!iq&#L@5hXKj^J9D9-@zqGIMGcF#H; zUjP2?Gn)%TOA4${-mdw&jJ-!H6 zIBs8sORjWHbN8Nnk%are}puDW>6gRdj#m?$vC80#z??wE6aj-m4x!T;c0<&0l(%=Lbsy6>5_}crv-}_#k{yqU-U5M-|{~o?afno8A#aB3zKVXv{+sS);tfBI? z6Q4BnB8}lqXry=`;O@b94gI-qv*wSHWz!ZFHIeJ8k6PvkiFmD~ltVDBT1U_ZfKupj3R>>k_( zZ}1S_-aF|G&FB4<+7OtW^PLwQ;BslU=t%=-x${B>tcT6}D{{Oah}YpT`qSYoR^j2{ z9oYzn>k69W%mz{<`@zZdN zOGD`Rm!skQEHrG-O2fm#3m!TgX3hAYM7uA2@92c%kGlL9%tE^(lqcF9;x5`9;2z|j zNxMUqb_cT4ZnvLyuer3F_m`yIyeza^pOtnyEbUxb23PuCSC-d<>z}}fcP;(e(Ywa~ zShPG6UYLcJ`zTMe+{<0G+{1k#_e@&uwY1!motBUJX&J~fviuk2!?{^#i9Mc0meYLL z3T}S_?P{M{fAqoKKX7T+n1yz`DNnR}jJs&}2=_+rnY4S%((aM$v=bjnud08PZZ>@~ z`T`y0J~vUf>Y-0C-`DW0`sf?X^J<>a=lH_i=T$t@chL_Rf1h-$`elu;WKY*QdFj32 z_#Je<;_d~vmGR7WX!wZR$Be}8&|ZPXtic+_Rm4@uRlt?cmFX9~vpGGU{*QOv7#7(p znhzXd=6llX5nIM!`?P(A^}1i(^$>9~b>E&6ig6z6)1PE-v+_$r_g(F+k#pAx%15${ z@_!4h9N(W;{=I|Dr^;u~dcB=XD{iiu#om;h**B&X+gz9Ff2KO@e@=|>bnNY!;6Dd@ z=yGRg@Wrc>@wx8rWyh~h_A;i@`{l>3PHG-4GLmZ)zS9!&jKw!t%DAkIabX4Hp~+4X zd-Q(UL7Q1~sCwKvM_=rZ^(RmF(d}O|@Cz5yj@W?FGHjW#^owgxTsOuE{M-pRFHE}i z#B~>QUBWe)YyR56b@}7BTz}WF!Y|a1f9U$#h814lHoW|c+qe#L^>N)k?ELFDwf*G! zhi44?!bE5E7ZwknV$#OPP5Hu3-aj*=c)e?5zsCFZGl~YhKg9c7 z<=-}J%=J6lcDZ$oPS@?$vCFN)_uj2zms^MLy<5jF7YE;a7l-WS-#%>o^(j2c({&HP z!}opw9=`Vj=;V7pfKI;mL*X#d2ft|Je||pW`L&GaAhPSUJ#_v3_dIz0)>r$VaMpIg z8_v)DbFQ9zTx#a4Ka%#1!>5|_?`K_Z0Y0NiTw0S6Ku2i3ZvlS6NnGAL%>jhr^GF5! z2+wO=vhKW=qbu+w)2|G%*0=t&U<%u{zN^3L>It1u z+2Gk;kOa4#&f^z{YQe2-FnCtgCx6d;_F3?(GB~~F+=Aa3oK_E3#_IZHEL$0?3zCZz zgEsoYP%SZNmw7nt9t5X7^~vWc>ns}YDM+@6KGUi~PvQ42^~%~iNLl;plRwW^);{3U zxY)TY^ts=|Tjo9a+Gl*@0)fpK1@c?i`D4zn$hqjzf*c0ef$u5 zUGt>a1*Fg4@uMZq{hgOPn-=#wN!^ze{5Fa5 zosTJ|@~TiRWlRX6VCM(PSTtM zoI8UD-2QdxA@{!Q2)+;STYAjG`Qi|8J{L$%$pz>BVJSE_X2SWLg_AVr0OzLQF-y-E zEj^E0dY0z7?Ox{cR8D%1txf)sdCaWzbVj7$T$Tyv*gUu0Npntc#w?tD7S5L~oIwlc z@*&_{SeyKHE;s`tQ*c&i!nx4GNt$zl^GyrqTNchU7S2a3oR19w=l0sc9=K$xzCY+-R+;%6;Il(#8!dYqIthR7AS~wRD0q27Hq~^=B!pV6G9z8#p z3FiU}Cuzy91AC7K_l68qBj*O^ zd<*9S3umK+^JNR?t3$xqSD*a5TyVCOrQm!j6V5&hCuz=!oRS4UExX;8y>XDT!S&nO z%3g2F-fhd?W6R!a%kH#gcjYX5QxIJ5I=k#mOFB&1o0c3fWo`-{a_>uzn6ftoT^nfA zQf#2T#GGbn%S}OW{fBI2W8Xl7O-qj1vR|}iAGc-iHE?fQx^IxO!F7JNviI1sW47!* zTlUMg>?5}9=LRVoT(8Pj_90vLo3`w?Y}sdQ*~e|!Ck81STrbX6_KUXcf;vN+V6l5& zIWh=YSmR(}Y9&5`kwPl~NW%mzKHn_gUyl;kFZd&q|ExW>& zJ=vB$)s{Wd*dm*jj>^x?C*T^+R(5f|%O^8!+1P*Lo2AvZ>{45H*&t$BO)9&5|4 zw`I?-IcBE$@#7i)^M%_+Y)6ye>^m1V71((6^chgwS#SHPGXwqU-DaX;`R0dpY0>5k8CYMbuhfg!b@s{VUE6FYV8?R|{W91`Ew>t1-SYtvmZaG*{7(I zdo|_BPSl(Nb+VQs8O2_#VO_q~1?cRe+Tr=_&iQ%m9|q?@0co6?{|HZpM&#F?9AWHs zvrh|laip5xQ~5TX_t?v7S1)GE#C6cVig8l=4OZ{_sCO3i7M@?&-gZ7~%78rzZDX`Y z6dbglgW6kj3@)wRz1ud>Ciilc*|=WKzZ7ZRH|r($_~s}?uh&~gn0VgqYSyE)jvN@z zyCyFgY069OyQTH+@inzc{9#W_0yeD?>2Kv)&$XOuCD$sh)m&@1n%wlA(6tR7i_gp> zrli)aty+hFy7hAKn3|W2O{bojwaN0S_<9+mHhk}NM?|HyAm-6R0$@2tDBlRuh0!A<9PkXGG^(L(&-I!h4SaU+ntQWbCc4cyKjM_Oi zr#87{?UK_`@j^Z2)^JsFRRb6883yN@wI43uB7BSTEylNKeQh$jl6wvJ<=iW4dC%{K ze8*1{UCHmQwApg*o4E)1j$cM`%-YiopQYI!_+NpecWc0`&ph%GtW~_3A7jsO-l2K1FTI(DyV02ZL;@ctZQAJSA{H9 zig%?C`bUD#DAH0-g5QbF+<7+V+&1&Ol^6oEmc~7wS^jzHh8X+q7EU8}06%5RKfZ0| z!YT@#7YaugvKj#S^uu!W(;TaxH0MyfB6#|1wBwa6Z+Bc=;3Ov(JIPDn z+bQs^U@BTsarz#7!pxZ_Bk+;p<-f*z!MGP(w?T)*0@l_$&g;EnyB_Fm%By0H+v6%b z0X<9_Xpxxjrb%$NY=Sg`UFDOeD$#86RO+4fNEuMJ&DTr5-ZduO6K9n@&z4R73DTs> zUgMT+>S?YOTxnVtKlYknJA^BiTpv(9ZwtQ?xw7iXh&0kke2oYp6pj~tZN$Y}&Q z)q49BZ=8Ye`yH1z_-)|jIobrgjHk4Ybtv9Qvi?o97{D86SpVAZ_8qx+WA{+-qD#zr zFm#E^*QGt2g7B*5hDV~$%(+?cNgTQ=euMaxcC!YTwp+q)#hTT@H|MG+9QfUV-?b-8 z2Y5xL!(W9)Z$gu|;MWd*ck;W7-!Xpo@%v@*a3C3}cTB(WS@etMk6E*oI{V9$qaRbI z^68uM86K*KR^;FA3_Ef%#y-}4fh7C-w@=I~I&$h|&Wz`GH{YIdijMTYbMJ<{_jBg= zi{w8}d!3*!K!)Sw_hA3>7l505VaiHSmS9eJFdyOfbL2h7{5Lc+=ZDv1#18RYvJm6D z2X~9$Ca)KdZQ!l}ZqgXIj{rA*{1n{Ba=^Whx(@)uA>c+H)NUT!a|Ji~!j#22=7DhU zCeI%7?geh~qyr7AGvMaCft&9h+zo=8ysVEgc@5n3(JI5hy&Jgq_~71~1McnQe*_pF z1MbzpO@0sVj{tX=aw3!yCBNwHoki#E1sM(6^{Tc%^5#@8T0>s?=JCF@qMkkTy0`zD z*;97l{%aA+qpy;lf1-l6szzs)(`Qzob0^AnnhTusfO$T!u+IHAbN<-DIey(|<~yus z=e|2H6fAMN6P?BOcYxn>x??3p-QJq_*g|)2h{f1FkvZ%UY5HjP39ZiyZMpAsht^|; zfx)#u?4ENx8~e=cy=V8Bv-8KXe|B;8_LF_Rz>WVp#d&^z95p6A$GsewS31dBa6@*_ z#toce3&5?>#qGgN+~!-{N{4lehnt|y(n*2jvMJ~e#aVz$!qTT@s^;#>LsMSCey%tB zPwosl1tH`&sl3>}&-?wZ>KA37+`(M9=f@OJ70{PO=Ft9gp*^}|^ayZ;KNb6X#=rx8 zORw(kgXd4y2a>VPj%^F#{>)z5!_6M>5wquN@eXXP`(3(TciPOsUy5GhtTxsh6R$KQ z^s~hSZM?5r+U~G6-XBM$*9_DbQ(p=EGK#C1Yb3ap@Xq%f9uf-Aa7*0ms-) z;zj)#d(p=0oyv^Y+X$YUX%F~5*6AeUU9NqjHU6d0K2Q7uE#M#Khv6S$`$oe*1@I4c zP-P)6U0mJRtk^~$->n{)?+cr0r&W%z*JYp3PF3dY%nq0C7m4n)qxjYA?{OeM)J$w( zGvgulSxLsAy@}nSofP*NUkEQCOR-L#;kj5BclghPVF|YPBHBBMOfAk~BQ0gT*5+Ik zs$A*zgOi9IY9pSbZ40&%eUNx)8TJu&f|*O!It{JeH{*wyz%bA5%S#y%&d`kl^Nqg) z&-u`;5}uj~%<}?nUr{=@yRYK9?o;sQ-Q%3@_2qfp_kx!fD|;97>+6_X&#Y5?dpCIe z8+#OK{ChEcAiiyZZ&P{EAL3WkTMk0ExHJv zwC;8HU=~h^vUH3R`vr`N^Q<**3EZU;%X&ADWU_f4@JMK{}6H|jC5IKZoY_#&i_k}n27i#FAkE@9wy<==(* zKWW?FaJ|S?R_^XkrM8-H+A7fP?RV?-AMXB}XZIid&{n)T4BU#raX9VMi`@0WvnOdk z*)GTVet_>!^ZgmV$7s7aZI?hMjr;*;6gvFuql~MdGi~@p5jbjG@7K@0=yjEK2s-^r z^cq84AZ>S&w(Er_Qg!kDX}&+hcdtDYv~##xvPWI$rw3IR?VVYNXEVIt(!uXf@%$g3 zHTx}Q-=9W2>8D8^I7@DOsZ0I}*~)(XsIwftYVl6Pa`rmNSH9%->)JES+i%f>=akt` zF};4&_)VxUN_{c$@^PoC=i|u733!*^E=|*WOh)Zm%U}EII0Y{m`7E&K0c$_Of{b|2 z_2AS_JsYV5`pVCfXh#;PTjNOSB=5cFGjR9#Dm49GYVW~?8guH;FmetmseaO8;0(>5JFibo#IFNRJBzU(wo2 z(6i778Hj?PsdqjyIhT6p4PEb@=UDH|Z1qCR2(*-4Dp(A?pv^Y=)&w+ET!hXy(%x~b z$xcR~Pc1Sh7#GQYXt^l#^Oxv%n)q&IQ+8@T{Y8Q8FZ{k=(LnvuXkeL8;I7xQ^(Gas zB3t1>V^duisx$lGSBL7k2e(v*Ui_kSzc=QOK$mQ=JRn%s01LE>k|qWnhl1smrYx|m z0Tyu11%#JC7+d}gxi!j>_|^VMxr4L;DNHgFac<7zlyAK}2 zKlQ{oeoO9Ur^hHy`$~uT=FxpNZNDv09lDzP!9~@fCI9H$uYNdE&A0|!`>JcJ`ZUHt z)+05wRS{rwb(ZUY_25nE6#v;9qKnmMTRgg;GkXjgP|o);?RY$;8^(IJh;uR}5Ta zzEdT;Q+u(*$&;Y{hzUQk(AogEkWTS-v{M!5(=&F-+rgUSmGqA{N@k{T#dsIzo8DvR z->7~Qol}MESD^z^{_r?|;8fLO zPief5Y*J>Rs;^hZcB&vWwd3OwnWdRa0=H1 zj9qMOs_HYQ;VhS`I~#3llp&J#nYz1F;UoTWqE zX^o#F1#5TJTl}S$_JjAKEco7h!NB$GM$XY8(si=MHHMBM{s`L#TnU@3{hUJ z8XiLTY7Z&#P8Dg_typr!R?-Hc&k}w|k%3J4G%^F69uCq8o-7Cl#dpfih@odBOQO5R z=y^`debPN1?3#ZHLl0N~xpRG*&s2Ged(j-4=2}vD`8JYrL?glP{~n>f2;aT3O}io^ zndKk-%G(_;aAorGbv{1+2JjpE@POUVY2py^*7ZeIo-G*PDt+f9XANc}+Wn2Z{fK+F zlc(KDCN?_B-p%mHOny&yk{UA$k2pG1_Mf*;#7wJ1x+jum zzuAYdAavJB`uS#Kr&V!|L>2tK(?2FwEJZ$L6kyB$2XlQB3({+YNS`djE{ZnWJ|8;M zo>j!GB_r6#^ySajwN#(oms=bS{J?I;ao{CCb6bG@6~IkrI}%67JQutO4HjJ{`)qos zdmU#pE`$$))QgSm;W1BmG!4YVZ+i$2Z%pzqc*tJ!>=q9XY`{%U%lOb$Dr*gOETsM* z^)DY_ckRryg=7P2|Eo+JFy7?u_n>(W(e)<$G*??cjpX(o=z16VG_P_=vD=<^L(^2g z`q@=HSLs>f#!hUJ7V^k0yG#4Vw~Uotxw9^OrR++4i`AhbY`Hl3;4w2dwTOC#FF+47 zE|3jgN*S7m)?L01wXNpEz41&~JT@8HR)9Y`NNp6YfClte3$0C{{z@_!U8OOr&OimG zd8D83B)@!u_OZXeIs*HqhWGWx&VF3-r}4dfWKsMx>cbslcYgx^MB$DPbwKx(?zmb$ zsl1hkW%#%o7(feSCN)?xEUg~uv>!&8d)_&0beO5JtzxdoI_ zM;W?nKG)!hd@MwdO0SI8d+5~&onqt>41RtR46~ry`+;GAEsH$(^^9!ybCHFVUE3<1 zdeM&Qx20`c=Ao)$J|DiTe_a3e%^y&o;@jV>8G5&Z_j=k9IWjh5ab8s~GI<k_^%B<#KzsZ4L)qVg|=S~ zEVO5|l(OgY8@}i*t*z=U;TfKgAGNoH=aG2^CXJiJz!aHI9t)GJ|E=#99GbuZzf{#y zCvcQGYUAS-y(Qm*Cq|n$(}pqZs2JbXuCcMTRWV>dHyOM&uNNmRGV(+%-?c|d^ADZd zV%T*`=e1u9Se558(uBzqA;LR~4=#6{H_Z4*j(?8&p`S-r@nQH-AQ@2^&%uMcq0Ju3+)Enh zAE6y&Pnq_nPjPJ*cRj{3@c{j#)<-OY=8MI{E6D@Bqr@`D|6P5GneVFnIBB)_dH;5< zN4OrN+?CXe9=Se1d-E;AH_g|@_!cLh^l@Yj@0xhmtar6l@kZXy;r(3R&*S}k-Z%1o zL0*+~v(^mg{5#E`O%qRblD3PwNGm-mJrzTDXq`ul`oh#lOgTJdeB_%P&hU#C6oo$i z4ftujt1~B2W(8MtIruF^e+F~=Tkw_R=eaU8VVUdaiGgDr952S+95%YB{b}^>!>q%| zrhAK4EIoaUxkc%{i;G>F7p$0c+TSmmc7X30e}rPRPpqBa=;7FOC;4sh(=_$9mxdPi z0)MONw~da?v^_K*R)j3=p+4z)uRgEOmd((Kyd|JZ);^ZJKP2yfJ{BFVe8wh%Msavj zy1@9)Td%GX?IOGv9q-oJFq@%!2YDLZx?1RGve9K7uzrKO{II1?Ab~(axVeJ4k;Z{*P0?S)VqQ`^)q-=&L5_ROp1R zGyNj^(DaKsugbJzg{xE5FE+qmUY^C$agAmU&GKVm=)c-&&jsLh20M^_vLdf)oZ?hc zHg-foXd&}u3z;v|Z_QiXf$J?1%-fVp5nlJayUj>-!^74xgQDiwz+^Oc&v>s%UVu*iz zS?EFHNn_YAzx=NB2)GAlhdW-hvoIvucAMw7?&l&#KJYg#^ zM!+u$ev7nD(AE`&)~+9keC$^j>*pCclTM8F^ZX{y9z1X2&&Yts&kvq1&g>%$PvT#S zkEKldhhmQ>@iEEQkU748{lEq8`oAiTk46n#|JToYw}Sj+lr_dN)+onWpPVSkPxi7d zxQ}(kCs|W`svTLS6KJ^JJvV9I=wFW%FB7l-@Tfbe3e)` ztqc6!YQC>>_0cP<1Igd5!B3v|J~K|doc4PK{q{;nUh>Czf#hRFf#jnjNP|4QihRF< ze81Aq8YuQF{PCv)-8*O3c0c-8b=_xTBST-TVLrX${Lrm)xChS<{o_2RTR!@ixK3^k zBwyw_)e%VkmMhZCTDex%(5d;t{rgwwLw3_Pd))aR@v_D( z5pXm8-+@u4{}aEx0{o8_IiXj;?Ujz&qI`R=|W(1GjZbI^t>G7nnJhZYN< zMI*FW2rXEv2rbYT#i4I~nYtdK?#G6vh59Gcmw;c4HF`nyCE)lgXwm;7cpqmS+}8Jn zv~E&sd?M6;Qv*6+Iqz97X>|(mGbx=iAO=S5FdG^B2x}b%=m2zzm*41sRnQvSG`^bq z8tNKDyWT%G^dRx)(gE*pM+ZCye;?ypmUfMeqTPrENU%0Oc7QSt(QZe8A6Zs^6kA~1 zjlL#MKjgLBt!lRgwA)+sM&R?~h5hKE+sZf6Qcgl>ViPqor+>*42i=vPA9jiv2MX}dDojy0gY ztO4!g`$@jLZ8$u1@mlKJO8wi~|0=F*0XXhZOQhBoxZ6LHFp?#WBW_ClL| z(8b@j)wJavVA=~z`+#pc>1L9yGA~(f*0r;?E;u5z>DTl@Q%PIxwtEHNf-N8S`jV{e z-o?DcH(Uz_vc?l z8@VFKXpa}E|2XxXz^05b*VyN^|A^3c{+aggr2ejRXn*iB?GMf|*7gQlXn*k5zMoNG zh*5u>x)anJ?WAqHpwm|9v^|3l`oXmmKIp3DJG{9aUU-!<-*l4kx140+3^s}32ihlC z96De8@G^P&UE9LthiQZILuodCu=x!?6abs}p_uzfqX%AdzWX8k7@VyKKa3iJAH4p| z>u>$KKh@WEeg^3;Cq3;NLGGd@N?*2Pozge)uGyD<1?g`g{jH>j zFC*{;z7$jbKP&xe(y#HQ{}SoflKu|T!>`!LN$fXM{y!-FO46_LrN4pnHU-1jAYRSu0bXnSYEgf5Dx*>c{7Re_SAW!9e&o1c{!=%MQdIoK>Eq z{z>?TGV7n@%im1?Ch||ok$+m?|6}j{`O=GG# zCxOPA+SH*l=}hVk5GXiN(@MQm)0%WbMJFnpqDGBQ&`1%m141i0I5)Jhpo4dypo3R* zIOpth@&j4{QDGNq?)$U$-skKb5`H;zzy9&%^;+cYz1NRtJ-^nop7pG?oTIGw4)H6KxB)rwd3^o?>TC}?33RkSpOj1`R%PCcrvA4Cdf52H(c52Od{De)Ic>`iJfe=r zF43Gmi3tOi4*I@q zu6wo^=e?SB{tmuhMmlHvv|;)Nyua3bpjvhnsfJWZszN_@cw@&E=*J1@$E(qgyMS*u zecWgE;(UQK`|-V@zbR)^PW!=Z<}gX-FsYiz5PMyFyOP+jzMX3K@Vt|JyLeZR9kK{J zq=EXoBTj4^shQuc0UN27=Q?lB=iyQN!pt7AiecbB8FA*FWZpm>{TlL+8doAxa@Vt@dE#%uuzU9E(2HY#Ce*-YD zJwLc#gMR6GcVpOrelKY5@ftYarup=1?9V^O{Pp({=QmrJZ*OHjyN%?1U!Py@Y#3AS zeCM)q=g?a2F4$l>uWkgEdSYyrhn*O8rWU#L4#heStOz^tE%4P=_zt@j#4elNBx>z85|mPnq;LRvln>$_KsD!`!(+=#y+gb+OOFNe=R{SmWnTF zw~ACvDkCA|3C4#+sj<2DSj@8&>tDxyW5p22CK|*hvI}w?`2~d^8~oUmNisI1G`=8f zn%Aa~Kl$<%yD3_kxW?j4tYfRr(dIe5uX2uMY>Y5tc!aSyc7nd2vYZEh!CVX(j4vVq zSA_M3JE>1Gw@(XKW%NffR!oxYbd8C|`@kLY5=UMhybrqAl}X9<@qlK|P~q-D{U-I5&%HbXZ*|jPVC})Hhew6x6^VCz7HCA^L>{Ke-AYF zeM6%08UA5t{3X_8gEW@ES!?^fOGsP!y^ZzEEtYdPIwB8vUZzZnXCJRA+S&#`^lm|~ zp|_sJrd3Br8v`{84V6ALg4_3oZyTwoVqWAH4zoqjmk6N4F${7QnH1p5K zPyK294~kc(ZcFN?o#E@0pGSj)L(oU8K-7TA-dKR% zU!yqgV$1mi_N&(Ww1=b*xKow%p^Es~YWi44su-##HFr;vg8DKz4*zU%W*mMOb-U}^ z`R;w>S8IK{V5q;O5BeVlwj;Df+h>f2hr{SFe>}toMcW-8U_6`wj^Q1xFPk;pIsC5S zH~q93E0UB;9YL>oGMzfW_fmL*KBvb-@X%YD857&UsbUNg9nyocgDKw#Y)dHHL)uB& zMcNHc8pDj^>~Fdgn~`tQgVK>U-^@DpQr-kM=jP ze-^*OB@@Q9RpwjHdoE+Y|3K3|>CMIP)_VfHHG1))llP1XJGaAITJOE70R1@@9vkQK zQ2yd+C+{8uY~bC*X4HDT1wIXLf$LNUzgb&I&9ofdB{;YZ+;xMKp8TlBD<6l|_ljqD z-**1v$0*>+9zXo@MyIa;x6%Wv_}gxD`X1}mYoifwZQ=E0;CBnKZw01GQWdEhnrsO> z$*thHjB*vgSQ#E_BZLafJWaCS3my8P$py)bS3W2+1p%44-LoTQOX{EG$DHqO&R@@* zN8_(aVs*Or`XUeUnPKOp{Fc2N{++&!m;HWntC{cld5|5+PcRPD#MDr>kQh*Oi#fkO zVp+R#t=wI?r~ly}=UTaKu|n`v1TLsYc5$%$gV3RHa%S(>&lb7zzc*kH8~b~lVylMV zKagHCok3rSgH2XJ1KQ~%_9#UhQHnTRVhWy@-cww$`3@{8^7TR=?R)I@;@$rT-+x5B zd#82HN0W?$>>D*UBkMn^qxe$3XSe6iFSKSS{pR-1+b00Ot3B=A>8<83yeu8k3x8{m zRubHZ-?UdRRg{SxRh*Od1}33{-uFVAmlrR*Get~r?>Ki4Uy{BFzA$)~{3b*B#Ng*X z>c98L){BLm7z_G*=N@`A8Q>(!9 zG<*!B;f=NM##XDO%F}_eUs5Z;HF;z={+ws+mo$0X-Ms2^YAbiUZL>;d!we!HeU-Y{>)=emc9=3cr%mr= z+t+!pMfpA-*d|Mc(Pv+0uX+qRn|;{i(;i{LRt7H1>B};Ha~IPq+;#R!Diqqa=5+I_ zHP#c)%*Gx`H33&MbZvzOjr?B1@1@WMIgmW49=kZ~B+>u=I;+`7!E>T9?5YJe<#!#h z(4QpzN5)@xKd@+BPj^FVe|I*`pqrstEB%r!p!z>5xTr7g)u*})Pk1=$^l+pxdO7$Z zUh$Rw(5PLb-)LSnI_HUJ)>xz4gqJ?>(hFXMuRieA3%(RL+Be+yn>d3Za0yr1w`j&#>eYQ6L4F!y%OO9#)wCUupCDfi zwdGv?N^)vdvb0DFa8_h{IKVx?_%hYSOMcn zedeC{oGZ5fQgMV4?$e2nwVWweThVV${mkC-XTJ5@8}8Zr+kcok@Y@@nDDNmg9a$AV z{nW1P^2Xk*aQA~_H#6o;Oz(+F#{)uV*@@!aw2ceCf3EYRilGzZNgTc~xSknyX0tcs z7U7*d(&Ibft6t7|3Em@`Vs7;8)!}D)`KvtAKY5f{6Z`mPee-pKe8;hBcx%qcbAunT z&s_IFUk1+`7?^8m-)KJfCkFfA!v`TACs0i$D z>nCQ>U;osePT$^GXYR8Yy1&i%$dHwt?`PjLd>WrdJLVjW9PEnR^&kHm-cOX>VP)t$ z-f!FUpHZgtK{sE{xoDeR7GBY~vQ01-7<#$$iwZY>`!kn|-s3a$Mjqo!=s)skH)YYA zetc2=K%c~sy2fXTwJo@SgUe$VT~K5MF(Q59ed2m3;ts=UC1$eXpcH$i3oZBk-WkkJ1@!=gprN z(AR}tUv2nvD*YvH_0CuT=i*QG0lof;^sMgQ@oj#C(-H8|!+R_#g=%NH3c>e&8{CiKg)v-5gsKW{w3PK<7o=HJhdzw247?TX;d1 zG(IcVQt_+vI5R}!mp=~+(cd`VH8;2U?#uBc@T9W(rm_Yve76g!k1K{3DJ6g9{Seiz5M91K^5bn7?%|ER{U?0erO)=+ikHKlmq9+w+qjhxw?r@_s*yB zWIstfgk-6IK}P-+|L~mvZl%M6_#H6k8=ZN6gYcVlov292{xhS$=+DslH~V&xcyS_iP4e~T-Dl|RCLcaxR(>@M ze8(zWf6Hgg{n}anmLt@C95_z^Bk*ecOCE=}PJpK^@X}V^0fTrn39hh}u~po7$5QW| z@Mykm2|M3nu7$n&gU-`Ak7}*a%rz)y<`mSU`DcRX7;5;|nOCv4=+3JW#Mo6ns4)OKwULkK#0q$O70>NFcfc=o zDqFaIjrMOWqJIs%Z?qiU^LIWn^H+$@&2taW$H{ks=OY>Zw>)~tFCDK4Gv33y zYhB)bm-s;M#q--JC;4LkKx_%W5A%Ds%fs?fB^QO$_J~W^UQr3!Cvd*0+m7nK&7IAn7qf@@;&HI!~m+)ty0~=HB_9 zT``V!12L3Ad*Zz9wdu5r{AjGxC_G_SxusKR#F zS(JrY_8Q-fy~cO!wN09LZL9%y%KCFB;o0W9=H_-G_~W;+*GfHmt(Z0@L9fcN^JUJK zvw5E^0|w}C&w;izz)?$C`jMm`nydN!h)t*54ESUwdBN$q?6oI+yn6Af|G&L<{rX}b zC-B;E_S&&l*B>xo`~g>GY&Pf;hc3o{R1ZxilAv*{7Mh^*v|s(|$;d49^=-SLotw7p zika^#-W2-Ap>G2E+8xL>d>2PwB&zhx-l0z3!GE&<64Q9s$-8#rTXfHxV~lKK9h9{l zXTB?!o3i60<|CIoIoD}&D6?04uH@2(-Iq&a^SkG?p&wRycF#&<_mDSEKVAFR&0}QO zn`_yeS?T)(HVtE68vED8)10{;kpNeADSVDxrRe|QB-V}LZ+}j5(?sxD$UEK#*Ae{o z{dvht0T?tdNqBG={o$P#F>sFaBGT(Rb-+2{-6pqpeob=Zn_ z6K~s1G>M-5cd~ipgI>d3kf|De!!v`7;i)ckP$xQQEq~kS?+WG}tN2F0rFTqu^gu6q z!1wpX)eg_n0s7n9=B*20(;EK~V?#G<7v?N&Y^vG#?`03j=ZC-AJ<|^OUu5jRX3Obz z-;VJAVyBfni*4LnmN`>fF;?jNnMMV`uZ-h0k5LmmgC0SvhT}F5{mw=YU=x z-L;=sW%{iAaq5wLy!n05k#`Avc!_{LqxR)jf4B0IPk9sEJG@supXK15F|Sxz z*~|Iv&4IrDw{D&6kC4B;csg}>{eE74bI~nAT=SHpSF>NYdGiP8zr`J?MP7ZHa~r>@ zSKqPw-1>an`2KVoITKv7utQ^iM;_=KhrS7Dt20>A^D^370FS8ON@g7bUQsNS?|&5^ z`1L<5c)`!Jv5)W59F)BsB|X>Wub1A(UN(5CRUVg?&x5B4&EcG5T3fhP@B4B$uldSX ze!K9Ampi&n&)z3F3i|T|@3%jXY%T@fCg5#86W%+4S9lVCMEPy}&D8rW^*;N=j*cDF zyJPgIwysM@?Xr>8?D|)pqyEX%Y4%%Z(c*QrTMhoPGZWy~1`qY&oL2;M(>dxKOIhJp z>jl9&RQ5yXD0}+5ZdvK&AYFW#s9wpLp%-#_9ePCg`Qs+wZ3K@?zyUg1J~J~9^v+WW z+A^J-NgC50k#X=%z?RAQN4)cE%>MnX^(=Tk-UhAE4gT4L?%Xn`MEkf!gZVmN1AXAy zf3wiHPXO2aw@+Qo|n&Mt$g6ujauK! zZ|N@9drS<1d{prJ^YuI*gy*$pcZa@tJpb|&vpYC9y=~3u*{jx^{?smw9U6aAjKkjm zKayA9&*tkV8{LD=hOaynEeBuf?~V8xrEf<)e&b2uOL4&o@HIv8F2LEFmW8`Jp2Z$S z9#-u*{q!!$#2REmdi!kc+~l>BLa!U2yv}G0v~x2s2yVga!+y5a2|RffM4*K4X5fHB6IMVkvVu# z`Z&^#O#TE$gQ&9G{>#iM7_HLw}A?rz9_+(}sb!@56^Lq6E9o?4{Q`jV{N&F$(U0DpPgAB zKCO5$^Zo4l@N1c~^0Mor4pSeo3h|l4)c3U!>igCR^-+hZZzlB>4^!WFMyT(HBh*J7 zroLk8E6voG##0OBCemNNnS7<>D;p+Xzn711CSMu(Du&7TJ1-yKOuh>8RSuKyw3m-> zCSN7_s)otOxikhozL|Vgo?Y zBSU>*Cvg}XgZoYuZ_M{%!@qpPf8+^FMPq9tpf019&-atQ^_}$F!R?RZlsOk9?X8 z8J|7+c0caI{C6JA>Z|+`va!=}UFyQM>>}YZb5WoB1QKba8$r=S#U~MUmgvt?XwgvEgmOcNzK8w80))L)=BPm2c{Jm2a)YRHf^n zOu7#4{!w}Hm05$NobkoLi-JM={Q%!wKFy3>K5ptySG3J1#z5;i*k$k$cg`VOr#T0~ zX6%o(gZmD6qZ2-AKKrzZ)L?63@g-mFT&T_XoW=q7}UF<(#mWCj(!%_3>x#3h&!F*tr*bvBAt!8;u?^ zK6Ke6Yxv&FcWllE6TioI^(oaz%s4dC{7`ff?-3*Q@lpTcf5nisBhW$6jdE2R|#HV%)^jMf~nFu}KBHBr9%wQu8xAh)?RZ zRSqA;VVB3AlwH=yxWHUMu)X|U=E7UyscrCTH~bu&3&Z;_OTVFa&UajSg*E#X8eB)viFNR%T+?3aMZI+ypR%IcJ%@;U)9rfA_{***t>5CXb0* zt7I=8Fff*GvgWdH3myOVi{z8wn6mgn`%z3ku>JiQyqSWL=Oq1TMc=Z2q$J6@kk(t1 z$OY%F78jXX&A`f_F?TQ>45U8;BLH}~U}G-K*oV+Reb7M*3T=@>!qYJ#(??)#s_PCf-_9o#Q9r~AMwDoS@0~qKzMBQmTb8+?toWgt8AAca3fp(`tLsqZWo3-_6u&tQLR@FGCszD zGhUPz74B~pte%YiFY+Z?Gv}n$ac)73d~x1AJUWwajp{?MrG3Qcf0GYCQDR9>bZMZ@ zHsx&~ZzHLPw37ra%$^X&3xAHQbv8$5M36_ebb4<{4|;AV@^}DUe9$s-nSyq#UpuM& zz;}Q?9}GK}grPCI82<+2!8@bLX1=wOe?R5-k$@oy42(}N6bq(pz|c({?5#+xY7 zLj$Rk-(8l|+hL_+63t#Zo_!flt@ZZObugZEF}HB{X0AMAFCDSO->%QvO9w9}C|~RE z&D;Q7_#~1W`MZUEJJ>c>GPD2cYmZ~MfUooAT@y1fhyK=#9DA4KtYM9rFW&FP-Vqm9 zKbpHQxz{N~JQe#}RtDEMji0d{7>a>?Ci-9%xHab$%f<_>7tj3XK4i5WS`;HUGvU`& z?l_yAc;C9-!s>PXt(+Y+!CLq5bvf%6i?8NTUk&xux^nw|bRKb?| znPOcay(hNriCoTJ43Y9k`RlZ9sQaE0=nVf{#_T*X8{NbA$^vvxw`Jz;9|hi6Cwzw7 zNsjKnGV@LG6~Cd)Ba}HhJN(?9+17JMXGi#(!{2iL=04}Q%UI^br%}grcy$J}fM-)( zoCnM}+*d|iTm^dxD>;j*iZiOJIiCt$`t} z!L==1@*DKeZ=m}T=zbKs{|5bZWVz)WZR7p_L%7Y@_`oEyx9ew*L+cgL44D?aY;gC; ztnhR9&$6C-WLAW~Is7f>Z|-xiuHf7PlPoW?F z0bLQR0^il(8y#rV{{v&-m4hyS%Z`>z#wZtW&58b4ynn#`rtwGXUeIr)^+VTYULf3| zNAaz?dKdjGd)BO%PiIU4F0J1wX4VG2WD#_O@3k(OfbWAbox{RfM%@+ET}eF!Pj22M zSUq@VWWjokVBPP+Dmza7&>B-OFe&ylHH~opbj~UWZ@&4z zu&;uRx>s7GuQul=zWKkf?pOi1!e;*U-$I*$u+x~$PZjR^m(EW=>wYeupTL{;68JF- z>AT*S@NOxoiPS)9gtqm0(K(6@=3AU^3BH+qvwZXCt#%Xiuj5-i-xl#6yC>1eJ8wJ= z+GL75O^AnPk`EqAz)K1E0l%_Y`2*BBk4(+Ri{$ru}IAALbJDNMh(Y?uu z)B_);Ci%9vr&CAh)Ai@mrz&8r2G%*i=l7|Zcdb05#}yZ;ao5-}rQ{QDxAMN3^xxPg z-6uGJtQ|rY`l0DSk;VD4#9Jd51IWc8jW^(JU?T4)K}YbVGgd~zS1;pGpFb8=xOfZd zvNG|Vr^|*tKfTpEzkh=C*_$)*J@88$e$hJl8Dlr+iuq$_q9SX|=3A_bby(g%l#dSZ z#_C3RBeoQL!*9Z|)*n}E9^rl0xM<3CK>QJb3V_b*7ZZzzD3{@`uBlL;d{t9RnNY1=#T>U8tYyCci&0v z^N~*Q_cv*7XJE5)h@JQ(cNApc`wQ|7K(j;e_hI;ZpccB-;Zv!HhSTp^cX;M|*S%I+ zweAS84NTADIiKfI>y7}MkHfRUB--|iz9uHgg$-P6vOZfB{YGBP-ag%lYvdL>{Wsx) z_EuWAUKO23d%ON$w5NR*@VxZqiU%|N`#?Zc_=4_KsaYyAc&g@a_QSU0gwP(IB+s>MIQ7F0+`)3pO&r0l{P1rwQ znH+Y0FgcU2g>&bg3Nx0^!bik8aQ@jj3C``XIn$?a6Mn&NWT^-G?1Yb2aR0?j&bPCX zg;nnF1%2>syZd|L;jnZ0X37v_6vijy``JyIIkQdK1vT#9g|)Mt7_wya)^g?@mr<_N zE%!tCGTu$SJ;>Tl@@%2~t>APU{&3v~%{{!|`gg@9fukal&Ku$UU32D$&eq{wg7fAQ z{8bD_tTi8d79Tu*f*ZvDUOU<+t5^!f-YLE={#M-wb7M3oQ+I4)j#FPjT{GNxaP66pZNZ#vrS-(bXawC* zB>v=_mpJFV__R;dan?&ceSrtGb{0d{&cCNDTMqKyK;(*PawY4$d7*~$b8KU zPQe$0$ZRObd3P1-p`AQ;Sq}MMxPda}Y(e;Z5I)x&IDxF&$hzjjin)K~O|(%>yW~lb zCsiGBQmy<&4tkM?-X?xGlUjLCz8##Yv!mtB(O&q+#Co-SP7jXRKa~eu_cgICUqW?d$KPjuVzse+%ay zSOrlVn#Imj=F_-BcWC_CHq$z~V4{mF{a!dJ;(SE7n(6YVk1MSu$@VYL;A)d~C+B=I z9_+ZtK3R9r&JuWZDSTW-^7uJ8ZpD^F%pGA#&gZi1Ch!bl> z7U1nTJg)Qh;|)AF@|%1)jCoU9u8zh%TqPF4-wkKyZ{bQfsXq?xeO#RY59kAft5e*E zE?muUadoX1UlD{qzSeU5eKYPjaD8;gPZ-#-? z>X-R}%8=iGenHQbndk4CI{oLnqR;91I69-kj46Av$CMEEPafxIX-p|9aD9I{ob6`Q zSB>R5YnHKSPxgIh3mJ?4!1+j1DR-k+ZUJLax?JT5*|Jc>&-8ty58gN^WP9e!&`9mJMurQ~D^`X6Xk&9dHJJb4Oz-}>g zh#!VtN8IvviWZYH<#K(!QN+65w9LBRkhOB zJ@h+W&jIQ==+-knSPx~*_%q!-CsDT0YUyNah8as^oYi|Vx+V@@jLij);KOl7Ma1K- z%@yBCj2iIEJ`z3@Ba+T98*QKEydD-056v$)lk_(U{+yY4clFTkET_F66K)hu9lr(DQ5N0l&Y8YdpVOWQShO-HZ4?XR0sAwPMOuulO#G z-JU2!zK!m8?_oA;O~f|1^I~@&PHGyl+EXnPAFZ<|l03(Xkt6K=L>cALg=NpVyeT`% z>gmcwz;&P{wSvSm2oFkNNg6^I7c=a_>?c;k>VX#O77e*n?^46I!1#d-JsyB#$$}@`s!WCOqbG$8HiF4u!3G^K}8(^c8!>R zwf`6OOKq!9>Gt-65AY-&Oa|x`2Ujt0m7b3oK5@?h3&Qp2e-T_k-n%Qndkf(``A@`e z>n@S+Z+L!_|1{&LLY6%~n<75*e0S=zVijYu<$uB0gHDPB;Ezp$Pr!jIt8QO|w4Z-@ zx~@AE8|v!@!{b|h{)P{>TG4v7yUkr!(E0AK&tWf8i1D9u$v7`)@9OKq`{YxWKiQrh z=1dUmL{EoE=C%Gg96aJn#oCxYoV+CZB7L~x9DPXR1^=Ac&l{kn!MnF7@IU8xGS9x# zu7J$D{wweN9YcfR&)< z9Q5zXW!CLc*-A-tv-a3>hkZ0zt7q;#uH!HIq60fH+Xj@JJ&oV&W2_7JBAagsW$ZxY zKKiuQ^Bd7QOQ6A0Xh1y=%U|!&U|=HpRko%6TmNe4a@J$Vd3we>7bxIE{G^Znahwx& z2L20N|6!T@hhv8N4`*PX&&+XrU*7Bj;4RE?W+OMLBK}fe3ZK;M@%+W#<TW*FRmYJjPYZo3M1zggYYf0_lG;k-s8r7_;$2nCWH5GX47Bt zqkA`h&l;)X4*WTQ?%m{m*mT^1%4N?vRs>sjp27m3$U?8b008$P~H zRC;kT;3@A4;$*m+G_{{P58zK`KBIo08K+TyavlA?k$zA0`klYH=%h{Cew@Zg`05x2 zUsc{b^F6}b)h=Hphr!!T!W(v!)|X#5SKvNQaJFf<^U?3~aOU%-IUl_q8r6}uLGx~CzcnkS zi)VlAPSMsjbYE{b{JJ<YyBbwia>DZ)M=#^tH^7X3~~);53h}&+2@14_3*!V%N<1 z=)3v5&vI5vmY;CfnH8Hmt&y0nv&l2#n_yYPy#n&fb>o}vE$IBJ&dO8#+GVt%b<8I6 z%*8)4PxlXOgeF^n1Kl$2YUtkN&0#5%?jz@pQNCC)1cQCh_AvR2zc#UY=)oS5uJkXUih#-at?gpt2&<;t66W=c@%d< z$9nQA98E=LMaOKPMm}dpz6jhy^x5O+GujHs=ceKG*%q(AL48&aPP?yjwdtQ52!Q1Vw&f-i?!{5W{ttR?+hTZ~>bK&K~!{9}DP+XS&D#hqy ztQ5IxhR+Vdvo^mCA6Sg@IqS{7S@>hhrB_BjY@^GTlc&vc*6YsKv&f8JzyA7TvZ+h! zsOHQScdQKBXn*~F>eRdp8}0RAJael%|GmfDXFUA;*A9hBl8c~E1GH*HmWoKzNYhD^ zNQD;qu)_FxCIFN1Gk>cn8YyVmyHtItq+eC!3zU;@O0oVn~^Kr|tzeeF5AA`!+Q0$2(s`^R<;@jZHrN zPsCRc$3AT?r2VmfV*7^Y#=#G*%nfy~qT!9}*Z-VYP~R`Wx&+_2Pq7eN(|V8aJ-^s)SC3G6ZLsdweli(f%M z$=`0)ZxlP}!f?mm(|-CMm?jTa;*DQA4V*PDoU$ikODMmT@=dfgi}4S6i1R&$Y_MKX zV&)=qa?GA%%^?-<6hn@*H}D%H#Oy9(AHuShvC*ZoJ$reEJD!9XCw#jq(a1Ufst;Qu zCL6PE962Ddhd|*p2w3T@y5Ag zoJIv?r#M?)THX2GPo^L*ty%NCV&+k$*r)h%eHe_az$YeVQ?Pk_9Se<)7BZJEWG-Du z{IYOrVtj|We{u?T#ys6W$-0R0$c92MZjN>GmwL4S(Y(h#HudP;D(;YeH|Ivf_odi! zx|_x11xGR63+2gV&mZA+>^bI2#)q!)#L)DLzcjvJTX(WfqhHg9_KCFyC&@afP2ZBp zLpm-1Sv0cO>Wztv$#Lus-Hmiw@ttm4clIzsJw)1IFI>=gkRpfzBGX*(0j;rfJY5 zF$eh2y{YPv^;DAkiutT|IILZ3K`S0KqAw2tKhmrBWya_M_Cow|+|V<={rFhw zEXP(=&D6 zE_u_ukM_;^0ebfLUd!L)mJ6l7O;KLzm48NgwQe9)BH$z)lbIp68Rs?PP^ZvSNw1Kt0X+4fAIyeHymE_-v|GW zgh%Xyk|1u4f3|0odtddt7(aSO5A_csdvRnheXm^om=fJ9*UPxl$GF1TnkBw%rF-O( znggO+6>FS?2UFSCS4K9F5kc=Iu@4qJbz)2zjJXX^S%urA7*x>%#JS=W(%5?rP~ z)9BB1`ZFW!JQ(Z``AnIE?s;e9$jdW`LyjK;(zedn7e3P zJU=hKl@G!$bibMXzkEy6M0lhwQ}6DqKHYSwnftuT`Ir~mCx7f_t{T-I0Cx>wYE*G* zN!C>~f3?xY!8_W5`$WyYf@Z$Ak{U@%NJ~lJcn}=NWOAobw~Na2&zK89p7?^}6)ocAYa=M?oc@_q^Lm-4=k_lJ3Zg!i4i@8aD- z-q}3kyOs|viGMPMpRyO9<-)1C&ciq5$~Uqy+h??p``mA5-F#{&5IX6?!AZ_9U z?Zp?m@Gj~Jk5CWy&EJq+&z*sKj#JMG#;{XiXW;|X^WX^ea6kJM+4bBXsHcy54pYw& z>iH1$JTgK(+#~--)(MC7YjLiVu%YikQZ2NsbMHqmW0GV`W0E-&$CaNU`~l7Vy~aa$ z2)^*|0!;HzHTBPdhibBT2>yt}9|`zlL>{8PL-5&Q_$&HEq^ZR346?|XP32r<;0usAn$qEEu7lhsvGi?0Oyw z)U%O#wouPj>Uo@co*1E?$I6`#XV>!>JhTD&u01~#su?X;- z@vE@jn(X3i(Mh3oeMQiN{R7SBemvK&hrIKxf^T7G4ECElzF%s__n#0E@VlPNhmP+D z8Q*Qj_r4sbq9E+p`xw*VhxER6_%f{r;Q{{~ZT}nqGk$mSzRR`yVh5R9+03o_BF>so zjLjWpeso859=2T#`H(HMm%fa@6{JcMbEueoIWaVDEL(+QA69vDr}n`7itoT0%5Tm?{iS|uZo^!1 zzkW0Ki8FVMx8;;1mNUn}&TY1G8)R>OhrVh|jhE40g*zXc|DVjqkncG1Jx%^0^hUhH zT^D-?c_%RrA;YW>pD{LS zefYzyxfg{pW24rGu_@sJ^f>x?8JM0pD@^KBtRDGT zgidH+zm?7!@#LeDZ>!DO%{N9LdJ%t&e1uKpYX-lqVJ8>AT*zH7TbaEcsJo&z{*@b3 z?XQ2*7V9w)vxeJCn|-vY{fKLcllk@pv+lNXxOL^PQ_ovML)Vqf8Y1&b#ns3cbhbOS zlI#ashM#^{nYRXrPcq5eb2wWz|MB{hPtjh`=F5A$=%gQKA-n5axfyx2kypC{84BR= z=Wj!1%iw_u*N$Fb?gO|px`6)IvZpEAZ@rLsiv_e9l-ar9HbHsGyl9lD^klY*ztx`1 z{_roN-|%Gi!9{-_GAme>e0>%NKdd)6iao6qUgp3wEGezWL7tFLvutUG^qVmj%b-=3g;(VtdE2 z&u5i0POacKwmf6i3l}&R@6lLnAE3S&;Cp6{Gg)^7|2d4syU{hw3FdRQOnLYU{3+qh zZ{G;-dOGJJ@y-gy!d0YpQU^5k%Iv#FIH5m$OYqI+Tat3DCoq=sZWr%%^LJIGB+-fe zgTEe~YWyen1$feov4xp>UwkXLnM66}EaIzH?hEzDSjp>fW9;Lskq6~faW#H&bE()%WU6)?4ujO8aoZoF1 zuT%d0m(({%9ibd&tnOw0bI>VU!t{@GMn_@0w4w`^!w+paMsMDoE%!$(C+6kvxfS>i z!(&I>n6C4Y`%kdGdWPJ473j>))ky3L~MuXX8oDaO|aVgB8JDXCyi~Wci%b1 zU4xy>f4Z1&G(x|g^Y=9jJ;TfOIXniwmXJP5dX!W+IrMYmR~kqC_>z7~ETJEx^C)c_ z|559e#((sgq~Z%E4)q_M$jzL|!66=DT;gAEfL}`INoV zD@)#VS!|Skd{$?ar5)Zquv=xvQ1)Y9S@NdK;=5A0waoX@ZC>V<+pcn#fs-2g_M{tg zPk_dR!rAWcx9WF^I|qHY*AKhr9BChI6?kdA$F^D55RjaB9nkC*GjmLi)? zUVMG)M0ahd3_fIzlB$d_-$ia1vr`-3L1c;hY#hbX#zLHxVUHpn?vtBq{(yhV^V3Zb zo;~^x9K;7^^2C^b z&2fGPA0V%rtWW2ey^IUb0e9iM-2M}j;?7m*`mB;^5HFb1RG&oxuaN<1bi)fU29yzna-Jtv%coWmAH8OHt>ob; z45h$OMyepqAk8EdlZr^wNYhCZNs~y0q+wv5aU7VbCr&+_MMMl_u9Kvm6!r8{PapO4 zQ_leP9HO4X)blF!yr%w@l|##N)?`UG&wZ3VtU7ox%DZhm`}niT+gI-N9xitl9?fwc{+&zv zY&&uBtDIFs%z@_RH+i&Q@M=bf4D2s=4jm|W4j(LcE_nkU%E=v`hn$G>8R{9rLr$Qc zUDUIidiGJzm|SP8WlJPKE$@@m;hfA>Op-~62n`(-bJiY9) zlJs+B*m?SSWVtb7WSRZwLuA=DvK$&B%RXKQ=*O6+E-Ue$579;~eDK~EB2FE+J_J23 zdGWH6b@Z+9<8FU$$nFni;*1{&#t|DoSrWaRLMQd2llss}ohRrc^zwC5KjT0@^W6AG zF@GwqD7ftfuv1v1{*SDe9yV2`C=<*(P zIZ3h8NyRdFx?FT!;OgL&*7H-%xifjXTN*lyG2vP*^b+q2pK{@u=j9nZ z$e3-D`bgB7t*d|Xd+ZD;2FFdUEYW; zT7oWGicEfuHNDlY%x3GNgmeYcd(jo>{ z>vgqxke^%bjXq)Lg~amo1;o z=%+DXK`(v1+!_6ia%TYC9Rk1o!Y{V>p=xX{Z1K;FH=aHVZ?wZ39qxP#-{!s!;hWtLdW^>Ll-#m<>6MzL)68= z8V?6UWO5^T-vZvZg7&r^ZRrToRntcq*yo!Z+_A*-<841tSp@Ps-zuV+BGp}w1`ugn|o$2@f=PQH1L`h=4_S3c8t{Ng#v6n@d=&A*|n z$`77EZ=50xk~}>%h@KiwS3e`!B!8Uz3G&oLkQsHsP9x^V_N{+j0$kZAJ$)ou3}~hGhT$ zxcHss;dhAaw;}s0ko{H6!@YjapL}IBv70fXf^*)@xe#|m?-h@FWT&QbBE520*Cs$06gmNLU7ss^$d(RQD1N# z8k1ZYJ8?z>wvpj!s zjyC+h$)57h7M6ZAXC0UrX?JcXoD47?$@XT9FgET0cbe$gw|@t)+w`qedBM{m?7hR- zdjrjkG59YJFVAs&I^FQah;vIc;zaVT=;Y5~OIkVR&MDQUIi}W6*pG8m`)5|&`FgwH z6bv_WcK*%zW7=+>XT5TXHKy%wGqEVG#H1{bIQQmT&ilrgwa7E)HH$xZG6D}zXDsvQ z*kc#peA0(!N;Jp0;furb|1H4x4$8{r@XJpAT#n=S+u#QO&CT>>pdK4zSH!tF&hJ{w z`3yd!A?J50Cf23b9lxYMI@@n>5vc(_7hOYR4PDEe$|vTqD{Wd(yNGd4OokgrYo z#xY+N-=lxxm%9th-KtK z_6s^_kFSHa>VDv}=sD3+d%A*U)}NzHFt53P_$>8HckCe+P=9yxH`X2|77V+wGwl3O z`wBgITn-%CBR_bAbeuE^c`GCpk@oStpL78It2qI82TA`vc+BN>v(L$+vHS%wzQ>6* z*IuY<3{SnjOZUOsYMnYnM~ZP6QjzU2IjdhJc$?%p?pd=B9$vp1m${;$B7QO5Yc zG{+%6hdZH&chG$^z+V0@#OX9e$OGNVu=kfnjPLvu-xf>^uR9gGEc$REe~HUjJT1H~ zefP}N+;zT=nYTUHng1g*uN>08{7(z$(+}>+lJOtrnl>JTHyKRpW# zNK3&nW70eN$-}sLm;Mru8n2)%akjR`LF&0mvgp;Jy-~XNt%CY=2A#^^;FY`8tH+dA zS?Z|{w6DJ2NJ4)dwNAQc6gKJ(=dB0Lcn~tO2jozf5q+d^w)=pgf6a>m> zd{hjviC+b;kL+V?>_JX;2FAuu!$&RUPW`fSol!A7znj>!cSiF(ejj2h^q~88o_%cm z9%m+&5Y~$|(Z9GOBevGZTQ$?^8x$~=) zfqb<=SQarpvUb*sKXV~*o(~h}IV>#1m=|Tk!udfl>i65I474$mHsbWRl(BZocH;fJ zLyQ}R>o1YqY|AN`puby*0qd@Ca)?jTdHT{(u5BEOE@Yi^&Gu`fs{aF$D-VyCQ*VNL zYpJ*V!7yh$pWJ!{bek(X?J@UU&i9EQdqT)s$nZwIr@~3>tUxa?{=g%#8vhK38_hbY zU!PB(dg|4kmK6_@KhRd)rPi@~@soM&aTbt!&*j@Must_s_xfn#_uxD1wAi+g^CD*e zWzJR(MP~^=UY}pW&l@`&cB-fIjxmILCBKVKdqDd46myul4HeE~)u-TL`n)ydlyQDr zgzu6&@jJg?cp%@JkjozOx*u7O>YMhtir-tbF8hdk2Jawe7hee8{I-8`-zhT|`*QB% zF$v7W^3p?LXC?6oL-_h3=E5jMmw+3j@?y6zUxNJXT!@$c-d~ubCOH)92@%}Ng3V! zFkP@NyBfQEbMtqn-Tw39zn&@*4{jAM% zQg!ro5%19*sYc#c@xGe(a{@T2;9Vup(6dSY+B(L&npuonvz&zw;;((komZbRZq1E2 zU(Tk@TyW~wGlzPrsHd8G7EsUP5$gF6woP_DAEKU0=u$zt2%b*wfot+;(CUtlKMv5~ z(jY%Bf#;VpJ~lBv-UL71YWVSteMAeVqU*9@otnju)D@?$1a-wUZ_4J!vHvwfFE_Byc2!8`fy85m_8_&>&@l!BI9Au7Y^0m5tiFX9@eO$1d zkFGuro=<@1Q|y7U!EuV>^htT4J}-drn+?J#8joNSr+M&nc2WLd23fzRK(aI!tV(Y4+6d_Uvh zZH%w?a|hOKjIZ}IzTU?88mC^_qKOq@)~guH+TrC6Y}zos&{^2mz?$8jd=5q2nYEB} zuWrBwFYXXvZePT!VHgD8fO&0&Y7_n0{b!gPx+(Pb=+UW z9^^w8Sbn?8PQ5A`XW!g`3oIK}*@sG_Pceu8>7P*cUoWuiT+N|=%sK3|`_C6%mh-YF zz_U+o?!54_>2_CMU|Hgbxr^5_F%3^$VA<8;t*i4*EU&qL_yTwv`tGrQ>h80uzrc1| zgy*B~dBhJ~U|B;W&p$Bx0?X3w9&3+#2g4nILfL5-UUsFmDWCgDTJ~Q3CzKs?fo1)D z3WIC06*i#j&=^QkpAt&=IFxCTFaQaA?(zAf$uZWb2Az1im`bZ>pB>7 zpJI&t2gX>9ui0~jR>s%QRk(gee|&9We3k8DGe=FIX;>rsrjUC&{Bv<#-wkx#V=aDH zbP71y{kIpUt9Iaz9F)(vj(K7|w$mck`gN|9+s8Xj&_}Ijvmb%8Gnl_h=U2Gv+Mg9J zwz$5%|0JIsx^}2dguR=duQgDABlRzdIQMBDx;4j%Z_9BK-Lf?=FG=DPPVHiiYIlxv zs_U|7{dm@Y?8~AHC-JxFa`s7t*B#y+aZb@j{dkMDp=mGO>#@hW^%Py|*0X~C?8Y|PMOwx0_AGzHDsaHs_K5xl*23bfjU|YMxbBPKw-h{; zQO^;040~iX=bGv~MD3}Id*=|YuRGb!dZbyyxJ~pb#ZE1Q|9Y;8CQ2F8OR2Lg;@nmU zZxpj8RqDpVwFb^<7|!mS%^Fx=xyzTn@73%f^~%e4mMFvTgUytz;4kYQG4bMOr<${p zwI}I74SuEz(2WUTRjf>${`!6Wr@8nDXXd*1%Fz}v*(JVQ{lgOxr{ytx8;?i0qkZ`G zgFKyyXk8Qi9p_XC=Az^$_SIjSv#UOqUc+1&TvIn|m>Yz53tSzIF!Z1{7Nd5^O` z|Ad+U4}rt1Wzx4#c{E7JD?FBC{Pg3ITcgwST-o2FyLT@D*D>_VHtiu{t`+Ze!)5j&}X%u*7E^4f_VPR0G@SDu+S|0>VBZlT&4SghB@o9KBq+IT*iSt zVp-3Nzck+g))KeBvrcXg)%}OQC%}mf9GWv|4f;LIU%p2Ed7O7y_I>NoFwZJ)&dt<# zWZ-nm=Wt(Cd@TLuzHXg!Nn7Sz%sBO_-g0pNY06GPXQ{3@v9ijid4uE=nKETA*Kg5= za`NX>?g8z!5KNpIw5y);OzN%hGv%C-pD=XfJbJH=!SU|iE0s6>8SkFo$zH7o=6dzU zp{dUB)VZGV{Voie2VSS|y!UaS@Av^8_*>qa{x1XOY2@eJPrX;0is2ZpjP{6{GADB$ zjkmjHOdm@*7i*Y4kAzdx4-a0^!^fHEaJKeu@!JpJIf!Ez$H1-gHxpycTGICfgMLr3 za(4;W`sU*`J}#W*o#ALN9EkRQe$y83sE2u&<$O)H#xOjWgO0OEgOS(U|44d+befdb zFZEW5)<>6?c>1ND`@uZEhxN@rpa1X4A9_EQ&h?+nzJ6+AI8ueV3|J%zr;=g`+mQWdgV#QJ2lq1(!G z?xjxfJ~0Ow&^NEIdBgM-9!TShm`(TWcJO5GfJ5)e2N#oWoyl)-YsOUcaB0?=6*})$ zIIIVU{N1x)V}-MawQ%3(G==_8g%8C~$~T|2Z{?f20XvPq^EQT@FnUEgLv;t&yT#8c zGmpAAQsn}(5( zD(V?3AJ>|Aikm;F^8>FN8c)$F-z2s(u?>UReC9k4Y@solZ3x01Wb?7%| z#jiEKvQ1OA-xSrkshSJwY`PeBdyF;N;`h7yVK79!1>(J!wTSUgKt=OmfVYX zt~?JIzE9g)TjhLW);LM6{I*$NZ1ia`Evoa>6>}8Vw<2iJH9Gnq_Yb9k4}X~0k_d3d z7J;LNT<1f>;l79Zn9nDe&)YrVUOFs*d&S2Face{GbK;UQME5DKrawMk#CaBe+r?+u z^zWw4X}~ZY7`lN0oqIMIUOFEb(9Q8};BYCaiTb(}YhdE{HkEIG3-NN$X&d@q-^Oa* zUl3j9;n9ZHP0)BQ_X^JA4y*aBb;*YuuZ7Naxz75p5Qow1`URv{W|D?2gKs&G&pCk~ z`Y+beZ^on8R^VwQEwLQCp0kgcQ=-Q^yKLKK1FPw!W;kI>C=GtDVqh3(u_e zB#NNb7M?43Zbep?yR!N+b)*>obk^R(lb_oA7HjoyyRA_hfc1eXd^2ry18WayCutY> zL1!d*H`&ZV@srwDMpIvB{y83cy-nwnv0g9{`IgH& zPlH>jZ=2$0plyi1%ZdMJC7r@AHi%!0wb{GjXN~DE180h7f6PvW+<5NZL1Ms9M4Yw6 z$1#TQIpdr{%IW;8A?FkldzYYmt#meZCki}&&RG7A%XKWxYr|T{c+#9zw`dOj9Di&% zf}F8#9Hdw32rwTfeg!-z4!!d{@UWfOH>>65=&RoW&xdoIDZoCZh4J)&>*t6cqz#+Y zha4Stf3q19KhV|%H$k9sSqH%`7C$YL*J2QvMWbvny_m&SNj3xqsM~v7O*- z*HC;WcH$%56-n!w9q`4ubWJZ~_5t``?MjcxFA(hOHlDTbp`P!erOtkB<=O7RM)bye z^>;qs<165URq#zu#A(odl}mteX<)ovj_uht)Q*lVXIyBjNb|r~&I4v&zxlB5ye{ng zcxu?$F=q^ypQ7o>iuoGU>V-pv$5N z_3(ECXV7dUZgC5;QANH=uWTjXsv^!otH8+96xGLbAN#?2AAk5{?@YJ-tJHoI{cZ*~ z&^r#j6I*3hgP*m?$p-8w;?LsE89daS2ObRkw6_BvN-uEzDvO`+X-(J;ZC->nFJW`X z8o~b(Xhb}mP2ZCAF-89-=xj>QE;F!J0c-VHV66hy>I|&6o(HVyIGIJ%-2e<4XX}82 zvz4&t(y@FAYy>-CH((bq-nw?dKX)(=%%Lp4nsV%dL=7;qz7rg05;f=^)^q&vHvc?e zTa2tOB0Wr6NLoOuC&gC4)2lN2@`KmyD$#GFU=Q9zf*(510T`hYHtqf29D(5HguN`8046BWEKBdy|hyK5)P zZjCR;&S)EIXT;c>9B-pOPnYhz@7%KQ>v_A|jbR)z_iRGvH)Hd(V)JNh$ew%bV*Ftp zGr^jYy$gL%#xrp0Y|{vO!oazN@=LSeTmqa+GjM+WJmAz?isnFnx0X{?MFVJJ!Sk_I z7PKgLtkwKx-uMOh|H;#gcdR?eSMbr>U7z4+-dTZvX@B4d{({l8lkHC{qpqO8K>qZR z{Bb9rJ+u6b3nkKD8GFe_{Uv9`Ax%=ADlU~|HoS0`|jQKnm4EYi8|xStkF#5 z?<7(&sgwkN`1>znOR+~Zuj8B6LdKZ7!X| zE`L{i2Ki@lUy;_7u)E^GnBbdTPrFt8ZD7v1h*ZJvN>UZ?)eiHx1oQTh+VS`F{2MqW z&dd4E2>z@w#$P=tja!4y@!%2o!_tc_qoOyiM<>!(*)l;pMDc(z!NS_GpZ7mEXuc9Q z<6iI%L>s&`VFPHrcEM`=={(!uM{6Z&D>jL~`0)j1J!iJTmt^cK^x-jw!dq{LN@^4~YCPhvE#y4+{ z)Bm8qQ{^;omd{uDZP5r?X^+i|*i%z}b!&7!_SAb{#vgC^VrY4lxs}vCdgOX?u4Ha{ z=bNMDm$dA?bA)=jz4$&KZfv=u*1d0c;immF;P&p59+Lk%+$jl+-xwyp;PjJX6m^HZ z@HI)lC%CZtb;V>yZqG4wP2sGTGurm1(3% z!O@W)4Ug;Yspr5kF%2(K{@_UEZ*t4u2P}eVKK(4ej(vy7{(RzI64NEKu0Qf!d}ofH zxuc%nTE{W#s?)>HZ>~Zf(IJWAu$lMPa~6SrmUi}haujt{U{|eSy;XL;AD^Q*h#349 zr_EogKJ?NV^$jyWReiJZqeQ*>{JBS1_t1OrsDE0AGWXDz@%R7oc0TY`mgn7nk`oAs z793ctu}wmdKhhRkv?0yfoaCUW)L~!R(k)v91O=rXTDoDEuE7SSns#tTx46&-%rTVJba7u`nAM&+s!=uhGopd!Cf}d`mz?k;bh&)ko^v-&8y#Qc&~NqLRm5E z&Ag+>=>JFEF*e5gwo5%bVAk_PV@y1~=UVMgEYFXpp9Q{i;B_AT$8Kt!DRLJ5T<>J= zzm)#qLHkU6QqI3Cae}Y%K9)N4*{pe71`YIn-EG*b4fDzE_;vi~{j_(0_Re9q&IdDZ zO{T8){8G=*jCXM~QQz#nm+d%K7goIZ$C7LMHu3CGxrt}noGSYsp9pO#Uw-}Tyys^P z{j8;*b?zC|Ujmjiuv`F^^f=Dof*;J|p4Ga4oO%iB$>#8WnJv`^FAYD>dAv{Z`^lR> z8cy;1Cdo8#6vCi=5cRZKO`B2L)EK0-=3CKi=AWF2m;XGveQdaaJz5Ry(b8|l4|~jo~M<&^VKTJvqys&YHvI6&|Wj}p&z@A zez@|y+aGVS^88D$y*zpL>Koqd^5l6B-}~rGve$PtYr?KP-`|2f9|ecwJR5;l)5@AM zHPEa2QsNW6j4g+$a|GE!PZXP%o<9KXv|nXEus``ab027%g0{q2htihkqWuusZgy$g zdj+)UiCs+0s*9*1x%Kf>1(#WOGI3QO8eBAdrB_}(_ zo_zZHa0+`U-CNF>Tm909!kxpk8Lg*2zNYj`F|k?Fui7B-D0G0ia}7FC&D=TG0=})_ zz6v@5$4S8fE?VPNJ+15NKDi9LtD#8@n*2VvXKk?jRD7HmW5Zj0*b+~s{j|EljeAl0kv>(i4_5nm8?~>u z1(=~dxhGjZi?=1Rt1rw6|KfS%g*HSZ$-SjHXKdugdVXu{jBN^L^!}gtT7Ivi-!+bj zYbk!N7?%9|Y<*-yx@i3Tbte8LKYNIslOM31^*-dPVWa$@E;1P18T(8mU z_Ga3X9nQ0xUVWq64W4d?_+Dsq`*r8$ituuLCF%COFCd>D-I8;_Yc4o@IwIOd17n_f zSagHmQFv`}w(}m%DKvj_{p!WW-~Ryirn1V*>$Btkb)Nh&{;%+j|C%4)RgiCE?YDhb z?m_vavpyP@j}(=E3lBAKl6;u_BYsO3B8$)gd?T~I1dq*}5!%MVNwy~mUMXyjix=4;&d)y_e#~*@ zv-5Y5Ph?nQY%#yo?_)YX8T%{vV(1wN82|FFb@-QoG5P-G4%*!bf10__f$Y4VbJUVM znP)C?GIl;WsCN-ILsw|4J;QnL4iAhmd{q8^oI0&Yb8nDwLpc(HDMcC0 zTao?Gv{L3t^6S#Pn=MT)W13vXLr!^T3cQj#T^sifYagPsu9WHn-%Yf?nEPrg%{{Ft zoa6r?`b%-%O*%04nZbKXOux!yv~|;zKjrnEqWnwr-5(ftWcJ(bTW6O9|2WMVd};db zqwl_jjwvhHHCG%$zg5ynZy$n3KZiC=-v^z0)3x2-P46)8HsaU?XUeIBb8l)>_jgm= zvo+QQ4Jo(9 zE5|caZa?J?6e;%|uN==zxdW8zEmH0guN==zxn9a0E>iA$UOAqba)&8*q)54^y>dJ= z<&IG9XpwS%>6PP|DR-1|$BUGE)+@&|Q|>tBP82EkcV0Q3nQ|v6cd|&i|MJT5%#=Gx zxl={Tz2%kTnJIUQa_5VbyAQb#e|cugou}M|BIUm3mE)NycY$()MapgP%JIyU8>HO1 zBIRE5%JIyUJ4d;*MasSImE)Nycb0Nzij?~=uN==zxigeY7b!<>vcZ>Urd*nG@gn8O zAvWcBX3E7IjVxb_ewzP2d-PN88GE#i^KI~{B5SZ+YqdsIe2>OT_M&XW&UV(gYqv9G z7da!XeD#d^{`t6Upx=)DK>bj*FEIAVIP4hjLBWoVGj=TH*-*ju*Z9o(&e{!N@ocGy zH;%@>4IXj6n%Y{z+M<&=jPIP@immPPXtCJIr0`KvOZZ;O1-@zekZo43yJ&IB(r>4U zbC^6)#nVI=!J_hd*QD?nWUhKMw)Z}skG<>8`Tn|w);r7~7>M0(wwS*YaR{Vr6%4}nd1{TGiqHX+dS3Tatw;362H)Bn$&IF3C31(u@P=03U zAigF31v#}DyT>oqN;|9YcZj1WI$XcP#Fo5qa5OZ%@nf9-#TDXe;%ejyay4*$lFLu? zVSSiYL&xAeJ}@4O56Mo~AM*PiO+4FS^rk$kH!q_%{m?QEE&Dqg>lz+%eHYD{1dpz- zqm?tcO1`dv6Lkl+C5=4TbW0fqF(>r_( zuJyCeMHJ!}UvB?k)7ASbyF)kz||@ZnFyT`UkImvO8y6lgR61 z7qP9^Pjlr;?>|d*H`a|^eNCQiE%Zz-!_l8i@|x7l(VJQ?uDsw87o@=TF(_-IC+cxHHahH{LTL)sG$BzN9eO8#1%_-4z= zCpGX{89HU2-H?T+%99!H+p&drd6+g#zmgyLIix)+Bh-_OWZV1NFzwNXX%Ct3%X}6- zd`%;Bh3$ROlQHh+!RPrbNy#)iHw3<~P){;k*dD%uk=erbJYOk^PO2^GqTsb-|7hg% zTh*T3Lsm5Yk0}`Y)t;{Bys>;Va(9OH@Y7uVTzy<=t`t|2E5Q}#ig87`B3w4^p*4@+ z);s)&xqZRQD=_oXj#793z)a?&9cB6RQN|eM{@XPLGbe3keCP^tKbVvH{(!(aY!^s(4OYonrlAD zf7{3N_$B}I9on8p%+hy8UW|FK^8b>|fk(Cz9}i#a@gV`+Iv+;7D4#U8GfAxLMb7^v zHn!zX-Y;^K@BJcUSKl%4udER(Ha4T&g|Te)H3Nb>3fzjT+I5S=AzI2Lt_PfDjpekqY#!ed3`6RHX8Qc4?mCSt= z<132CGvG1Phevq<9?5z5I>4>+vJ-{rUB)2&kJwyJV)w#0OBiiGShmU#iO_!`s zD(htY%xv`N>(5slLtAC~MnHv^1)oIj4GvY?~OPdnSQmD(*Yv%1k`P_K`yN z5*^TH6Flrh4)B%bODdizSQCqov&H06A_I!CD<3kkkUHzMmJ`efwqz^iS8=&A|E%K8 z?*s3J+XS_eDv|T zZpM(?fLnahvyJdwYqs)VV*Hn1E}wj50DD4t#lj5UEgPOoG*e$=)edYeG+#tJqPyDa z#?~fIxV&)7|7v_t-G4wHOdHVIzy}W!%nvpOffYV<^ZZfdtDEaDxcqkTsyVJ5Jm{@E zINry#hvQs(*eH8=NxnT?O5S5LxneEkkdiBxAO|x^{-yR~YL8`VX``Eyx}`Cbn(4;1 zB%9>@?QYue3A08~t-XrM1*g1X)-I1OG4hon-_F*nr=IM`?MF@m=PBTfvnJ!KH%s;AQg0sh;^VSs-0OGp2(Z*b zd(MaW`g@Sa!@zgMUE{rp{R4*>JD(yhUcny9!m;Ub?8gn{FDNcPt=!eUN40JJ-gnm_KK}{S9|T{#l^k);!o@-G$bC7IL`M8)H5WfEP4NaxaCAN^w6u6?v{8-xaQr{5_S%7m_D0M9$GrCP`0v#>{O|PmznSl?9{;~N)|_J`{@*D6dpctGyV<>X zhW~3l{;z}oweTOgPp^mnZ6ou)Mf_hgdj1<&n|Wssb9cS7EauuXGX}|S#Pp2(IQz_$ zzYx@%#l%Wt*xJ}kcWqc>GHZS0-HbEu=KV{(e|aJ@KDh+j4bSJYZf4#?(9_e7WbpKZJiSc0#{c$RH%Fjyx%vj07J<&zbz6&d^7jNY|y zwQ{XO4hn3zU%$#l-=&m6zeZ!L{Wu6F(arb;7Pn{hz9i_o&!v4K%(I27r7?bDtcKVV zb=#mzD|Oq+XOPdJ+)0~bWpkShZVM^TS%6yC%H9XRxNj`-<9Bp3_=QG~pM}?s>F(OB z^#ff#Ka8$ee}Y(BPoj(Wcrd>zn~i)Zr-3!)L|0SKYi|$D-+m+X9^+s1e_8oulk)wG zMdY0OdA9@{;Z2gW3im^wC*?OTcGmzkPxhBR$v*bhJ?x3$d*wd%5>PimUH=-Pk=4*7 z<7+6lS+XBtPv!6LB2Sohl~ZE(Sly%c4`a)Fx%P7%K;|i{GGAADo<(`4y;FKuruOi} zu;sB{zW4LJAG=F_eryl?+Q|FDW*g0^Hg0r9g+MAUC-;2>b zxy#Gr5-*Wq<|`)e&fnI%<)z>jUo<~cjzK5B?;HOCkI?-n`(+!XkHia&U1=}TSqgha zJFVeX@=UQr;`y(p+Dsg4uYC0i=rQ(D)?c}2>6~gKMo)e9muh#{N)*e>o-MG;Co9No zv~^PW#983j0lju2BRr2oyM*Lr2ejG=&Dd8IyTJWH?z2xcD>vu3cb;+=C^tws_H@S3 z4dv7)uxs&i+&j;+i^zEj{7->n8XVKWE*a7|p!+Am@sM!jeila$FXo3M;`P{Q@JfTj z8Spv_9#$VtaWBsQG_aomhqK_n27K0n*E(b|&izwd8oxWpCoSNe^hNeI0{q|nzN@$5 zp*cUN2p)?6Yi_4CnKbjGBs5Gx!?bAF9?T>mNxV$`su&Mtj|lvwqqA6N;AwE z_V#j5vJnyQnLEe0Y+gbVS$O&_%CAQz+wdPKueBn-+{f1gPus=eiBD#4GWJTeP`-`n zZzA%+{kBV#L;Jt)!{R)+9UHuZYbUl8{B>^Zmv@5)wAMW7qx65!#JXmOU)R2Bd?54R znH7Fb|7Rlm)R8?Z%v&8pEFi=gZq&UES=9UG>rKhiF%^75g6Iq}rwKe$UP&!Ap4=Dez*vEh_64kG~ZjQ-{Z6 zEd5>X;bCKC!XrA>w@0}GxmS#$lJ6R12Ab$SxXQVZY>Y31Z$<0`ITe{ScA^hE!Psuy`|cP>Hn`)C#?mA_NrIE~*~lB^SR)B1!R0@^7>n@r`yG#xkL_%5!q-bK z%8?7&5WiJFG68z1&53+ZmY>Yt|G8ZAa_`a_oQFQua&6=4hGrcTvU6j-|Bd}1=3X*T zqJ808o;=7I0_$iGIRRFlm4uURe6J_gAD>W{47hTQE*$gEm4(w&>~p;P!^FvXZ?HcG zO3qFADc+4UVqMMxX;$6dvi!RIe~NeN$S+ILx5g3mUFdHd<{Xhl)R!Jwf8#}P)0sMU z?KMIDgX{}sk7f8<*P{c-ZWO)L`mgqkHR2x(ici~29CoPeazD|1ahvHsD?Um5;{aoZ zWaEpptvvlE`kBUW|2sc*MrurY+R8WkU1O_|=`~#3_scK-_AwLt2}}r|`xY`W=wzO^ zdtHA8`L(`a6kjlU7WoI>D=xveJ_Ak8y1A82#5C-l0MWkCwqApO_1cH>b5XS?AV&RW z&j!ZMIrtU$dguAR;JChC#6724zTOs{4bhBzw}5|FFcaAvMAwI3Z&={H1N1!=MdI|$ z*rt|76Q?hfQ~4uWZ#W3Nei=1!`pw|H6}Y={xvq-ITmE79v%a&T*GcHb^Owg%uM^Zg zIeL0MT8v)Q&(iCZN3S^FX(zKmd9e4?hO0f_c)_noujjA&)#&w=QPN9%(|&02u$O#J zoBO{-YgQhA{qKU)`!uE7$-~5OOE$ckI>LAY@A|~Uqx{x$bRva5^q~)F^uezKAC(UD zvbKZ{n3&aic*5A@*O}4!I@w%}R_ZU|T1s2Z;KMi&V;r#lmEZnrzN`7@vTKk5#)1_^ z*8BP|AAY^h#Iee0yB!~E0^c2cb3S3btF$gOng5&kKb7xJzAN}{0j{m3by~BNPpP%R z7&a+UO$4t6~Pz%UyatbzjXug!(!IQhOXDHQ+K6Sb*Kl z*S}@JN(#8%Jp>>RX(K7G(B4ZS1}sfJ)Cja{(ke`tTH;s?=_tS4L= z?3q5Lv1i8BO+D54FR{&+5zBf{PpW%jPZYf;?zvm%M(_PDvU$OkMgRV7vsbYbdO-VF zD`(kx<-htp$|J|7|L)s*`gZ(A&*@!@dtO5y$6oF9jGJE4bIAuwdoIO4N?izM{O5l( z>z&@Moaw~(%2n?79c!90i9ckIO{F^zlP{}!Dd?emDANx(vhE&Efq&{Gza#vH1_wRA zHZ>7CO~9s4=KB<7;?OA#y^x_4vSiwT$7y(MY1O2D_@6#SUpgyg5oIm?u|Y4f#&(D` zw)9cjI?l5bT#JJ4ngq|YYjC}cp@$hqjzH6+(Ed2IKEe9{|Cuq#!)b>4vTehQm#}r_ zteAbYy`Odu_}b?A3p{@jTNvL-+q-Cc4{h(G?ftZUAefo&Yun6$7Ut>?D?4-PYmSpi z&vY`1hs&pyUP$&78#Q(_FwR}Sgf52O(C-J(I5h`4peL4gM$Tpe&yFH;Ht~|4#MB8r zsme=xWEZX6R7lRwUqsG2O0#lyN@uNDIjg+2r*Gz>p3`$b)$`h#B64A+HLf*6)SFn?Ro3}sEwT~~)z&`dC z*hgXuQDO_Rnb^lU#NFmHN1TV9Z1s)9OZnZ*wTNpm*Agcas~MBsZ`Z>7vxRp>w(zdV zmRatz7Q9MVqI**4%J0p z^6K(GR7G9Zjz@$S`_)wl@AQlGi9LK+eFg&geeypf`pWLLxVBdP3-6%(C}b=O{dVcR z6~??MV_u9gFI#3DWspUcc}isl`Axha#u&+ayN2*n_mnTK{jIS!d<5)%0=u7N3`lms zvrXJ<=R$79FU<>A5+BI^AH-+C7HhtLCp^--^5E%ie_oSh`wn#BH^5i)wQH%oCn2Nx z`+nM$ZY9qF2R4oMGm|?K!&W3~TpA>?kFuM}#nSv-=QAg3=zG1Bc?utI2Y5dXeR}X= zpW*+L{O_NKKGtHR>(S2!ey90;hTmstzmm2qoXqK|PUhpZW%^%5dvi?;$gHQ>yd!HL zlHPO8F->lKx1$`$XC;5izt?@`Uy)<{YLaK!dfh>jE2)_5;0gLZ$#se=4zBPi#=Y30 zpz+UQJd5+poXO2|{9gPD&I08efY>*&;cHC{;g~rKbSd_vIXC}}14E=0`vRQG35#Ld zja}?@$Dw2eG_1_gu!e@?Q|Wh|lgXa>7NYNkPUg*)U?voxy?MdRGW>SdUbeLE=UpfC zA>WV~uh}oAyed6gae#BJ=(A_-Ko`%Dj zc|M2d>-kMAP5i Mk;;#qPRtsT^w;sIaIlIvfW8GrGvI;|&;&G#3Nq7%o#6S^-b zhgN&|p1}73z9$k-n#}$N=#sz|D!!Lm!hL9$XyqFmbgsbyWKZ^N!A!nu`3CkxuR~kp zS|Nk1lbCT#>kL5?7Yu|y{0Q&wnf!p>1;;dXl6*^5w33 z@-2EjKskRI_20dv#Kf`Wzef(ZJX#Kq46ooLd?^Y?DY~-~II4le=FpTdUovtO8tdl! z9rxakal2%}C-W_C-l2Tm=py8gu`<2{8KV5ex3NXd_(qhmG7%%+unAd_kLqvV$S`&O z_`S?qL+}cDM5gvmr<~SF{c}w1d(=Ii8+?`#^XK>V>O*!X2tL<&_*9jR8#C3GDJw9bgge!l%-^7p0u$wbeXBuM7_UxrXr8x!nIb%N;|jJ-o?5z9`;F>g4gh z2;PYku6)m>pEvn!>;yE3!f)9v*^5X$d~5jM@$GpJmUqLqy`zBN%3lKBCFVJqZf`%! z*F`rjYxk8aqP^-CFZlqMYpre-xUIo{V2kYCvc>VW!OWjX z4|Y(0C-rwZnK*S4)Jg0>hIV3~cTu+uyVH){>EM1h_qTIz9rxDrzm5Oxlgzukp8C)_>^?uu7fd3p*up<7eBy>r3p z`7M|WdH$UX`8-e1?>C^=1JLR*?C%EJwzRQ!Cyt+F>2f=CQM)zZ-&z*vY+dHOQpUS% z_|I^# z-}pfh{=4y?(17AUn$IW>`;OPgYmDz|*M3IVe&sXF)kkbUHA4ILyu;b%JiGk!4i%q_ z#RGNtYG!;APsedhyMkOWZ(qmet<2rlgD+)8N9m>BImNjDtaMFvO&q|Sujiges4~{p zXzek9z9zYc54l(SXtDiu-R!{*qGQ9gVQp80x>4%-Vfw;Dz_b*Ynt>mi5Lv|U#r$3Z zPa61L&%Ig~-grImHU!C|aP!{l=s#YIjcUb~a6d8A$*e?vbe>Bhg#Ilgrab~~@pz~% ze$u=rsaCMZ@r&B=4dUb)>b`|Lev)|kDYu+_qxeF~VSiOlcpIA%qEGJ2hkB4Qz+vd3 zGTC-$BlkOKV%hq?PHlSiel)32IskUU;e+IwW9lR+Lml+tuR7a?I~S(p1q`$kMc~ip>s{*=taC?!*lU^ z+Tq-T1bKi7=yEH4vX(ogoih*OhlkP%nj2sGV``^l|UzKYRKuPpzEBYdl^v_bKGHg+B}D*WCT2)&@O_?ibS)LpS8m z&=}c`xAL3$g5ubprp{XI+V65zR(Ww`@4Zp|AMorJ>oQ|KyJGFh>`N7E&z--i*tmEU zqfPjteZ_SR$gIhM?Q)b4_N-(|F~J5eZ&f&JzQ?n@$`1)3o9*oPRvjykG3pBbSQq)J z+j2HUG*Ethi|vDFrrb8lVJDkBUP~`bIbWaB3&qr>x6pL&9R8ClJG5`wF>NyERD0@E zc;#%7d)B9o)BmGvsAsno>(-hwi`L(XOocWT&<5V>EG^+@agSF9&Hbp!wFo@(m05Z( zrSz-x8TB2ZKUc@xzRKWJz|Si$mi2YZD`Ht)zA?be-+JBit{$3lk@K$5gC_)UJMea3 z-!`Fxoxx1$6}dfl)BiYU7ynFU@hkLR8m;Ll&sO{}GL21vW`^gYn`A@sVD?GzOt>XZ z@jfz3SNhJ;)jd-w(oX-h>+gSH6a6D&vcFoFDF)+NmGRl@gzPi0xiFNO_YWFg7U@%V zTji7JOB{QbSd0I*4tYktH73Qe<$^svhjQ2=Yx5a*jGZ=ilKTndU?ujx6}uk~Q5Tz^ zgx3e4fr)oO1L{00eb6|j{j^plWUFhrPu;q9#xOmz`jDia{T+vX)+Su3{%POt3p?Pg zIZfyO1Cs)s@jp(7;)HoUm!AI`DI@66kNLLKL;AHHF zY&o{MRrUi~{5`U!=fq)#@=t4m+;`>I<>_Z;yxFycD{E^!`Tg1Zb1{e|h4LHnpVu}y z=Oe+JsCa`MX#GikVjO#+xqozV zQ!QgK@Hc_48H0t>CdRNLI2m6>`m+ciCHN*%=zWJ?~~WqgMrG}%MW!VkEt49b80uqS^jeX{59G4?ay z#=mZ<)_Q3{{Od4uI|2=lLPKb)n1AdDGIbO<)<7?0G^XG1rG+z(&7K9;UgU3RZO4{{ zmwR95Kk=Bl7WSW;ag%ZuS7MuWG1g|FZ>?;GX%l{{p9KApYw(KpHHc2Xf)1SG>6yzF!6(aKJydG$e+~jL;P+Ur+0{!X5S&Yoq3mR zq~`9n{m7aic?QHw{)KZKkuB>#qX&DHTah~Kt@&^!=}VkRdWbVg(|d>`?{hM#{jRR| zVc*lpF0z8Tfz4H$9Mszv4%E=s2++Zr_IM7xzal8;`a4z5s&L+;_jBf*vZeZF@ zTgbEDW*fPhEBxF&vzntOWJH?_DX z;EA3~o+FFlF}5X&Zpc1P6TFlKZ=<7DHYAtITQ+mWz*rLlELQ(1#WqG+UwWWRHj%cmD_35foBRJebAMw`Lhku|;?Y)*xIE|#<>>0Y~a0L zz%bTjRuGHPTut-n2sE&D6rb1lLV0%{4-Ur1(|)$l7$f^p_$}X9@@vaiV~^}u6h)>R zoq@lZrRV&P(Pn&?8zYjf`!@HN-?w}~cA*|yFztJ+0numH4?W=ep@LV>tDkN}M_pgk z>}TM47TyCv%~Q-AaiRJ{k8PVZk2GegA9d}Ea@V5U;mJby6!Oi7!Ox8WdANDLls!LJ z_Row@+rUXM*SNG%{~BWr4bUm@4=YapI`V7oK_lg5Yu?5jC=;dsxcYD4cfCiudY(17 z^9!x%X^t7?e{>FI_>S2=XM($T#)bNwuX4rk-0Wmx=z-#o%2kQYbMZ9rzz55tM}X1h zC|Nw^N1FZ5n>{=$sXx<&4SQ&O&8sM5+N$;Nr4QwTN9O=5_$n5vIG}hezp0e>W3RZc zdLUZCdVPgkDcI${2tnaeW#3k@fc;| zl#zZ5Z~37~crD$uv1+5^j4g>(lrehC?{$sri~~w_SNH-@)%q*yncl%mV52i;M$`&8uvZHuuwJY7=8eyVjsh9CnM1 zJ!`#J<(|@+|CDW}to};41Id72S$bLi9XUGIy!1Ngqe{VMKjon7ZaDBfyq`(xx3 z8+n-+%=|vj96qkRc=PSanr~0Z%~#-^UF-0VeUcm2rh#XCctCq)1us0bxH6AwzmPL0oKSnn#=B{+wn%#s^s>UExry~K*NP%zQDjW< z74f5yT!u#S5Cmso{JaqwS9`Ry@pHYu;qN3S?1Gj?>6T`8BVu#j%Rqh`&ehJlsUo++%=>EiMt_VRwegLN#6!sGLiBYizbCu&j8Ep-)ZBci8XCv> zuh?z}xtsAy$LPay;57588rJQu)qaKdhF5+9`Y%D2!A(fFxFnkq+K?W*bG=Uu*tG!vUf~RRtbTj;o76M%+3TLi^w3o7S#SP% zOnzDXtYioMin15RzC)pb+@%I`m-dqh;%lC>w_q&z670E;lnNSSS%3w(CKVlAlm0-@;!s6>W_CNFF8U*g!iE))+cnG6H|(*H`PeY#Q{9Zspw+$fD@Rv`uWf*a>nXFuh1;L= zpctxXAzN^B0j)e5>D{c@gX(ZZd)3zs)luPY=4mZHd0};bQPHwubMu$PoRs(a#ERU9MQWD`0D>?U{oeK}j*0BqO-;aNi;(-{k{(VPVt zOCV!O{y#~+qUMY=!%}lLoQwI7%Sh+^1TH3e!{s}H34M2+_hO1z=5st?88E1AAS!yRaUt% ze$nEMD_#3=pa?zs&H400>7lt_9R2b8IUiXfGc}`Ym5HLHpK+i9jcRyJn2`;)*}?aMXDT zFMIY+{C=q5{b3r@gp=mbeq4-i$$c|#@x9;6meaa5YmJ!{^-e;AL(qV^=qt*t6aOc{ zr~Ap_7OcirdN#9l(BgSzxEwqk+K`RR*>pGFKhE+DzKUlXg->}f^D~cUvgg95zf8Wy z)j9cvo_a@_{O)GpY67k%I}hW24xa@B(hXZq?`voR7R5y@9f&CqTXJJ?6TqjD_rOLO zhYo5_;f6WkK(+H7!5yJpmk(~6|BOslO5Qx!KkLDMyqLU|3jPn|;HQ1PLmm9|B;2&m!CY|C%gaTOX^^DK1HT8ycS|MhO+dX_fSp85}g;}BS|3kDYXYMuG8Wa@LU{Jn(*IwqiFayziJ zL%R;ficQd}%Y`vJR`7p6IBKj=e4D;a9!#-X!Y}%C!H$P-;1f2KPCC=`UipUw@$OUTCGw&*6}#?Y zW1I0)9v{Fd4&4l0v5O(%H)egxd!D5M&+It)2s|*ji&oon^Uxu3waLoDm0{(^FM#ff zqemD!Ol)NlGy}dU@WmRi2WI>qYsUZ7QgTt@v0@&|qdE!wIg=!l=KckKrkqdzF_xuI}Wl=xre|fYeT)Y1Nq33uNvC4{<7w@ zM)qV&(FOfpiEWe(mmJDp(YMaU5Uu3T^6XjJcT-RHeJ!xXN3ic}Eo{gi(AJJo~!&y>MCB- zDnD@#Hg_NJ@8>GQ2WxMobA}JQkfA+6V(!RnuM^(-H1>7}_jXc$7x&$HnBjxpH-Ce% z=qKRPja>c(m$9>+e3|zPmIpIM?Q4fCU;Xb#zB&r*>j@{b{sR3Y&(RaE?}I)JIeVZ6 zpZTY(St>S_jcX83iBreWL$rVqQHA zVasS9p!tpievYv#j#;ae-PPVf#aLFNGaJ#FBz)6eX}!n)%XUbOXK7ywJ4~SB3w( zZlFu_k>56k`m(!;W+#(up=_(xMBJQX(aOyCnKy}E*kN*x%fnxVMhR#pc;ydWDP*E#L>~{e)Q`AdWS9A zy8~VuU8Md#?q~Jxs<2=0(%69rx+$5_8kF)8l1srGo{aH$;-4oAX3?a?gL%3KGd9rh zCIKJJx@j#mKEiL-4`maTMq#dU>bD zkLmgQWqQjp(Zgk#*pV`wbz7%+lYbo}0zV?$H?k6#?yiwhhJE(0M6ivMls~=0^TCh} zt#L=r+>!M?v{oHKwxk>KgADxXVV+apJdY3aoVLyL){1a8{)3-y?uD)lM>!+0@@w}$ z?Z435SC$VB?!^aS{J%0BDGy*%OMVcUz&Gund+z=9fo$86!P3n0obwzVY%+5_aCOU8 zaJJ8$1)1o+1)13X1)0c&KqfjEKrWyiGA3D5Tu<<%kbyKZVAq_l;htHayijWPW69^d z1Kn7`xAHX-N70Mpv~jjHlQ_rOLFY@23{H^@rb{!?Go_h$1#5}OU{JAKVqAV1yh$<` zFLh-Qo*_$h1`c2_Ytg`$xVkd#?lnZPBQ^0x@SdWhkYlUDvk`JqFfPoiTQM@8m@6i#xzX^Z+ zi-L{c>B9>$eZ31ZgWjBxeF5&7(CmRdiT)kF&UYsCfl|trW>SZ_YTWYzdZ+vLqwj&% z`=IrH;6KomiS}~t&*7%b&X-xESzJm2$XXC8U<5RJ5kpM@8@atc2yO-@`IpIbCj z94v($*Zu7NW}ap1us4cwZvG~^Wnv$)#h!ktuK1#SFs*k@C3hp*J0&mXZDfA?MU3uY9b z)!L=TDF3)LmgoL4>F49TxdD4Sy}7}Vv08J3hgrKFGB@zSXK7%+KafFp*uxzG2F0@l zQ?wKMZidcV17_V;@oe!u-ohBuTCo1Z|3qiVUH>`d`K-`W_C-Euv;rGnS(b^{lo`A7 z&Xe>v8QVXVd+g&L&aPa?7#^8eHpH&P=?{N89A_NY`cITL9_9QtXTx>ja}~tj+TjEC zMZ6Us7kKt1>*J$O-OM!;nBt<8(nnmABh0)4`_ zdsTG}O`03)LgHw84W8h$RbDU@w9M!C;%?#wj$R$EqfO|F^?n|TMa;vc|i z@R6(vFXc{|I^ZLDH#r>Cv3!jJ7j=f!^#2~FBR*B28ZE0Fxztd@KUhqih%PC;GFb$Hyph;T6%+%+Bfv2?{`bz zcOG{0$kq4L^l5QaF2xWWH-qC=aP-0cNAr=x39cM!pL&@$z6p;2cxa!|X|84HoyG~- z&p)E=)MD4xiXZRS{|47CYhEn7r2l5T@!1*0&Skr^W%zH(%+1-ZRBb^S{+lwjxiZ2v zJBB>#p2?az!8@#=rP>xuvM<>(*gZWn^^lvCJD$`k=Q&%3cGAGC@z1n1%(&t&pYr48 zjf02&(gzQ16oqF4@bJvQ!x=vw=UQvulJbD<9H|w)XucDlS;VL7!l&DY zPuDG7#m}h3&!}PC#a?tjA=`_eG!;K-J38(9bh`_Ex>wM>$i#d<2|eAdm|vvJ*v8$8 z`$f08zZLt7brZ+XS*_sB_-5>Z@?WBqw=s2%f!FdTpU6I7+mD?-z&G}*5#L4nsOP_> z=bR^^G4fLG4VKG?niNh=D9xlf^CQiFLnGQqp^qurNzsm_pZ!kl4_e>JoZ~3CHJ1|1 z37!ew|v=Ckj0xy#Mw`1B2PzJ@uvhY%?!f1Z`(Fx$`1?j_=BbK}XTX z8#8u$V}_yWl8<>~26ClwLv~DlZM4?)QKIN%bZJfp6n8Q?WcBzgPU#V?o5&|H<(9bR zus>6x*p?{&Ew0fe{HGnk8ePh7pX^1^ALv{A+dQk$9D$~#BkYMleI zo^ctP(vH^2Uw533gx{&c9JukJwL?I?*=#4e)#uUPj8x zkQv%)TabCv@VNAuDyQL}gonn{2KMS!ea!ic=ojZ+g8AG^@Ql-c{M<#x^K&7^9kw{m zRm7h^5MJ@nK-XG)O0}i_zyBsaH2iEtp678dYab70efzy1RN44@hR!W}$A=%|-7o%m zrGCqw&CV?;qjQjrpIy&4?L;_-C!+i55~C~T9_RDSaqzR}y5|I&xuwdU^ZD6-ho22x z&I{0QC;s0q{J=f|w6u;=AjjXj4x*wmBW{(+wUos~ToYQ}}{oa^-X$GZ*GiJTAO-@_+ti?uiU_SP77 z%g$V@^YD>xo%>+zjC?o$yLE=ETcNt>iRude1mlEsQZlF*MB#iWdJb5CDGp37kFO4Y z;Rd7ACayFVxlJ%1NirWvF(1+SvgX_xop-aUER$SQmPxI}{|#u)&N(N8A#&@B`}r%$ zd)v6-vhcr>KiaRsucdjE(m z6R)D%zzrQN%+YFKEw({xvD>V!UTt)BJ+{rXkFSfruvao@eZmKTbtCpn=PD zM2xdj;yUYw`!Vjvxi7pbWV_BfW-QeBSb_c2KET)}c-I-sloA&XxOs*{Z85g799rku zVr*lGcBCI(TxGWxSJ|z&iu!y<%Pwfwmf>R9Kq#G9=M>fDC3LY`xQ40?BTn)es z4he8bf=`nBaqcI$KiGx++zuTbsN_cMete_yJRkp+7{yVkN3pKBM-_R!x6 zcyy9Jq1pEfX?C77(k^ffmOw{%56vRbEW-UL_ha0T?}Sdfki9*eFCjXdhlarK`X_;B z{scTM?6FPmI?^4$9^u^RkIu?;eFDB$Rw>_PT#wcRwa)j$iHgtO%zw^+eKS9w`yujk zi{*2_xrFtwa$woU_XNH}d{5*XzkU!KoY;nrKpU-d=y#Iyz8*lI6ZQD2%(0h~CoVX( zwy+I4=B~)*@;67J9hU`cF3ARD==YaH1_#pGX-k~TeN2I z#WLTT0r+}r2D^uxm%^GsH8SeAfo9EMDX=%wR}0_3CO#={YjQ0%!^5qN(~_sh(7_JM zV0W~(kh9PEYXgz%vCr+^+Q3q1*9=Wt^4121*yl2M`6lbZg3XQ{vd>mmv{qyMVEC2j z;giPb4agO2ID^&~WcPcitUoEMYpH4*wuaN&+3ud&JUw@Zz0QYHQ) z%Tege-nj5}oSA$(XC`0AnaQ_vX7Y8MnS48ECSSK8#CPDYuB$ruiQB6-d_wtGvGuM$ zj^APST10xA>d3LJd%HCd9%OAq`D3D0l>YG1!qLgV0nMv}rM%P1$@~&Lg@^Goe06MI z*inxjKeF@)c=^fWq@Vfu$>jE#-0Z;$$EAlymsXE1E1^ql9W+_*=@_uYp-ar8OANZi zfm69-nuEi)DKY3`=oojxw?mhEpv&#hY}&B+OYKM z@aVPIqnGmk#*ZzM{|DYS2e5_sN{o3IdS+q|8aHCV+A@XvJKXzrjEJ=a>zeQn6??K} z7#lvLJ)y&lUPFp_tKt^& zmqa_$4tB}#xVPN!*wSxE`vI^0a<6^l?PtFBZ)e^_&N;E%OT+hV#D1MM>&jdFdnk;2 z?GvufGq&tU9;EEPps`cQB5QG+XZOk-T8m>(Px35w@C5R3gzG5Rajssj!_cFKoOH#c zi8E-8xpx*k-Y_ow*{?$b%10?5qkNq53Ce4aaOx<&3A&fu!5FlYF=!X}4|BhltDE23 zxgX+t;m9-#nzNfr!XFpj=Z3+1kBhf0d+q_s?s4(43s*3Hg1?pgHI zxAI51y3{$-o{2|Ek4;_H>VAAZb?3Ws*a{8R*Ggo_$o>9cW|rjAwn-bZ>#1|JcRtsi z=AGQj`19n{elO$b3)qAg@loFEZ-=_3o%6JFA=i%18&o@n7V~_xp#O`~LjC(_@mKl4Tpg&`jX;XC%sqcec-#p9G3jX-}j!bC(!KnJ)?)AOH>w9M~^QY{?=-ueUJ2Ejiq;JuqnB5ia?>z4Iy$buK|Euu>QYX>TQ=Baj z#}3Tp_Z;+drt2T2<^)X~-NtUNq3zU6>g=ans5E>GKj3xzfMfUpuj2_De*-)946#8=dF=UU?qBtJZ7t zLNGJllUFONqECdmm7!a)wiv^+Z84T-+aeD2KX*WXpWK_a7$b*mOJksgOJkvhi!m{- zw$R~xxV}E5tvvbk!|U5KI>qv5BIA$Gf17=o=wE!l%^>oicUD9iJQ{L_wdQ+`Ae z4sF100h7r`sA#N{zwfVOY}G{9um7BnUfPE*TIplx6>{k{+st9|-`}En-e4sc@av4H zD7n8;Xct+`nWtxo31DY5=c*^p(!_d1(}oY2ckU1)-s0aQDI0tZv~ecq_Hzp-tp{k1 z(@cH+kAaWYyOsZ^J@mYPYKwDEefa*d?tbzo=Hq8T(KN z+$bNe!q>mYX|NoeCa{N6d)7ZyMy?$Ey=23ynlr!M>M*x<%)CPN>__y{d~bF@vUOEX zwt#7nvAzO40=%Q8jCZt*;TY4QiPPaAIoo+YhBpF{#YlQytr`NmBH0EUQKj5{)vur!O zzfbLmx2M}1b?%aRPt)Ui_aXcLW5D`j_8U|auQohI2V5Gs=VxWxzL$4SmpE^n!ACp; zoU~)!k(&R!?LRG!+5W-fSMKw+V1~M8Kjk)JKFf&9>U%kHSSy2hu&(v!eM>NN8rePV z{adf=F5pshqnWbMS9JBmDZ3!K`n2Q~{q+j_%8zb}PRPnkpYv_Q|fp_-$1b z+Pwci^6gcrdB5PtjlDXF3>LFjKfipay-Kdau4BW~*sTlbyWY{N`h_vq6l1^()YqDr z&C^b@E-=*IwP)=ewrIEWwW{#_*dgsd{^5+_?43I<_-*_z$LGex?|VFT$3riEGjEjf z8`hrk;x~cub@tt6X7AZNW6QSOb=>$pTkbyLey_pj?>~dwo^>*3&cPqaIr83*EKC3U zk<-)2X+y~+*_demLh78L-1b2Dx*Lg!-bhUJMq;8j5)-|VnCOkfL~kS}dLuE>YGR_* z8$Qv$o^}SYX(i)L>`!A$|32D5*8BJH4Sbhy&-6)uv&T5$eqiYb&e@HnVZo!AsCiyX zdGzfT^j!0Fb8j9nUhcfnNX$*`4AK3y$k{q{%Is}(=Y+&Er!%dAJ^GqCC_Im@V|??;P1O|gT^_k1+{k%3mvOG_Nd5c? zaP9~{@am>}z7Ji>4PAbndoy{TV0y!^L6`E2(q%5?4gDEQLCD*TT*-(xRBpzQ}g z(!+a{&*bs=eY9=&<@WWKg!_73KTN*!c+Su2XB<`zmUK$*B#JPGNVihZQ2LdIhJSe+ znvEc9{`!S=)!xRRk6hpSMUnws_Wx*X+-S;}@yI*V%fv=zqHCd&I{6znkV~G8jqsiu z6Bl6&?GH89eU5cxhfgv8+~`Qv$Bcj8h@M=`KYt_OomXqt^G0+26YyahbpBTo+faCJ zWnrvp8gw(UD#jF>XLRJcrXKVDw3@L!{d3BD&deLvqdBDX$?&WmUSlT{*vBMx;QPzr zlNTp2wgEe)`Mv9>x#tOqKbmW1<5P?I9bwJ~O|@o~eXpCDBNsn|=ojVrG%x->N|#>a z&6(mu>803*Xky`ygLeXYX$~zIb$&`>iPp{CHNA!2JxRl*v-{p-HLT;ow+Qr&Lf`FYsB7%JJFg7j z=e07|U=7XqX@z-!H!?o_7I_NV%Xv+?+h0)g(q`YhbRIZsUW$*Qyn|($mwx4a;YRPh z$iFe2aT7g{hJXWlMWI(AFaJh7^JuB@Di`0#@lJZO#^c$aQ9kRBa~42he9Fe9VhvhP z_0|`WDbYtVW$u$>7(2}RBKNJX>nz(Q=3z4^BigE5h_$LX@V7G_XsvN8_g8+HeTl2z z7dE^@Hg$fko^|@3>73gb@uQZF&KtMz>>E7Onyh~79W;$j;K&McN>{w~jfZO(>sreu zhL<^|og>A=4BV4kAISP~2PZR5{`{J-iH{JQE{vg>I#u~~B9r0KKTLM(1in_hPB6a? z{p@zeUGLT@|9bH{8;aEV{AH%ja@Grq!bZ$p#QEWj`*+mVPc)RU|7BpGWLmkQE%TA{eaJcYU760EvmBwG@Jr64U-UPM{>I>~55L_* z@O$L?@B_lnqlc@@H=DRjY!3SN>#i%h8n(I@9!4$HUv9d+VnvTz&E2E(Xsj*6gb$Z+P{W zeE%!gNiILVmwNPm(xdkq9q#1rrm02)rSqumS05t!mD3WLLMP)1jYw5+9MakZpPtxqJ??2 z#z=gb)GEe3sTop&0e-Dc(>_WYzuXewKUotqN8Z`pw1 zJMtR^PM4Q1d_iPLF)RZ=zFE#DyU*p%CEzD{TqX{bpr38@WAikX-!+T+PcYBWxFA0| zTZVB(d1~?>7{jw?Qb`^*a_*1HOID-ctURTd{6TPjb1nS^f}Dx1caORA8519-%y4)N z2mj}hg{54dvoc}VuewTk4=*%lyg5qlZ=PRPnSY+9;+=O*kgVkEXB2+M7SqNOXoT#@ zcS^M|uRwN8%=jc{CNrKVYWP2gGBaI#6Eop2G_m_iDn&Ez-V;t)=L2sw9@p6fDe9)- z|EaPC<}5Fr8xtXqEdt%%gjS+a6nXys1EL#~_o6 zMIXQ~ScHCvE-oBy{QMf^H3@x%_kPMh#{b8uvz_^~e3}^ajf1;nTr&F=VvV-!lNV`Q zd3rHqA?C?}VwTPH(L_CC-;n{E7l!UmvCpkei&yY7dls5vE=}-4wqrrFV{mY=X+$ z=Oy^8eqR12^7MJGrCgum`Ye}Uz9d)2$RD-3|0Vx;Y}Pl5uZPCbd!02Qp4~j@;J@?- z{@@3*O2!@OLq7T%Tzl`7Kx1S@dagN48XUA{s^fXeTbdFm}bDOB}i+R)O9t+I)H+aMSv$UUdpa;p^(Kw&)INqo!2IOuI|r1Lr95sUuMNNi zjU*3oX!Pc~q2rzWWcj5kGZMa8z7@gq&(OC=xVpIfa&OJNJ3ozCWYVbU0r=lKM5Jh+;12RcTf+C8sKbnXTZW*pWVFy~FcwXPfiChxcz~Q->c9UH>mT z9zuuxlpl6Hgbx}IH)=fe$__ssx@{-WU&)H~Nvz)}y-8qOlQUhvL*w-S5l?8>ucI1! z==TNq`Z#=zA!l*P8L}lg(;Q0cj7H9UW9H0a zaQWK4-uHYHwnVt~0e27m%^s7p58ci<6!5XXYxK(%4aHoxG>q>bP7{C^lvnR|R^r1A70eemUvr*6J~&vdO17UcVPqu<*Z+jbxiJCUPZ z$mJev-af{`{ana!dM@MY9CzL=x~KQR<6YP?XWWsr#@*|jH;B`JM)S0Ew>y?bkcG%r zwZ}L~`RI0R&3^3J4(!>^VCKu0fQwltDKj}3>3u;nR_C>WEJZdC-$ry?K^t=$>lp8| zIk{O_v^LZ^d^@~A=sW5^jjpA^+u&&NV2u~QWmr6ZIF_*=pFne^NHgC{`JT%+x~2WU zLFl46MHUv$Uei9C;plQ5?HT&cC2nqLJigP=S+LQr;RkKoIY%Ej_u(Vl4Bqnf`{ua+ zv(Ib!&m2?F6*KG$;a`q%-smG&MEA4h>KjcN`6^jhIae;yK0K_AW#CTV;Ar~x^E2Bn zI8>6?(Z}3Na4L2wA3A|NB#{NZL)t%g{sW#pfbEcNm2a^T-y*RdnQQ|NXp)p1QBSr_ z^ZzeVUSn1-2UWaW%-i&QqkNmZHwhdmHF^gDI0(i1;LMPEkYlVIAUNH^l zec-<)hrj$>$#L2z$3Iu@LoGbtW!5-zb>C0jRU_9$XI$9<4zqTtxQF~m;vP}-O*%FX z9qYqZYu$TxiF2fX4r}T4yp!VX_N}-6_oB{4Z-=&?S%|Eaj5BNQn%7od_VAfL@ascw zv$#|PPpb#dJZOl#7vl2YtcUgSY#i(9ec+?E8is4D1)cy?v3Ar(8Er(p_WH0V)?UBP zI?xq)Y++e>nG*7yL-g@5L)AG!Gsu08Aj)VsH5*|-I?wX$UWpHG*% zvUJFkr6(AN5}Tb&N_Gr-6_#H>dC6}Yndn0%dyqqod6Glbtt@fRC`ZVqB$4SJ#=IAK z#+Wx`|6XeK9RnXBzhinJmrIgZ&6$6`e$$)jXKT)1o94m$678zbV(mT!92K-X)7S0} zjitbC$IS$M)V$k{tHy7f>Beu&yA+9;+={N%AP>f`^>onEZIIjo>0ln+u$d`qa|_D< zr&m5tXR$N!4xi3$LOwe^okix2&MGbpELLX|#90=2cFpexNY?Co97n{ZCdX52PkvGi z7wk_;_QxkPw)~HZ;j(rF`(tsD{TU7y;PUfBxcKpqzlg1xqS!(l+9r%Wbl*+*2=Hj{ znEWv99V2Ev5R)BR!x#_zh2=XbZ`!6E+0|9l)!ftChZXmtGn*0D#_^|{y-d;#143J>0k>H1pQ z9ZuH=iL0A6oQvrCP4qQHR`JtP^~H6)j`E|?b;XEBqwAjphY@wX7G1}Wv+}5zjNrYP zuFs;~ccbfL7(0$q=Vx3$<@yJ%BV0e>dYS7buESi1xL)LXfvcD6d9ELG9ppN|_4iyq z;`%$T{ak;`^&Hm^x%P4W4cA_-XSs&+>prCSH`%>YUVhNGIEPGe9s4o+Vmyvwcg7LVRe^*Yw!ZQNi@^Rd_kDEtSjOIn{9b-X?vB22;0=%;J?jkZ? z#NKTg8n3%!ptP8bgQwL+ovEmKp_TC>_HIbKn!CKly66xY_sN2A^ZPanv3Fa6<&U|- zTwAy{bNvz5x4FK>)yefR*F#+2Qi<7=Lyn2pLQ_rkq=b!`({;eK*!kUjJ{dVi~!4QvMv>}GWnL=k{QR z9D*a=FS#@tmOe#ja7!^7FqWj&4Nrr5>S&EK4UPJs(L=ttwqjEUh-)hjbsgnWtmVAS zJmyJv9y3IqHOHTiJP#QQT$;S1+(XMZoqN}}F2_GMGZgvF$csgne*;pCyR z#Cr!B79v%k6SK9i2#n(?3<16hOzA`3Tx)u6@X>&Gw`DFEP6^x6>(kFfK zS>=;GWOB{lpUXYOZbX4exj}KpJMI5XLI>@iPE25rF7ZdRKNq=i#rxCzN00U~{WhlLt7FJ|;UE(}q{R#c@omNqcExv=isP#@TDA zt91rj*UnRw7qOf;7-y|z8a-QHxOZ^H>g5A3vQ}Lc$ejteY<2a3zu)*o`k8F<8%_T@ z|6K4cpk4JztZT>~>S^Gxi*{>#?bfWW;@ykDNgh!ITB#3yXX*7UymkG<(17x6mcYCJ z!}V#d+ehHz%X;^Z-@k#6TWHJrHv0C@$Mk;o(ay(|*Q@+}?d9un#vjq%J?$|#&Hp*9 zUChZW>b!M)XXoiq{=GGCH*LLj%!JO<*kN0CHf3jXfA*O1owt;X@6a4x+&@=nVQp4E)zGr-L&~Zxe|zFzE?+jchrzxB+vaT47LlVb zdvfHi*IazRuRotl=QpO?oJ?Q4>lgR6_;SufYxtLhe<|j-(N=7>Xa-%CYXq)lJuZs; znRQrfjos6i*N$i}89*M3wZpu}&FMmJBccN`5?RMLu;sM_FGhlgGnjJlAUDdTvG8c` zi}qW({POMhE!bbBHL-ttvp`pM=FH5X$$5~T+K=ch`}?vv8)M}Bz9h6vA?s=ML$MQ` z1)+UDNpvN(Fz0K?9uD!7fL&)(DF3&xyyhS(pEv(U_v7$H`I#nG3hdE2-gsW)`f2_= z@Ay(TUrz5>Q?5PsKBHVa6Yr3g^;3&%5Wy>U|!+WPlb zi=N}n`)fx>Pvt`QqmxF@OMnZ!lfai2Y|vIY@-gVEJjs6UPaosFqVE~3nO;B0enV)b z{P#Tkij2d*SqOI}=V2AG-zLA?+yObVfeifO@T&~Ksr{tY5 z{<6pMD%NEuJDDi3$ELEU=&kmxO#`9Mrnj25R+p7_ayI2FqP^x8vLi11?pYVn3J+)M zt)yP-z=FNS-G7{8rx17o^!NSf7G$O-@Cee{J~L?@dwFJCEfN*<0*1YYXv%v6zu8$QO$bS0dE~^F6BD#8SeDfvG#LbKw*w>2kTfrWNo`T zkjoLipLHxlPx=Lq&M0~q^I$h|9(1G~dCD6gB1U8r%Z> z67fTHfk$ES=zGY?BV0F=GqjNFCaxQ~hUf_J$o~Aj-se-`D`fL2y?nfWBV)to#Z##;wXX7TkSvIUj>}W@#^t-CyEJuaH-h6EY8b zRf}#lqho8~WedDyTwopJJGQ>sRD1sp&R&kgD}C_ZJcq_=f2rE1oqpOmO&gW$Lzkba z``2DRuJhJ0OqhL`z%RMH>6dgeYjS!7g^O zP1}G`qsta-=`LWb1QSX%b}`~Et#KQbA_dxFr7ot_qRqCb*%l;Q>6W(4%$BcOMRLqBbP0Va+}a3q2Sz)@Q*J3FILc{C>WhbHR=dFn)9&_HtwxzBOx5 zfn8(#ndD2Cn*$!`bL@IC^uWX|jekoAtHqOQs~&Vx7D$ZXNXB7pU!sdnjZA8*4s#ivd@a&jt{P!`!Fx|K*3;i^)?=U8dV0fi(AdZxxJZ=r`wWMG1NoZ7 zlltw-ox6TqdlQ65?JYC=MDa7rS1y}V?N7{tUuXB*uIyhrR^H$bGcQ8g1ZlO#Jm`*f-$VT}W-9waRqudzaRlmQGJzv|+7&IEzwlHz@DfSdP zR5(z+Y@1ehEQP#$zP+hCmLlX4o?O|z%CuX)M73vv*PdT_?eWj^xZRvjm^t5HS%57E zjw?s-L|@qOja|*Na^Snu<=?9Z-Z`R`@KQ}1NPo@(_g)r_J1d~C*0)BXTN!DKNUM1L z7S6Qar6Lq|inNE2z7u**_Qy35$~up-UIl))eXegL_*=eAwRPwJz$3KbmmVLw_Daa? z=e+#_tzR9QdEWXq;O$@xu$}y!=z$&ZSrzp4Lmy7p*4C0+QgZJIw20Ulu{usP(qU_Bc-us}#1l}j| z&iTy=&aoB^K5y_JO5?wVJELQquO`2sPlL~i2GeQdj1#B9Ime?xC9pt)-p@mW@<7=q zK!ZwX;QTp@#?T;w%t;16D0s^#)1$d)k^pw$ZW?)?;C>#__841;Jqos0u73vKquk@; zx7*NmCN$-2Vx4KDee9NK`@O$0XL9L`v)%6-oVLDQ?8{gB90aol&82_FJPEdwe`fUl zEyLEo3a+FJ4*ZEW2Ky)Z@Vs-Q_ivd-y0G(RuJr{SuD-bU{CBP|{5II=2*$Qge>T9Y zijyq)Izo5Ii)ZHypc}ZqY>JI;u+a^abwaw~$Nzoux?x^6-_S4le3I4;p@NpH#h0g` z8)kXspQ>({ejNT058CJf;alS;UneWh;2Yf_y)YoYJ)L0i9nc9jI>AOK2=^zV6Fwu{ zpQKJW^LV(IP5}4G>QmDRZ!njbq4xtiVZ7iyMV;_RuiR7B3A@gD_jH1E!M-;J)&(KY zR`BiBLyfNd_l!gS8?)?%E#QBvEF_3 z$!E=p_euYd%^%2q1f3K`ULI3<==0bXw>;BlP`2qaum_&-?15wY4D{OHW%GyZ0S_+I zXVijA*#mVvu?@2AflrD*R)Cjg;3?r*>e&O0{q}&bW3`4bjpv|_9SqOwD03rpk&Yce z=09ifon;5qVh2p`$N7!IQ6+7ge&RSEIS9_LQhDW>IG5jCdQ4|<-sIstdwg+|`hVsL zCF}n9VopHTKd5pg>p@yluA$}e`hTz73|aTuYiKzG8mj-79e@pRO#grO;ItgH|M%#f zv;Uvy_WK79)3#jwK6cOWfUKwGJ><&!ddYhzOWr-ch|wq5*okrEKY{!ww;}Hx$oqEW zy%Tvy{(F)C{m8%H=f^kWyFl*$PW-rkFe z!-sMD`Z#?(WthGmTa-OW0eRktn)I zdg(t^=1khY&gD5H^Rrz(x%D_Q|JiIlk<62~8XOotK{pwhM`y)rkCpjPiBFb-lg2EW z5B1A@99<_I&-Zc6yTS3ckqnie zxU7#p4!-YDnUk~dP5E2F+41oGXXYm*?`gRN-&$uX-)s{4?eXxgwQWcF{Y!W+Ie?v? z#Ln-bJo#1q@;J9H-Bv@tN^mGSNB`+eglswg!^pwuH>jL@G|nmK+zqo|IHF&F<8|K_;eqlm;u)lg!5Q$#A0e9Pd{oUj8=L`~&iOGo8wtL_+4Ua2hX(OQod#buKE5*j zXVo73L4RP+K>p0OW8puax=MgUu*NG~;)WX7*86Mvme0d-Yhw@`D1(!-C!o3g95{!H^s{`$6iwf3l#xrrgxkHoj;%q7x97m#Klc_xvE zvSO4K^j(IS50rio589+P>ouXhaH+YL$%^OQtb3w7=^DlpH_Rcvc6g|B&6%N2`Ci5A zH;JF(x zyI+{PzlaX_KnPkFxb0w0$CE|c22RvA(>~gv^+js$FW|d04B#h8+muG_yO#Pt!0$S1 zXy;lh)Op)$U+Wq^ba->YpI6-XoK?`QwFr&G+cTldEX$0qhLhfmPi7(?q_1F&jC^^! zv2}f!F#dJXg1RI>Q>jPu2C7$OMky~wc>~evx3qIN;T6Jf2!%y~HM{6T>DQSa-^Er| ztdEbOy*cFT4AcJ%zP`!a6$I{LK5vKzpqcQab-G2sEc_Xr0^JhOPdp>qUBI`Tyn+4} zPGa!lTi_|p8{1sokc>spL(=&!kGku<4DG1P&<>dXVA|C1V0O9(2EfUCvT*V<4=2Vy z9}3_Vv@fInG;uH}KKX{J)Ejg<1GmnuQP9Yxm~5A8M4# z6QYm&E9Xca_+Msl}h)Kb~RW z$?PBdMgot@EOqC*&H^6&E`t{}-=#HuFGQ)II-}wb(nm?}*6-RJAIhr#O0WLdX{!J8 z$EpA9top~D=K62!8NB_keJWEn-qxLH$j0eve?#}+_3zB8|Mvsb|6-2w$9(-1M~`Ss zItu#hcPsR7fd0$qpYNf6Zp7|M&tpq(z>8nm23+Xn=p^{UJ-H-*>zk6`$t~&9h z|L61P>5`ZIO~5sXyfkIO^?(Ogw!EBfe8sj7j;}9f!S(llA$F;>w@Fp>srJAnd4_)|7i^ecGc4woB8WG!tj3u{O|MjSAGUO^qo<3a;6@1 z$0)B}m#GKd(p_Wdfye;-{!Zb!=Q!}Zlm*W#$ARaJQ|uq^u))h9{loXN;P|lzN49=^ z(TwLa_k;QOGs-RrLm%0_`aKr?^v|l->yIMXB~kh+SO2(sobJo2_g}qw;{(v+Wb6OC z`~I6N!HJCxXM706o8R!R_EO01 zGyWU&bZiW~I4SI0`6gpi#@XO=@@2|Pnw!z_@)7AAQt5V;F^9Oh0lhD~-5=|ZlblQl zJJB+CtdBx>%i-+8TKsTvY*o9`D~GtbIwx>4G%6#G{$(lq?QHx2z+lcFk72|9nzG~* z(tTTIY(twhKJv#w8U7-^xoLbqfp_<(=Pw#7T;pR~53P;8?w{xT7r<})$mzrHy{8es z|8yGh+o8MC{+IB3|7pbUhfgDZFF1|(otK5*{`H8N_PbfnhfnF<^gn(`_@<7N@jsS% z@CW^mFAlKZOg=wjN1_AF7>B-iE9XK=KWUAs<|?K>$NBi^Ch3U^ew#iReKeQ7P)b+o zr)$V-iP1-!bo@4B7W#|XUOJ<0HtgtpOO>Z_S(J48UOb2N1o>X1 zuZ&;Q|8_Iq2tmK5be3>6gpi@LXs6LxY2T)|FU`|gukLqcN_%y!z@Kj)k2m-m`2G#! zZ$NiPr_)zn&Rt2?B`xcJ#2sVPSwH(M^BR4w&OaNtV(54IXmn@JM)s`v_8Rn}K{<>+0)bt({UIp*6_;^_8}~IPMIyCsOoWe!2DJTI>BS@-xT>pMYLbbD!c+ zZ$G1Zmrmpo?r7p}u8PZb=i(JDztwzFFz&g@EnUPF7WMnB%_6O+TbQDnTFB2VT0=PVj*r^iYI;Nw{)tiGKgHzo%7oHwNm~`J;A#W3m;EgfaggwSNuVi02;<_20E*){b!pRq=J_wOo5QxbSRF7an)aFMCID%oQ93 z&>~0u>qpC1oSR?F9b~juJTpXXU)j$aVXb|;?4vDn3mSIau6udCF`n}H{(Q-wY2 zT*D8@Fm)L`mB6#qXB!^M-=OvqYjnzapId6-|~#sE+&z=6yLgOH$Kp(rSFcO`NG3>ZNpo) zdHYUeqy6Hxx+}CVMEeeH>dP*(m^8KH!d)sC8?N2|o}})M#kJ4)b^jIV8W&&ujA&x-4BAz^ad(&eR3D~Z z6HlL_e1+E8^flh^A!ldGxF=Kh3oc|T=nwGi^V`k*%dz%(Y&LDGMyJ%EQ)-#JuH%W^ zTn+E5A8`59wNVwnl)Wj8H*feF-vpoR;zT)RRFby_{;P#A>cWop1w=zb4X@jwVH*;m zf(_sMn}UaQZ)DL~)@0K*^sw4yS=Ud|{gDy>eF*Pkc&98Q!?V%t@ISI?{OvaihyJ%} z?Sr)pOrQ2((!7MeM}bG{par9R&@o`tU0|ATF!eL0h@#I5=^y3e|Cq|S+?VaV^ zjVmIffMsmO6mv!ea7KZ%47l^*+v3GHJ;OXkdu&Vv`XH}43fwWiSM$A??-h&ZJ`

      IrvhO;4~N3t!Pv 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 z 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≺BW}+J~KsP(*~W|o=vk^MQ9_4PX@6nB1_ zxyQBm7p##V13uKP>?78`MBVFSa|Zuc0-7eGD)+-2_Fc{G*hG{Ou*Enz;s z?#ND}j6mDdzHr*ivkO>5X5Zl+_WSL*Yr%#?FSy&^)Y#}|U@2$)_^!Y0IFx$tlbN_r zK;MzSTz}}(UwGWa$tIRx&7JsZ;mh5%nK7WXlOybL(O618&1zebosPz9=B#eL>zt$r zZ4rCO_wy>s?2%3Y*J|d^7UOGiJG5wp7G@v+PGDzlC5oP|VMDRYSRyiYxwCXxE_Jewl5H0zC@Va(sgL$?5+Lqc;dO?jSZ2@ zE|r2 zGdT-w4f!jW&sCXK;2LM%YEYS`zZ?`_|9b{sn|?@qJwEF^29;mMoV3{^w%b1ki}zR? zXO6JPR%0X0E!ng&KTT65cZ!fsXHrdOE?Vaj!%QMwZOprC!JZ#h%^9Iq zzHZ2qHPP)l>6t~F4vl=+=$@(4J<>BTeEgw9v+w#wjttI%u3OsQH7vf!zBYW>kk6NQ zW%%+Obq~su4MXt6|DNHAO+O@0JQ;i&7>%9@;BWPe!4<#s;mBYH*G+l2lHbbU$A`jo z(-64&-!r({^h4sxeK6>m?}Dq91M%fK!tC7-9ZLO!(KAzX@xJ)n@ZOk@_r)2!XAFh+ z#v$4(IdbA-XW4LprJ&-kZ9SANU%o4L5|JIB7HI}ca#TOOaHu0iFwdk9?p z?-^We`XO=kcq}_y^8CWZpF5Nq-5;(Oof}`b=Hq%%2G?hX!gcEqxcc8SxZ3nX;_B(s zQPdxlXUVh;Ha?1dV{|TMMzC|VUr=W<+A|R1tFg^$z;OX_3msQyZp2&pU+&G{$IDqi zY}I~d?>s}ZheL7ojANU*w{Jq>ChcQxb&3uqs=Yl7i6*{H#ddVKGkbp6?H*mUNoP}O zAAh{Uzl$JnMvl%M(Y+A1jz0&F_*~+MPu5Y+eZ`wH<;-(joqd(u&v<-q*o>K!uMwSn z3;C8%=NhMweSL-8$G-NV{oH{aKSiFm95;Cy7-}dNn1Hu4PM?$DJ^2h}?a(}eSB}PN zDpUP{Y|FKjDg3Z653Zrif73cqnzDK+^EIBQDDy4KISqb?Df0;NNA;cfH1V(TJiz-w z;$PBt-j_KUd}X7?dAB@^AK?38j~)%cP{MbOd38pe=5Hf>doG$?bC1s_J$Q5oS9mEI z5KYZlH_-cQj6F;od^2(IR`2P&nf#ntFzIs6OkjV>A8~(&7k5P_ZcHZb zeVMq@Ox$}iafO+<_h#aL_W@hprI|RFIL_R8xylJ;;(n7!SCxr-EfaTLChjD0Z$$FO zO5CTQvC^`i1;$F;vONpgE7fk$p1eOkQBD zVxMSL`7CIILE9Ld7@3m;Bze{-=J|8BcY zl`CsG~+{HH0Kxr<30cFay|=Z7x{T|?o>tRFGAnjZ~5mMEoMHIvtM0v9uQ@A=sY0G zl+M~j{r#N>WWVK~De(Yh#VAX6p-ay_NLiv`Y%_7)o=%buvf+Vo?V*;*1s{_?$}e-` zy)%>^ej8pHm7&QNMxRJ{EP&QQ97Gn86bbEOU3_BVbRF<@T^?2Xsz z{4nQ@*n!Po)VXA;NBUK?&q>1^dWRqMj5hPtMpnU$Vt!sofy87I`d5R zst?xwI`y%Y(`lDe9d|q`g;i=0`6w$#XIN#LT_Y zUFQ5JuMHu$k!I*fpBgo1jgRp6iF>k=0~@#qCe=9$o71n?&_jG_x>n^ho4Q2@+a@$W zqO-(;GKikq69KPp>YjLH+MJI8EKy(yrc)gX5BO(abr`-C8oqTHzWM(R-wL-^Z~M%l z{h$3Bd@D43yVB2}k4FP|^hcj}z72gk&YeEpoa-K-1 zf5{^}H|O!>^ZbBt+H~$X#hKp<;`HZ|yJ7I^J3egZ!neYQz;F8ye4}jy__oWJ>s^xT z&kM(m2FLZLZy2Ur$2p@vh~v!T!^81@UmhPo9(8}1!4-L|3j6<&$Ermmwm)#oLx+B_ zbo-mkJs5dh;nOCkP1BEmB}u*L1=?5bC8WubSJrk1!uwX?yy?{%(a>SJw;)2wvXgPW07RxKbZSu%v}jb zy?Ysy=4NO{Fg!^ez{a7USK2{srB>is0xb??ZKb*&VJp=VkFGMdQZ2SpJ@1EkKSG(< zugPlO=kh*pcs7%(TujK*#S z#_#p|cB`K!$8Kd^M0P9o^qx5UsGv`!eshL1V+*hU01n0$+#|=>Lhvvy3c_OPma%Qj zxWj`}JP|*lKk@jnIWXo4@?+bWe)s{cG+$zAd)9fV;AX}V(9iG#8d^Kc=E?8_nn$5| z3_ir?!4Jmq{~&&p6A#T|;wfXtWCic=E(Y(SKK(QN0G=4|^v91Fw3YtRJrhUz%PjNn%GaG3u(D>&@`=gi<%?&CD^^tG++{(t)0 z*2nz+^tY}1y#I~#x3@<|Y_GoPp+oymeC^HdhVQ@G)D)GyWcF5^TP6U5(%+4crKG)~j_-i-Ih^PGrp)5g;pV;P<- zs^skA_V;&vZw|T^{;5A$%-ysN{@t|de~oU#R<~(aN-v}1M5`$GH3jvu{#)IQ?eus5=^4t=d9LbPtPNsm9HZT8 z9wY{>}&1+VsvSePI5*U^*6Rf4vx`6bDf#We=}=KL?Cqdc4$1Dd(4ZyiQQ zvF`tWeK|JzX}{NBjJihhdr?+?+rYnrvY~g*+PmLg-X%Gf4ry^*E1RPw#|s9K<5toJ z*} zlabH6kn;*>WG}LETTqVQsmzt*yL>rbf*hwPCrvpya*;=CGxsf-hvt$Y^-JddS>!a1 z4)El9UPi7Z+Y$7C6x;AmCBx_x^$C*Up_oIA&f%eHAeCDngwRL^_X8w2PWwg)z>%2qLo#JBkCLLT z9J|Upvp{~3$7u7K!?|4l{rqF}pE(c3s~(jlopV>&Y@>UYjGgVKC_7ErEBR)1kIE9? zbMo}g^76bkE0gCVewmu1IOdLW#4`ca=HwjFQ*S);kd6pM|)qwIWO2bt=wg%J~{&YqJf29Z4x zvb&G@=RM@4jr(cS*|eg|G5;KfoV5LvtMz@0d+?dB?^5)eY5LC;Z8JSBAXoU@q-F%( zu`^S($R2Igtbt9>r_zt&W~|$kWmP5;(u}W^*5McD}r_gfZF& ztGl9%VH^41xaiU@*%DcwTF5`gVK8EO*P#Pi?F!%-%z%_{9~)E@iEEj@Ng|mV5m*zpUy(%EG_yk^ai6 zDRv$1A#)yncUQEy{m?IMSyKltYtgh>Zkt~gGG%N^1J|@-zi(+YeT#Uu4H|tXk6)2$ z?(0Ja2ed)&bGDf@txnh5q?LmQR6-<3wlOc zONK6=H1~6VXVqgfhE>ODd~Ozv|8Pjp#S^{f?d9IHwc^8}$o^5G=z&q8*uhbu_)DWg zkt4_{d)7?88GgQ6KVO}nubzAz8mw0Tx2Hg{GiK5rJ^OZi^P_fo!> zh9Xs7mp-00pSH`Y_+#`hPwi33H~C%gZ~>@8CtGM2RgY~`+K>*ZZUn>>K}%TMOq8FE9Tw9O8fF(F-OySQCGBkg4H-{|4)<*_ukPn*ZKFM~Vy42Mo#!o8X?^KfxL zJkvXu9GfkA1pG^y&cw_bQ^EGI=3n+hgZ(q{8F4xz_*O@b2GSoReOW*056*NMmmNI5 ztiauLCGB?qY*R<9XQnH^@5pZGy>}+EJrmiUiEPhAw(nvpSH9m(_**+&uY!Z{T|evl zPknUO{ZHAarOo<+eK&rzp#8?5hQN0dFmA@bxf}mx&R$A1jR~FJKiag-(}iP9yG-n8 za8Fk&&e?Xlbu@9#HunCxr}vNPYHLH^@r=~N#}y60MtN&__IP}cG$9YHLByJQ&Ls_V zUI)U|3vD8_t(-EZ6}s`2_!Cn`ypyLbV}@TwEzdfyjOT0_w9T9{Dkx*MU&gvX8P$Fn zH9V(!Wt^~Otj;TAEM>I$Wo!tPG2Sm@BF}QKjGx&u+I%@j#?Af{VHrHu%%$?=oZKt`5V@Y**+lh___cVIw&T?oQzkoPr+leL6W&t!@$T<-$)ZdEF zclF$mSvPFD+^lg&*1l(3Y~AJXp<-LAx-@i}J3Ey3bVq5|(y89q*L_KL)nAkDZ%Efd zx|{rT)Nj&-w>^c;73_b0H#XbnM+=vHC0gd3;VhvuS5+>$Jd91Q{(TdD&!W{c&qVlk zhJKE{WgbkV%a03|*H?zUv~H%E3zaPz;Xmo!oH90?9XAksUU}GMoF8t=EByG=XO*{( zzAUefLCf2aEzfy>`=R{25x(cg4O(7@!PmgoKDwXs_^blum7Cx z?RS`?{`390{b%|DH`;rF8++{n?9yVlZ%MHmJ3I$DES63D&C&4fG1-EzUxiOf`04gv zBV#j0y3yK^ZiMtv(tC3HeorP$Kl%QyFBG*OvO3y6tv;HLejkT^pN@VXhkjqHzL5I7 zKK9)5GGECY4RB8#$s7&=*!qC&f75f^NXsnR)GW8LFwFb_`k6FQ(!@v;7yMIa^FG^+ z>;R9Q)IWpwTHd>P-^%+A^6$hx>EL~>;`rZ9*uejd#b(aI$YFnUI55Y2m;InIcwbEx zHpXv{MtF|`M@(?kP-hcQTYnwj>UnP>eiL=o^Q4R9?U6@={;#YAm`>G>L&%9K0l-lEFk9xPnv4$LVF{a2Gh)r^V@IiM-_&n{@T9$U*kZ9Ti7-TGP1 z*LOj?^`qKveATp@k=uW5*8fIr|8MM}n7Iew0`37Q+kT>O^!Ag5W48AeUbsCu3Ye;a zsRo#)BD>R&-Hs`t(}hz!8=`57XG6^JWY^db$gb>w6O!HEGv6Bme3u@RJrko2OM6S7 zB=kw0r)=R{^Qg+Sv>&MK6VU#oPy1V;{d8z=pO*HwLi_2^{#Ix|9ooMSUGw{fcXDAC z-V@7^jpd%q^sX3~F6SdRA1Oi>d>KEVc5{gQ>0@);<45PXC*nNIN4n{Xk?x6V`k{HW z#ks|%kBHAj#^*6d;&}I`*2Cin@6qzvZsom;-i~ZWuAqI?r~UMS<~Q>C^uM`K@V}RF z=;UFI#l)xo-8{<;(^p5qJFd1(`%BXPQpi^t`8p09Cn(d5?T~?S$iQ^}X=PwKW1Vq~ zb&mV}Rg|;va~7U|H}v=(_Im8KIc}V~HQ(HN190?WLjcDj*$#u) zJg31?{YY#pa}dlUP5gJxWHE7J;%2&=ecuJyjm949m}2ZP&AI)iV`{EFHWqtqJoebc z3((mYu>N%c`t1VubV<1DuIh_I-dK3*IoVe$iltYu--gKx#-T4~#-S6T!PqZ~Ra z0M8uYnd8IrXI_6o+2YAKc+qcv0#8^3zHwHq^Qf^EJEj_2(bDa7^%bW7J>7am*Buj` zZK>`nLZajIKhDz8OT#$EqzRMe&XCSRGxRL<_VZ4;RQ}ARIrNkdbKhJ7>jGLciI&e~ z-<kNdLA_6gg)q@LjK13O78z8zt+(u zlTqg41&3gWFeh)|p#Cs*YE41oDfv18gYk`IY_|UP4(1igoipbD+L>o!6^!9JfsM3r z##hnTfbW#!#@~VltZ~J(X2v|e_J3sZR|oRfkRQ2^bVNt3^q{4@AJjr>y` zS8LZ1;Ee*Od~W4`9h%*`5Y7NQKmU1%j ztS@Ea2g8eXz!>X*7OzW$7i*RBB|~1$6tHgKu!fBf${G0&MOp~u;WKv%R`?XDpw0#1 zGdJrUUK!Xa&%h3UqDT3^2t43XQm~UZ17i?&m1E^)n6Rr|y~bUB@2A|XKDyfIqiy(8 z{ifrZoc0r$hCZ5cf!7CgUvo}+=c0EQOJL7UaY*<9zVx=H(VfnH)YuRF4B}c z9!XTI@4+TyO(Qw6So3ljeHfXBE}X&mn7$}Z9nyPt%wwOnFZw8R{%>yk6$UTg%+Uk}@~BtjyET zt>vNgiZb{3O5$4Qy2&zl(K6SK@;|m@t{Y!Q9C)PT*BQRP?%U4xY4Ld7x1C@2ZRZ4c zSp8xoG;YCGU5Kr^fO4Dp&sa-iuE<#aL%%EDY1oj&mQ7-}_AuV-VZ7I)@g6eK2XFhz z`Bp#IO*PGR)6KxLW2BqfiJkHcHp={B)|L70+bL1{>e&2QnKrkLHW$Tqi5{U&;$!eB zRyftO4ZuTV(dquv;-Ps5jYUJ~l)sctsUct4EOco>XB3!ZgH$;qI-|fAT`||w!_4(Y zR?cM)8RIkc3E&!qZdJ_LMuA`b^5WLNG<^aMYQkChX3WjzgAVooAA9cu9@TXn`i?XL zNeEjq!eB=>5|%Nxn9vB++dl<~AhdzRNjtW;7DQ2C5|ZSXJl!*53P!W`>cFWG8Lk zclkcC&pEUIu77*&wbx!7I4lPa%cXtv8XG;|hTiN&q|lqagp~TD8&qF>&0?&jt9(o{LNqo~XartTavR!HavOTJ&+#mC z4mA51{Hx}|o_A#Mc`jXNxMzV{!-)*|qaTjSfLuC{&KvB0-Pm!peNW4WPu+)n2xZBK zdgQ}ewc@almD1Fj-OF+`b>Y&muM8_cz%WSRhYniYZnkh59B&i2;;iWQY zW-&BV2F*l8<~nbixXgtv*;j3!Pi!HIWyjuY>Hd*TQp3 zrfa&`X=I0&dgJzF`nTUl8|x_7AiN5VL1zNXtfyG`$U#r%oC+WGa|@cxg;r0dPGNy3-@U$e zOXfV}a-2EFLax|6SFvAcBVVR75A`t*CF)u4GH+TZ=|6R$`@bl23-aygGa}!(TPDWb zAvhM?_J^JcL{A`}$gk`q(7uwdW7$bqk1b}6{0GQ3Z(ZZnH5nclS&uD5a6=!JY~;*D z3%b4+lfT&lCpw59h~V+q_s7ShH>c`y!R|r!*yX%`YJC*CSL@$*$^3eMrv9BM z#!ghsx)FZ7T!8%XT~&9QU%p##_~JCdU*y99A9e(bZz&qSyj9`&-#q+=@1NA#>dUVo zXQ1(<$Ux`5c4apfImf%=1LQ{(A6c;@%N*iBL$QdKfBTSoJDHQb)RTW~HoRx2=yTYp z551T92)=O=s}&E&23Nb`hnXML+)!{x@u<{k`t8-_rKviRsXNgV_Ms>2L{Ip%(52|O z=%_N6`SI(NvlvpJRlXo#&s`9RR$%|BTo6e5`77kFguha;2`y-MkmFAIlY!XWCyAH& zWT3C|N%19CyZ0l6DR=1vw4cL*GY?he@3?hZtU?+!T0y8|&` z(n!3Q_r?BLd?<+BQMErwn5q4f!GaO7 zC0Pm5>V@r=AG{B;C(pYYXQ3GJcng28slf2nYw!#F>1RzEJGKJ5@AJLR;R5bp z$1lvkusuFh;D+)zTgbb>Gk&eWO~5~iVbUc1*~pkTt#qT|m9Ddm^+afUK<;t=3!!J~ z?Z;22fVi45u>l`m;r0Ww3b_OBqnR)h+p{MF^jvg*#`-|y)t*zM^2*Bc*HHR?&jU&x zsrjbo!AyCC4(dBleq*0PnNyqxCna-g*{iX_HIviv!|$As&aVBoM%V8-*BoXoP%XMQ zbI64Kwmg`ad1o>5Z@l{Ty6r)Q7r{q0`1n%#e9%*^;9tynx1aSa$N~Qu6NLYQNx}a; zvS)b&euFzy z+sN!FGTT9Bt9573OqFgvrPD3FIt`zm8L<51FC>2n`Afb0B__X4xAf{Xe7c1E$i`j8 zBN}%LQn>rZ_l7$58{El!p5dRg30r*iqk$@!n|V(6OOm|uPxwvwYZu7bp)~(-{7h|R zSQPo^Apc^KdjfIfUmt#^UhEqSnP#I)L{B5%@Ewdro(h~1c~OB~_xuWVUuhq*QSR~4 z^Xl|N2V@@PH=FOCzq$5rU-{Zg{!Ks5-ZP1X7X*e|7bux3wEA(z>)8-J`#~%W{8XM` z_y0(Pg*U#d{so$z3!!KK!c2PhFUauKP&CE-^XHTB?}^A>CUQH&Pq&(RBC^2vWXS$c zuv`2aheP*hpN!Ufv`+>w&6$sWDc_Bd-aCrPoDl(T?6*aczs?ch-TI{Vp+mk4>;yiG zfse$jSIFhR40x%R@4+FMb6Jv?XoR#~#Y6AZLxfA{KB^4YKL>8oc5JhSZS?C06+ z=S3H?zlZK0L-$WIXD6AnlcL*1o(+W9>ybI)*FD{^dUCe&7O~AnCa(Ki?CC`pvbQI; zZT9vY)&R*?5B5U>~ zLT_W_f6nBOH>`H!j8D;r>ED>RrhiB2-x>OMl>Yrd#&?3U=zM*QaoT65cgDfxN!CoV zKPYzY1HLU^uxUeN#eAN9w{4z>J~-lgY3n>>$cWGP@h`~yq;;oz6kjV`$+;tmkr&e6 zrUL&zHvP-4KbOoE`nxk1{UK|^Y4SzMgOH{_IUhe!`inOg6EAvdbhJap0gmiu@D2?- zlcb{tp&jrt7A+*jFG%W#*F4&hvzKG#A2RtB?Lc#V^y|C3iBX8m&WU^Sq;M}d7u=sP zxCbWbcvdia6L5c*;XUD*^!jt*UivNg|NP(QkU!u*&iaD$9cqqApIKZbnhgU%9$&aNP@ z&LFS6)RR|NkOyaw2Um~>XOIWpx;f5%;ycBUmp+T^n@az<-!>&XBjcXbmRMHDmnX9hw;~V*vROuf$s|6lw!Xw$4_`J zKFbx;-I%kO_4Q)y4;Wdj{Q)aiabBZF>43wm&$d%FxqZ2s*Cr~ve^cPQ zjlP8G%ckkB@`2uqtzop!wRaS{(WXM><8I?OZsEhH^d>KVBE1gt zFV^cY;sFfzh`+qp>+aX@_-(KQckTqYet=O3d#yE(sLou-~%#)V!SKWFOUU5)F! zspkTzGj=^(6!aMj8>sThN2V%!pz+0DY*J6xSj@SMGR|cz=3GV@=Q7%^GGDWnm`d4w zQkFGMHl8eOtX72egV5?u23%MF>h@bsz4RYrzr~hweb7p3zojf|FXT?FPu6Wv3Sb%isz{j8l?IEJX0C`uC^~aclrcidel!bR?&p^ejAXR%% z*ydz@5Zk5joLXxzuc|c(^GcL?N!BE9Sqxt?pH%v)RBSSdgU~E-5SsA0U_9wI!b)G6 z$|HM5zOrreuK&Gg^!N2o<@mi|^!KtSulrs4=>7TjVGGS_U-0w0;OFz6y~^xQuPzn+ z=2y2r{inumoRXI_v*cx#AC1E6B>DMixkCiJOr`8crGM$NmVH-m&m<`Ot`2@a3H*Ep z@$2`a$ zzh*i6S?bP<4eETMiUnd<=d>Pk9U?ehK&SJ)hDHh}0Uo1o%Q;B;x zv$WmzfAZ^cZuxnM^-xcnYv}`Y$XOd#`-8mqHSuYXn2OQ8dEK#yFCg>4Yu}=eY4_ef zpJP2E{w&W-7u?@DihEPH#Kv}jS1imu(%@6#JtpX*#7g{qISUJ|3H=MbT}Q9{CS$Up z!CLZ^%QIt@yNr0(=WIEnDdVr>UG6K!_r{fYih4{TH703G@s)}rslRb%^16KQ0q2!f znRoxjEBxIFU?i}3F$)&)iV(kXZ&?~lgdg5icx3VAFAW~FlMOc)S{n}@AN%)!$HGiG z^-F^X?PSB_#T&rmt^XeIsQDGagLbmv@v$4gW8iNyWyg5@qT{uWFF%BjIk(N8QeN*r zz7^dIIgs6_Z29&5tUk#7jFQJ-xlFVg^c_%e#(8w;^~qi zkNYV9-GV=8V?W64qrUGH?B<**^$<%&%g*}Oa?J<-C2Krq#(?J!a>U2A>1P!A@5mhG zb%dVJ+z~(seoxgxve1)}(t$_tOSz(*ODZ zJOq6ulZD-ulh-c#niHYSa?<0ZAyc;5lx-nx)n%WOvNDgiOz*Z@DZ7m_2Pp&GoD-zr zS!A=s)>iHAAZ^lRJEiO*X}5q_x0KyLnZuM>NP3dA#+2P?%5EYJ>$0DgvJK?R8ovcE zh&-^N7ke)G1s@gUYoNYL;Fz+{7ASnA(}|wr3%UnFc>$T{Pn^glw^s0bZD8MZ^pobp z%b2ohTx`-Q`~S1~>;w3_`=OEkLU2hR`%6fn^Zruv&KP36#~4GLvBVieANl(jLxOkF zMP$8UmoUCk##YYS0~jVln$8q``89nN&xOAHS@gAsJ_;@D1vdL>D^d`MchW`|^+)K# zLFg+4&Glr`JvyLT7e)8d=6?DYSrM2fJh>MB?c_ITE-JJG4aA7!`)}gkvxs;VYl9=c zs?GC)_~TUxJ>;mTQtDYpzrbr$XaT&(oP7GVx;qhB(><_B;BXVV*3I1m&A=t&yXa@& z4w@mZg)4VgM3E74M??&KDZ7f_!};}NXq0|#qil|TeL{YN?&90D%;63a&c@(RSnnH| zhTq@|$WpnZX@U0~q8`Qz?J?#p^U!M_dw?+~m-3x&`DMQ~FGxH#`L5QQeB(~6k*eDo z=cVc+uh@npe^pWDcj2dOyu|6Z$nqC_)7$!>n*+Y-z2XlpYgm!zg0CnvlbtU@e&M$i zUl_#?lOJI-$U3p|1wo*gzW_X=9V% zgElJGK+|ix2f{&UeHuJ4y?bCe@aX_BO>zmdl z_q}*)_&EI82kbM-3El8rm0L?W`liZ(yHq)Nx(}R4Iq~O}xJGgF?I7*RT^tF<(+8d? z+Z%^=Q)MH3hxRhcns2IXh_b*TRd!ig+0K=Wc@<-3{A&F*4u7jP-6PlODyeeF^ovKP zbzeF@z57*k4w3JnacJY>k(K0KMc&%LC!mw``MP@|^Ysz%bj+8Uue0Z=WRiIrJBOO5 zfrre`YVLy$)O;zjS^Qb{lJ18#n5WzBXU+ph$(EvS%THOMNAMu?vzn*DgDMM+sQ0`s zazCHP+uSeR*A?nUKU8|X#+Tt|@RjR+o+$k50OuGmjsxSq4rsBHaaQm*S760>!;Dv8 z)Iz@)rvs0PZlhoY%+z>+YZM#^oL{cd<4u*_Mj3cam4y#dWplu}N6J={9~k(3{@xgA zYe8$9BmMFEvVq^>byXicnW}H2=}Q{yk4SyMGF2A(aNu=Sc7IygwWjPk(gr<_15#G- zTWR`2`up@na3%Ar*0uFr94YymhMSM%z)k0M^472P-(uwL&qC8O_1`1(;~4!pP9IKy zqm$sM2OOOON4@mnv~Q#zTFlm|ENIz=CZoq0A2b>}iR|b>zMKkDF6jQQ=orEiE!5FW zx{EYS3f!#I!I3pWuN%=*AklaZfsIE>?O)9Y^|&mQtOk?vqV$^n=D z4MDfRhTj@U7m=U_Adp#+kw?GV7v`@EeFm`z$^r;cK|o&#;OUrUfeZxf08;A zF)dSvHu#sgX(C?-|N46VWW6-v?I*~3`%`MYI~pt8s^;9xLe9<9kg~^T7lMnlxZx5D z&o0q+KhZmCvG>V0&cTmht2b*vefP%3BI4dleDSRBmc$p&`WD1TqY|5+#4~SZpP^CW zE>>`MhjDz9ag2T^_F~0qH+#LCZr@k&#D^amJ@3VH_PH)AdHpwUZ7At=_3aHxeg9$N zlZ$+;t{H>fj zyw#05x3bT|xwKNwshxb>jTX*OvB2g2sNE6^{Gr7vCh@aBhHiRF@VO}gZk%f)zv%B$ zcQU-JP1z$@PubvUe&apuw-t{Q6WpBb4RDt1cI^D0lXy7I)Y&pa`6MfycC0oyr){m9 z?IM$>)Ye{+HH>kpLQP*f!hvPTV%Dhxb#wA7<=F=+iddxAPw6eVcq+!*BdG@x1HCuyKw(?sA^+MbYyr z`AZ%j?ccW+0At>5`Vy7C9H*V0nWKF;F_XT@JN}`qw0Dy91b^Fk-Z6o;TRBU3{8l{& ziyuG|Uj*43v`X8pb2Ho&-}7C~)90Z#iCJ-h)Zu(2_>7VNc|$w<@Eh1UPTY#mLOY*; zcGUbXy83YOh!b9;{Hd*NYuxaPpo&>w^K9{bs`Yow@_i;50^jxgt>uq1oyltc7V<~z z)+Di8lf-UK9s$WoomTc{ zW%v57Y~>DA>|9d4~@pn!@tNqYw4Bz!QXC-1a#7bU->|ksTW3m{h&G@jvwf8fIA~S|E#&AW>#F*6c zQ!O)bif?BO7)#vuh<|hwvTm1_b+TU>bsl#;nG%*5(HD^M$dg9#A8De!U9?+5nbJ3J zE^LKXl|RUZ5_LAX$n!ZT<(ZM}y-Aiq2 z-B3k;j*i$FCrd2RHJ46W_ypFX#JQz9XBX@IeCjNUW<@ zfzRd88utq4;IG!Nafhmb32>4aSU&?!KVQ4X{l!8JD>ZMxCo%XWZusOW_~aV!dmZ?F z5FaJ;>5i$kJXTOT#yFR^cWkFSjot?hf}siEjMS zWx?*tr$=S!_9dgT^rOps-Iqm{9)VWi$&{Qhazo@qE*T-RYy*UiiIMWb0x0{RsSi z41Pau_`L@|z>wy5xl?SoRX;ydL+rW}qx`;&bHJYNBzJ@j3cnlvPVu|p|6i3}aHWJX z(T8#Mg1OK_1$5x)1*N=~^Nu`FdO;!YCA`lC?-k%2eph-yDevXH!|$ROBno*i;T?XL z7>k~*d#dZaT4YuFJbYR7fwXyK5E^@xdG<2%tT%sLV*c=G>J{eMTy%AXx#KGG`fXdx z8hI7*shB$!o79^-7Uy$*hPfj!gEca9$AHMr4(Ov3`sji_B8EPyp^u2xnRnJhAC7)* zY6y1!{NN~k?5rQ9kERA+_s`$N`CzJJdRpjXjQQXS_`k}0a3xvdUiHs(uRtGHnGdd9 z<9)cqy~2EOmHFVxW!{H)Px9`6*u4UMTy2;^KHi7<9s0NmeO$TB`w;KY$5rU#&DN== z3WI9VJ13x1T|s_cMScz;Kd(3??$tzzJ2c3+k+)Zow?oL=E9dxrp6?g{3qb9_I~_X~VS-d;uC4k2%^^z!{Q-_P@}oman9h!61d?`W^)zF?VGU#lLC zc`Ll@@n$Z*oa(w^M=5b}v*d!zJ^jo*7t4_m%s-cye=g5m<6dD7y1JBk2s!aH^vs{5 zXa0hFR>tesRCUdM=Alc>LqA8?yvRIsnR)0J%tQVDGUlIKn0v~ZcV-`o(Er4V$MIcx zoHKNfyNQh@ZvUndcOZN}MGBcN~yxhV%G{+n~Ri64%nT{oUg+7%{_qAVP99Q

      W-Q`w?!lZr>~;rv95!~Ro!Fh$vtIO4Paf|yu^T>t-RT3Y7e93ic<*I>cM5;a|t`ZY>BIBuUo6{T-pQu(ub+oO)t$xcF=cU z)m&YEchQ8-EeO57zGscTe<{p7wT-nS@Q<_3=`-t`ZLJRn)R|4{zi<9rU9UOodEJ>$ z*3uKchl#O=iP`J`qi=$Tao5;A=nki_RhHylV~^VZNB0Geef|12w*T0w?+TyIj3Cf7rgizS9{^$O*KEj|aTP1;lU)Y6yuHJ*dMcInUm z3%rwNjN)@`dwy5!uZaEr0P@rKzh<}BB0s%*OvDG}!PEGq4`XXh(of3Eew*^$G38`G z=5gTum9)J?*)LK1z5ZLYKix+0cPh`=PfTtAUK{ya$6o_~_57{P6I=07b15oBgsAfKzdAmJCyH6>+@Y_Z9XAiC$weCp?(<7Lz}pK}Hl_Z16X zt;5jRS;l!z+M<2()MB$2+{t~-^Pz`EV!!)*f%dJp|4WB0XBRtbQ~In;S&Opj+(}{A z=b|0JU_-uZZDi~np+K~Y_xWhg3tXS_O28B*&U;I3Cpv@(6To$Cg|l>fmNlf=L_1a@0ImD^|R*y$z|TX z#l7VADeybrw@=-@MR}X@9({SVB|Kx-*DE}za}GR5*VZGWX|Ex(y+Ud4$QbP%$!d@C zHsy1+$6P9SSMBi}Wv;TJ|0wjIKEA<)w0C%n_6}#YM|qp_Iop%C4Apt6P1)PSe`Un! zVjq`to^mgaQ_AlrXrFtz9q#W=mhxOeeT8}MgMtt4tXA~Hd0LCRs}(JS>malxvHWD8 zK9xseM|*kBr+vS7^t-n{Q?Ne)tWDo!-`MLvem08#x5zzbo%HoMcp=Um!%>8tr}` z{stT8sWLse`z&xxhjAZsd>=4g1iyK+ww zRAiT3uVHSjt##)^BdTxv{Q-+SUO)Pf2a^9i{E$!^LUlc{@oT{iE~gZGzKb`WVUTV-tPcMgN-l+Z!C|l0L!L_$80n zO|>Jf@(ypSK2o3RBm8VfOdsKC)kn&v_(l5Y@vPM2@mm_tu8=;K0PE7MJ{H!x*1@bk zw$R5``nQL_{lSsnkv<_GtuE?rsU7*Cydx`BAE{6E5&38zG<`%ysysk?%@kMoS)Ci;sf4@OzcyL3dN{@Ogo} zqsLj|(}6DM$q5f0QN~lpS|N&F@b}>JMgF1(@wIYB$NiAh&wF%#+PFK+xJ8~a?x@Jy z5YNkbUdHnt`q0d{c9CYm;MxQ9Nno&tJ_CdE@}35RGHI`w-+;j-`AuN3D>yRXJ97%4sk(s8PbH7QhWtPFo~16}^f&SjoaDFT=6Ot*0Sg5)bUT69 zGyI8u{?Q{t9e1SNO^dFi^z({GpHu!qp?kHzP%&x6mglbb7wVja+?eG?BeU=~n1#Q= zEH{2+7QPVJnXxNi4>}|JD<>DAuk6B3+4U$o8-K)FwwqWFZ!cDQWdUQZN2g5i?%_MJ z3p*uxa(~lmcVIhzdf)u$GuVh$r|r26P_FR!P{+M~pL?I#H}98ybINy8Ug##)T&(xa zu|@Q?a@KzTqv)ZJ%D(x&x=*v`V)o5HR*Bt%{zqked}dB5OhBYiyxULyQ8@Vo)stjod;?3tYCo(W+#L9;p^p2&&AkRU1A-gMr*N~$;3iDEEekh48O6;E z!43UO;fDSy+*D}Xd@ct}!Occf3?<*QNFHNMLlVbLSiT*> zq1`)f;mmvU*PosUeCMtnnU%YqeZB*}_RaL=i3!x>!O4?X>GlticOK8C+mwcTwBPBL zQua>##cH2@D|c3lJiYyEnRcepyzIfG@&>yPrrqhH{4-Z*dFwCM^7aSZ3tsV94tXnf zJ?wdv*qSOiM_9=@!jzrxz>G=J+B>m_TF56Gc@;%oIna&J-quKQV7OY3tFe%NhxN0H z1Gp4=>hXS)@y}4>7g)rgiE+!N`Rk6tg>uMAt9-R<&t2_`zphhB8`2N|>VT4+z`?_V z!1$%F4s{%3{*t*${%L#CTxC!C!5pzC-JWSrI*r|@m%mfkfY=+1v1b@(&(JCHyRlNg z8!z|cvzhP4PVoEjd}W_=PSoL#UYD}Z5~p#tbG*)VuI0O1vCoB(Yn*p;odoszDPQR4 znKDkDi!E2#Nt~g4{P2Tfx7p|Oy}SJvv;U>T86pq15|8dUJLEc)?ZQqH$8Hnvx-}3R zq~6Qm`1(<+o&= zYghPrCY?)K5pwMde4k5to|OJB^K4P{ze?u1o_zE}?Z50?sB<0Q=bR@6hO$N+t4yWQ z?ZkGGQ4Y9!BJ6S~ib?pFer41aUt$k^Byu~ojz zc{H^Smiy-H*2chmiPbSi{1_R7%IEx7ozKMWP_bjEGd*^Ul25;Fu(0o_mrKbHXYWDWs{P3H{T4bMSfZ{C$%qPRWvZ31~;~>fw46( zt_Jo3e6knN{ykrXqRBJR_jCJl~s=lqECj%dncxUX@+W09%+3$AnZO}T@Y;>sEN;eXJ_TjL8 z7GJFad=@<49PwxOd~?KCYv7=kc~7=J6If|vUL-^2RZL3e{YdzrPCe#c>}C8Nj{&>K+`-ep09eF;MclyRDPW=Qf~Bpm=G~)Y;!*a6bKVC_EZ}{_ z0zOJC;C;jbzJyGCMatQFKY7e@<{sHA62ra;nC}AS&A`0Hz}yeaTgw&9mEPK;pOxO) z3e3$}1J)Yd!{)4k(pw#6r%-FGKb_AS>oUIHa>tkF2fF*__RF{MeULUUuTlC^9lzJ{ z`(1k7yDvMo*+TTbD0`ot&x-J)#5RjjKDC}2GX5&pNQc?)Zvw`<9uu3ynYus6U&XAa z9S<-)%*k#&=uM=4nNntRGnaS3!g46>UPR#z)z@sr@0L&2zMQK1G{HJ=(0`oJlU) zT$YPADW9Uv3x+lw(nJPr9XX8oU-wDj4PU3>@U7-I=GKUQR(LxJ%+Mv` ztd%b^hlvi=cMN}g<}uNw636j_WG)k(s{aK3`OIgctBG!<<}&ATmHrlU+jAl}67+45 zzFjVMouOi*Yn7sFrS&bWpH<(kQD2YNy%bIP)B1Lpv5i;GuYIOfxsZNVV`4ofzVf-w zz$kqhy)>my8(mq`vu8&W{X;*C-B8B)lz#?e(6%&%*RXz;xpz3CpViqNM?b5xJKKN( z`u4wm1${f!PB5iQ%lJpz;aRn_CaoR5rP|>+)eg_8b~rz@4d2eRJtDCONIZZa;4AlU zrD^f+u>aZXz)b`FV*fze+uAcD5Z{EoIE=q2{q5gg><;X}_q2)iJ+TcWc2RO6e>MD7 z@>h*Lb1krCUm@DCntH&Ws%K3gItczNSTAl`t?$hZufG1?+%d`yd1V>P3G7{c+b3Q& z=9S%H$~IkJR{GROe1C5E0;`k!f#jDh$|7+?BNp8*4N72o>UkR)T%6RP2>LH!8jc_>730 zvhhEN;veAoG&IRK{2Xj-vf_U?U-W44;gP-nYR=RWCwDpim+61(YyM~p{+FKbfgiuF zuy1bra`wQnV?I_Qb+*oKe~q&1$MBhyeN!*rcx|XXK&emqa-%w%fkSHXrW{>Si5A+z9@4%E;P$^^r%X~t;FVrZ=<>|Lp^hC{_WRNJ zyQA_XiA~b3K@KcJ4lF??z(-!3M~V3pEvL;=Lr3M%$=p#ost_ENLPzjl%8wJ?176yX z)AQ*;o}}BY)mUjaJ)Wi-Cv~fF(yk5P&KDmH+K$RN$*;z#;#z4QmT~?W<0PJ^ibqwk zO2^;uzsJ~5e;xb96FK5z;5E z4Nti7-kEOSY0hb#o#{%vgg*5BIC{Up)Z(0!9a@vRyKp)Fgx0b(uEjYO`7Sn3bb0Q8 z1COk4WbI=yHec{A_6dLQ>y^lX^grl|fS%jAoHCvu?Dm#^f2_?)Qn)?3Eq z7omalyyLbdJ^?~&^lLu-ijvlu`p1$r0$*86sJ6o1wdLQGk|W=i_C)`qO%0>_l^ts= z7?Zc+EGjI2M z>IKHE18mj-QPu%YrQt(Ae8`;84E)u(?jHTD&UIJAhhgu`w~sknKP%nvWU=^y&mLr~ zEz`8m)pg_TNE>hGuXem8GG5jgHfs!tE##D#@rGGvI9h+#=h)N6TRQ%Dy|s^$Evzr% zN1!*>7JbKqU-zrXLFq?EpO9(lK1<}F#d$g(bBKj3{5H1k zQC`%1G1gqZIBQRGrJTz?N59Y0?+f%BTc+^d)@u44(J=rTWe?xc&uUGSkbZl%DCxIn zCuJ{wJAH#E;u~470YjNH`Zlp%1CBCxB*LuMfTheK{rC>Q0zB1v4c?G;p9wXn^tXWR z9GP2s=-Vm!)=S?`o4&OYtH7Vuw@_N&&Qf1>THnH+os7P1fJVkE=bz$wjd?h=UQ6lA zz$K+G3yicroLaAi(8I%?zRd3_eVJ!Re^=|Z>a_J5Ya`JM_PsEUUY=?vsMl*Dbo5j^ zd`q>%bE+MlQ|+)`TesSEves)A&zt>|nP&flwBj>4_D@)Q``FV&ZjL#>itkB^UJuNg z)PBS?iC-jhNfq~7kj|gr*|b!9FClm7+l}}`-EAlJ)6PWlmo75>vPvd?$MYzx+UHYl zBJC*q0C4x{P3U1J^w5!|4_E9o`|URweNphWI|shX*>9g)E_$toXVv8P#NT%b9u<4W z6w5y@<@Zj#{0CIrHR$2MB=_WnhF&Vk@Pmr&XMNp@{<#;~zo*#Uh~G_P&nmZq^}bck zp6p!N$2aFXX;1LAlQq+L=Q_RfZhh!^b2t;L@CP0|{Ee=!^_u&$|4$}w|FNh4{|Di} zZn;DBjqslj-T9Zme~TXc_v60@z}a>D_hG|->Hc`Xn}h#`@qbRv!d8mEOCkO)CHT9P zmh1Ie>urG)Up1CaN=`O;d?E5^5^^$~=A-@w*BZvpIr%7k!!Mx(e}vKo)3^5r67YhG ziDhfqRc2ygd8y~G;l;#y0{g4W#A6hnBavAN{Avd38{CU)wfySGzhrP7K1lc> z#qddrgYcl|?Uxe00 z&iCW1H3e5d1W9_X4&^<-_(y=;=dm6i)bS4Im3HA`29p zLcj@`FeaSn`&Z}Z{ZipnW#Dw3Yzb*S`j@$P@>TA0`(^K)oJsR#!d+RPulb0cUqZKQ z{jQj_;*&Y%7v>e4c_qrc;xMnokZ*DHJ;n1qw*?Z&xPD~Z05a|(zLtZ?w@b*kSCDV7 zBHu0}-%b#>?2EVH8%#Vo@$XghNfq{MySlOIqJ^NYyZ1`=N=Qj+m zDZgQKFKGN5A(5Bj7fAie)^kA5eK%^yv-K4Cjjc!eNZWN2we^@jIncJuef`MDi^xZd z{>7mA0p#UiO@lk1bDuH~_KAE&RtPLV()0enEA;nO+WW`(#y1l=c$7GoXH4qNhi8z3 zN3q$w;?E;iLjIwszu-`eJD4Q4jNJF0Acoh0yyZWB?>KPsY|d{KR^P-oA%)L33M=NC z3|KMO{HkD;ZYL3$sbm5CFcm#xbiM3LTQBpRS}*gQS}zj=(X7i4eQ|QS$!I(1E)gxO zWRHHd9iCI|=yiFXr_cPR=Kr31H2;5!wBomN@P9A*<>^_j)w9~Q*hgj0=c>&)0mYMh z)fu!GWsgS9#ntb{#HW2<8u`tGsrqg2Lu&rHRc!3gxuO|-hb9w``|JIz^^UP`dxZ5K zwB~EPsa^RdV_%c_bjt45g{=qsc{DI}$(ntvw|3$u?WG=1?Zd9MQ(~6D zPoE}st;D=@dLLDBn`5URb;A#{2Ou#f;I&3%SgKw#2CqIZ&93*e*pWYh9r;7Z7B60! ztPA~ji(Jf8bt*U=D^m8W&Bt}R<%CYdCw1BqG3h~*9yaNbqJWAQbfBo+K@Lh?;bRY} zy0#wI>60gP`qW9ChD}{tORGsX~;8?bJK}aD6+1QScU#Wj=zX_Q6l$>4+W8R z>Rz~wobM94cxgtv#s0oe?z!fh8pAF#hGx>1sg2=J7z1Z2M?AU+KL+mTtD*-(E8z$9 zw#tvh`$| zPNdG4yxYh_?kku32|h(yu_lK+6r0;ioD)QEN#FaEXK(*6!#>$qJSiFXIP)oIebHTt z7618&ixX9RkasAE+!0(ij>AJK**eK~Sr~lAnoGODT=3wr{T+_GX7Rmevc{NX38_i=<@h+s`5JB zGN{w=JsgvE)9HbGq_1oD z|L63uDxDsF-N=VoMm~^MJe)&55Pv}Nf^XKuWyFEW$%uyqH^_N8H!Hj6MtlW z<9jA#7uGN_^26vwTZ~>57QIO1PsGTdgGT-wHuC3)kv|br{-92`9M)<0h$&xf$}cqK zYfSk?edxc}$(3IM&9+Fp>GLXQm9J}eJX$qyh1T{>l-4|4Pl)Ei zoE?%mYnx8DY}aXc2dT_?Z-D01T$e^`LT9DW*@q2{Df)V+u?I~z_8`)VRXOCFz#%vZ z{l_Yrl>QSC`YJcPJ&|_G;iqQ9PxRO0CmG|9Kd=4YGR`X#14QoJitbUdgI+8`N0mE9 zOKec~xROFV^ViKlQ2{bRkLedy4qcNM!Q@FRP=W~JNDccoJ!E0j*%LfQ(f=HhQw zvBr(!o9~EE4)n6M`h7~LeyasMnJY5tL?>5uE=sFY^mEbE(a{sEoyM#4H>6JHo{T!t z_f?(MX?1Qib#5XJk6&l=1?pT*oy*MFUn*{o*PA*QQYYWl*w>mmSw|%r#;@~`)VUO& zZ)DW~Fu8BDiG_katqi-`Vv~An^~KoL%CM^iiaBpz>~jyrD8FRt<-aE77g3(Ji?VQR zEnm(43UfGXI2%2ypY@c)N4YDns8{ZilQqx)>%3~-WsT+CxtksnL}>g@XnbqhT;a_Z z;?H{DH1Utmyq`YV;0q)dhELRg;xe$i5+n}JaJ;?-+yjvM?q%{ zA5+Qmq`zLJPm%Y6uV9cEJC8|x#V;2Xw0)-_82G!QV4!DaF!21(e(&sor?C(`<#A#bwa-8tWPrt$2?fTWwx>2%9^orW)L3|t4dF!#Z?`jpSJCu43{ zzhml8nED4z{g>aQ`iD&Y*G&DxrvBucRKNc>G<*tmx}`*?;nLrDbKp~L>R)K;uQBy6 zdXwreH}%go^;eksD<@XJ%pdA}OTO@L+I^S!ekVilZ9RW$`CEtIH-6y-vR9wQZx;Eu zb370wANK_t{?m6|dOUZtq1jlL{77#zTVDJh`pvp;GZ%mVANrjX{XVbnG|!kXCPKfz z*{SD@@#xo@OMJo#--z68%o!dv=W%~8cA&gN>3W_gThr&y;==3rFS9Oq%bpt?xtADt z_S~+|$$S@NUKE?8#2|t_V_+(F~1WxJs@-N z41wpKAm7l3TZ4gb8@Z4!53=E@?%gc`zKoT7Ye#ayROF5PrtFHu!WJDM9p2;BA0>Wv zl(OjDBUQu#y&k|J0n%^+A=TK7{=?LtR*Ouu@>;w5i;I9_I$F(EAstnkG^mG z8Sb;rx^J8~r@(U$cnK8*)cM4vv_Y&=75`M$DxnpDUXl3=eIs7{#bR(@#hGB=?g!iD z{&kx;RW{|)@7}f}`J?9$KAGPw@Ah(CH?|nzkrAKosW0sOJ?LN=bu16+SQFecS+~1b z#hMsic>Q_)yEq?Hj~|1?nz&2WNzxZ$O;{4IbrJQ}=z2dW^)}_G7Z~NNmo@s^vg@5m zy}+Pe>e`WAm%sfk&R68BYXSD`d8V!fULR+(4rGiQ1yA%j8seNJcKujA=~|x~l$d~j zKfQfE_n|rLHT~Tw?i*M~n+^0qV4MYCaF)SO@BCaQKRsvo$(!F-v&R0n(zm=e(pveN zy8C!3biNFDffH8t36dLHt~3V;Qh! zEVjQc@RG>W3rd#g80gjf&TsR5TfX2c+C0zq($;xWhkVQTef$emzWiR1kD69iDIMJ! zql}OI*X2zccNBRmvgF!lGsiCc^>=3cR!_l=ZKIM0-FG6sp4t4B&aX*uO}uEuqr#WD z|KX))I9dx4T5{FS#k>Jg#+& zIDf>{i%NV$;_StU?-wWLTwiETAVGY*e&P!b5MS^j@c@-g*tuy!cvn95p;;5kyHsMY zv)^h*rcWq8G=9am``zTfsr_fktLmAk#FOrlnr0@xYPZ5N)Gj6i`xF3JKC$TWr|HN z*?N;&7Y_T2)E)H0p`vz)4U~&I^N}KIe%T6iSKpby8(P}0N)$I_a^Wi2H)7l6WhV} z4)EOszIWww_i8?OujZ?}EjQl+o#DGw#omRrBv1Kr3B9Ya`b*VVqhaC`5{Epxk#sI; zbKPiM@fL7`pL|ftn;6?x1M#)j5nDS6j}9X@x10RGMq4}TXhXLZovZE_X^Rd*@58~7 zXj59gU1|A%w%=373klsCdJaUp&THYwvtkM9QDjAmf0p1P1S-yaSG6hNe8~R93>|rSy)?Vb=Ye68SPe4g32f43 zhmEWd**zbh3JY0LWq9A_euqk5p1QB#!<3QtY`LQNTHU#UEFo6E&7B3p-^7u~EmIaE zn>?8U|64<2$P~%v$rNOSRbD${m2w|Ib)A~;C9eAGJjdwMN<%t_5kEKV+DL zd^#Xwp`6F-@r89R@%vt^mhwDLsQjtv0lRm4AbNUwz&SfT5C{GzfY%ET;ftmCQ064@ z!4iKg;mPTTq+R>esz9`NRlqsDDiAxnYP8(@=`ZCZkJm5zGCZE(dui>6L;cOv9~OL& zuaSJIZ|rA#-;}<>_*MJ^aQi3BM-ty*Onh>ehKJ7@!6)xI@#)PG<_?Bm20mrHsWIJ~ zH75F{#sn|_gNz4wDEfR_=c@u9#p8{WdqgtEDffzG&4)qi(09c^uWO;(`d<#+jyq2J zrN)WemT`)H(bB>hPEu``E9iBq_5ElT_sB&3EnkmvmrS%NPu4|; z9+SIC(GNVhO4~8$Ck%X}iY~Q}W=1>Qu{CZx8%;Z#NW;3FcW1Z5{FJL5Z{G6yBmMAb zH}wtw8Sh(zoVVU{Q+IUl&E2t%((b1z6%2n)~gMTLLr$@;1Uh=FX z&kFLqk35f(r=hzm>wN9io+71>t-cd|tY=21K6Z-n^fIo~z~F428#~9nFz2}&(78E~ zaPr*#M4me^nCD)+Or9Qp`zFrUZX&k(CW-BSs+O{~dM%g-c;dAdEJ-JseT0NsZ+K}h^ac>CkzNOu%r*H6hED4O)@+^5oZu$$`*B|+p4v_)T z%hXA|N@n0^X%E)A7Hx>!;BFMxKI?O%=VrbjLeC*qwl;obvMSc*X4Q z#9``Wtz~yXE3Da^gR~b~8QA_)*3A2J|MtB6*5OlrkIpG{xncIodJ5a)OY>Z@hll;# zQ^q&xV|*F+Ey_OXa?%j@_Jo1oHsG+GzVBdst!o3~>$va*} z)U}8ddLOHHF_eR(t5it>tk z`}b1s$)G#n)VlZP6}1hV2)cZ48(@7dX)$&RNsI2|jNvizN*z5Jb+q;O@*R3l-+S-h z8+7}d`A)t4Eu_bIZzb&|-Q#or30kz8p`RA$rxp6yBlNRE$0q8Tq1Gt>V*+``;(xK7 zeC1Ea=KX2NPtRWQgFLZUjPCE&76#p534JStj?1~vSah9t={wJ~4MOj~N*g<9<5lYN z@lUVci}iXAd*shp%YXj$<=tKRzIJ7ox`6yZPDGIt4ss%P8Tm1U{D_nWl>TjWv&A=9 zll*UVe9I}E_&VYOyaOK8I)ZW&Sx2~c(1s}|bBo+VRw1$nS&|&$?;5ZP7q(lP$M(&a zSOffK!=F*%Q}W0is21xx3tPe4zNTf5L!CCYA@*8q$+~0=A zC?|D}_gi**q9f6s^kES+r)>fyiUw=4-m~dVXyE1?boT6+%+D)9OacJvvUp2G^y~MzK6#U1br4!KW3m<`x!MEV|0Qfx)9j4>=Sk`+w zeg(H3z&~Ao=rX+S@w?hzegpDj({=bY_CF;*vh07A*n_I`-RMH>K{eR;dZuT@P0)Cr zn9c9!tnVzRc;Ygo5?ci8CoMyYCnQ7qW!^F6I82`y>o}t}t((;Y^&DdOFz^&cvPJ zOq{mAO*`~ufm0Lx*ae+7UtfP8Fi|lbOuc3J*Il7rFZJs6;yJJ`;QUs;I@_h!ZPN}t zDRz4J#$HGpHShv_MNAcVp;+;NoRwBF0GA*uJE8N)o!tY>*KyzwKTpcI`b_(07}wEU zccPg4Khky0WfDhxJFsQ_SIPeQ!|dt?=5&pt@mVIKLkHT>I0uN z@Q%Z4FJK#%e!P>sp3S3jrjCC$$Eza;&bFI6a@D_8e%mH%HtaC0Azmo>!?qU+cB^*o zpib`KQg>R8SAT=4BUk+or}e*Yo2lQ7L+tM|ZtqX-=1yMlxlR*v)-G_+j7*Avql5JC zFm$|;=MCVkLEGSpk$r03>M2utiL-%n8*5YdTKySy%U!e1-aL0Ru@<*Tti={^-%1_O ztS2iiXiLdSWTRcq?{oRRg0>vwWZ1|_WUZ2umDE>WNjwjE=geFQdBx6Y=wcsqG2R)_ zbh`MI#MKT%7we!4XaT$FW8=a3rxI6g2l$9KFs;CDr9l$E_k4?j}3)Td~*wJzl!pyEm9sP7-V`k*c9Ym0+h z!MV_yJWD-tuc_E&qOIT?oTT)VmReWvBKk?L@&1)p_Y`^ZYXW;!N9yh_XwKQov)tVU-EBkH*^Ycnr#o*BQ}&jwvhMzHK|toSNB(=Jp48X1p5Imk zHf5a;e53kOIqhVuxBU5Pe(M%}$zPB$za^K#V~hA(;&VIi@m<+`q|U9ymMik)QU37z zIO+?&qy4#`40YH%&*#|=lYbX~%|6$T_}lUQV{ae7jUe%V`5p~}Kl!a%)-}HN;X``< zkov>a&wjS5Ut%=k^XKAU=;B`}bI6&-@|7yxJXfb%DptB{{{&hlpH03f`J4vi;U>~` z(8^l=Ht@WWzfF8!CeQMXzvVoKeC`U`E2XX24&Iw+i!oa};F%`YG>qM5?5`jGmkxUo z{a(VirR-I!_`d~8j#$fr;^%R6GxvQ0n_m;y$T@TmUJ>><#UEvUp{5o2-grdcttYgT z+(w(*HGCTxza{N&qy6op?f>&Q?VlazH=(QJ?L!@Zn6|za`dO{??NNWuAnSG6SHBxP zruzs;`8|~Xm$dR%{nHh_JTqVDr6_}5tZ~-oiDB$}N$h+6vVf9-6Wm8hmw`XI6+RsD z2kdM9Ky=t2aFYH&(%~<`-ynaN`R4fBonCM`6bi(yg#z(m?qN@c87+3;uS>tq(yw#$>pXq9KwGSzI;lVI)Vj~J z|1g;|%{qur4)1ELC(T%UNKZ|EtQ(~b?)vuZ5V9@| zHwM+5IMsfCLFycW*RIj0VfZ1z-ynaN>3cOclEZ>ec=j4|!7wSm#re%4pBmEuNOwKaL#?7g%#RO?1NWE{-Rt)uORjcrHt40~^o`7W61 zld|d4FZCNVwhS7ZFZ(onlQ!;>_G!azqb=6+_8!vl`a>Tm(;MASzP7Y>()+N7KI~8X z&DfX5>Vx1!%g7=vBllFWe{cu;2X}V&MG6Cn>dNi`KXD?EFMIdNytk3xe}msY#P9X| zzKP!-3dGXpKF?lowN={(SKpSyK3LCsY%S|C{61vPQ1izI($oCG+sSkMwd4ijYtc=X z`rMP~!)wu_Sub(95K>FYJ823}eA3w?d%}Mre;_z@E{hCPK z(kJQ-SR0X9_{&7kF}~A``E1brB6r*~^ z_3^VW%+Bk5VYmNB(|ps~WPW~%`FWL@pJl$sFA={|cyJjogZG2f;iC?l_(jC_XkSo- z%>rFhd=sP0@uK_5nAtNKe;nqX%k+I98Pf~IqlrU%3U1)^1;!E=e6!|wp^;~B{yg)n zjMZkWYTVGU_;^O4;dDBz`}3iWTK+1l@ZH<QMJoq`kyRTCB?N3$Tf_$&#dmZ0{?oW(fA-paBy#8u`_tE_XeBhM6h~KF?GijIm zL=XMOG{GZ2AnAJwe1GvCzDvA(e6^L&q79A6UWCBjuI4-CqoqMtXi4~A);w}YLX_Ve z`XzU8Aj=;s=lkZ5Z+;EmN$g?zyX0rDaJJO#@qwzB@@j9Hb`pX|@~8LfpE`y*{wIGL zXTXPig0poVTqyt2e?oYOT$&0z+JVKs9PlU^2OjDEpw?VX3qjv&$3+fUeqV34Z)o;= zR{0U{%s>U__BU@|F(N+6l*xH^Ae}x}tMgD9^f{vZb4xi}Aa(6nG4idOIWJMJ-?!|N zy7B4f_jH=T4_Nsq|Kp#)w}rux{;}|%qdnDkuf5h4BUMF>^S&=W*|a%UJKr$vTr}-? z{Pw8=*}uz>4V+H@j8FDd$?qmo5+FJb>hp zbIn!vHqQIR82N;EvdfD9y70yyNq;#9^5d-j7OVbdz+cG+)}yN5Nq9^Am8&?XQ87#7 z!Gf=CeAVXzr}^y3BJ11a%!ySK9C`2-lSgDjTAn;#Ua#=EoI}aL8}bd?sp{h<-ACSQ zKRT8?yHB0p$?>@vnEI$Xi*1TJ`v5R?uf?TGp2`=TxDS<>4oftQxVH^YN>9>9hU@ z-mUuJh)?J7`CZL-^#2Nd5FSzI8mjZ!lc79?FApBY>il;GJVs^9zOD1} z;M4bse1LXDmZ&~)=ImZ%i1bJ1VVie3YvR#|$QAjPPx-3bkgZwr$E!nrpU>|$^$tou zWo?|5*OS8^5x5oxM_x8C_4=>n%RRx`{bfO4C8~|SO`4~VsC`k{xABizoB2T z_VfCmKHrHvw9nS6KB@VV=j{2>I(PjykC!C9uD-oO6TWZg`S*A5hlX~;qvymee$W0k zZhfpV$E}aw$E#29bv0C>>{9~))`y`xGwoAt(_DM+G}f}y+$4K+N%rWXyH>hU_Uu@* zePbp#3d-5FhYHnMt0M02wp#qI-RgHO@^em2>*1k0^}4p2_>ti|+g~eb8GCP!^+4GQ z-&YqG5!0cFm=46vy8Skv`&F5%X;H^c^nzft`P4b*E-L*F3^t_-dlO+42*q__w$s$P>1b^_rvmy=d=9v z@O&y?trHa9bHK&fzA|OUod-;lO{0AazfPZdx9LYz`q4z25mK-HPJZj+J;L{1+Ug?h zmXq(M_>6CP^vOzqd)5WfLDI|l+U95QFs989 zTK<+Y#rjy8^tfx*}%SR&!YjgH);Aa z=33vZW6vZjP;w0bx``ViT;G?&o=tAo&JQ0E9FSra#qLmXU7=*0X{acQMSS< z!X(Q48D(6SR~O?Gf7m$V>tlRs@7L7r?fH6XYVVi3*RO!fGVWf#!uW2#J?OfOZy7Pg zlG~uy?fmT+rCY0MB{)DaIQNK<7QR;W#gBX0^Yzw)u?IAb5Bg7sO-}d|6 zc!&JXclgrT!?!lx_wv4wpaA0c)u-;Ey!A8qi+9{wi4p8~tY5o}k-I5T#9Y&c#- zz6}~U?qm;rJ+W%M)Pv(r;JBVU>~{jk_1t0q3E=pF+kNhfz|q6c8>y#;dM>uEbO&2j zx|jBlZuGksH~HO5VQ|yN*{wZ#FGcofV{LV*{aoge*|H~SZw$FrA8&lkIt?$p0eSr) z@xgB8UTWrEv12X1fsdiU`1R9uZV>rvL#NJR`UjoHq0>I-Gy$FV)1LwARQ25;7Er&k zLCblEOgoJD@QVFeWSYZx)jlL}`CD|D=zeIGwwtl#gnylW>}6h{A7Zy1Z(hsRFYal} z)GzKac3Cyww$9f3LEOvpv(`D8^X;($*FIjL;U3|>qAARi+~3q;A!`)wrdUUx)Pc-; zBX!&=e2Z+GDE=*EvBY1k#Qs@{|9UJeG74VZByx)RNcJ5fL+D{A z^tB$J5id>g8$KiJ@r6mhkLT?_Pa2=RIZ7|_@F%+A@&7i8yU!TC*3-ch{(8z4{)&sh zU(ccX`%)KbTB#fNC9}AqMx~lk4D1S)cF~P4>L}QaE3~MrqB3{xOu|Q9iu7H$rZMmT zIrp5&otsHAN$alp{pNQjbMHClInVcb&N zhrDW6{deC^gIg6>k4(zq0ipNVPxZ@GZ3C~?wBpK}gA*%ExtIrwDn z#pev+lSz#K*K!wz&AqZ(XPCOC%(Q`ioP&N$>;uR9!LjI6>gA(TufB#pcH%4V5PN-V z|2})#5u0hAabCMO^IX#ySUlEdgI4V0f>bkzx+;a`61{2yv|X z(l8o2n9{(wMAJjgY$r7x%sZy^zx!X;LWf9YEU9xOnD@nezR*UEQz-S7bCU3-(l2kSh%K%N-kg(Biv5__)Yvzkv6A20u8ct_UJ4R673 zYAqk0m*1*{-^_1vzC!;da9O~kV)DqG_eJWTx#&7X(i!FWG^J|q2fz+WfePkv8s;eGU`;ChbcOH&&94B*c#FONTe zC3n0CU*xF+6n|}Qru4sitMI4jqS5eYp1SBPcPv`VA}Th+T;}Qb z3I3sda(SdTSpLDOD~Z!54i)xpV%N6l-yU)Vt(v)@w^{#hp~E?zoZb}Ft(^i- zuJ;z0_cp5cnk6ohppL8o${M8DA7j_kyt6RJ?{Y>x#j`YH?O?2OzC~n9#%eLv#~7b! zL&+NW&XP5FU&$KsVx7>khRnPfIdgr98?$_gT>hlo>%69#JK{^hAHK#Ij8;SZ6g8YkGN}0lltTTvw&|lG@6S|mUZ)4d{`5ZJWhSY{}Z#I!))jTGm?1vy$uHvvbJrkhc3xRK57ppDV`ka|_NDkN!KTZxR)~_tque|NstX-v8 zud?YUCH>5VmssaW&Ngdki?4h)xZ>xmRq;Fhd13OrYtx6yHQTh}${$MII%ZyD;@(?5 zc$2ud%z4F6Gk?loBPWd9qp_GZxEF)hWczFA5$_yL`M1^AjLNrempKh<0v2lmN%lFC zpMddmhj*LA>hZ0ix$>={VNayom5ZiwS1u~>)pETDd`f;I?wlmWx`XWVlJi(HUYq@0 zsisEv98K^V#dpF_e*s>;2QFNHHR#SqXS-?{ZNb(ga)R$Um|!rXZabLTC<(7inDbT@MLmGaEe-2JBE7rC4E zET6v?J<&v)+i1I)_O`=|O+_Jl{1VP2-PYdCI)c4p9Osv=Ztq^tbMNotOL(WWUG`ul z=EA$If6AJt;%jo6xiVgyQ^r$G?p*PgpByO9LZ>h0+UA#QpHxa?Bj@1nm5cw4zh}{QKJWewzL<&!XnQ&b ze`3hC1uxP3@@*-41*c?WV+# za4&b^4$ScJmY?1d*BfPDC0DR_OYw!PiLc?WO?xcAe3hHI&tc`knJ@eKj`@MLjrW>)Z#(ZT zt#g>W054;XOv_)NF}{54$#1xyI}s@ZpLyn36dvaNeA-s_q{)r5CmLM;{WlM@PoSYr z%>j(>DW$S6P5S(>S|9P99~Sw`@EK=>N1?-7#b?6jba{1jZG2hUz<2G5mbvjl$^<^F zoExx2KVGIpN4jwY{6&cuGIvRigTL|Hu4VlpfnKW&R9$=r@jlrX$b9tp%8l%6VSFym z+;f+efpYbZ+V51pX6nG_W7L^f^<3^v98kZg|9Sa61D*?v=EIE=1D=b1`y1$$(Qonp zJ^Qm&)=0hfhdACJ%l_OWeR=JV?_Rw>CHr%gmp&1fKJDxwdokkk4O+y+5emmY!_7wDTuke>0-jOSy;V#fZe?aEX>Wti*5;aD z{*moZkLdoFX@CA8ZM+Qo^Ea2M{|ee4v0+2mpUm@7+Mnk>;o6_9{gj+Bkv*FE-Us&m zD$Z1YcY?YP?0YkjjXduIyBIH5@rL`jx9`RHwOR3oGeP2E-uu7CvsOrqDqUab;3FPT zcYpDl*w-|^kILiLNGZN&cO7#Z;zSpS6I~)s#5%U@O_}{em$rSTt$DgFx%11kg)F+c z>L??Fx3yB*g4Z%_&D3qlU05>hKDC+mwz%)9cAIE-8|^mJ?)JLS+f2K> zlc}?XI@~cL@Tj(zdD`ap%zNB9lG^5JI~W1x2rzSwyetyB(X`DwnL693)9k4ep-w$@ z8mQA42~9C|c*oS?ylsecz@b_L&l(pVb!Q5{XWrY+dpq3s#J9HA%U*qV@5nT8EYC9U z?%>^>{cXy*5%sRz3&Zc`J@%J}641$eu0`y~zK1UD%-Zh|*Z%Q02gYami0$_6Axk3RPEIY|82ZdB)0B?o!m zY4iX*o#xDH8lLV#=DPU*NJ*gO$mE(>7tfUpQ(w-A+O%QQhN^plx+kgIMBP)=Eek){ z#sAbjaOBg|V_iJYRagC1;pQ`5EHIn`uG8r3cu6c7$4{JueDQqsJGmA59btTQKOti<-5uiA$+)ybG%d7Z$doExdA&M{e-!<#MGDnlSf4^xf7(5 z@)$X{O9ICO@5C<(KKP{M=l{;vS&unE%=;wu4u)CFBi6ou@H4YT!1ORM)qGT+ndQuG zNqKSe?&lvo(S3qA`^m8LBVZ7Cy=P|y-jcQVT>0&zmv+ts-WxT%rE71vBIooi@SFtC z(*@=s;E=se28P%8V5sNLn4|P9u=x9zdeZ+h^nWA$3vQs>3r8l*h?V$YkZ0%{rT5S` z4*G_5fF+@Ke7~Out9fTAIAy%TKL*wdAIZj7H@q_(tY6NC^}vxIO&q_+CHKA%}>84;J1$hlkl6N-($jW)L%}F zP4U}7&2NV&I~2chE@DFLD+TTyG}DCNI-&Qmk@4FuAN~}-b;57QhUT~1hT%6w>qIlTvX7kc0=UVHbIpyoXTZ^_yjS#mm3{-5oGyZ(a*bIx+PZZgTs~8+px2@VP|i{&fXS!=Od$+(_$Z=ZOcQaJO!Lar*w%OdFQ+V za>|?(ostdb?EfN8vQy7uQkCF+uXb`#mMMxWb_d&qh7p;&Upl0 z`wZ}SZNgUJHR@-0ty%NhcFG+}MqdcLZ$_+E^V(a4*G6Fz{^kB`9ha|7SPQ&E*#x0+ zdKP;xSnq{TRi1&qL)g#`K8LaIJnNcS=XB4e#4k>J0- z;P7^3ZZ;3RaO4NK4B!F9tMi7?H4V_6=d3~ZvQDma&D(_j_2`<0{B_L)AN`fCp?-$` zjhg;TDVJ&bKi*IOZ~oKh=zojGTb8cD)^uZQhSD`>Slbi%d8KsC1RoqX=Amoiz+iOE z5Al(9KVOqu*EAu++t4-5=$h@fh2Hq^=ylDxjjp^HeB}e@=lyWbdFuc;m9Fu@IZxp9 z`2$MV%k`2#KDf42H?m&2|NfLCnFyN2O4*Ph&tJ-Howay$0q_Ru$*Mnz)<=Z7_%H)ucE z=cBfGeJrti;-gk+7zLIi@Zyo@2l}Y4J;{di-vrKF_N2Pso-7s`S3-;G{AnD>MPuq` zXgpKXcoyYsMdJg3PxsF;9^W@&eWGwT-G{pz_9P2`W{&Yw)}e>9Cy9Dj57*}M`O3f- z&)JXE%UoCK;Zv)?+c@-aSw;^Z@c4W!xqQASfx{~sN)J;%gSYV-Z<8o1=u>>YF=Jxi z({}jIQR3~Vf0M0Olx$?{;heJZN#K2j^su7elRh|n`Yj6v1aj`c27b z1m3SlMjMdP#@j>3J~4V3eN@9a5*eMRag~wLH{US8-mAHp56+(noVoOH5AhH^FIy?R zcA33rJzYJv_t;!(>N?!LdpCPU!cxhse z6rD3MmLhKVk7qnMgSIyNsNm7PY4R!TUh!1D|<2@i&)ee%kk@v|2t&o_SR+ zo?$L!F_%g*mr^nZ-c+8s9RX)Av3r5Z0;VMJd1-f}&@N8hqs+rJZdHtF1-Ok<=V;h@ zz2I~?bFvkg7*mTU#+1cVV!xkY{+eP?2^rhokdK6E7iW|BFp z%0)Gv?=|W^+^1wueXoH^(5zrtohmeMojo=$>|*?cU>*`ll)YYqsJSgH|?1m zmELD6cNG2Ps`uycOJ$Yh3*^49O%fBIy7vI%NXXq@o5JcoG}*7D)^j)uoRvGtJD&A{ zP~S#AtR0Z!Ipkl@IlWcvcR-tjHxE~%A~_l2ZfRqvLo8{9J5_`V_Q`r#a^pL6hmA6NHy zaP=>q{Tw65SN2-cjz3v^Wy3iXzP_9TUsGNweEHV(>i<;n<%4r5eBGV{U;puc`ektd zf2n+Tp8Qi=&xsL&w;-nlUcykGIa z>(9@(I3IW$UmkJKwX4SILdhqz9&mXyY2>I@VuE}+-FFJ%=ySW@aJR$Y`^i9wXa;^25OY_zouwLhZ^`wX9 zhTg-%yZ#k|mv;Q{uFnDQxsUbB)~Mj!_zJ;GJAQa0IpF=bmkTfcKeGMQNciEgz}Dyd zuq9~6|J$S-@czRv@QxjVe>3)JbH9C(Ih5Z%NekaLqB z9kTW%^w>^xUu(dzi8pU%Z$@go+%JSqQhC|s?(?F(D> z)7Qgyp%c}aIJx&i@{h^A7m^RYl(V*yi)_r^bHI=aj@=uUdoV^h)`gOzi}g}7PVS#~ zqASDw`4dNhzelCbX7INiowvh>!+h`c80B~#7!I$C{%7#oBRJUR8~Z!4Yl@~Xk9R&N zZ4bpeOa5oZ_>Nq>bBE>~EjLlly9iIc99j8K$?*w~N^Wy}qdTUcOGeA@Kh$k4KSP`B z5y;~EyIt6gu2TCUxywgpI3tQ0*kdT z1+!f=Vturr2Uw9M_M0;A(fVlI5c+5oeXNi^{5(ZpN*~eJsPxe&;Fu=zD|FH0OvpIB z`e+nw-Yso1Z?}-gBznoToszakqK`(=_j`uJ>j?FcyGOSuizmOxK2C`zzTe}IUTkvt z@n&@&ua6&D%d%Ltk!+hz7vv&JO( z*Hx|+vC+1B$FA|KOzHQp)Ol6m8`d1;PWD78Iq$}iOZF1?$8oP*ANR`jaj%?xiF@R1 z`i#6Ml&XJEDBbX$P*>x78X7irv`>5`_lk(We`+lwPAm?r@ z&g3LH%afP{T`I^mRyhc5_R&Wi+8l*8ozUi34%+PV&}P4e?;z!&k;8YJ;Komz;1u>3 zO<{l06!sTQ$)-&!v^ngd%`V-48|9vn_up=4Gc(w0lRwLzMJ{N`p*4FD{4~=?!s+sNTOpNo!h;5-VPoxpj_N5?31Jm#U}dfop<%1tBhf0v=-JYeWQqCkNK;8xE+zTjj&RmLGQrK)PJVoq zKfaaz$G?W$M-}beHZmXa;JjYL(?Hoca(J#1*~Ug^=3&ffQ}LpZJ^nWOyS=@;HB3IH zN#tXi+}?c*o#Oeur)iR#(>^}Q&1oNm-&x~M#JSsYF0h;eZvIzzo2TKdp`1T*IOhnQ ztf40&^l^}~i9V`n=QMrrzv^SA?qe3^?2-2okv{g*c0GOUlfLL0=jdHwI~+JQl_#UE;U% z9(lQpud8e|CH|f}_sHK?ZVc{E(UEFII8IkEVS ziP>Stnj3bK^TOoYsEVNF+J7S>75fbvYq{|fe6(2jS#M&b&y*sGiL%->{x z!!v4si>Loa`uFkeD(Qcz?w@wU`pmED9~@-*=b7|xE#sUj@YZ_X_iTa)rDR!zoc0tGk44{aYGeL_LGYez^9Yx1>u8 zzIFJef)Bq7K9Iek@=Wa^q#e1-Oznr|U5mEf`VMf#`lAUuMPW8r5dPqHq0!re0|_u%Hb>o-;5o?Cv^ znjCv=;g>V;i=0~)e(|2k5IrPkG7hsAIbe?;de=Gu?oNVJAAUb4W8hBU#D!q&YsJ8g zA7zQ}q{o$FTxrJT-VHA6BC-}zyf>}l>y>*?$XI)5zmN8z|8imlHat*Aj^&hkC&;_9 zu2Mw)QmJ3O_q(j;c;&|4gTEZXrj#vhPffa`UDmFX+snB}_nP)D>@{~};>*Zy;Cct` zwk-(#;wkjkA^O~3OJ1(R^KvHkjf^D$+!ip$e0Udp+u(lHAa^Vqyzjr)#d|d|o1*ey zbCh$RY4F|!-ao1FemCb(*#na~-(IvfdSw-Om-7HKw44^Nt>#Xie!M5)5gR-v!M_cE zTfv9ECA`ugIEU9Qc>T|TKgsVawgx_&B%eW&_>1tFv2*I#jQ(fB_sPCUs16$=`zlqN zr-QLuq|HmTc^UlVNyk+}M_{u&vL|=?sWy)VW7DL~^E|&mn|ds=|5@~ndv~&|)m84D zEA8m<2z;+WzvPmUo8>*5_PW_WE3`tME#!G5GO{2St&m;O14Gg3zghDfKr7}bmds1A zUx^OjI?OoHX>NRQY$gtz^yt#b?8Eiy(gU8giU5B~p9V|Zd^Fd~`stW#eY&1LH`3=O zblGO~=@wU?nKPq_^|d^&b@gfWn7s7q4ssD z$a`9TlF&`*L1;Iu9^66y=(uDnbl8O+42mAS9X+_Ty{j#Z&MQL?mbZ6pM-OfRpH2L> z4LF*CBf228^B{U~KlQit>%p5wh|j;#_!Rw=VtnRI#ShSTk86DT&s548#TnqU8l7j( z!v^Kdy9b}vrL9WGT`M>Qw~|Xi=@j|BEf~96e#b7UoE}5qcBpdYLz^u;#xMKk(hJKy8ka-Dz=tR}59+VayG@5Tp9Mty$PHuOVtEq%}y z__V=i>N4X!$#-a$gqBK{v8i47HHQNw%I{hReMClV{GSxRrw#?2Rrs;1*(WNxUd|@j zz_=MdA&QTX0M?b_4?rWMb8TcX6)7Qpwv71MUG3e%8{;SNePVkzH0|rFXiwNBG4VU> zeLOo&xs%d%VM_GTkL2*gmr3Hwh>f}@ft;Lz7CZSMSJs}ela#vqfw5^}DE*}S+-?m! z(LkWtZlz7eZ&N3Ah~LmLy8^-UaMD9bDlPoGCpD zo@KtYI~<6m!SxgHN4k~V?rpcXpWTI?tSDozU3vT2X2!Fb@t_-I52M3T(^5L(X%qVZDFAJg3Gp&!Imx&!NvGeX4nm+P}9*$&-Ph3s}1A6%L=3 zxxgam^?G3HBKObt;Xyg~XW=JXb7^N@KkVTA*);N+0!|xv#g_>bT-uqgguiL8n|Awj zdy{D|PJ8&0PMg+`exL9M_=LY=9Z}8)8K3aG;uF%AMO$jGGh?#!cwF7!j^z{J;vqhj zYELBhAa5_g9)Nq|7d?M1wBsIR?j27}3OhSA?K1vG(=~3s{Y9cb#%KE*axaR_`crqI zW1la?eoP9bFOee--=j}_4|Iz~Zo69cjS5f7{HV4na9~z9zx$&w*jyDzb%JUrnF#RNY zh!aI=Yej)N*S!07#@$ok{9fP-f5M{4uq7NMt zti|?Wzpx>x=%Uc;zk%IZU*Hrk3B(?gJMXA7*t>-}-WA$pWR`v88JVTcfV5Wuf1MBa zPP=K<)WBP~LvND%zq(Ja0a}L1WsMFf2z>0zvS(E2Y$20XZ&^7t@ZFVDnXmRvqn!fo z-@{Mny;1R4(hmfP~KIr+q78^??+tTUwa$8e>4x?_v*Y3M5hW2s(sp4cV^SC zjjfJyccSzyYhZ)Ih@YRr-?#DmRU7!Lsm6X7?-v;HW9`$x7<6rC-Y}jB_by_s?w$DM z@1>n2|8w@JH#|8yH4zE)o+5w3sx=FG7mLoG7eE(|8}|Mca|gA0SHm+0oRxzsQyQGj z!S? zsh8rJ_$DokX9MFgr5R5PJg@;C_&hxDfZS&WFIws znDMHy!`G}$vM)!+Od@WcT8URA%c#p74Ojv!vrQb&#niI;Gm zg>@48W*#|Iyre_--5)P0QuCd$az3T0BzwMdlJ-t9meas(Bd2TltmA*?*!C%STCKGZ zKM53_N1xtN1in`jt4N^B<-5!Q<*b{~LGXcZ5EA;y*}Ek2#5`WjSKh#L6Kl1q$;G*! zev!K>@r#zi!;Jwohq=EIyzS%J{;=`|lk{(LGYQY+%FWckdbP|UO^i+D?V!HI7ZqFw zkyWuhhbTJ)wy@ZJ=v1`#h0hU#I!u3YerN0!V|U{MB}zYLe#F}C0A8Se1_#X=2iqxkWaHpNBf`O0KMuI_s9z?G|Hl4` zUWJ1wWj8p$=CJ0K8wVSK2R$!39$YDTIPh-xU_Ch4=*7XB~sw7pL0It4`t)~V`yre=$}eH z)qE!LsR%e*XLA22cN-*-BgI$fl|E#vuLitm{qyC@|K1619dO5QfxY1>sWUzH)-kef z#&7Gf8Q|b!{2!>4XJcc(PQYK$fYVC*-W*b6T;5gfn0G&$|K!zS=f7Cj6W{yB zQkN!=TuuI8#{MvLN;SH_rItdYWqg(sL!`|P+B`ggy)E45E_m{`D{-_Zu+KlG-5Y6F z;CvigZD8pr4ZN^&^Mc;3fk3bPmYN@M9)ZTY1AiVseFy-F+^9zRzQu@io+Xq}bh3E^+DLw|#~D{%PxV{ab%M z=x6Hr$0f8WU~c&#T}Q@JdA(VyS>WQ8{zdM;D0nRmJ73p$m9xO)3FsAgK(AZE*XsW< zfvmlgUi{yz_PbT~j(nzp5@{kdl1exyMMnb)kQZ@SV#GwHaP8{@Pz_eh`1{ zw1+1Iek+0vuO}B#Lm&iihrIn4R275@XB32jHx-16URRK{S5w9_eEmY|7gE2F`h_{` zXYi-T3~y!dX4c>C8vtEA}pXklzVx@JCmmgKuN4?bBJc3ylZ{DXeC=4I?%OWoF> zvUj<7c{;ka6L`hu8yOJ)FM+bKt)3v-p$s^x1&UTjT1yufmIuq1$#7=l{we@$(;4i0=H0 z*nj?&jtzMC*3`4Ug6)z08UnX>-X!)#_SXCzaEm@R>nO6f#-{(xz`Y8cyISj9ufCGH ztAJ~>9`iJKUBzG~)z-qpWQ@#bD@Qf==F`HsKK+3el}=ix7z4+d+UI+YLDr|pZJ_ihY0Vbj|+B z%+q_17#T!PE#!0>ayre(DK=8x`NdiAEV7K8l55-hPA73oVpz4kulrAApZTuDd_@p|J5KD#FK{gCl2XxXUR73OM5?-_SWQRZxG&@j!)6%Z%=&fNVu2yNG9I%FVb$* z-!AifY;i7MWjea;@BQs!=M%)#+N7-&{cU|8-$MCNt`BhBKOdNmZ~uS%ZQ)lZYQj#7 zw6#1(TU83Kfo;tQJ8S%H&7duOsElU+t0nN#HN?X|uJSlv*)eLlJ1+j%{mX~djmLBOV>beK9=h>(E`My29&?s` z?%C4b7cbRoHg24m`vyOhEDL@}=3Q@RpRb8GCra!1J@TQ6?6o!XgR!MDpM6cgFOK|G zAPoQBd`};*6r|56+Y&Gk2LdJ(F6F|&$g8ZnkBY+H@<0reLnE& zac?X|=8kP^S6=zehunRTQZItf96c~0*0#3litvTNQ2_52YX0=&qyYGyqrTwN;G{U? zqu!b||9pvknlk_VzMjLm>s8~Fzp@w{yvW*B)_D!qE~Wo~o?DrFTFY5Wn8R9vDa~3! zx!xC%U=M|Pcg`^DD5ox>i`aIKIf;!CCS$-@P|l zbVdO>L-a?Qbu^3h+a&9^oHO3rR?7W`D@(})0PG<15cc*XeiX45RDD2rpM(mA|e#!vD#eNyN z^D@Dn85_E%Xlux|UFg06x(D&izE`aIys2LgO6-h%gKACUBZ50@Lt-3zewu6BzoFw7 z67M~$&Vvq&H+pS@*fziKBr(`onr_Bllo+f(&M35dkMz%)uj@kMn@W`GQUM7#gA4%lY?x=NA@QadF z%_l}iP3f1_$B|Wc%}Vo#tl4|^4nNNxPUT1Gy~77Qv@-GOi$VAPY&YLy_Wjw3diK^f zuz$Fb{lmec?7SQGb?%;i^xtOmL8|T5inli)Q!VH;QyQ2zz}qeGwvq$=ZVT^j;9XOi zcU!a^m~}aoKl&_qMkh=BqYIs4`}>c&`zB1krZjD4^{?MG{hHFeo2&m{>;CQd*nT`P zUz7iB_9AW}{=0?v?-u!Ooz5i(jIH2iD|yOS76p3!zdsD_)bm9=XFb89USfHz^OFk3 zs_oEYQ;ErLogYj8g0+`51u}oi@=29n%RVDnr!nt-`4sQ2aQBnQ8dzq14}EQ~(XcIp z*Vy}Vk2@zj?mzEy5BBh;b(eO|z)v;vmAldT2Jb1_5m*M)WB&CTe?8`3rrt`~*T;Ss ztATyB+?#V@GGpbe*t;fC6339U+?jVJzdQTg%>Pl%YpcMQ#U8ku?xW7hK(FXaTVfR& z-w&gI1+Ri%=G{*(g~Y~gubXiUsPh(tGPdUCigVX zBBxArjLId`!?}+&)$Ge_zbB?X((N>oULT6LjxYSMd}N zp6%`Q39h~GsCD%+`V#vudrkGeqF;OFcW2f5kLUi8O8BB0JHWh6*1D&QEQ|;4YPA;W zSe0%(WEyy{0pH2-(4RAb-npBs4^%;qjURB=uB(_=2)xsYU%2)yaz*(j{4RD@;QOM$ zr)}&nJoeSy@04v{E9h73zLe6pciyLbBKlrJ-?A1Z{Z?lBt zl*;Kpv476Hg7HV8+Zz0`YCbdhe}y~#D&UZHr$t49&t!gMZHf4m(^Jmgg894~p>93( zm^-Vz2T`}K@80=K-kqd)XTbi4N@8yo<57Gxi*d~iJKXz{lb>WS#A((Hrw4s|A#{D> ze+Oipzlyct1iuN-x;W75%=%1Vp&tJaJY&z;XOn-UO6L2%{2Tij*FkW6$c=v#pv#5- z3enS6lV?qm@0Rcfaxdem!aq+yuOBajzuWkoG0N}6){cADClC1jLs_3}W4sbaHU6Qj zPiET1W+11|zeu~gaAGZ4`_Nw14I5?aw{*U%P*| z>VrS|-Kuw|epiqPTrvCJWE>W<7nge!BghT%mja$v;CKXh1g@>X^SH<#`$V@QXXg3C zGhAEtcG@s9%Uwe>_6N=xf42YSAF0q#;@;DKlXof)8Vx*gAOKEo;B|Eo^dm8uNA*y z4dY%HaBh)tM|r+J|8f78wL#%)!+&bry1p9sMm_FLl$-S(d%xn2J$)x;Y>;uEzBGFN zGvjvSVZ~YTQn3{;${l9fe*QmgKQA`9`(y7@=ZSs$W9Q@VMDTa&*_X~Z`WT0t8?qQ% zE&MHKwG;FCU*dIb?tFTQo==<7_{dA}(dXdLpDbig8f{s$W#AoY8ztB&$?aiv@Ue@s z)BGb;P!(YaN|SXMI%D)~mB5A0YYAoPE+>9A2S4 zk)e!?XkF#^AtK1;YTaISscXx_=qlsW?UeQo=V;IMvj_Mj3(=YH_VXV4+rXoE4;fAo z+ejhTDdhSwSr_=?yx2pU_kQ>H$lOkF(n>vLYek1u?hOm?p&u+{Hi^8Zp{?kcd~}~X zuXOhfd+%6Vrg+Z1V~rfQnOt@K_G+xVo<2wH)wt|<8~g69Q}Ewu{B0Y5yW5?g7l2dY zzu&=s6~JfW*W{{FcirCkEPg8ad=t^DV&3_T{LkD$&O&q6l=;)fKyOvx-Y;J#G`Pg? zmoq$qU32%Dir&k`Bflm8j^C~&PSrX=Y3qW&E%xvXV#{QW?3ezwgg;K#Ixj?M>wJ#3 zG;jFfx&hues@pPpsY-Z*aS5*~-ssW1(MQSrAR)YQ{k5Dk*sRu!)(LOGH)0PGCzXbHzqnj&Lh~TJN)g*x}=RB>aKM@CGDZt z2DIm{O%7;pA$C5j+cUfop3z@l@y2QLd2p{u%7!<(=}Yc$K0YT_TjcsosZYZj=qfoc z;ME&%`kha2z&9P>EFZn`2y|8UL-Uxi8>aNzk8NT;`B#0>9;~pvjxl}9`ti2snCm@Y zO>%9MjMJ)MKF8h-iGvX1=FI2N^Ex*UpmPJ2QU~|~0$(ZqgZ8W3^=cLM(*h$ZI?}X!Q-GsgdesAQn)P2?keY??BU2FJ%UBKyH&$HQlpYP`HGVPd{ zyDPIrN@mlOfI zhkKpy)-w8BPQ9gJWCk2H4!Li+MfS<;z1`g>a|3%qO33@7?v7s;cFrsht6YrukS%^+ zMshK}4|rz=`_GY-uD#((CME$L1m-k&+s)pTG`LrHSOb#pu48%3A9>kI(M% zm%IOU>;&=GefwXRF;4`yec(0%Ln7hM8h)YA6bXggV5oXLYH-;*cd&28YkIqbYnc=80i zaWdl*y86!bCkE)d2s~-u?eb*CW{Y0mPJ27T&SYutSdR9zZXcjO(e1}{dl{RJZa45K z9zP{K&YrN-l(ypW7Xr`s@7dn?ckl@`v7m>Uf16TrUQ538By;HG;eI&(D-4_+{Ej}* zzRHl}mblPvKb#_qy1s%lu4VBkWv7k{Evexw0Xh*`Tr6t0R^LO(6ojiYMD1D6Q+|Sf~lIN$mpJW&9G|^7*U7@bhcZIsg zy(@I4>|LSsVcv`L-cjD`q@9hmDkj(kk4Y}YzWsa-qEFY8kCJEU*{s#f#ec)LCibCs z_7AUjK7E_3cV?h>ipz_dA7&3)*X&xSdv2|>2Yid(@vpZ@UcR?On;V1uv8xiv%Lhzy zE;$KIiT&JteJ~PA9*TtQj!05V7QW!;Qh@Wnr(PvPs2^LEx4)%s7S{!&Ck-{9xc1jIIzKl{mieK@&D6 zy4BtDbmAy-OT5s+zwRS`*hl;@Z8PU*4k7-mg&+FM`N%AD3(1=+^F-$TEl04Udfq?4 zRz86~i2<9;%Wf=nc|zv>k`Fv%+nJvz+dh+W7WoszwtsMXtX9XF|NK+HH4nIIfJ5sQ zrB9l!Qa+2(eSLdG-?%gq+K@YZf*FU!IOP5~c`o~*AC+-1=VA}InP1|g4DRQPkFr9K z!{~42qfkFH4(6C@9L!r&%wzFU*j_N1IhU&!gPw7GRgKNH^J3dq5nG@3;Dp#;{ubNb zhddMCN$x?P>_VTk4X;l=wj_r>>BA2U4y{lAO!JKylhP;H5~~dwfzQ{1L*YZ$SLEI* zV3nL~hFAYm_nSiZ7iqoa-B&C!MqYpCYWkU>b;8|@_2EZrV&q|9eA<@i{#0K+9rnP= zejTP{X#{wAlMgTVg7@L{m$kZIf88VcD>25^Umm>76`c6s+#+ylK254~b^Y|M75a|3 zIhK4L`d$XVJ%V4CzA5PYkZ%vO=oGzwS?Pp;Zyd^AT!y|q;UVqClZ<76z3_}f;rlRp zIF24ZiXQHagkI~x_xoj>K0Q6r^L(WA_(@~7zdaLr45!;ZuE!v-qMu(l@|f0bo^dF8 z_~5MY(BrFWo{&Y4mT51(F7~%Vk8bF3K0kUquFpGu(Kik?Z|G*;aNeCaY@V5YPF(0I zw&vZ8Wx%|_GY%P}8jFu6XIAv{)?j04kg;4~ESE+$miuyz&}zN@wdifZ#fLO6#A~l(wE%K6*3fFkGGe*=_x{ zr*5FmZkhI(>9OCQ2k)K0b*vxnL+Nb8L*sJcy%W428yfH5VN65ukg@aPli+_mEq56R z-rbm)yD!zmXie#l)!r}nI~rZ4^^}F4nl^}@GGqGryR+q6$;CYGHmGs$HW*AU9?f%1 zVh;rl(Vh4%$D>u_)PC*9f7nka!$-<@>A=R&zeWH1-Uk01!fz*jBEHKL$g=TWa=|6O z%WBO(S-uPPGdBOQ=ASs_Q8gE834FWXcPSD6(LPl!-^I+?AAB#ctq(i@_L95KmUU;& zICu+rM24OgJ(A!%`<9&EXduRXUHL!($s0m0*8#uFVjX{Gf6ajV>e=sUEoI;5GIGV1 z!oSRE>PC2bR_g(Awe~W|5%BtYcdhBar?CEGvvgcId6>nqg?r-Fs zVqe|Q%zRMiYdb6PV1K^0?M2Lki=5=nBFAnma#FjBvU0Vh=117iRN%;-z^epjH4(?+ zw`3$jYzV)v5&vqb&MBw!VD+8G=e6+>TNkk3VS%cv_Q4%1z&>*p{szgv@)xm>eD~tc zl|G1cc?%rb%a|rk(p5bzuYLTocO;YR>=bhQa@uaMlq;obuDraB`N4U&5_=p@$hi57AP zFnDGB`QU1CO4BUQbBG-`uop9atJ)u#ILvtXo?L@$t-~hJZ(7snfYvXjGZ!gCog#YUI&=zpgZoc=swZeYGr`p}JHb`7t~YVYg(L80 z{Fc+eq4pdW>~zASCuN-n`ba{_uKwt=^1bj5ab$PRKyx7`u?moET=ym!KVFK|;J zmJqtF2iN3$4`Zvv2F>78SroX)|96-03RJsdYvt1uo#f_=rc7)PI`$rLb^#i- zQR;m5i5>7RzDaT?Wh;EizR%B!9)#bs>TjX`E?r;lk~Q_4bp36V&2IgFm-@&`R{izV z=YDC`{~AyIjk^9O%FS;5f0g>knT#QQUhn`vB3tQQ5oh;Gz9U~Zqhr(6t7H$xb6qR0 zRepltTH=K1YV0Qbkcl<&T(!00cJP@bFeo*|EH)q@DnPb_zKh{ak9_!e1$2zHb zW1V!(Sf{5n9J|*Z8|sdXb)PbDd3ot<#aFa7E#cntXl#`! zjjlEJuu6EVZO+K-VWcL1SZF&RTk{9W-yR&Pe~_QeFBRWI#+auaOUzshjTSpeY?iIz z-+;|pf=_HpgU1cntR?vEfA?$ppk4)fJ1_^EBlYJlcI=wP@Tlw+bMn=YbJu9hE)-in2_@SzK`9Xul>IczKc&_ z;S0^z{@+vbzsM3YB|ehZ|NE=L9RA-V{B6`h$kZLHwr{__Ob>@>byx-{r?Atznq&>85!8TilSwO8L~ z^1Zt(=nO^EGsyi}U{JPWAu*GM#7uN);GI*ze5+vV+s@zvd=yCl3dTJ3lA$#lB*ESae`%iGn#wADfX`8$L`Svnpn!+dNL2 z2WZojrp@EDd4M+4N_Pjjw^i&x(cW&Q3nXVw33tGj?!80iT*sgh#1>bhr5Kos`F9+=YA3|A6|~1>>VF6`t4gj(2IEPn0fD_jSuW zNai95{5`7)IJN;tGjK%j2-Rvh($GT9L(uQJ-dkqggKu_Y2X@0RX>3z5?RN3o5$@aR z;(w7fq4~Y&g;UTYB{W`M=Va`+)(?v2T2>6LO=;+3XkK)fvF3pNO}TJ*qS)yIhh5;X z3mkSC9G=uTJVklh#o-q;4*l~fr7y6d65qGPzS;|&Y0O6~Z0t?=mTo-e&3XAyBlZ2h zB0fu7RsOzT^nT_%;peO^*M^|;JmCkK8>O0W#g7fD7;K6?8Y!O3xKdkg4-p5R_m`SZ zcSEOE=#-()Hs-`q7nw{0M?U&{g3zY}`Cu-Rj3XaMk&g)S5f}d+`3PPYySFmjex?)o zh>TZ0zsybUtqioE*$ltU#<#)0NNRse{O-H$#i1{JmUbCKVjXf^z-bpf9u<6WYdmr3Ed5iga*Vy=gGQ-j4|3)7mD(`&F`6ap^v;Hcei_e zJ{1eqK4lB~Yy?=^~>;lPcd;$zMtp&g<|fOgkC-1 z>9Q-s!W(WJ_RVU}mgoWJeRbS9U7+r}{H(xp8JrxZ4ZB+LMLBSY?`KK_M>%lJA@-KA zqoKrRmoLqjS2AW|Vb96$X3UArw}%oQ{(ZIdMP0?$oBH`$bWH+Ws`~scFef&-b=7xp zCo-^FesB9T<`(nwlTrGTda7TkCv&yO3iGO)83XcS1xFI2{jupU z^@)7q10QD3vVZMjxcIVr7 zL3|Bw(h9j5P^<(~Q?*ytd#QSw)MA zwN{U>BY3)9@T7iYJ+PzB$yyI=x=zI#7t49zrpejy##zK~W;1u0%X;8E)&px;51h|> zVDL?$?t0b(8(0r)WIb>x>w(Kkh&6i7|1y{BTfw^aiUkff>nUXuYi@N^%$DED6F5Ph zne`9#e4cv#EO*Ri<_k(Mi_NOOJ};f7{Mg_d@_P4$UxH6`dA>GF$zGG|Qy4iirC**D z9JHN}9{!2I!Fp}paLi(TY&Ppc;Kin%^sxaxTY|1PrGaMye6|EW`>^CbmUY7|=+|w~ zWiw?HpJu){(%w?qTSmNmF8^3XN@Wl=(M);oiWu&EbDc|vSe(X z3fTg zS54>ttg-X~+ZJ%kSmZuk+l(cs+bpFV=e8;F7U9FJ`WL7NY^px6W$Iso-hzwEls(V} zT>M5+S;t!+77Lw+^-iX>ddsso*&g_H|2S^&5ui)n|&~`hsbUk&`xuv zofEp9la#02cJ@m<$d!^8WJRqN9)!NLiCf58A+q!aSu3>fa@PvkbF>hjUdE!<3M(S; zL_z;rA_?LK)H~p*3x4?_^FkHhfIbEnX>@Sb8W?y`d)c6koDoP;H`%DiwG2)qKjer}(zo*7iiExNBccQ;@YO?%J0<#a;WVckS@MvM17ShuwOteKoyT*TY7u zdaQl1XJ(bjhZ3Kq?9VeFl>I2L&$d4&#;{jt47eTR*r&%3%NpaPyT`b5gGgzp`@$IZ zyN+?rULNC|>lx#m?;C>+!d67zn3vwo#5}_J`OA09-4RjdU3t!N6fE(#kTNMEo_eLUW=&ca1!V>{z7{#|8(Ru`f|sa}iv0FLGAOdWrX$thLCq zQ|_}&9a&%DcX?mp5q-p;`-n~3mlrvyo<&Z&Z;@k1n7`B)JLv}IFpb1}8hDO;sQw$6 zvo!Xvb+Hd%f`trNlZvy~xQ+&Ulb!ga$A~4xS>w8}sDF*?(jwPxF5@|{PZPUIOuUu- zjhVF#L+4J$dra?}(KI=Lf6#(|U`j*p1Na9m_y_O$SLiX5w(+f##3XIvk*PLhzIuvl zU!zl8`$`O}r&`uKWd1Ab9jt9IM^1Ft;TP8tv%z=1B(dXVp`XTRQ{eT)XVhFQ$GgwS zyWrN)Ee)LyYg?miaE?0P*6pW{p&9dp-6I!^}1A{8`^l;jPSmKEqSQ)NID1 zV)o!h`adv?UYZF{CB_RMp_f=YwOQLp1<_0REABp`$?m+L{RBNtvd0g-6qh}If%cS* zuI@xPA!jlN6`4t6TZkF=mSA7R_w7PANx55M>%1#+=G8r_4mQTr>E`_-fzoE`bW-P8 zspFNiKGqZx^L*=B*b|F3lJsq(yCt@Hcceb_Pc4iM+9pn*JBcwQCGJ3sAr)K}dPJTr z4LWJ+b}frIN0_4=Dcahp{B`tutp`&nH#SG(JFpQ_!Z1KSne653_f#aIhTA0_VL zqoL9ZnubOnn9{Eo-u})0IP1Ci{fch|XVdwJt(CUBv3263oVf&!z*P!dr8TbZ1y|?b zzw>SGTGj?)yGw`zo6_{RfjICI;=t#Kf1Zc8R($-SuX#V~iUZG*U*YK$9}l#j#qV9) z;p!_p{-C?=fox^1dj!Mox(B}-8r#TSX59n(Z}mV|vH!~dd424g?DcJdr#GOZOljb2 z(J`OTkKt}`at_?p1C8eq1FgY_nvZ`qi|@1fJ{KP%0?*HfH)?`v?NaEX);;2{ch^1i z{&TbL@sB*0^AZVSs8-xPgHR3}bAZE?29C_SM|@Q%(c|iy%(@3-R_hl0ZpNJGc~2#FbI4mq5+N`8;rz+U3F=BI<`OX^A96jcxT z$wzl(;D;-M`Lw@MeB=?>ntXX(t$An~nzas78X9J;d1$?C-Z5q7 z-OQRt<=%bxc?K_vCXtA{<^jJYh~=s^4|r}Zwp#KBj%Gf13wI-qbUyfT&QO{2PK(w3 z2-*3i*|S1CF%U|OC;nQ^UbeCT@N(BNd5Q|}BnJ@BWIXP9rpT4=23P!Ca#>6K^IEy9 zkvyDd7*D|SXZpKO-5ol)KX-FIeKgQtYamq3Ip`VeL9=IbR%|XgRqDgc1H#TKeoM^c zy;=M=n>WvBaKEx-$ePi-&gXfv#PM0%8 zyL3C~m`uHBInVf*XEokuaYfHLHf^rryH&}#lnU?wJ-+fDXt2w@YrM?VmG)^<)g||> zU8C#rUFD{hx;0_vAEYk07Wo!?D{};y+exfL^pfZm@yES`OQ2BUQD7}x84gY3 zQyVDw_bOR0HhdWEKj#M?;P=gY4|99QL0 zX@ypewF+mi2WNdX{63F$0e*9F$A111~3Jr+oI>ZQX1ZqId2Pd-UqG;JDe=NdWy{69TURLLvT|r!7ejRxc>zs4! zZb>-Z>SFXz7bDPdFyR)plYa6*PBSoPzd#-6exBpt@uivQTfE?!A-`$?t z*~mNO%!w@Eo!fZl_V%xO`Kf7kzrAUCW43(kDsd8RZyes0#*$~O($zC>RC4+K zC$yf?_U0#x2DdjAw|?Tei_x0%5$uilC32T*#hssc?!{<6{h zus1NuKHGKd34}*eZEpP*>gSBBP=5pU&3@A94}e$Bzgcqr4Y(}e5`4%w`l2<>GB^CV z!3nxo?qm}?{HWlCIYW~B*uDdg8UNSy$EWuDG#J+3(x2F zjSQYQ```(`!ti{0gz%L6;JN-4hG**t;dy>{wts)6{*|TI{Ue0uM?QFdItV<^sQG0! zKdZU0kEbPnaxFY9b6+)g#GJX?dN=5;6l!RrS-V@cJlXf6Yh{uPF2&IsXo{&AoD z-}=hR|BMmB^CKTTKOF>~mn;9bju5V|8n}%73tWE$`5!YvxE?fc8TlUsU-v0}nSGyq zk~wB_k~_bYdzr-EOB|8hDZLUWEFdPBs9?@lNiIBMrdD-9D8as$R)LXx?8F~?UE6=F zviS%h2<6>EOi=|ga;O{zJ4X~Q!@yD zuJOV2+9B}sO2X5(H#fb0+mfUyhuG zk+WLlER3Ahiku-!_%FS3XCgUxLtO&bY`)KBUMBdX9T#72-1~2R@co^JZ)krcJ06c8 z-`hujVPLy6JN2)ZmVL#B;%S zG5A_F|6Q!|omFPff4f;jKF_|13+$V?#GW} zYbI-H@|@pg%_7RWpIXymeMQy)Ep%tHEbNGXoOrjp4k_zZX01xrd(=AB3bRg?eYfcO z1@0K0)$`4Zkpef~S0iH>pP6$$cD>xA`X-gHU-CJ>_s^&o{lj6lU#O&q3C;5w4 z1e_puZ$?{!F?*i;_W!wiAMhy4JKuYfNeBoP6clSzz@Vt0P;rY>>}HZdqs1;gn{Meg z?FJof?8dWnm+rxCY(tw^+G3YX>3d>J+h~JEz?K|oi@UfltkI@jx`$NSW&6@S%*^x5 z1jH6t?2999^M1bf^E@+8W}bw|d!6fguQ%5ZVf-iC?-(@YM?Tp1~J?JL(jrOkxtuZ*Q2mLtXs5N2eguhgq7}v^GXkF+f zl?fa8+q9Pz@GDp^pmWW&2^;tiOySxX@IN5<=&9h_z|R1`(uH5Ljy~`o2L62Dd+Wk7 zCYW2ny5pVqUgp4OtyjSZzpl;?Ofm51Uo5Ju z(<3(;_;%H!&yUsq8G?^}nkf850r2Mw{v)*p{(QIn2LA0gofrP8PXM3TWTNn=1;D5M zr#e4aF^d1dAL?9kyMf<1X>9rr3I3dk!+)KzzheH={!^VluQBjf6xu)38H$`2e!t*X zPaOVF1K`tsU{yQ(r{+lVNBjFb-#kD4y99sr#Nj^|0H5{`b#8Fv-wuDK0RM%B=jHz= z1;26P@E;F=Py0`GK5?tte)d6e+7C~zGVos>hyNcC{8bZ&|8M|&+TYbVgsx$KY}S9y z!+-AT^TJ;u_$wz4|K73Szj%uSAN!k!-+9e>;m;8KhKa*p6byf;^LN0a{ht0C`*+)7 z1AoQTvGwoNL%@$s9R9Qb_=f+JZ#M8p*?-smb&g~IhXlWNV(_Uo%e~IHp!9#9>wjeb zllU|FEB}7(svD`ko;820`rJ|8nd^H;*Vj-N>cm~|H+?U~SyN&>7q}jq>yMYpAI~cF z$5o#-`z!qI4ftbtkoU*vmGQ^ucMKhk-+Qa$kHe2T{6 zwlV!N@C`qJzd}0t_$5XjY~UMz6afEW!G9b6_=_$-iu`ex@yCKMd+fj;IuHDQ#Wwc} zey~684~hpK3V@G1_8Wf;eB+OSkBvChdBqZ^{qQTG{RaLb!4LMwf$;ARfDbHuKmHi_ zMjt)+cb^~rG{Fz{$AR!~2!K!fiAV6qqxs*}`OqCs`-$<#YX9pkzz_Dvf$%2>z^DB~ z#vcRU_+y9vU7b&!AO24TKiD4!!q<3taXdi#`;9*q|K*Q8`ag1h`adW5!Tu-^{*MFT z8~)253%>lZ2mjgg!+%`xgZ)t;{AUB;8~)25oA$$NhyMMYj}jv-1E=ZGWI6qT(fV)X z|6#!o_D6y6zZeYvl<~*K@LxDT{CfpI*dGPLe`qZD^2dTNf9%o!-_K9~MS>sfk4oUn zAKmT3ALWm*=lG-kVt;f_^R$@5w48VR{z%u?4150Q-n>70u$?|^JDsg$W^cQQ$fD*QT_2JFLV8o+drhH(^`c; zLN2^-9s4-+SnBxaqW)ojQ2(%kwgvj54a6eAH~av;(UJY=h~!Z^B6$pe|6{=q_D3cB zsDvLjRJ_x?zLl6EpvC+UcHhK*B&kFv+!1yE({>x**zl!(>_{JZ5@b{k| z{uc%RZTO>Y!SGLY9wR<3Zohqg_zwyG+we!70r25-az*E%|J{QB zHvG{8W5NHL+kQX%MdycqgW$gnf3#vO`27L!nQwHy_D>f4w_%Uxj|Kmyqv5X*PvoPZ z|2D;FW61xp2Z8@K>~Tc^eEd;==PYDR{HKm7&;Q>!{=mctW5EBh;J*!fY%?BM(m%kS zjcJdWmwA|XO6)Q7YMuVU%Dg=;V^7W}1MKlge94L9#p5x(WfA3uN6?)za$)nnb`k6I zg>u)Di&8E)(_0szW_p?G+*J#XJw6pbHYM=@ycql$`x5c2a@JlBF-hJrMZQtGz?guG zn=@{Nen!-P`K9*8tBFRA_{L~Vz2tyXFZq*t)ejcck6IT+Qo|QT(s6RaEvyC5$~pyW z*%xzNS#EeexngWT{2S_gmi*po*M2p@N9%o&72vOamf`O16H{bU!OFRXgBD&wq{Wv-JtJ$+}!=gmR50RIuGR@uX@7zDb>{X|=A2O`_ zkp<`B;rB(3wbbP%%?(AW=7%Da*~?Y3;omD*JW)P)61AKkcIBz2ik#zA_ClQQ z-KwNsI9*le;J=~L;6L}L;6zPsiggwI?YbZS)_?H!L``_Zt5bz{1JAG)LlWFl;Pat> z;hO4YspqufQxfg0VcyOf<~p{{(vNIl4U3g^)bqomr949&t#t-IoOSlFu4Emqr`hA? zG4N7*iu+2BF|Xum+9KcV_0>AGk1g*vk$V-N(&wa~_{S0bH~9C5e$E^%_^AD1zy1?& zTnLT}kdc~6g*7G~EoZ&;Fh6Sixt=+Rd{fJuT}M85FqF$4;Jk(NR?ZJ{eu#7W>{)Wr z!zZJ;bHL9+%VIt#=WH{tL*MYZ}bI!0Iy4?s*scp{k{t@1Ph4F)+cE7^hm7~1x zj|pDBiuV^l&jIk@{k^=8JoKAArRE0X@eK1={?+}Cx2M#$`Fw}>x4QH*wp96VY?)ol z4_T9rETSEAr2|RU86wuXmg9PkwIAab#dlX0G`5vo7BxBe&yBHP*8}A3J45A(*OmtC z8;N`jBPUht*(zET$7kCZtN12u(7u8mEw!hjH}@h9&g;N+9z zJ9VzUbAM>w{Q2g79eSwyc{{~(d$niD9OS!3YomnBzLV%ezo+9XeQi#zikf({-t3<} zhc#^H>^N~n=xdTO$r|;A`L%&{OdWMDMH|z!HH9vu(S_7Pj&~u;yB%2$&t>cbU5Gil z&=s_&^GBe=JfAMqNf+GrjV|ngf6|4${NHD6RF_{D{_V%`&D6D*<0YJ}TJGdK zE*~|P@zmISq>oyjcqE9AJJE~2sK>{yAU@u79zN#nu4`A*vOgc5k?5`3@ahTau_trL zn+2XWI2#^epS6eHx79w^9@!lgi5~1x5B5mMb}ux62N`%^Z$XE;ImaH^n>p^y>yxv; ztjhzxeU)B6gFVuCx%4uxPw>EdU-)NYoWp}m1OHd@L$+A!$oNf-uVv7$rybOvbG!?Aor)YzM;>Qlo6&2n(VimrAo&N6uFxm1Ox)v>8SIUrPj)>r z)5dq{`y^x7#D-|@pU)#RCvFYctFMjy2iHe)liB|m-R~;4|F59?--6x?ptooLwSQ+4 z8mFLd8v1%PWQ-brgG_*vhr8PHPERJ55`R!jJ2K$RVNm=*Y!gXOM?PkkZ`XV;#Unq^ zzJ0_asRdE))p4($d$H|DeqWe_>D9ArH}O+pzGrkMpbK$kk|D14q7#xf1HBN^sO#k}$<-|+j zNu$Tp2cg#i=yebr4k0gxO&zeKJFc#kGxk{j#djwLCQ~~uSzF6H>v*n@-%j4CA(q;O zJgM?W7Tav_>zWsx zlc0Uf@5e?XpT&EAP6n^vG7c`Ad_$GfrZVL77%-1-rskA+5I0QWe6jER9h`IT82F9s zg%$&qi3~b?tch!!8ynIAy`bmtM*eR?W;#}Y^NL8i8yVkA6!&G0D_Y zB;6Vc%?Xws{L3Bas#`~4&yJdPTKx50PJK>6KkKUC_smdE`YC;kPKQR*L-|_aIqv*e z(MNI@3T^o6TiC@Yx+vY$HSb(}^6RDlSh#h7o4@|un=g5Mp61&W&G$SB&CWoxv$X3R zvONN=h-I@?*!hKAKM9@A5OZqXo89#qccI^KYoh$V)7`3Xs6-AGzh$5?{j=|Dor98R z6~9sMpj_G;Yf9hqY>m}hUWns4w)#T34(33pPNSC?Do*}G`sevyJI--4yy}aZ@p#e2 z#1mTkZWp-2NBNu0i}5$egyOEC`09*!?#hm*zZP?LtX}AWoMa>?TWMpDBUjd9t|P;m z+ioLI_Bre=HdK2^`+aD=`fv92i5Rik|K)>`Jc}&w&ULzmoFy&3(J{#vGfYa@=w2T7 zAz&Zo+=}LG^fI$);xWVPjL{Xx3~AnPa%1rHX1=SqZ43XqLyj)2QQTc&;?ReF1da#6 z@c{idFK%n+yaQS;i{_Gxq0iFu$88tADhDb@jW9{H&9V5QnVie;e{O0?ot3E>%wK@~~uS z5AgSLe;@a~*hTMnu}jyi#Fe5OG!yOeu}cf*t-{-(TNb*VFLrrxNkHt8(U$^2FwfmYKUs~?7f!&H#pjAM==X9*x#0NLd zlKrU|9Up9lmdIYZw<2PpW42Wh$@Jo@`|v+I@lCtn*=&B*ZjIEmSqWmA+=^-R8^O`; zU19o+)#zS{{ip@c1>m%hUlYfx`O!bK;wGOz6n}!;N;5pcPgJ}5Abm9JTsH83CAeWf z+HZm9z)S(plQ(1ISa&GBIhwP!nDJ<17hi1l**EBvsVTCHypy+~vJa|5Lr%XJ@SX>& zq+Rf_q+OzY4L{mu+Js)_+az6)OKl`+U1vT{vs`kKT$`vjk@q$Bpn6xk({6 z#*fD;3Vu9J{%>Xo*$G85)nV3ws4(&OFW%$Ib3Dp@VD?72ALIUt?SJCt2u*%495(X& zlj{}lR*shEK49(ypLk`&+ASEBk<4D?c^~pTfIJU|a>oyZa<3g^Ug#m@8ksu2JDR%( z`u~&sS0#HdllxN+2|L!6&;QAu(B2enmA^|tmvsD2UKz}opvtkqFO#qG-jhvM+@8fw zWo!8#<41e%a`Qyseag!d8N2W1iT)rv=C(oov*dDcL(e}qc3-he`Gqx$9eaB{`-WD{ zn6&9fuRnU|7;QODTc$j8{hMk-ao;>k40I`NxFKBVn;%nO5xi62oCar4=EWm$|AFd= z)9}pV+|d5RH=BIuP!Zl9&cc6;INIQS>jmO%GiEvwysZNc4O7t2K8Wl=)6Ai0?%A8s zw+7m|l6InZ1;2v5@%$k>DPaF@nuH z-Vsh5Z$r=E+X?vh8rM&7UGj8%F*1a|&MxKuGJfabNvrSs^4<1QM~)QxjK`CIz2(AW zsXd4%;9MN@7@mNG`kIC(;3l5L#^MP!MLaP!hCKD@fiZZZzD|IRJif4U`w3_!-~Z*v z*tYWc!aI2`n)?B~RoD&sF+(5o`RfJPF67hKk1_9f&thNtJ%9aDz`wQXYVJF7lhAouMDamOv*794%*EBxi z<)(YFu}R*``^O{DRq@?X(HA=7AMag+zCxqa@=)%NJi1WxS4@{L``d@?W#IcLy6{dA zT^{ll2Yr1(#H2J5i9ek0fNv^jDf+H{YNqoK`{e}@C>VIQnOIcq6}V=W+m&X`SJCt7?kT3r}x`M=JA(I^U6p1qGb@$r|aw|XO16d$7#seQtEQpBp76tM@fEeG(y==3l;ee5v4`v`v9niM%< zg>tXcj$hM`-<%BPPM*QHucS@bxYUto&L1EDrP>USQikTv7@9wp{yX_PXr#Pyaxd@W z^V8wGz~L@%z}^zyWQl8r@t?=|{&BwlnspaAP(wW&1&1g&Ft&Oonp>%Oq=j#_svY_9 zx_oTiELhFlkB8`w`No1cwtKj?7I^ETIeRm0-@55Dru$yI#2@%*vxQ;P!P74SL^e&fZyjnq+;#E{@^@@?Sk*^w-C%*Vda z)#BVA`(9Fnw}-RvA1}^YcY%0cH&MLdx$wRTo0R6*-&Z1W(^fjGbU z#}lMA@+_R?*MyGr^6VVO zwHc>PZRC6tvhK=~#xLfbr+pU(wQm!$v~he{+CS0u9dg>IT7l%jXfDP1&;A*`18?D< z2KRb!Pq%a4;o$D^<$UsVbYXxVbbx#N__!w~h`Y5bYIIU`w0FY~=$hFR&HdR;(B7vv z#eFGb&*)2q)lTsUTj=CA+`d#*`F7%r2ys=!?hbFy_Ec;?)>paxHEOF)EUnu9>*bTT zpX43c^>4fzyIxh#^W-`PvFqJ2o?pT9ck(=TeQ5*F-_7&U+$LX6Z`69Ar%b6;|6tnad`dUt#9J9B?qQs`w=8G((LdNp z{~-R3$nb9Z2YcuPEH^ROsrc{iNSIn()ka`1t@!&*Y*mGf#E9MFFU~agbtbtQ#{I1hU@Ep7x*}n-lw4&$E>pmL8ssLz5QzOs#xt8Gd3Z_ZK_wDL#X4`n)8jWPU2#HqtpFH1=l^gt4$_P#CKKylZheIm5hbD`L8s&Ffaf0 zWgo5V@I|9?Qa#jC>6(3ndb?TR+CV)UeX7nE7A5Q$GNbzaRb{H79_oC9y1SKJ!%mz0 z6n_2)x!+fue%4TNerkYz)>g*6=ZBH8DmOnxKg((WXLKXO`+IqR8#Pk&(}qg=Y0TB$ z#QUTAY1CdNc`q+JN1>tjWDhskMKwX{1%yAQkVrUoUj z-He&Pzv%s5YFpC0XYlmu|6T&mh2TkF-s-5#>!JG1?eJCCtV6(cYe-B^br0vPm#G>W zYcKM-k8{?|w3ng>_yNNYC*N4Yk7vj?E^zU>-sNX6yw5B~mx!?y|DA)MS$L#&mE`)U zkDJZ=*C7wy`x$ue!IeyB+Bk=w8e3OxG~4RR$(w&1HcPiq{)^}%h^;q?OSNe#Ab zPH4!~M(spKc0n)vP6og86#h2Z790nyAeW)s<-2Zj{8kOQ%ZeG{O>uIU8GKE4C$*Um z)hKs4R9xHD0iP|#i`5=az8_QWk~XBkU;P$OUz5n0=E9%d2hYG&II9+DguG08U~(e8 zmFMZJq`TqA)~K^a0`2L<4?lpc1Sz#jnqwZOm5<;VTNPxF40J0_FvfydZAyO;lc z;3ga4tFx>XKC{7xTv48Wn|W@FLqE~YqhU}S>CrEBqeH*zpx>k!>=Oq4hPTik*zAn8 z3IAgIpgN%~;9oM<=A++Oe*6;Q4bH+nkM~CK-UQz3qdBc_tA2ubKOWw@gYe!2-o#p} zZyF2l2ZQil3*XlXzUw=dxiu8akmWNR@27@haVXbHOppdY3;b;1DxOfYl_KAC9R4+cotZ!dfpQ64h znoCy`dvL#QI`C(L_v}#at!maj2}g-ZYX8lti*VMCP|WjQ;Jogu^;QgG;*YR1KKT=~ z{&LayB>YH;AIOu1Jb8VzEHbHDb$_nUJ4vpU?9lKQ?k?H*s$@{Dp3L+b>!x zrv<&!k{N7&d;#{Lf#a3BR~k1AN^WYo9|H&YqWCA-Tb59t)3eW7$3k@(vPa3dzC#|c zh5xNQ(+w`@SEeUw;O!B-g?tabrk8Tx8`E~jhCSXsD84QL7VUO&_`WeUkFRs|{xv(w zi+MT+*@5uOeDOP~_e&C+gsuoDQqw>Ce3!<# zz+HGb{B~>ni|Td$7j>ildL4g#jFGSZ7x?Tat_Tf95}#w<{=*Z*=O4$x=X8gYKRJGh z;^CtF$sXvm7rN|&P6NJ*RH-g7Tew!p86$#a`S*w847)2kz zlj}wn(IF#?-TdFmGy8aE0NxHp4ZK;BMPx9AJZP-i#0qY_d_V1|zxSPq7;^$9`QbJI zcO}o)lqaM|S>O%>H_P>5t_!Yo%lMFX{&$$~4uw9fI+u1+tN*=!q8%}=BY$~Yyq5EI z!XuhXE(J$y;rVRw2W|-PA?vWk==^xLxSU#w5+CBD!&o}GL3o3+=KL9*Bwo^5t;r(! zzotmuKJMDVlKxy3w46$t8T+oMU#Gbp#eIJt&)lCo&V8@5$NxV} zFVw_&xykebaQ{^O?YEly_j5nZ zeJ@T)*Es86X|D{Fp&PJ|eEW0ggu%a;y(R`ihF0l?&hu)k`}|Po@k^cds;$0f zbw4>BS)GYYh#p1vjX#Mw{$z^ux47OVPW|T=+JgLB$iMP|8T2mOhpfgb{d1uD=N-Eu zA)7pJCOAtLVt3}}6qHeWF>ldwbHDDL&V8@_sY>0uHj!GuJJ@j5t)$~C4DBX?KmDry z`rEHfi0-=Qy_e*fM`gc|C;1i|c*!kM6N{zr85Xv}*jsc{wwfB){9J=t;`LhM^;+h% z=z6Mw`-^!Oy-CM8Zsvy_*SK-ImE#tE3pj@M>Pxi|>)r44!TO79T_2zi_8w|8=7kGm zUH7REhCXUM&D%r6?Su6P^}%l9{o+2D)yw;RzW3*w7`62MxzXH}#qTrkB?;bn+qp87 z`wsPu=~bazx{|DAX+Jvb`o{cV7bF6Wqf4|w8 zyUct#3*Ob}+M)#s3mJ$hAA%fM;T0xdqP~2X@znSS7CG;{!+9qrKXSu7^G>h(jwd@7 zywtd*g}kaR(rR~VilnQ+>Wcq6xf$+RgRhcd$3AoypXW>$`{4f4=W}$9K=C|5rJqVpAvmzwBmWiA_$8 zs_-w75&C~K!M~(N6&*`K`!uxoLHQG;(961_bh?12ZoQ>|;XO>HdU zK^xbKd9V^5tcMnD6X!vialR5B@P3{L?Jf^G_`eZcig@rB;sG)uS;_NYE$8dr9uGn; z4@TuM))C9C&F3)sgK`+pgMUd5BY+2z1iTQox%t*JnJ^$YJCJC9)G|EcQ&@<&b3e)agY zZ=4|QtrI>vaGXM>JvyYHfezRZLx<4296B_NO^0^}(P5RL!>P~}?A6MgypLTV9hxtY z4wp=n4ksNtnDIo8jV^uAsrmesbo~N&ck2b>Y%iOb-dJaRICE@#$k&{j#a$PObL9o% zyl0{~pY`F)G5wUT&|GALdh5?$AkP0j|H5?S%M-+TO#9T){N^933Txf$px*O8+Y~WO+t(70ouvI|u!V*E zg;`%gHP&zZBl-n$!UIVs$3QF!jY6AK@IiKNX5zl(>)h`31GtZ4YC=jGef(tb4~C zTQI)iN>}bj#YVJan09FX{8+KkPr<(=HWJR@n+D%}Y}CNmjpj!W5`U}AHyad>0H73xxAlJpOmz zS5U0`;fdl6uZVS*{WY{Vbe{2EXC3BB<}|SOiFETaAMWOv4_t26DKYxnUuEVCPSZ24 zewt_QF8xke&m4yDM?wxyJM-Vk!+Pr9smuKa z899mWOm}o=6s@(s_BL$CF7&^j@yb(uq1^vq-0^g8C^rN8--11vUqyduYACmOI`eH&t`o%kdn>!si3;kIr;2a-WwTd=LB6hrM|QJF=a=?6dTJcQV$wgE7qS zlGAvO97r-qKjZfreyZLEK6Lr!Ty%MBb38Q`{l<-V?Bi2Jc^78=(6Wz_ut$5VM)clZ+IgL-~zUOy-Ks){K%D!iI5?6+?omF+YV^iyxJ5!gNTsCFXj?k0?Q_Ct3JR6#P zU^p~oQ#w?6;LhKF@yq{AokQv@vDi80M~&b+c;1>>my6=tLc|FhW(o#zHQ!6~J-=^I zeTtWRbn@EHo~G(Ee4hHxOWg7M(=m7dS(CpUy`I_#zAf4E{zz&!-`@l5y~Kd~hy@4W z*C6d^eSc(U4%!hbrUr{*csGX`mYkg6K5_mrcyl~{k;5DI=bXX*oJ-vQdET%;=M47e zj9kK=l9w><@;koo#l*w(C8(-#`WV|7oC&Dmu4K3m?BL~ zk)(b}Yb&Lxx60t#HBOkqU)NTIPTxa)oZ%t&4G+2R@o7HWq3}gYna-gL8t%I)zY!*9~wfT+Z5l+$G=Sc^CIJx z(n-ZTqRlJn|M31+um7`$bLEE7Q=2|T5;;mCM``59LXMWaHJZ0+`a8IgzuySY zsy3NEDY}`6_iX7N?Nol>v{5mDTWb>%51@Y%J#uu=Sz|~#_!M=_ za|6c{oc+e{xn2F~qW#8u%gwqw$(F`QY8~^!*0Tq0Yh&bo=^!|$_P`ET6~+NLwznX2 zS|c0Xsi3dfx#7JD+v2$n_RZbM552U}&*T{j89RCU8v5!Z<~U~o z-*(|=+Sq%yo&9;i;~0JTWH`LzxT#s!8Wok)u}`9oee#ZMc*>3^-vm!|GbO$B_xD{H ze^c~23ygEvT5N?KpJ8mp`S#xVIysY16EFWtcKihIp9JqS*oiiN?Xne96Uh#~c@}=1 zL-x3CbKTgAjcO}nTbua5nP=DXe;vQ|$lb}hU|Yd`BX`{QY(+$J$GfT**1LIIL5wxL z4!K*8-0}Q*?R}j0Tgq}LTEUU$trG=%UxD0Z_+FOp4fDMWI+ext4i7?4bjFhI_-w{D zA3aA_LyIQb)O%4P(~O=&hhgY3%=IkS4ZheO3tCv%AJuYZdh0c>@COUfZ5=aS>nU=!|>hW=c8S@zVpelgys?cslIar-X5jR*eGitN-o6E zx+~<`+e&@sFyA-?-@+IBbnxPYUCXs2@at$@&K`hvgPb4Ycsa+lb!IH?N6d*ZYc^tU zs{`h-YbBkvRT zQ6Hf5%tEds6OxTgFLKexxyA7Uju$$9VGuk$zaTt|{lXx4z8gH{7Z&*ZLS`@DsR{TF zdK>s1`quM{ze9gG4IcUSE~cIIwX}w)z07T|Y_GdM&Xa2IQEZ!Ra>0)dd4BX);+e}= z<@_?DOOUUGcUgFs_myhPRN69UVl}v}9p2ogf*w+VT zJ5LmBTbkU3jn7V!yBOswu^Hp~O75eVUCJ{}Lod(kD|z0rS(6X!#79oXM|!c&gTMc> z6W^SHFK3DG8}~L-aBF>0@~Ry*PG= zK1M%#c>faL^bg4R6wON{4oHHJi3Pk`F!fj5Z+ZO`@4xr0;{M8|THg&kO1?F~Iz7

      ut0p|Ew#3Xu;F@ZH^Xreba@?YCq9+af)^WU+-xjy_z3Ma1KY%@v?eXVQ<+oJR zREECF*2*ugz!!A>YG&dA_?UkmACSQZJV zwsKuH7Q$V1Jz0Eub}9dt@gq*S3!iRs?f7rioEklR$jSe7`@V1LdzZRn5R1nggD|!v zceUf=N3G2QF2})1^HW8mlKC3+>vuw89c(qEt`m|$x%oB%pvH@SB)-_+detMggDuERD{T^f?l{~}b;jtr>Y9ji5_SwZY>b+k-z?WNT$fDR;ArZ7 zkx3hww5ci6c!cuTd^f*lkm>WfYX+U(U4S7Pil(X?``p<1Ya^G9E`LYWthhKS-z2#V zs#&Rozw*~!Er*$R1K!1Qsrdq_b>u39AN*7;&`aL@R`fK9o(f+JT<-%{;XTHD5rgjn z7vE9yT+kz}bEF#OAX}q(F27`4wxmYchp#7Js=aXKiyYETiPe%Xa5nPg8^_MqDEB(G zaKBxEJb7zsQh)r{`Fb12pWLYR1j0r2@O{v0C++vv+uDN+3{*z4gO!oteZ&g`_>)2W z$pP|P2U$gfw(I!VM(~5?$3^?~;MvCcD$bFeW9^)G zaJ~^+&RVXL>0_cbvA5(SwG2BuSXc*ZESbK;2mkHJ^tZ1Hu(jZI9Q?+!wI4u6CS+^z zZFwKz_ILJ6FWsE=#YK2~dU!tB{^SMXeeFc?KH$R}->h+DgSVTrPD<8S!JkG)Cnt(` z{RQIv25U@Bh~5VsyiE-n$Ex2BT}@s8hMN){-=dyjow1w!^Y(|G+NSTcb)5AB zNSsFr1;~Ke7(GC#yOL_7Y@uUHs#CWHpET22kaR&LwtVK@Hv&>Rt2K%r1 zaG55Ko1HoAgUF39Z!#2=H#v55Y2GBw`+2!RK8@T+ep*X$d_XuZ21jV;)U~gAQ+4f< ziAw0cEucRrejlGC+FzNceG>d-gZ%UTGNK{0)4WQ}{ZlNc^$*ofo9pz6O+U-5$ISf< z_vO=$T*tnp=g47TvsjainB(Ha7gl1^z)}4mdk)`N0PSkfyM@%UQUg(izF^-*&F@ye zRcqjvGk5(N=%jwtyef2TDr><{cX&u0Qmzuc44iAoyjIa+fV#$f9K(FpeLk8v`2?q) z?Z)erPZ(X#mL$iNT22m-e4eFT8+kU-Lv!7GsEK+%V@akKN_&#>jMsP39PANtUnAtv zM#!QA91@}`)_=;4b_&1t=Ir{8zx0*0lBv!Pox?S{`5 zJWeXldWTc%c}_Aro%=IQ{%$Dr{XZt};;ygyruJ9*?DNJRR`Coux3p{54ZI---fQ~C z2zZ3y%Tn;=8DMmU);Rtyt@~%Wf6mk(b%maA>g`@)UbI*5^h-T+l4s8FvnJ)|PU$$c zR^MiBoyC9NnHM5Abd=**T`t|g?*zxg=p8mdGA(-|pItn6_=DOD<}lA5(LJYcZ`$G7 zxEF-OLGB;oTlk&S%4n`d^c&>bflyBUeE*yp862`!Zu{ z*r#)}S!*&B>#W|-QXBO=@2fB6y>HfJIET)kMd!Wusc#B=e||Lgo#OYYgUX!Y{gb}; zZy4kKMbX?>i{D?w`-gb{pzr-9W4wP`G^g?MQTX4+`^1*nLErngkMaH;(cIq@zkdh( zr`=7itfb@c1o^UC_}^-DX(;q5Cm*AD;5Xkx20D<58aD^f;f&?y`)IS_C${Zz>Ok|h zZFV&G(*XZ|y2IIT^B!aKFE7~q)yNojBrVwyKHwsIZ&^j_LV`mLb9|Mziz!EURU~26 z>YXU>@LS1ogK&)&bYX$33k&(b7&zp)60^~TWgKIxL0qq8Rb40L(CS9A%0!? z)1`bDoE-c9KI7YpX|S@01_MR*-S|6Gk6r5TJiq46QPW;_DQwxi+ZQD6XP(_F=>F3i zu1#babGZ43g?;Uc{f&5WqlzPl)Vbd5^?Chf!c7bqp%_zb?W4fIs3=)OjrGeh}n~^=$WpN_P@f88oPYem5Er< zcd(VLYdzoWwQ8Q}EPck^q{*6_XPk zj0^goF?4>}@dx({*6(H};>4Im&-900aO+mp_Qyksjv1q$q3uJVP6y|g^vsjX%$_;^ z@63fJp+{MZfVQMXpO@d0sF^mNzbM4=wjRWI{w7v z=y)SKj%^9@cfXTe!(J!{s(Fx#N0Q<4L=qe5?f)V>V{_g3)V2B!WA*F!zn*6{gUc3d zMt9WMl-C8%vnjGkMQddk9x>kZjqd_iwxq_jr{RjgdHJ_PU%x$l)<f5^taJ@X$c=>|)?wUt$%sy|PYE+DG;stV<&#+d~MDiw9N3@VHKsJS& z_Fwr+$pLcX#jIn=!4;ANod50h96REnU@3l44-%9z*$eg$$xG)`)3s8 zKgSzSJAf=8e>OQz<-Qp#ot55=T*DiC$(f0DKeejF#?BzS#oN=^K-;g|PV;t>TzM=Tjt267> zI2!L&yRxj<$c&?*V`+3u@x`Yv^T|LV)*kZe0RBU~M`u#-A6f4Yt#JGV`qp1>^sQ{i z&-F|X&-BvXSYgaj$Fh;$SfeG~!Zukww5d0mv(|Br{*SVc=$q*epl_PfY7f$OVo24J z2;YAazFUCR&Hb%>tJHS&tFEl|IdIy{w`*M66{|G1OR}VR#i=uMuJKG{)EWjnqu8We z@?2B2hCxjl|H{vUw0N)qxg#cCr)T0kgAKDgd^V3`8(OWHM_+a|_wZAl z``Le{QFuUG;`>Z9$4$_s+b1i~*6;zorhEA=wExX4Xup!x=j%OwUic6&MWuDL66S7H1tzc;I)qdR^!&({X^@3m%*a-(C7pJBs?R3p-H zd4LV4Eyrn#JJ!%2G_Lzcw4ua?Bl{W~NrSW2+sh*V;O(s4%P}%Q&fD30xJrEXHcoCpeYyXtTEtppZ+9s7 zins2;I?mUt{m21rc}nAf@L|06)C9F>J@j8UKK*~e`0sf1_u69}c4R?$ANvUH5N=1K zxvxtn`ry}2@ZE*{=IxO)erR~bdbbTb;S+6C9?0090oV4(hkChc-#$K;>LfLe=;fx} zJ$y3x@o0B_9`eC&goD?6bNZzP|7F(Hs!^%NCrNNxQKprY{^|3s%YgVkZ=X71^vI<)>@#op1EC?6IXw3exk^yj)fA;hv-Rk1$_G`Vd=f73$dLwj47V`QHFQxMy{uy*zIzFC$ zFAT!JmN91Z&>im&#Q#4Sj~@^JvGlb`@&e94W##jdl_w@A2IxOOCc6L}>4{mJlzOW*TE7Zek#5-NLVh1+j_n$* zp%xPbh0}NH0q&7SLYgQ$&X(ltI{jQ8GaeGkwLA0 ztk@?rr-*iL+)?ba6?fcSOgq)v@_wFn;*siYMMLP9ryX>YyuG}g_CV8Qo_3>U>j77` zo_FI+r~fp`tS^3#_G@D<(zo8K-QH6kO8mYi^fPZC z;XP+;lxqvGRes2Ja%}%9IY9?fad^Ck-(JCHkE4Ciyg8c7#-q6m*RxzVws1N3HNGg` z#Q2e$2fkwqIW}-yTlkXX!u__!UbODScx%LXvCkE=99uYQ9RTo9j$Lzgr8E9Mn(1F* z3;%_&!Ryf(uYdInV{l&IC=IS2ElSom>SOJ2f1f}u7t*=*dN>J!-iuy%~x~! zvE_-6#!h$JeNGOdlCiu=!2W_W)>op-9gKTz125&>YpNU?KE~KylJ~2b<-WRu@cDbC3!3jjnTLq5~V18AjJypb_6W!gmI} zxoggtR9DGZJ7ZGsaAj+O`<++FKa|E@*o^hy*Jf0QoRnKj65 zYELwm`h+VCD0do?Qn3E{kmmSHV57>>aVt+B|kq6#BMl@dLA6q4rDj41Nh(m`u#J|$w!|5sQeYW zm1>5j=-!BQtb_dXMrhrHOi6yZp5eN&1)FGtY{6#!ZxK(pzmMkzqQ(~7EB$NWdn>uW ziu?IK6YpS)JRN$g54b*hWNV{i?ltVug7JV z*uB0zk~mf_IZvBzXtR}bzUk?120Ll@(*71-+#nrSz0+F$uQR%opCc(<`e6}0##;~2 zqsPZwdZ?~fHd``UY%eMwiN84$dMF_x>RHKSy7c@Z6q&3^n^@~6?~e=Z#_l8-d< zkzP+b0^}pzrgq}vvFCP2X*(aifOghQu${kTym7pC8u?w0oFZ#R4;Le+OX1Tp&wly( z?e2QvvR!AX`BQ%&?XLfR$Ty~}_)X)fH=42JcNSt_t1Oa=@ojX$LKlb|A{q2ZKFrjr zpl`?H=vxiftU8msGW#1tQ>{@co0Dt=*VPWLKa>qy0KN(@mRb*VqsHkbSs0d zv3EFoB~>wYto@QE?|4Xdhc=pAsi|#lcvG=_K3D3yR>+ltZ*O7m;p4y*9eyA>@Dm+e0*Uv_fKAbV8H2L-*cJzONDwiQ`f_~ujwl0=uEAM*wfidduBx>JG&w>TwM`S zz47r_VO?1A`a}0s$8za*=KX0uOx6g0p|jQoAF1#PCuadm-q9$YISj6%l~x_?#lykPa*>;WFR@4XR5t^ty3GQ zel5BhL02Q_YJ~V*x*9=OBj{@6*mUHw!=nya9GZdf2y3WF9s}G+Z7oT4K_c{3V z2p`}ohLVpNK_*9#NA2}&?_+&|0p^Vl*5~Z4<+)5xc`n-v-_Y+2dam53-mz=3`PlIu z_N%&=8cLfzur#)2b<-c0eaD_WFe|$K<5$&fk25#V?w-zmXfw8}pQf4w3%#|%v+{g4 z<1(CUA26ebv(du?^?5sb{T=Ax#=6mZNS`+-hImjlr^R|movHcmRK9!2`|hN~jG*t1 zqu;MH4p*$-T9e&;drr*7w<7V@@&J6Dxr?QC1N!`1@ptJ@C24QoZft^o#5Y>+Aic%m z8h2^ezPyLox0malyj$&c=9xhGT916Kf>-!)PriCp zH-@~&WQ*s{cI0cl53e>?zS{ZU;ow!}!z&NBSf^V`VOg7iyP2Q#OLE-egVXB5S#K*ng4MI*O!DVK22kyX=rRgW7D^A^HkSAL)_YiZEY_fb)EcdfBoxM zCVGhhuGTZ_cxFBAi1Q8nivJsz>3%Es*FwKydNe=}@@b-nv0b-Qrwcuh+y48e=XC;l zOiHX2JsKuXj|D;W;Qc&3R=V_9#s5Z!9-lSz0M{1UQpovqd3lfY(~9G{-;5j(Po+Ad zxtn!uHRp}AA$)1xcIenzM*EtuSp+y;)d;J6&y8M~w~=YV6? zf@fN>t!uHd3$d$7^H3H64IX+82xk1@@rP^29y@xuT6@aPNqqBSUykH#osq+! zJk6iFxOrnDCQpN(PT{8&HyR&|pY0?kV{+5ob-B(bImSP~lm4FHF5FMQq5g(@%@MidZk*f}d>tP{hVxW{5en>pv73Zu?N=7%{()4im+R5IJFRDv*~|C&&M13BOcZDn$uWO{?~JmE z8VBS3yqpXo9~uWc!2g4;oSbsj_m`ZMi@vfqvWdv=KIRziV~(MYGdsblmA1)ld-g^) zu@4+~7UAgnmLR+Rv0@x$w|PI0<1Sa0ck_P_>th%BmS27c9A&rVTZ-*=w@>~&yS*G7 zw}4~!#BsbW2uI$}|$*oZ2*UKxmpInHpki%JVg)f(-{7oPI)}8cQchPU%9p&99??!o- zwRx>5@2=q8Xzovb$8J6RIpdXXfA;T`uP^G)?m{PaqZ50G7xrSu_CebLWPh+cH+-Nx zcZ~k+@k8ag*XYNN#A!1&gmuUw>Z>ZY)%>d@eWeukg*@a?{fC|P{{HGSza^e4izIp0 z*lOZ#yR|H$KHgaGr#1HUE2kdiFN)q*+-|L7Kd<%l)7qd7c#sb^Yv1VmR&Sv%rDNus z=Hl9Od26||U)={;x22mls$U1Lb}z?0@M&g!Ax^{Bn?7?j|K~s#?9;5N*e77B&-@<2 zS?Ba0uHrZlZkX?CZ5ZH&u|M&9iOquGhJA3WT)5brG&(4_|Mx`&xMRY?H<|t~uuM#Q zivDj9tTVn?RQ_6i3_VWclLYIC50={0srumN+)P1j?GqM&Q57g(Bub;uQHhx9(3^P?d-^e&}^8@wIbbTxFUT27WjIV!YOHTO4 zB}MN(9g4pCcHUPzMp}@SR&ZQ93iqzgkIpe;0xwg0r5Y;_cYEL+c^|IYg&yXr^)Oeh zhq-D!OZX1=ZDN9o5cG-Okg)gS(=FB@i(i)LXYHge)=uhQQOEzX@Al8w|K6?{8{Yd5 zH&B;$gF`>9&9|2}Z`%NkIJP%o|MuaFu+x5DWXXnXMh>=+ci4rG-3^>Lu=fy0Y{3q1 z=EwC6*VRs2wp}^=1N_If+q|U*-sBR#K<;)U{k~4(kqkCEi+vv6!*}-bTh8-K$zy3O{cF@CtmT^M zx(-;}%kHhu9d-Bgmh4JxJd=!*d?}jlD0_+;(|2w>>_3*s+U@Ows});D|1i_aZ#~EB__?v3_BcNRAGAle{AuwRjP~e$p7Bq` zUEVnU%gRR-=arO?=tYnE96g#MJ&MD(7U^@oCO6-w`>$$86Zf0Ta~rN^d~d^&#O+@> z-CZ`9n#%4n?Jv+D-+#T?M_YLL*Lax>?NUeaH`h>a8d{P_BXhaGKi!==8Z|OtasEkU za0xQ_Nn~&dGWbbka0xQ_X=E^h44QFq;$-Pv2lAZe*wEaq;rK6#0UE(?HFj|qea_wN z&-WD9R&l-(8`DwP*FHaP&NXWbF)}h~Bb(UhoW0)H7j5Ibo%7Y)ZGajHyAIk<2$2bBF4)-_|luqAoz?BgplhD6$$lt$f}Z?i<>;`H7d5hnRLtqK4X$bE1hyC*B#1;iFx?uh2bcC7Rg- zm*izt$96Nc5Di3&<>+NC&#dCON&4o{g+9TMuTL-()F+tg%BDvj(zjHT||x`&(~(5*(L-Hy(I3O=OagJ%!Y;GtSy)%Y4-P`j(OfL05C za911h_^$;2Rp5UR+z+^Q%7ejm${zl?iwb?w{QhjKSmSf0v&N_JFP6`3;J*|6OKOj> z!71!-8vAQ(GWOH-O|iK)`SH#T^i8q5z4T2z|M=Nb8DsAV<{whGdcRM`{BmgeGuH}POhgQH<_?6 zx5KenhZEV(BHNi7{LKR7dnv~Y(AkAWI_vZiN_7_h@?8Sv|fw3zrN0_lQ~uIj)i9fc*c0AHk7;A{jSEbtqypw zaWoH>i3hSjajy=+>EmfUNaOro+y0y2)keXCZ*x7njD1py+qjuFZlR6cz~1V#QNBmx z%x`VNhlSm}wOs$=#T9;=VCs`oZR9_NPS(Zd>cP|SWOJb4(|m=`YOE9#`5?)##3`V96?`QfwtKNlJ$ zyUH^h`?f2;e&1seTMhFa=&W3K2AYpmgYN0)m!|~yo?&XxEvE*3EZ=hn_?P$|zVh`QFK zuLdRC6XTgWo?-7E_MN`c*FRT1$|ubH{=#0?by{O}W+)e33QeZ7@7io+fj*VyD1Jo8 zu3UKb#Hss^y{TFe!M_~%$HB9Bf9!g`o94Uq9d(iP@=!#3bC2+S)l6G6qq#UdZV#28 zNV8W~x|T8a<<7p{bATHqF1k!S=DGTivv;=ExYVd-82j~&B{#X>U`@Ls9767&lMiv$tDn-W zd`QuH_3;^z)J*haHt}vXK9W3u@nJp?!UjL#DowMQ}h}dmze7=VI1&&QUjK&LkSB|ObH2GB(|9=dJ-M)Yrx(VFIJSrf2d?CqbNq*I@ei`E z-C5#u?2YNmg=zN){<77VGa&9ZIRj#QtrM@D!T+2@Uk80i#lQvs6kh`TR*t8$7W>-K z_?bM&r`Q{s`!UVY=l+=ZHIdWMp3)9}UGWDPa}|EA;J22ahhLKqKjLbGA91hNp%;G7 z2)}jUx1N|w^m(?Dv2~7-KWo!y{I-FACwqw5+}AojDelu3o26sfG~{RisxE6C9|^ zWd`|iU2D6mjp>-xuE$q#)k37jf@+AAnlk6i;qI;PJ zo*}=HCGV7(P5f8Q`7q}vIG@9L4d)i;M~SBxCp|~MCF}MFi~Bn^{lSA*Ix(SF>z|?D zZq}wh%r|&n{lQnqLGY5U|vzAYw&zR4?X~plemXE!s zE~hyc8Q|{)e!kyEKU?1^ZpSl=qPcIm-^use7V#b4-|F_;OdSw%W8;r({E>|vQJz)x zTl*!0%!}2UPA1Rl&XN7FkI!lRW|ElF#)p1xj9O*VV4)4-Fi&(F51u=a885sn0g&Xho$@IHTGaA&U`?l*9(bH7xVMYa~RD7~Vn)>m)ol!}(s0PjEcq)cn)0==Y7I_ZQ2Y#?h~ZPRe0;GN*BL#SxMf z>6_}aO$^<{|7L#G^=6OCEP2u_`B2R{6fG5ZY5aMgFNbR0Cr`>V%icrI&fk9ehyC?8 zgw47;KaYbLC3FWzTZte5Q zMK?BbD>!36WJjzX&U-n>COC5*isZzxZKZO8ZF}OKMRKBXyM4a#rUB@zal1kO9|%c~ zN9|QVOL%WVmN%EFZ*Sx>vm2emF^|{80r;R=M;iQ0gdJpmR?tDC5g1>S( z4}pJ4JdGTskfAg(EM|y9QPo*z4`%SK{ru%@S zKFv=4?<(cN?ycbH+LJsFy5Ygrx5tA&3*rI&xnteq^Pp;iJV+x8UVWR9BR99xA^ct0 z&*Q%t{I`IAGxF2q=F?V>nNKq^bX^esTfl$w`1l`YjI%_Bu#YKhW4gH@Luuf9^`CzH z8$J3j_4?!PJ{&dvwM2}aiwxIPm^s70nL+=o#=o8j{d2}ohig`BKkN3*)MfDI3mh-$ zpYd*6C{i~yno~cmK2CjcyJGgJ8JAR^!rv#Wq2C{64C^gwN!H}o#VYjIc7Tt!zO4F# zKe<}9_=WzUSIa(9g&m&?U234k9DdU|2EOcf^9*M_&p*@gw9x4&{if?VHuv1~xt!Od zhd<~41B|^jv!5Jm0e|oy=MPpyBb{?AcXZwnJ@nXbzVa&LLaqA7rQB^%1}$M;X> zz5Qi>t$SV$WbOZe_@cY~>`gq{zZ@=Pc&lYUe_rO)}-@vhlyUwrWT=;G0zaPJC zoO}3rxO`jJz@;-N?Ywc>!(l)BU}CqxlM_9m_a2ba&6+#ktzSZ&W+< zPH{W*ZgD&Ge!d;Af92K3{{DOUcD$2&;OH2 ztAYG_;@SzdQF^C#`F}~phmT)s-cJ#`6w78S_UAA8eS+UZ{95>ZoZo}|9^e<}cR#=T z_^sjB%ROS`{CBRMPiNLhzZcCkG%TYgpqPf`d_y!}%g@t||F7u^ZRiR;d5a?l z)J7M#;r|c1V%k_Su{H+j3hy&kc)6ibT>zh-WPQ9Ie&6QzEq>qRx0T;F_G`M8k9vGcyX#Y~<6Z|g zx_(V~#{jl1{#?PQ%;a7gSQhVjHcn$2##aB-vDH&J-!IvFIPAz?Rh!QS)xW8ntzY(@ zq=q4MYKFrDa$yBIb)Kz-mVeCez5MRrx167!wtJ|tRqpw_(AMNTJDl~wrz|Dk*>V2$ z!87EDva6_RY%F6x5%z#>B7d})craF%OOdZ257t$`rka>N`uyB-`s2i1S|f{?tjk-I z&g9BI<L{s!?S{X*6LheU^;&rLiJ_J@#YQ9Lh$n z5ep`l1G}~^_lUb5i~1LKyfFUd)$8b*sY}s%<}>LJ&|m8ODP!-`Ii^3PHS{yp9M9&r z*XgG{$aw2xPAy26zb{`YzEcabkoBz8mzRC(RqkT)t*oUQ$}yLW@io53chs-nMqY`$ zNmt33G3x9)b?tCqAubs4{A z-5=4x%U`K3qojUQebwE-+T+TD`WTG+sD}CzPk?VjD3@7QXZnI#Pff>}KCaP67Y)Bd zp6p3-ZckIQGFG4UWp~d1lyD)3r8PQ4dq4k_m(YCbecVFKKX~->?p)e@ZI#3SHRS$0U+2l`OwHLHhfiyLd>T3G^c1JIwJR^nRmHM>a`E$OCQW{}x9_o(qkyBQt!o z-!J?0q_an&u|1EIdm`surDt5*V|5hPO4PB{0Uqdw4WF!a@MAsao({Ef-VTl(J{*_3 zIM(t%#{JdEH)9o6BlZiOJ|%p4CgtAGB8S-{pN}D{nWL3H;T>UUTt*Dbr#6w z_G`Vv2A8L!>TuT5?{3ZayG!)q6>>K@#t2LL-9Fq3^B&mm&zbjt?Y=ItzT1(%B-==Hi%acI#3&7q5G3soY7Uj6ZhQ z-++QvQ?6$mA`NcoCXS;VgWoTqh55!u`8GVz+9SyY z{9owNwy*|QdOGcbrl0p{I-T(tU(6U3BMP1c&i+`jo_0+Z?% z=$3(&S!n6ik=&+hoU3l;l}8?YGlLu`mwJP)ucD^J+v8gD3@x=LP!c(jY>(wbJ=<}6 zSwP-*B|3mza%=bkZO3b@w^L#}TA*pG;1_(PX%D!YS_<0u6Y(D0Qs8Frgf=N?L#=_U zS3chR*7PX%`0uXi@ok?zDPML^Shl0O&|iR-Dd45~zQ)5@qn-I(;T_Kn7%+&%A`)sAu1q8qG`3jC4Ete&?Ht)03{gOD6w=`bWjtT4&^c`S3X%t9I6h zJ5fe`!PTSI54htrdoc8dojm@M%0zN2$JnN1PdGOhKNy-;mPj%#y9VEw9AJ!VE9;T< z#B!xVs-6BOV>rOK(Ql0n2f>dCev1R&27U(kl`i~}_zU>Wz#kQVdGJ3t z8h!<_b>~N2_>2dP1;0k{mropiZ7}@)&JQw&f%b2M{%-rbIyWqI+CNqE8iLy&7JT{> zqW?tNKPMP|S7)f&p}%5g=x^Hp;`!TeEdjn2nlStk*5e7Fe}Cr_x4Q5d+i>{b-}%j2 zr~T8pHb(mg1b@%O;A{V@qb~e;*j(8I@(%ckn331}*o&^t-HT4OEL*Q*4H@bPU*#Re z-QGL8zGioM?%`ADPdoM!yGcBED%3wKk&L55=xVYhoYNRVs-0Xr@^Vp?+U>SJMb*v*}$uC zb)z^|mTo=)JoTx(SeZNk@Yr|Sf!80ueX)UOY0NYL-tQIx??}06pC8^4<_`qHdo&21 z`V}6$83(u1q z(KCrWh#mp5)_))Ms>^t%NY?t->?zOv>?E>At*!ibQaR+;mnD)%%5odvh3aY!Z+Y(BlC?ha zY{V?Y0jEMAepe#dQjVEjO2l4{DHbHnl61>e5hj&*HJjvPw;q4H-O%sQA zQxH7K+63YKz2I$}7(B_^#V)*2vW7g2DQo-cb7j0!B5V7~b6bCdtaUg!U6T{B8Cz>Z z*5pImku~}ssg8oI#f9s72iH^^verJntXYg@2g({TIkJXbBj*dem}D&gUW4GRb7=!S z8+hZ%+92=(edq+?Efl=96Nk4m2%cnZg7BsbUhBl+Z4QDbS(_ldGdBS*J~4QbwRJAM zQL=_Sj45l(EBZL^l*rmZc`hVbYev@S+aqiJp=nbRnrF5~vetyGEkxFuJz2XW@nhlI z=-`?ncb0A%U)JshZlJ6I&%$TN=g&-7z>CYr1i*Vv@K(9B0iF%K@nmgLATO|M4!o}T z3)oTM)r zp&h+PH>|Ox7CTbuMmM^Wb3P{t7;Iv3!%xxWe!i~jb52f9PGWk0@5lYe&Et{B`+Pop zuIv5tdSCDBef!Ju<6i=^4>c__`H$pJClU_=@C%GvFJ%5qt%{ zY`_->-*mcoXewRI5Z@1lZ}H6VNf-BI(gpIGQWwW7y-#M+#qlifTG` zw_WhX!8e^Qf>Y_j;_Hc!cM-m@d{hQ}4Z?SE=JzH zM|(PF8vqlXcO)_GFg#Z^P)~1iDzv-!cAEu6mD*0P{oF`Fk@#UhE4EQz+ z-;tT≪#ym#4Nqp)DY=Ag$b~UcUn^Y9EPwoAP^Y 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�?;}24Gsra|5rOJzs{j#GdI362?Te3avzlql2Q)uUb zmU8EG>bcIeDV-f{@;R+JCZDq%p8u4;*YbXuJl8sL4rIV@!?C=OcNzLhZNGa9{-3ws zAF?m^|8MQL1D&L|Ux#bcvgLTi_ThW`Ka@V^h+O% zOxu^XeA3>#N&llhCVkA7MPKz#@V*qkB%72T6qokX&rQmy`LV*_e_3AoQep+g#KzwQ zFSF-+mg8@N`4i%W%AAlFi_oVd!~TfLarG^2neV(J`jM&pV2r-sj7|M>+!=F^R&Ku5 zoHx4RDb7}AE--56XxkHKy{~6(x$>JgI4&`BoxVAO?s_>dg!h3Bvz&GGJG-Cc{c7gE zPJtts?Iikq{f@0+F6;<%VZF?EwbI{i=bKZ|TEn>$YgU> zAa}GGIckn0u@+)I@q9n!lks^icvzPi(^)(9&`4~wg1w;Hi`h>fzgD?_pYK;@bNAP| z*-kg@=X&wffPCm%Tg1~3u5-T2-3Ol)Pj$>u*RqDH=Jv}tV`|;ix6*GH*ZH=gyZZVmpX8~+=P3-VwmkiDGjy@$ zKjI%`tFQ$V51*Orvn>xwSJ{ALp{EZGVv2kuSfhq zN0OfvK0hVEQp-=4_*nrztjlnN6Ymme=6=s+?)Plwe$VE|=j?6%c))8Vw-I4)kzzlW z@t8Yg);DtAgVvbyjx{OnMblmxOMTRNVl(aaH0x1mLXnmN2Z-EEd!1ls8doet7Ne^J z-jCn6{%Uk}$h+CsO%R!koDO*-oK4g3hCFj7M!34nt*$PMj}W7rC;q&^nBXF37>{v| zcW{;WX3rcoI zS&yK*fm6SEO6~IVrA{kjyFb!5tc!>;f8JjUZFRJ-dT4o%`p1l%y(O}9=FX$c-;WmM zIfYL!PI_Y2Ui}_D7Vt)MD!sQ^Q!vWh?c2<4j$T;hy?t?&H_H6#+su3SA4?evA6Gl4 zt(^d#r0vkw+Ml3)=3jL_@ew;DQYL?`p#(NlbvLgzQ+hmZ4~x#|DXH_Vsn{#ZA1 zNs4`6!rESRcXE}dJ6PTQ*ycgLIm+`fo)7VSn0gPV(0RnCvln>O()p0++{br&RDari zi#(gVD_GYN*ZPy4)VYiAPE-FL#u@wkdpl;(wnM%RrM7K%5A}3ssE6@E#ml3*_-y3c zVtzM6->#YSIVYVy+PqsxJ=-$WGYy~bFkh$mJt;5vbhjg~tr_Ye2FfTe?%a)~*TdZ? z{qU2NR|j$;R~PF9c3F8vzl6LZ$ZL&19th?q=XYc8(0}{)1(^9bGru$*PlV`q6%Vvs zOp7Jxg zdHR;6EjKt({FdU2XazAqn7?W>?ja_<-H8PYnPV$_>F}+@0;P%fpCo?}IxzSybg%T^ z5zj>VPT$Wh;oI`Wd!6xM->aTDe*^qAl=4mS#QNS)edH9@DjrU$@12kGZ3(*gu*PEZ zohuvh%gCE~pt8`lydwt8*Si|d;J{b61#WPZW7OR_nRGo1U)_MNm6J{8B=OPFa%`Z+ zj&W5kb!@A#Vwkz1Pg71YSz^7!D*7~&-pHh6fXhM8iMLUUaW6fkP5c{mk17crQ`9N&8YB3NytSSIvCsk@c*s9KN zjBl&-+L$A+V!liBTA!1h^Dc({F2jDFGx@M=r}Yu+r`p^r-m~=OMK(4ke;_+ZkIl2O zpOeh*$qo`RrDF3q_LI0t9D?Xqc_H#JBoP1^VD%(~9 z70#2ys7v1|an_TM4t*@}tmP}mxleqR&QiPRX=_<%+XZ%)sa?#5ujhR{316BmzOc7} zQhR6kRDA79r%!y9en2_+dOE$F_yU*p0Ts?tVwI(vZgpN^tnl~v75S+NF@oapb~_HK zR6MwaSZ3?Qc&CzlY+@Wz=Esat)-pdwJQ%q8Hs^U{)~bGw_(SIw$Ghi^-`UIWxMJcJ zteGsK&m&GBDAzZu$glIe$jap*d{*Ml-b^y;hSz(1UK76KMR@I}e6oKj_G8=?z!KsZ z`ha=rU(WL#F+?igspF7r@l;Pcjrik`wU;`p7>E3pc*2)!Z-ncnj6?YC=Fw*p=f#O< z-Fn6$5x!}n@6ClbV$ROg_luz=M@AI@6SYUa&|8eM=YJ7AN{qKRM z3)s)av{+)Aamab*o+r?O-I{ULNQQc*;U}72kNAO(BtK&TdJj;$_F0|o?;zPh;@X#-+uhe~66-Vd` zODEbfv3+0V{z$(TUvr3b6uT>dUBsyAG=TyAIR`_F~6h zMMl@*!xDDWAR#`uOmUrz- zTe6)WeT2T=A9rY;#J->7Y*oB)9(i9t?iaD$idALtG1j35;m41YhKQ4NZ`&CYJIzLp zbBH%`h&SfGv_<#QjZiL_XJcCUi}5>l7@d@&6PN#E9ODiFS$pdao4#OC>9_XSk zu)550?v>ul(L4Q6Lhq}k_fGig;#>L~`+lzT8hx4KI>o4FjYcgpt3zk`ckdl2xM%NB z9rwW%EpQ_FfxQ>cW$j`CGy(au%G>FAQNKzs-M?nDN=R(V4mtGs;O0ojVK zyZtea?1A4V&!jQoR{n1fa2v1{*zD_WJNRV}JAgYU>TbStw*}ly$Tu=Sse>boosKYe z(z}5z=z@JjgIj5LtI@?8z9nBW(1b3w%v=|Tm?uqdgBstujnG9soz{Q%m^_jlJM~P; zyAUVtrk)9YQ)8zl>S@SOj~zQru7~(SO%I|XIv=pDFoWhcnxm+`+X~$j0FU5_I(U>gzr7zqRcvfqv zG;f@`7IlDlcX0K%?f(2`8?P|um$ZG2k2e2jVvS;TGA54s_eKpC!VB^78r`{+Sd-gP zxp$D5_Mg)8(^IS`)4fzKa)~3CJCMTw{NI5b1`2@4VE`Nh_*~7G8aePgDTiub4#>)^ zwS-51{5eSuzlj_)->tcQlhenyYt5W(yK|g>r|rt$DQ9ipWts8hO-cU8*N++g7hB#J zrSiTw7Pj}p?qxmMJK?nZVI%X(qNVuWm9*V*;+YECSQvj?PW>xanfrFNj?&OZ ztQqB9P%%k_F+)9abF;Wl2)l})U!L`y{QscFyhnk@Of1%;wOdhq!BhDD%1z`D$sZ2T z=WO^UegGe(F|b|pJO|j)>$-s5 z)<3=UC(t!Ek!RBvkJ=dQdhvXLZ!aQSY+v)uNuHNqkF7s(V4e8f!8bbt-Xr4kJbaGu zJ$I=#6Pq;?o9VZ5UhW0zAl7tG!?Vlt2*0=Tds~`6x3Sq|KMbEAgU=%POpM>mya45s zd^Y=hwgR_XK0hlyPhm&RAKn{l<&M_|aF2oe1n?B_q_vw^BeWnR-Dw%$0v{>yYSVYH z<>S;@iwy9A1Nhdd?(u8GrrWUTJF#ck`gN=|Q2fcbX;R#g!`*@JF-LbjJQe3yI_7-g zx_4#w(KW*7+w@BRzP^>%#eROb1RUK>cn3Z+20bqH#G%c^=U=(jSxO9jgcI7`&GQJoKNx!rLzr?%$P#;;3ZtD1^7r)dC&-EcM#N7%-sc1`)Dy&pneYS)K>N36X+D|;`8 zF8t)|Yq$>)pB2Sls=d1O^Y|I|GWfph*6W?mJ~{5I{zN?C=cJFb=;Le$_JMzLeSMtm z40yxz6T@A=?ts_Hcxv7LDg)QIZYm22>k9SFSTIW|_I7bGd$;iqA1^btiCFKz833c;G{3T&nS9 zt?u;2pQh^5__htVnepX__`Ha`#?(HrMf#Ob=-maL&!Z#e+md5Teh+Nr-9`Ep{KkNb zEe`Q~p5I&ey>;es?JV?}9@q9$KB>=bzCN3QtyZ6*FF@C6+Q=CGs~i6nQJY04CxNF! z_%PppHTW`-A8Ue-6#rFm7}=iS-O7n=W1=qz?o}))e~_!YuO|3|F#i`~y@J2Kr+1dg zXYO5~{QG6&F)MUOp<8-$r6crX*5@@tXKQGJKK@+thGxw#>-;U9_r{)a&Ot=BjmWxz zKi&`U-uQxY(Z;-H1u)F}9sK`x;@+LWI-cw4$C1r+_qN_l8#nPmoqum@HRWmpUZRg3 zL~hb)Onn`8r?qpL{QRp0%*%7n^N-lOEt*81{QR7Svv=%f4c^ce<~p0~eXaQY_Vlrd z?s|TL^$f+q@xJURIUTiI%~QnSPj!mc-K>QhC=GZ&!qF-+W-~I2L z)$b;9(5dm}S9RY{BGz6U^4k44TWcru&-!<(&%4cf+{ydjV#visE^*p{xswCkMA6Zs z@-@iN+=Cn>{zVUpkE9>bA1k5^@`)D%S4_0YfBFY(QoJH37kR~L2hXV;FDiA`kzaa9 zdytUFSo0kE?O9GtwgB&v#ej5!EgKxN8}-|3fao&S?tfo6N_ba@-5VK=?}ba1(dslA z9Zr#vkxw{i?ESTT#pAOl zzoIQw26;zpDW44A?Ezv~G(n6d1=X=Rajf4ARX`fEGz zf9;h$tc76B_kPvY3Ef??wUl)!{8r2n>qIAAAuqNAo_6wlgmusG6Croz?&7(Fzgjz& zWORVujSlL85rdaC2KZxqvBp=c<-@i^Q!Ba)2a~>4xdS~9U_%2X=rkPg2C<)0Hdohf zayB+E+Mb@XIZ7M)#(!FWnuwjgM;jXGrk;un_1L&_ay`VAo$2+E^BZWT9_()tJvQGk zxgPQjUrw)wd_xR=>fp!72^)?pzapE(Ug@9O17DDw*w=%sW=l>D$f?lx)8W}>Y=!K& z(|Fe2_+s>df9}>@MJa8%HqBl&AA9$e^3566ljnoitl?t6FMY&ki|H$=H}zek-mOf$ zv-6=ZyiHpw^4~Fk$=IiTX_XxZ^y>S9)b9&l`U`!Jz1n*1{HddNv`6zUWe)V9%44(X z@4un_&97M~HA=ln3jToC$V9<05R^};|;Ym?=F)8{%hM|v%~ zS{59iBh~(*XhFz};ajAyOyx93x{z{9DVG>)nK@GY>a^vsv8?oR*qE6koem#!r0-~+ zJr$qkNQ*xJAGSD{UQTnQ^e5BO$sFlV)5~d&wD1GUkt6$IdO31rW^Q#l{+4k6M|!y> zl*1QHOXu>C_jl>#meX#))sKBo*pJ|^AN*I{^Fy2YcuHGI^nV4PX?^4ENcnK<_h#K+ zk+pF6ZeYP9t#7;&DL?jCzpB{Vl@)N_FADs)Dko(8yP2y!#9VA1&j*3|z!O01Kw}s) zS9=_Y+~S9U*rCQURp>2#jQ(LicB`?>_0`U78;` zZesEz->;}o^4A;A7f-c}RqFiQ|JP?ZvkF??xL-UG_xE>R!W>4(i3EOQJh$LKyN&Za zx0W1A9dU8^68PiW&ig#K0iGN0PUMT*Q`Q|$ipjL@@G5vKqODEHFHknj8Xxta=hNuHN4fj%_1x7N z>hb%xN%g>&n_iFRw4fu&SDnvSJuqVVihUlw3gK%{uEuwx>n<{H3S955);Mo8GGyTf z=BV_%k@+RT2G)oPZepF7;KQt?5`3ihQ)PmUtbr2T%v_z|qs-R{KE@ohU=#DuV>z^u zT>kP*JLwCsuJIva!|(r;^N}>p5BoH&v}M-!{&tzlMvhvzfjI{~Zwy=5P-Eey)fPUy z#==Lsf5((-th3LX>n(gVV&P*A7B)3bqKUK4vPDzR_cvubhecDKPZRSW!o9wGjiqUi zg&SCxVQ6Z$uwlD}n`nc2|L{%=A8Ebclxys;&zn0fe6-8L$GRA3kQ`Baz>;G@Y=|n@?K! z=qU>yJ8fZ;n}H_oQ8F}bxZe4kXzKE58n$KDM`|ri4Hj-VZ{KgcU}3|Ug`0w5!^^`t z7CsVwz|zF|&XV6|&fXP#lyhGNALGnX!6weToMcbjZDj0eVTp6EXlk5q+wR(h$+p`} zKWqFA@7xO7Z@9*D^Y|_gm=7GfhjoI$E?@z$5x-ht+jgcg-_!Kvv(nokIAWAhykX+Q z@I1R;x0?1{GtbVu{_F;4DeFTNA1>9p)#iDIuXUWsC;rxlKV2pmskU$fXEo`0Bj?`; zHgNuo;3m$H5qy|)U<4m2`b?Q%V~u^@yxPJ?*I4)%_Y3I%o9Z&iFVP-vDskRB08QmS zO%YpWeNmmMJ5p@n2JRhDT^pM$Y}jhyrfn8J+-%_^!3Ql(+wJq_9Tq;i)56DgS=iJu ziKc|@_k90Tw>T$7)6iUlb6uA$vp)FymZlsFH}13V8xC5y>5zpFAGYuj*M8U7Yo9kC zweZnn7Cv^|!lo0GXfeKF1HPf{@oeW$rR=nee2yn5KVoNAqzJS z+4m0(Ti7sS;imHzK77H#M|$f`xyCX3yg6udYLDhv_*kxmO?g%6w%-%L_N$oFY5V;3 z&Yy{<3ZJIMw#@q8wU(x%7H%lC?>81%*s#LFO(hmSTx#JX-Rmq(<@R}Vg@uoXEqtun z!ls%GG$rim<&Qa=MAP{k#&PB2<3!qto(EPCtCZjE4Q%EAhwkzQwgGnmn}HR;R^a(+ zZ*axkW(?WM-jhk=M%rQFFVn`2YKN3bw!;#?9hTA#SDJR%7f5M`6v0M9(H0TmDkE_W7X_3mZx;+_ciChrUeoT=+ZaVJ)7C;Wt=az9f2Bi#FB> zJz?lM2|Z2F!?U61luyrTpzG69Ve4NXe8kG9+CFax+vkm|?ejxxENrN?a8unKRyTg` z{DkOf@af@xFxl3hiXPUzjj{giENkM<9)+F=^zdxxIp))I9C*T~Ct~YgU({&nX|&H9 zBKCRX7W@3rRtp=pS-7d$&|`dy&kuE4*wAI+rfy$8;1)eQL{CMQcdqC% zr|V0MiM}+8zpTA_KDP%t@a^Y{`G4Y}b1Q(vaOYS?(z=LYAKUX zd5m>qzm>9XZ1-g$Z$9(-H>HdnzJ3`#tAe#KlsiTLp3xUEPJfTNH_Ztob6Cn5Q6}k& z_RS?{g#XwNJUG|hhn(VzuKpFgu~u%3b#XCwp%d$v>uDX_0MC+Ztdnxe!FB<==UThr zo=*7~`JWb*XFZ+vxCOM)P5Ztx!_QKckPWPp82`z4^saabB1o76W=n|8wyr> zLp+=MxBB&O12+3~ zYz1w$f;L<6r67OV{LSWX4u3iP&E2c-&aRm2oh83|wt1F!5BGm((@%D!YulRu*NIUsTyj%2qymy|Zk|c-a@w|FTYMoozs8O~6Lmo?->EZG2!MuxPHG@7;W( zvyOER@?onz>WW}P^(Md6p2(}cBDw$6&iVeK+U#m{joSA9onZEOfysx2bHS2F! z51*X(<@Z1iK5sSaD%ZfnO4c)$^9}nFSaa(Q=2*X8&A2A9wltHE*P7y1&t>g})?>K&_^!o#Q^fD#94|gnZSrJyz)vDiCVn#IlUDn-IU!F*`6NFVax6a= zfnzy_pFbBrc~kQ<2m9X01td~ z5&J(0Kc{BSPeCSrD4*o#w9k(V9J2g;M*Ivx7xQ}ft)8VVw>xJG@mt-Z^OH%rC-xSa z{kk`B-igj;Vs7lOf1kG2Df+*3KznE<>(ui*YT&@%E}KU_VFy!oI|1<{hQ8qQrSuVi!st0ep&end`M3vXWN^zp%Ufu zrohWwz|nNPnhWsD6;0zazcmqOUuEbP>oXHL@$JiyVWKW~$oi&Kxf$MX3VDA+UGkp^ z-ivM;FK7H;7rN}`Zx8z12i(u!L4GrT7(JBZ`@~zETcxLt9P1NX@~rI9dAi($Hy5Ay z40xrl6@GsxpBV3`W*&gN{Jv^0y1yDc)t-BZG2#)%s=d|T(9vq|O!$eiv&XBwH(Q@5 z+xpM=Gnf45X<|Xv&&9UnFlGpO!#s=j*beMlG2Kq!t{lZ)eSsHk>?MDgtG$M&u+5VJ z8<+X>3@^wZeyxJFoL@TdQMIdG%rkUcV&k$Ku5nfo_kH1Wyx+;Y9hZ0m^9DQaV+?)?@fqLl;CFqFHyEil@h*Nbxz_?&^`(!)6rEqpVFw)V4YoptkC-l)|3M)+#*=MkPun@8Z; zT}^vzy3dPmVeX)od4xK?ZQyqea$cSECw(dYu`iQ<%<*k+f`6oZlCL#BU$wwG%h#Ra zYt7Vry(0R{;j6;%)fZ^H%6XFW*cRyhO86@E`3l^a^gVXIw&sP{&ZTVU#z6zo5gz=NCv%cNwx)wjV4?n5-o3+JB zdMEfw&NfK=zgr0XoS*KVU!Zdi`XZ0drY~c@Wh*>fSYYoM3tr;2Vc%_Mu5sdH3%q!t z9OmR%ys@1{K)>6`fc@TGuLVTs_&;J?2k;ub~`ASh_9Yfo4V;*>!-k3 zPM;ntv^Z1aI{Am98$w=-Up6s+Z2XyD&iJJwJ%+KU!flkckb;sw>-+`q+F3@>0Tv%rg? zkIE&*PAr%9J$x@YwguMTt zGS)F3z1KT;>|SrUVGg;PIo=Lp?Z(&go#Cx>$YVWmV0hac^#$nQR_A}!p@YaAkNpvS zjZZFcfaEHy4pPSt(t*|(%ti+*QtT@i9rQ=;^!kV9pa;&WgU)xM^X97WetluplV4B3 zD{}%r{sMH~TowAp!m7YG%IJ@;B1gIV+wk4Hz`NLcowE&jnz&gyd-*!nM^WeTd%ga{ zk_+&Nue;hgHg>K9*3Yr~Lf^HquXMLSx;td_HX7)+@o~M)mEOA0TetM~k(ukQ3%zxtw>`7HbNgmXZ+(sb z*KB9_&}?rQUom``e5$Xvu=LhF+v;sruGJefsO@CZTL)_e()AW4rxY!o<3-V13_7K^ zPocM)(OUv0^!6$Ab~AeWGqU1VhfZLJ zue*-fR(GAiuGy1x_gCyS>EG$MxmRtQdq%q3f$p~Zx?8&3Inz3u{u$lz&ggFYY}@8` z0Cy_){K0K5OS)@CcZbJy_dgZyZiD7#pN5}U8YVL!f9r-u& z&HV+*Z+@X~A`9eOMgvvzoK^Ui_42Koxi8PJXF%W7V<+A8-HA3#PN12bKr=ak<{N2` z+pvpf?4lOCs2jI|S3ZLctoCi-$$8cW;3bm{ala{!AoDdReKRuV@E~HCfd=G zWt^D^{#Ni+gLgHs#j_MMz;mn+`#FUDtmK=W zz;a+1SmD=SM7{78F9xodt?^rXVASqIkdHb44)vG%J|;C5eb2_CJ7lvfu%ipC;onGG-2KyQou|n?#q+?QpMsw;QAYg4DZiJFpK(_L{{a5%X`8#6 zK)bO8I774$1U5?#^!*`7J4YB8|D`k)wh9{k|*tkcTDALh>X ze)lo#;zTa}MXv12Y3sjcd`*-896z6p&B0g6y{yebN418 zZ+a}KJyaj|`Ax)SW)BtR3w(OXk@`6e;239UlB4Swq0#Y&(v5$M(BwD_>Jv*$>bAa_#^5^MRL377e-FeUYmi zr*q@10_W^;cx+px7LvvAr5$2)8I@-*5zeJuKx=mlR zsoct&ey~sdU>F{fblnQQx>RRt5~wz}vOyXX_U$dh-GC+{lr`zgLV*9jlQ zFXx(az5B@ReB)c!J8v~oPiwAsFVA23-u2G8W}Z8luO(0Z7IQ^^_7USNdLAWDexIKw z*F8z?Hd21nOVdYi!9JcuZ?=7CcvFa-4tsVSdU5z)oBG((O0hRz)0!ytf-r7m| zUHo-qd;MKi#FJIzcB;s)CC+6c1_S>Pe`okR%lkL^8|LpEf4>Oky|nTB$g>!o7vou4@x zk{|C$^=rv<`_PSh*7gTRKYl!;d76>(D&iI7#afLh>oj6T>&x8Y^<{C^Xbh~bBJW-0 z4b@h8XX>iFv-MTPjFGb8hAPHMRo+`oRo*YQOkB(1?S=QnW*uDnI?8r3x4*u7y`8(= zW8nts()*3nC)hxJf}5yQ@L}o|e55r}CfK;uK5yP;;iJtKKGtes)Aorp;IsMyH_x_f z&eq=I{6sY6(g(Sa~+1^6rxA2uY4$vDtX65%eZ2Px;+t%Li(XCnD9Ad#;$Zu$C zrKkNm*CW4C&fSnLEJTK5x%hW%G!nYfaf`CO!TcI;kazljw-}vbD+4QlCCGUta>mv) ze;McQswZ`(LJqb9esaju$XT}8KF&7^5u%*_uW$xlCatzo~ zA$G($C129HFBi?4Ws}p0lKXy8yj_^j8ii{o%=0Dm^^;ooI2H8JN6(F`vK^pz*5~69 z^mR|lJp6q4xB)(Hgpc3w?R=j2V7=AZVb-pk_xWgnk7Mw0;U4cS?+hQueLhYAPX@jI z(_t^_hG`S^WiIQn;;h9QU>%nDs1Y9{^ONJI$jdwr`+PljizB|S7hf)XMXt%n*I$dT zeLi2af*;7&FVAG)i#2R#55w2#gnq7Y20P))g)iP2zPfzAx`BJ(Yd?Ik<}KF!`(-X` z-Qq{!i#2ZI>qFw}6f~pj8&_SCq&x9^b_aD|r0!#UGXgvg90r~Mo&uhn&p0z|VlLqx z*cqhWCk_nl0(O9Vtg37s{%+|5i`X--{ixPA57M4)S6etb-@E93XkskY{~>%ZwCB`# zXO7JG&K$kRJJV}bDt=j&|W(LkG>AA7kGy&OV! z2j_cZ`}o@r&G5TB#N2dakQ@hVWP3-v6!_d)b*21>0+i88-`qmA`=S8+#xS_+o-`Htk1AUtDm3u6F zc%OxjL^fJqdC)#@K4jsehb?^Uh=onPlYHf<;-rU&-@gCyEzXw}D|H}~UA|0O7SRU< zJ-353uDmlkt(8vcN9%y~=(O`5?tx(bYpvavld984Pf*`ZbcTHA&RXOYGF~p6=Z`A` z*Z_AAo>`1uTlwZNdfg7(3Ebi9w;H`F#;gIZ2AAT@xLrRY{r}c$R=Ydk} zW9vQM;5KZejy6}%w@v&m!Cp$!?1k}jMtfnbF*cNDFItaJ`J}z9l)W(TQ4XxI_VRPt zOYMBc20v-Q3PzN%THj2^T`qLZ8g6aBlkkqm@)=pUbrV^-lHdd%&Pqpuff-(`2or&`6}}HDh95w ze9aYKrQqvbJaHa?@veKZs*Lw#iN4^se-EE|Axmc#_e5TvWzQ`3W1sXnK=lQ?eR>jo zf#zA?yin=AIhLjMA$|8mZ()oOB=6jO;LRLh?LFR`dHBN04QZ_B+N}Q|NE&XKm6^_WA^|QQnFE_%Y5#gZ{zez!PRoCF}NV-p<(5 zJIt++Kh@f#voEMEvHtbKJS&gq7C5x!17n=QpZYhKy!s~c)kbD~GjuS^8|u2xJJWq1 zet({Krjzn}YP_NSS>Bn0m0kg3io3C=8=w4yGY@~DcJeTN`Q0gfdGL~u_dn2|Vy?uP zJm(T@B6tV$7|4ZsCfFtU71cAzE?Hw&lx~;gZgj@4yC*|E*j>hYnAg56y&m#6I%nDK z&QQ;iDe75H`yWheC(Eg)o_e}6)I;7SBRw~TytmTpA)n)(46*kqLp|hQGS+h|`)$+f zA-Ch6B6rb|p&rI88SA-?_Mcu4Yn0r5GeE_-&cD`f20xBPn|%f1Uas%~0P1{~PsvIzxR` z{~Pt)k)ghur>O5?bDs71{iQ~J1>^Gj9qQ`m{zjb%#{PKS{rg5jwkwi&s*-ZO0z7At z>&)dDI&f98o^kzTPeJdzGd z_sQyhv&8;b?I-_r>mQt={-6B6RR2FuQU7-*TV*1PU-gf zWpf{5=JOMEX34KALdkoop_w@)ayKQ6MT%$_;Ez`0AI&|3A9Z?Xz1{I)*53V!_VXFe ztSz#TVUSU5T#~-P7}W2K#!OGe@*9eI92zyu;amf0eQ)y?+E=&ch4*gcuJb*1lG1Y*0lk z$K2_`P4po<`EJ+5Zx|Q#R4!WLM7YQAC4IAoZ)(k++tI+LCFVZ(chvu^hW;Ane|l5S zx#D-clXq)aXIKm0<=XGSa}B>c_}yvGxw@0QR?6HMzbT7sNMpzA!kQNO40>StNALp=R7 zW2N0|XLD{}=)h}_$@lU7j)3>~;@hSE)0B;*oM*>xcPsDkrP8%~9G*|`e45`|_`Nlh zh)dg3#!Ky!;!^nj5`0e@FHt_p_covJW?-x3`#T$<>lkz$1!rXTgfWwzb%&w56WVq` z&wl7R$a5*b>-im-Ic>j}fj0Lj_0(mk$Hv~1c_j9(O0S35yB|7|JT|}^V+x(W7i+RS zhQ;GPzALsd&lqcc6K5N#y+nRy`=~O%KYcrF&(}YDpW4U7^Y#0Q8KcCXF=AQW3z2Fo z%g}x050*JD_o2QieY3|xcd(>=L+*e!!aYw>eZ$)HDC^Qwzo}Gy;nsX7!g{=)>KoQD zbH<*&X%A!W2c3j^af!AJmWZ!pmSEZNw|8=wR8Q549{Tn>*l2c@i zdYQ^$?~+TrC_gzD+C?t7i!*rjE`FZ>V?FdhF6*Kj82dF6qaLA+_J+K86VF?C-o`U_ zHb{FoMeO;#DfHKi{(iz4SE=VcysEJie$O2N59K>;Zot~Q9Xn071IA9TP|pNgXYABZ z`J^3OkgXH@UIdO=JNT~bAi@~C-XEv>YX@Fo>|R-w=eV3l{kUXOi;nB~E`uzq&_Uax zVrPK5wT5g-HnLsAx2wm$uavLku4oq-^LsewuMFd#pHX%5zJ2 zF6B7~o5+E1N3 zGSoATteo_E)R#d=lE)5sQ(x8z?6N$zN8oW6Jnn>ccl^#N{Z_n?ytj)zYw=dT*$G`u z(6z<#cOB!kL>#g0`po-r8q?{Ltx`ToSF>bK{L~8EZt41==-LKdTm61&d|ej4^*5Xd zd#kRKUumK*+cNQ+W#k+yU*%jI`pv8L4g0R55&!PPZ(i9&sgYvHMAeo7mi z?yDOoU{dGF~I=(WE4(6*e(m`JQbTrL(kQa9g zsb@uodhn4M>%m9 z6Y?&88of3X^R*(mgqifNm~b_EpA-|a=RCFV zPqqj8j7;@BO-%U7bo)`C0sf@@xUwH&!Xe-=yff~*P3>U}`?)w#Codq^$|aYZ^DQq( zCg;)H1-{E5OA`}rPQ-Yj1D*c;DcaMW@_kR`bKIxNnjG`}!cz8wHk&m>JM}%Wh3V^4 z>%Y?O>s}5mZMP<3&d`BYeSezoPmR~VO!O|&8tEr&{hZ;JsDG=zKgqWzX!G26l8A2- zafJ2~>b;3|&f}*P-|WMWsvl(^dTOkb)WbCG_*8$IKT!YZQV;!fB4$d~GmU?HExjJa z5~rx=P=y} z-#y8`dMfWPbc*N~>t$b^*jLxMKA%#1_s4fe|H&~&=s-~V?BLs7v&i?1$2t0~ILqxs zhh6a3iVnB)%`Sd-!E1M#PoGAIkEHV|UrhOATiT`W4QzJo5V8OFYflH#1Z^< zYoUDww3k3{0kjwL4P(V*%tQR4JCt>gOp=Z|pN@K9#M1G*q9c#*a{0b>e6O~Nt$0?v z!2S4Pe4xb#4Uw)D)e(AO6Nk9By;+NjE^Q4b}rx$!j zsp}a091nN{Cs@1JJ*Uj%v1yCRTy!bluH@TeA+I8kH5^;q^_QVQ;C|&*m8;_(H}=v6 zUuuqycCcn*5$CO#b&LI{0%gjDDLxwLzO!uLbfD}G?nubyn}Jgy^Q?0)%zB^GA@hHU z`xEXUr?Gp%N1Or5?`B`^0Cilga@3!|3UlzIwwWnMDcxptUUi7{%;?;KhC=oA@3vlzME%! z^?*C^Tx)YD7VieIn}HR?Rm4^U&FHa}=lwh%>R0e2+G`G~-+&`=Hy6=^g~GY{;GjBmWHe4V;cFc&~Jae zv&Y+C;+`qyuG9|y?O*+NxO3IsxbB%^9&1U4`4!D?zGlw8FG$XpCt~dw?Mr-(<@2|g z^BZ)hYReMmqxZ2Esld$p^ehbo?S5Qz94if(cqDc2uhtR=8FyuKe)Kc&yfkRnv@FZz ze1beXcclHfS@=AcxI9i=t~*!`V++c`5#RJp%E2-IdeoQS@*G=7H+_DLa>k}v^ZPup z&9n0R$clZ7UOzlU;la*B-SKWBr>?WbC9gkAk=H-?a!Sls-<_@X1mpAJ@_(9NUX{aH z_PHTbZwz^?%HuhoXZVTEsOtEaz=kk`OuX<3axNDxts9_@pB8(~%!6a;`2D)pMb8S@i-|F6Pt5f*gx3J{=w#t2fVO!{ob|Y6lQrv^g+5~R&zXV z!`w1s2b-DmA*OPPBV6Jt)-sy4@7Lao{|L^~TE_Os%S-KAM&z2_)|2}4r6TWqj^^TNpQoGIc=rQ%iIo8i05 zhKcpg5qrJ0a+UXs@>LVg3Eloz=<*o#9i7F#mpOJX&J(lt7Cw>1Uy#3S{$}$xXK&#r z0v>yP+86%QN1f55?2TZ&JbFxfB!CTb%G${lE_|WD89n8{J58R%m%)G3AcNk3_F}Xz zd}@i^i{Z;4buY$ze8*^Oz`G0|`ZjXVeEDdr-D~tVviO)U3+=}kp|2hp!xre@qsQ9o6puzwvkMdn%>fZh7hxPAU7Dq~9&9bzI}G zb<|ypqucm)D}BPHA@5!0HZ?z&Xv3qd_k5eaRdLVFm(o8Rp{;b|8>o9iTk-peNo|Fg z!KKa#ZAEb|<&$mY5WZS*?qT2&d>L&e_WQJhZusuPc2n}!iFRP}*Snynp0*r;re@l2 zE8o_EZzuHaN~6!l^BLRn;dJ_F%gT$V=I6;jSf4NrpL^5mF|iT#Y|lWCjg2PLLtd&Q zy&jDX;U_7t4&XPxNtl!$%7yI*Khq~d|dE*Dfg?H_#NMI`1x+Twh~``tF{m{(o|O zq_}7av;_k8K9L929~4e}SF3jgiFfuckU#$^?P@W;;2QeY!0pbz--9nGA_mg^9ibcS z{T+oSmg-B5r8KtD*%}{3M>>OLso(aqX#0vaVnz1;4z;uNa=O1`3FQ*;m)cbF{*LL& z(XU>fUQYcDWfW7T$5YbDCwyJ^WQRQvx$Fb_hIOUUUbCKjG@$b$@|q94_XoV+ z%G@#Y*Qxnq{Wf>QA7MVYx03%OPprJL=2i=dN$5)s(^t>9^x~Gmk(19G)ilRM`XNlRV}7JS_&&|C{*ZLD7q>N3!s# zSB%reZ}&VtLVk24;Kk{SI#c5yJBFI_k!Xn?x9q!bdhv)9J@O~%-ulylMUZcYSy!S=zYZ* zlt0S)dD8U6hoS$tCfuxd!(*ws-ro#I9ZC6}Mt(_?=If&WQ?+%za8*a1kb(jyc61vKwEDbkJH$Q`|oMCijC-;jU;VHrCVqtZi^ka zv}K95)`@yuFTI}QJWb-q=QFXv$_vJ}F>$lcKxZBWiGd$O#<2t_KOlGsjAwB+?M#tUh{L8je zC64_~}0F zc)U%2|^cV154X@!WyRK_Vp*cgVQ!*$=&nsyM-Ruk6&RvGA(;4DfeU$EDv*-N* zcR@ROFYP1NUZ8V-O`WAiPko6o>MPO{XG9mV-|bfEX$7(_$x=7eS-D#ony3;~XcUlPQP76WZX(6aP zEd+I^g`n=V5NzCTpLM5&o^_{%pzgE~Ouy3tx_Wf}y`hUcEtZL{#n6@S({;?8)6u>@ z@{p-N(qQ4nllFbXX$v>G7Ct;=;UnP&^L^upecpWD!bdMy_}E1Yo5m*Y6*c-}uPAd{ zeY)4e(Dm$W=e_?4U1Rjq7fnCi7x2$38C3frAD}b1&$i|{XSb5mxWIUnXW8`GZJgDF z&lzq8wg$X9Vo04;BB--U1a(%4pw220)LA8hI;%ubXO#%*tdfKtb>>H22Q-a9)36^q z_-FKgS2PVllM78j(G>K~4KWVp+0fMJ)6@jq;?u+#{lcL$`UNAL(J!bo`UQ1Hzo5?O z7i{26CqbRjZ)oz*=zmjf|1>n6;x1cv!L(;}=>N|(KpSo8trE_l@0#Vk)lE6t+PO&3 zdy9J)4zq{uqwJykXZFzj-8?g{>`6bDzWb7pw}G`3I+s4Nhwkf_;KK^=UG>C1)Z@n) zJtp5``?sDak<1$@MU{3Z>Vhxm|pc%f8}C^(?V`O`>Nx z@qcS4d}q(B}B-R9EAGqSDd7r@^JNn>ug4(z5r(Vu2HrT>C0HD{GA z@z1o_QO($iJ<=wZ)N-B8CGkCDpq})+vCeup{Zp&U#90r@A@w&`mPKpAT5|$^=DF$P zH{h$=7R__+ATO3Ue^F<)=l>)4cS6$++EMTL`Rw)#cFqXcMUJV1T+=qrT5sl?9sFj` z@0%;a=G^ra*liHegXGVcr+fT-@FT1j(;Sb^6Vv+v_74x>^9NfwPhq8hR`^NAPV6rp%&~jJi{U$Q zR=9LC=_~=pnO}hK)cKw75vyqZnL9@OLp?KXuMhb;zAnek4YaDg(ucYiGt@Ipd%Zus z9<^6;KJNJp^-R-VE7R+tz4pUTQlGg&&#c8@|8*?i>T{L!`G2$bHgHx|*WLfQ+<^fh zLc|0O#F=4KBxul*I84TrI}AD?L`5J``Is%zGSg%xhTsU zzn3O9UBURJT;`yTs@R9Ty`*v8_znAZ9m4p1js0cmFedtatGy$gLoDbbiqG_oQ`@-v z@@MEGJo`ECJkjB^rGF?sPc%#V2enb~Nj9>3BjO96XH5rR=vqv_u%2<##c9wt?6-GR z{)N&ox4Uh=z1k?wFtD~sisv-~Zv(PyTi`qqzca|ac{{af$O|=u8-S;o-|M~oF!T)% z2lhZ7F0}`;75rHJspfUF2SWZltszev-f<^yZK@#eD;i^gvqJnfb|KZYVN#5}WZLrrX;>GA>_WWx*IUE% zoj2hNe@vT-=3lL0Rt4I$+HVtbi?s{+{x!h0mvnnL{|0?DM792!@h{2UeA@*ad&=_b zt-M~BZ^j-39eE}VoST5Ti?mbty@21W;fi?B05D%(0_OA{%9&rHoB?EyY2k9j%XU%D z+!Eysz{{$_VdXXQ@whE`cqp^lzLvE9_e1~-0am~ zXiv|}{nX>zx^}7_#?fH)JU&Q0@BFNvdVD*~uc{u#kM4|E;n!nz+DBw&cymUohH+WPm^zR3+*^j8X~*v*{^R)3&NAk% zp}>~~h7A28-rP0HIVPK>N&F6ms|e4+ZeTU<%}%VgtIRnzn{v~=H#}C`@>JxDiqk%u%1_Mz2hg|1+8@b(B6MiRc3abl zcgsDS2-!+m+k=nuyX!0u#_4_;HvBt;1!Dv6AdJ6D*urSxQQrH3CmtKNU2Rrdl>h!w zd|NVX`>^kQZSKX}}>^d<2yrsuD(2sJkWAd_a`~$ zBqq;7jzfOHj;^EKxirBWIybzuBfN&y9@bZX;>js?oR%TSnLRA#+Qsm6)(AyoTzg;I z!&*%~@p;RC%^ntcWaGnr+J480B!&qVcsXrArhK0#Q~I!!k|}@RFEc1pT06UeV3}76 z7G#YS@=m|`kY|23oKNx$c?x6E<4@vEE9ld2_%veV*S7bX{j+U#$ggc<`|h7Lh4#-D z(|?PMT=%e*XYZ4a)ER5e3mnlLkN(+34~@*5PqR#E=KW4W{JAB7%P)Fb1vmTb%KpLGP}*^W~3 z?Cb0$_K|1FFTO4sO|JL%nplrB&Wt>J#;1X+1)Q!fZudmlsh?GmNMqylplLTWw~BO4 z*kPf!l1Ej+Dr{P)H-Z>W?<9PfK5*$x|O-;TjE#N9$A1ca}hQ@i?QipjUK%B`mVc~1K20f z`QoFTr?2=LzW4^P>A9G3Fy_-`iK9oH+{4%r9(~QX-&tQSo1PA1)6?sJixzNjXeK!5 zu{J%^JewXL2YqaMnthud@Sy$jqs_ie54b3@>FHt3TMaIbz~f$nx3o2ai^kf_o5&K# z7~Q?t^hCi$Ik*@pT+FULG8SBn0~h1LMMW_#<_j0>iAc|Xw0cYtE)+icGVNkN;uw1{ zN6Uxgj*TQ8df1~cVW;zQ-lnG`VAIpl$EIg3Y1hD`PmkrIv`u~?>=-sSJ!@iSela#Z z?4=k#5|mvuR=hP)-?4&C&wsoW8Y`@clH|{il~<4xwcmJe? zyF5D%jD6m2XqLT_%qn0y$oNf@b~Q5H4tUq@5PaU+uP=Oz+ z9}AbGwO?<2&e%YO%kkEJec?gxd|$X6t^LTK$JZY4q_rRGW$l9sU-t@MuNeJoeolaY zcFer{1Bo_#J^X=q;!E(Mm!+dJ{PSp4tCN^7{<)X$``}YAL~>8ac6>MCJ&|0Qc+nI5 z-UVKxg|l7yo!&^>up`U7toDKXt)zK^@GinT2tPzU8v`(R3TE~#H}UTBVE&R|?&4m> z&73pRy^6e3ZIt^8Wpq+r7w=8J-g7;DO8(3S-gknJz`o))w1={h`j|J(y0>j?e%%}2 zcf9kQkp0rFMqVrE%6`8b|2ZQa&$budDO+DpR-1W3>kiH9pQN0l0ol*t&&q!TmFGCE zca38C$J{s*I8!rtkK|nk4rUbQ!Cyt`w;FKEH;sX)6WyRQ z6n37}eFguhG4c{h*Yk>BPwy1ul&Pef z7R#mhtu?3YB1Bv1CiMShPNK<)9GS`5LF*H9&I8=GGyk-=RwO1rb-YvZfIV+8smytC z_?YqyJ-@i=rJ*Y)oftNhG8=%ck#grEj{vvqt+DMyD(SISb{dXdCbG$@T+p#OwC`bz)rthcW_v5`JSp9k*lUXRjd!v+!yao;aLIv zaqgC{o|B6^L-#FlmVI02eYA$0LHk>8ocOj|N4bmVAa{|LyX;&2G~jjNM@h5f#;T$; z%CESKOx)79-KlflaVnRd15OvJAA;rCv{imuwb`zZOQn0iEpytOcPcBF3|QuAwoGtn z%QWjQa8w1oyWr2={Ha`3jNjl;_H@FBOFyT0r@;&9Ueve{K7Ix4OKx2HcCu!~JHx4a z4&PXZo#~AE!a4dD^?#c>fGb-2Q_m1!L-pgO$P5n#L&HLCdbyT9a#t;2AN7pfOx8FvE146!xLad0&kDY8 z41Aw|dd^*NdhV$YV5io4M&cvtt2@ug#m-UqW3o*%c>m*z`M%+doO`F&UlRpWa#~^{ zGXLW9xwnKp&6$Bc&54ZXbuS+8tc(`+ZRpQ@enXEf@BsLEs*U%0%3jR7i6?%B&K2;AtLf>R3u0^?n^%QzVG00$Qkm7Al~HR5N_?1$Y{FnX&Jg zXa}dlWe4|}-N1cj_HA+50WNO}E|t7{7!Tt4CHQ?0c^1QXckPoxo$XsgF)z5E=OOPXbpjvea9&b5D69 z)dF4gGM^F_UL+42d%E?!HvoS??%l7o;hTJW9el6{om&4r$gpmt-kRcBt501zFX9W1OKD33uQa-eogTG19 zg09f`(0(0UETA2fvkBcyz8~NXCHsN(=BL8_pmkW9a^{yPhjm!Va%BG#E=TJywa4nR znna_l!{WSGcr-dg{rLpxs{OS{bVPnFvgFz0og)Kli12>B*{f$hOpYXPV4vRdgMQNY z+1Iz}4gc8Vc>Keh8GT=2Jpt^l54X;0OJ5>@TZvqr1Rpzg zP$#%_S9#xs8!NYVP*``*V@;U zuTJ?&O4E^>-E>Xe1EC0Hu*St8eG`^8DaXT@A=&n zFsWZ0wT*J?dH_6f9-EYTn4 zyp!=)T~X)@@aj^3iaG@kvbXjSA6{|cO zBkkW_^=_xdkFgB`uO6PRDB#II_dVL;i81t}e){XbYJ6Y4VBqn6=$Vrk-)-LbzSWHH zGYWmQmOg0q`o@fHaMa7V>SfIJ&gWrF_R@FqT_9X8p&ynar!Pa!>pa_|5IWz&J@a z7jV9;lD=8tV1q*){&;`-PZ;l%?^1q>^3#-`q5M>13>`--m(f^W%=ad~$NA3q7j2{% z`{_lL#XRUTXQblPPhZN;$moISJ2Uox-|NGx@_nfB-sR)y2Z8Z^tFb>TJ-)j`tt4ty+xE+<9<=j^<3*%2C-9Vay|<)4AJ2e` zd#$ZtfXDe`W@Z5Xp1_!~{9>D_ulT&AZG(7)Y!GZc^QlMs$aV~Cju-PVEBA0$ zt-8yZ{{#KK&GdI){^awe4u^fcb(a@gd19 zN$_>=CkE#+>gzZE!5hOr3BY@b{n4R)$t-8WJbd)+kAL^;kWImF(I2Ls*LC*n6#8Sg z>JIhC|j#KJX@{O9Zc=a~7SSpV;?fw#an)F)<+fM;t?F!MwW?>hL( zYEPDq!4K=1A2b)Z@QgXz=y%3TYE41bo~d~O{+^7J#-A7JzQnvhxi00Vm><%Vt98ER z{~6{7I|pPI^PRapEjf5DY3EZG@}IkiF!O`uiKXR0Usvz@NIBcbO-Xrukom#R4Wh+T z^TLn+@jrK75TE$vk32r1G5jw+jg^$w;DeeIB#SO)4$Joo-(9{3*Ljv7pCZ43|Cc4^ z48Z??7=ZP+;5Vk8MW@LBH>>Utzu9JJyLi44jrJ~fnB$=*X#8B>8Riyj#f~6TFPsd& zPfz8(aOB4{-{k|eo!=SK+B6k5jbDaI&p1dkA84(zl;39F8VhY!bKdC3*eEtR^odh5 z+U8aHlxgxJTS@*fdHHSDG0HnWmis;B1zyP>($ib{Rc(-*i+ogDG#~nO-sJa1Q2yz! zzk9oMXAgA3x<+-YUTo&>PV!xKgy$F0Wusqy(fvKcORska!uKVVKN!Ac>!&p8i#T`5 zxASy4QPW?i+82@EqA!mBlh+rr`_=x*sr1KNd%SV{cwoLiZ1_!I`n2|=*w7%OT$s4# zW5_7b7JboCXmnbB z?OLo;P+$L}54(8KivjqbGwbKl_sgW=)0b;J0=HdfWT{6mh^C~=#TGS}p2QfN0?jec zyAAMj`2LuynH&81#L65V4L0UweA!M4wyy_Z`&XYoTK=}p>}~gzoi$ISsZ)BN)(>hQ z3w>iPIA%P0IIi(<%y=k;<00U9fsf--wt;EJZZqv%hJ8n={8~#jgz_)dehht-BCq(j z@&#>~HU1l*`;Yqhs^ROxW4-pVkpBnFhpuu`IG=1|s4H^%@gjTCuwCjW0{E3(>Ndas zk2MT2`o8DJ>by)@(SAWa{jPbvek6X+M)MndYt2?qeJ*o;J>^J`S84WdqKSKi`!)|( z!Fko}-?TVJX0T~LQ%Bks;HK@t{Ts>Q%X+8}nf+SgWZMYe$@L<4^u~Es(B4VZOP?z3 zSClp?JqkJ<(z=o{NSh|De2t_QL7T`HnI>?%hVN_n-puzn-&gQ$72j49UPE{->6-c0 z$hWzqn~x51HMGBqr-t8kj0NC&4{-Igq1S-UXH$1l^8~b%(m2o@L;pGvY(luxuD7Ag ztk;r_q?t>a`Q&4a%pzZ!GFk<lzHU zEIM1Ac?{=EN_V>4N!+XZVDKSpOsR#dA1zipFl-HXuUK+~j`wD1z z9M5>@IY1lHHuemmvn2H9f>($2y3_iB#6KK<+vwG;jzHr^y3?ifLtb|}EtY%p7o=m1 zy3mx-aZr8EYH25ANWs_-!i8~5}T(7`0Z1pg8a5mABf++$^NDK;3W8MpZwyt zJ)!(1`0c}``0da9d;{>?zWLy{`@;Ere!FGV!2I^u(*@cn;;b#@d1hUf*%?Ej|>^*dDsuTF7<1&1f@$uHV z=xBR9{`zUsENRo_-P9Iw)#WuA!#qk&f{9+>zqdxek>X1UTEe%`u*26@E!QiJ@8A9p67cqL>;ig zPgC%xUqknihp%G??%GtD^57=Aho{#Cv`Tt|Pf*!#f4>EWaM zEg!uTKg@PsQX4c^rGaBPa9jr*aoX1H^Uofie;zXYQ@nE+aFu&}+MMC>+AN+~3w?dw zmy;a-&&o@a&3dV?zRc{?G|)fLk@nG~8-SNGj)x?^UjsdXt1umn0B=Ti1I85l`OM$Y zUo`P2;=Ry`=qf$7aa(r$>}@^JLUfF?ZRlB%ZRN7Xm_)z8<3vX%tK(N%>2IE%9nimx zV~zz@uiuMx{FzSfHUS^+3ywGZ;Re@B|5f^%Yd$fs{^lq)i*|kx4=A~R=j(5-KNPZZUDlNSa?{^ZER0<+tM2^-==-p z%Hhto>M@aR=RvcE{*FkV^!DWx?qC1!-=k{JfI*Ahv|sf2#bDpdKQnMX8yc^rd=6(D zocx~nZs5r>hIY}u`zOS8ffcpp)WG^)SaTfXq@UUM?Me8k0-OA2~Rufv|gH6 zbE(JoTxi|uECc(QePj^rXFkK8qGT8=OGxgt`0o#^TnYtIbq(w{O+*;Z2j`P|Kk13J)6M~d@$WS@P6hUU-<9Y&s^o>C^$deI*7iy#C~Rx ztY`N#E1}Eqe&(t1vw)pJU_bMBL;d=H*nTE_W7vTEnWqQf|LyqGu*9kEXTJ9LzYTxF zkI+X?oj-k>J=Fh9{`A=^PM$wKs`kp3iZ${7ZvOPfl>_sq+XJxuck!o9_njPny6%tu zd-zj>kE7p`KXnAxqLx3MV9%}uf7&0kw}4;m?_b_3&7a;M>ev61_*0d!BR_3G{?z@0 z!kGC@`ID{ZRQc0h)g6+bw*6nQ|FdrIZ@w4z$I8pT+i$Y})9m+EaR292_T#onz8zpc zF7B5f+>aY!{O$Bz&!ev?x&N8wuB0^WV-2%V>vyfybnl9E4edPIbF*peJ|sHw+BAEc z=wE7z@}T3@zG*%WY4UlRVkZ5U{W{|4%gkOYb+z+bd#%BIec(BZbUeW{!LrqcKJZ{? z-OiKGLz;XZ+Mx6cEj;G}4=||h?fka;!?x{x;JJWwJpGkj51b(Jkc+mF< zKkAP->j>$9wRdOsnOV!FSjQzzi^FjHuD83KO8H(;{d38d*goj{5KJz2!lQ~mxu6#58<@iK)WXmI+ zb?C#b+Xa(I-9VEW20p&=>mt3_f|f_e5*WSxe{a#H+u9 z47P%J&YTbPY?wNN{tbnzQIvHVd+G8=DjbcXZMT2(>;yKgxnHc{ECOd5en~s;c#qMs zb^HZi&5z(&l-!USVyO8`B`T5^N{s;f0I&sH{LjGIc*H7N}#&RDF=iPF4;*R$g z^8ONB-tobH@}C{cy(f_WB5?cQi{le_oL$KOAiintIIo}lRp=bpU$n53fB%CcY7%!; z74qM~*?>DP>L>qX?k5T4|AgxQ`3DkrOfKaACHLCi@zH+rUlPmxJdoeizw`9O9hVgH zt51Hh*vb78Kc&BH;vFZhg?AgzdMEcR=e~yDTbDSr!O1EtxFu~MDMbSv9lVT!5YTXT6oKzhT3ckx|ufUX?-kr3>)R-W+&%vMNhYh zr;GaVKlh8dytl^idCSwl??&q1;pCu&$2HzI52ZZ9d7d`cTgPU0pyOzi-q^!I(C3Ea ztL4z~J>cNHD7G-=9t~axt;)`RJTz^_?R@xz&fqQJy$IOQ{k`yezv_HP`;=`%^XE=} zxa)Z5djtBEKK>^w*pGldt2&$neCLrp;3eK#m-y$YZx`=D1Bdv+_b5*?#xFwpFRQPf zb4IbfiQN~|ITP=^^SHzajlpWc{MAQf2Z6q?Be=(>F(lp0VsKCm4%FVLc*H#ydA>@j zJv_Fvx4GQg&+iE0Q2CcLH_j#hxqki(ZETNCO)O`BCGF>5%Kne)?vocjd|4oG8FjZ) z_i}W2Ht%x$DlF$rP|5tvgBJ$#bMCJFf-@4!Id5e1XBY#^&+R8aynI3+KRk4Q`=Qel z%PRx<$HpF6eqlfPnfFEo^0zDhmqsL(Ur@-u^dtS`y_oUOUZTaDY5P;O{o+F2<-+@A z{p6p{SP10L2=7-{B$iKye!+X5ewp*k`Kj@|p$*Zmrzi7lT|{eRp|w8@%s<9H+Srfu z-H)~QEWNv(+7x3;cI;YzEPa!)G~Tn>S$h!QZp;U>n2SFQjpz)e?w0iSO(rJdmq3?O z485U;nBnbzQdWwxbmv`|PBm7w5BfOm)fzpx51O39JWToSB<}Y;f}B`KJ88ed+M|-L zUVa(A@^j*9fPp;{Ydc`=Ys~njJsw`XJ>OtE?Rh}??hmGsy@>F)=Wo3^{QKbW-O&Xd z{LFIp|3}g;$q{400b^Tsib-S#>C}^iUBW>dbvwQf8+~&L`4v3MFNBp(1zQz#Uv=oL z#1GGJJunoXt6P3?TH<_sC46%paFJfJPFOc8xc}UTJ00LLs{dHSC}ZDp{Y=@noL*$# zQtCWZwrx~F|IV33g|mB*A>~6EA0yc^&UHR~b|Q=akSxBlviKu8kFmaG)Q1vTe2--J z`1*R}nET-sb)oaD;xqTdD=wk`&!_*zr|@0T@yxZ6#QpG!6!{nX{5rLldiU|X0G_GW z;eL0Qvu?T@;k@wiH!aV~Kw;?l%f-(216Id_TQ z>g;-Cnhj2_hj}jBjNhdezP0eJjqrNrvJK2-cQWrVUvx8H=-g(ujqjT0R`7e3le>a> zOExRn1$I2N`fHJiKInc=(P${vO)Y(_Wp}3JAV2l*@A-UP zVk{#wv^4h+;Ut?nyXa4Q|iTkf+OhP;PG5G{^yo+ad-!U1xg)!H_SrW!?7CB|8 z-_OCb--0zlKVL#!;{T$P2>n!*yeJW&pG%JChFC7~=cUK9i?6&C<2lWEmc4&!En}`3 zKFN4aF`iv~GqG<^9AgeSRr?}tBkAUnZa(SukZw0m6Tjn*vAZ+lxsmZam+?G5Ry>}Y z7|-#+$8)+ZaAuz0>CM!K?48EP0CL&G@n@%S_a=M^Jn8O8zU_}YA2#<%4tBTu$FBKx zr|#i)N0XoP>Mih%7WhWq*B9S(Mqg`5-8n_s9r5-^Lia|Af4Xl13u7z(6!#9jF1YYR zH5%Tx(c=-{@%eU8#v4XIiEr;^zftn#`Q={UZH8yte1^C9yrB<$!W$kVucc4J^RI@t zz#CH3o2Rc%XbT>Z*~Gi6Kx5+h4}2XOSncGN-TOx8dBdGV@*wR=lfTEwH913%%tYU# zb%WXa#ttt{TbJYOqaEKKKYI`#6WEuC-tHalyciu5*^r?>mX~q<4IfGx&%yQ@-Pp>d zCq9Qvd>e2}wzF+UzI(VmGbK^Bvg*WA#`99-=_+ts^}v*b?6HzBfs>bk>lNT*ja0{Y zIFEKt^l=lE+lAMO=r*)pUP&ER9;&1dN{$7}`|;f;F%}+$?w^1@c0nh0EbQPLe#YEK zp?7?brFYfm+#2Alg9c{s?0^m);`<K7`jl5~>sr$-1vcK8$HnLka zc$q}KQ=DAqw~%Wp2s1Cr-lCfRinm^z$QXG~_LM`m4>`N_z_H7$KiGoK#mHj7@@Zg6 z`sddVhU6c?GiQR8&VNcH%}SNL@OAQL+y7dTGivY56UEU0$ySJmETOY#q{XQLf3yZ|NQT ztpi=1bYUhfzcbV~P#qt%b$ley4t{3_YR6@PcJO_=&XWT;J#meOt#j zL;vGqIr(|}?$hZ1YB)pU^?l9z!{v_ha8Ohi{6S|-ZMmx7*rYOsWRn8ixxY}kGrV$b zyU;%xU9IUuV2a}pOJ`@)hIYzmrwzif!g=@^FSedM{2E7se@ZNOlj;F>wL!YmlZK!1 zXv@vR&zLmuSI2Unv+z@H9{w5+e(^8mweYL2zR4K8izmV3A}_i0VF$nM8tV_A@W$&| zd~*i)v+JkHA^(H25Bb?YAMW7L+Vn5Biq?3vC~V93?Bfdl z4J(<8or}jCf7I!({;Jcgi60tjWWFHp)*NBtc3hr|u*WX`UFFY<`o3hxP=Bpf@QXMF z_^iJIvp%!_Mn;QAmG(D+Zn$ISm!J>k#XBdU>urkEwvKdaglo-POXgm0`kS*aXa0Hx zwp-Dd@u84k8zZlHZMYoYbdEW1G={YD3vA)nd4OL$b+l7-qxo|QbvhlVC!R)cc@F-Z zZCM(hmIhS6&U!?m&f|Gl=6kTnm%%T7eyp=q<^1zGiF>&(^4cW20_t?B>offR{J$UT zjPls>ymhVTpCtHOb!ZMXcgr)LDs^UHK6Azb#s_7|e)c}fH)|m7X4idvJ)D5*pF5lzrsBuS$!Q)}dHeo~G&Q6l{}SUT>|=>n@5L{b zFZXGUPI(VkO~CgMcdT}*%tq4Bb#i~Fybbxh`{h&Y74lY8`hL>kyP7+<{|)K<`Kl!_ z22Pe9Qpj$W9!B=1hy5o>4-YSWs3bi+ycBvCJ**7SLri00`J}|X(8FKh^Y$d^VgHf< zJ*bgws{nO&`bCDcHZ3SP&>oF zpJ5B(VcgHKh5H${To!w&`=9POu-m_%;akLgoM(oA=fik@n=<|IM#8}Hcn9xbnHvZf zmw9`>%r@c#<7{ARQ9kZi*!`E0FA7HOxvKoDl?FLL->Up?HoTg!>ij(KV4ac|Y@N3J zrTRwsTe!nPZBU(y^^H3mws41o+Iq`H4;{Dd{S_&t>SBzAwx!;@sH zFq{V7`IC)Y&7k(t2QVBV!+#Lwd;8Z}MBRyvHle z*yy_Fc;|8U@O5YTQQoiVH_tD5w5M;&*Sp&fXLx6c&+w#qQao?@aX;t%?}Xpw{cpTq z3B>6f`OAd=h36eV{Sn^#dBkV0e*AdnRDL`DU+}!S)!zyZ``hY5!`l}TC+x3hW$#kB~?i_RZ?(*HX178KToH10onlnhJ zx!Gl2OF=8zr@{W<@hN;y^F4!1T7`eM7TzkZUoDftWi`h<=AqOH)@l#)5D!-uYM);GKXh2Pa{u$ewNLrf1cv$ z$DnQBjxU4#x;-x{eth_3&zFpg)M}gvzunlRbdQgyeUAw?gJZ@~S0FCJ_wMoawb-}U z!ar)1?mha(+PH`HNh3Hohj32=XAW5xFy0?On{cl)?1(9!e5Q=zb)>A$TDTSxCAv`@1phv@J7GGa$-n%9j z$=<>7v@LWWjG5nJ-u(7M_Eu*u8J75Hp8mZ))cC%Jx?c;_XXGc}zS`@fVt-L~@5=b% zX3o_9Dl#5?i@W8)(arB^Jy5-kexFJl;t$$`j)M$bq(-Jv9$3*W+ZI?lHh=!sVGUHw2Gq!;t8iEx}Sa(s3b z-{7wq=p+jr*>k*Roe1p7YU-Uty^ImBzkJ_O<)j5aW7Ie0_zUxKWbnfoXZi8I^*rqd z4J+CYO1=QhF9Gw*>0i(_v_X49mgPeWA(-CfYs=oGeX!HVTEcFWW#7n^YGUwIC zpqE<%ylW|^nexD+^=qzmy~}rFU&UGm-5kEnFH0PM0658`IOP!yYps)}AJWMC@iESe znKe4ohL85uq=6r}$iP+YPU02lGEJQBV8}Mda%tet0Dl(vOTxB`xZRYohx!(UVB>oj zwta$)Jg%Q758DD@qpuBYyL{N5pxgyMYl=`a2);%7KJC-)aWf%rOSXH`G(?d-wm>{Xu5@YS^o9CbO7V{?#in!%fJ zr+vCi8|k87c_h1DI4aO!atGfZ;@hL_!?i(^&ae&c{7_#LZ~B^eONUphugUBBc}-sv z5598djOPyek+A%<8(Q2-9gJnS1wYj4YvMBxk>=6jzE0E6&9ot|wgK z{U+n2T|rr^3cMs4r>qr}wTe9O-;Cxd<1=8G=Q99YHDS+CQR%OreP0>>`Ur6NbMwA{ z4``47d-tDSf2r*4itj&_?_c*VVCbc-QTB>yv+)twOa0JX3o>+iE4HIMoLcD>#jmpP zAtTSc>GvUgk9$sx?yi#f^jqMJ`)Rt!JCi&c@p*4>3T-HF7JAA+PiguoOTQ{k59eRa zT>UxLQ|+v$^o_lS+IH3-`i;K1wrxpt`|{K8IB@Q~d$>EUY*iXrOmV8;!sdmsT?J zdhqY(?{IEBGx0S0ovTkGe}?vF=|jOG8c;u0fP*c}JKfQt`^4j)dAnufGtSrUYKNC( zprJH0#C}q)mwxUAN4@lMl5$+&Nm17CMUVlAbBRl-|KWMb4TKqcDaIai{!VCaXOgm9 z%EC8c&h}HLCbo0A%Z(trOIAF*^4N9v0wJo ze#)Lo*~9xUdrYaa8!3A(WzYA^X6`D9llhcAs{gW4c=pA2nzDN+`-opQ^Ipla=Ti2V z{>x64D*I*1euc6R`eid`mMpuGvd`?l?0u!m-bdLlP&WM4&g)Ueymj4 zyD57QW$*RNX09$-_6*9N;Ow+C8D}2W9A?JqR(Kk`IkUs(ZEJZq^R!SV^l!(L{HUi_ zGfvhhp6^q=y{36SZGMC{ z9{>BQ$N%UP^<7qYA+JjrDe{l`vZssGUX=6#Iwx=TcB{eBB=U@p<HX!P?JVuwY1URXv=2B<`+WXx+Sea{2i`RBYR#p! zvbEQGO7~ezV!TxIZ4&LHo!X0X$J0LWnw|ttr_SKod1{IFZ6Bn4BTBR{-*42Xz0y|W zhr&rj<=+4}wSQg*on4I0{}^okFUID73^xB4WAi@-oBxZ?dg|k2&T9R5EjCJLV~^yj zk7(l%&S%ZM=d^_2cWJl9pUz>pv{QDHlFfo`N|t;5bfel)9?RMDX8Jx}JOUYsF6@OT9NYQMQ}Bo0({efM|-zG%NK9r+h`)gOG~ zcm#fyhv^@`b)c%Aygp3zQ*XP={XA)WnCidq?E_EWu{96Vz1OU}%iZ=^5lrs<+YUTk zwY>Cw$aFjZ~-=7GpfI}A*sOABiS{2~7vJ`&u&wEDfn zMqg6!_pUy(^w4rX^Zoof9my9c0-sF%!gkX8A{PJ9Mkddb% zwd)5c_l<{+cS`>%UZlUEzE$Hy_Oe0xkbWvT@@tPI`5x4{Cb^d+{H?$8lFUP;(ki`K z4@5oxZr4|_9*7qEcVo{u=Wbx^-U&T#^v0EZ!iqm@{gVNY+4a8NB=1+C&1c}_KVq%* z9r`B2w@rN0npJu{&1=hOQ}Dad-S}l}39V(*q)h|==bW;A>z&Ap?aWc%p=|ky?QY_U zQ^$PX3wRcJFl9Hya^0-IvJHeA`92pI7Z9$|+&c7#UAJfrZRb|`FVVdcim$hGEBqn_ z{}%5~5_c;$H2L(zW#9#U+Denl?%A z#o7(N65ak3cjMXgU6h%xAHI_X|7vFs?Nu3qUF-ip=l2%y^(@aV&ai#$Z{KoTMmVD% zv-IO3`Y~UQ`f!r)5;=Ayc|~ugU-{Oa`N~}xc%JrORDPPY;`t5eRJGTV2F7OKFOqv` zhmm_|M}~H!*YIA;)68$x1+21#lU^^q3V2p4p72z`5Is^-?pZzP>W#h&P}eLbv?+V$JH;jS%C`Gze0k)c1j=?~SfIN@9Q@ z7x-{AfgAO$blG`00x(=E7$_r56T6WW1;6g3YJ(O;7tiptz1?&jM#^hm@TJreQg$~vU8{rYC%rNBQ`Uz&K)eR?%C&F?sUAv!g> zvR%}%3cBlx<-Q<%^IbHUg0_-u?3TZq^AHfP)TZQAmX-9a!f7j+FBX5D4KWk-JX5$2HWMp&5`ZaO~0E+GQO*1y9M94Ho;hg zSNZk`9kRb_{>$T?KW3lYf!_Yne?QOL@cD7j4)X97*oG&^aff$6cFoI=j5%}f?T0n~ zLj3(@>UsrwIY>Ea#``qxF-7NF!JVDKM|;&vxwF&W;q9>BlWd6W%!i?w0K z!t{BvCJ?4ilhXoW`Ybs$5T;L(QvzXd%iZ-mO&=U&Z0y5lrY{q{PxRkVzms_d7RSGYrcG#`plZo=BHk>-m_uqH)}l`1`e~%vti)T8qcE>Z{BeCz!Uby@^|w7E%3R7 z-QDcV$2|Mt$$Xpm#@Aj-?V=ySPv#Y5qv3@+XWNEHHpJ1_$0w|ODMNgg_$#p2?PA|u zHaADe|DBben;wsqZO_MZKEcMPYd4OOdF#feS4Fs+H2Qq~1@+In z)sdaWQ3$c7YYX2#4ty(Y~j(kP$O-F)M+C##$x8(RE!8J=!nuYOYW=q{+=S#{RB zu`YF|_&xK&n+-hVdESJV6J8P7nQkN<-i*T6_P-Q>f< z@66)*oyZCX7JUzf1)DpL@`2Z7+_<#CWgH0y?tI=A^*d9G>URpKF5}ImESK@;QjW`b z6kIOj(;Y`T(wcOPTZ2bv8a|V78H)|@F{Mp4_-WuZDkC++55sFzc8c+5%7E9n)SF`b znJ~OYFr}vXVR(&TO)>sV{8YlUA;tJJ;VFdapA_TIgeMU`$hc#iq|@H|O|&aneH8eP zv)1KKCf05(8>_VLb-r@fOy+d$bGtq-Rhxc-ye+=+S=ll0zSe*LzWe=qdk zpYq>V`|qoGe}ZQo&s?4>c?|y#$YKAmgR*>?`et9wxB3y!-m9Q*;VkNY=iw;{m$Q_{ z7WXeNNTfMSbS~%O+n=1A_}4$ir-1QSThO^YNcsKQdmT3Vm%>@&BAw|JM|S5O%XeLG z=2OXG(zCfEnRiCRuf{sLVeG3!`MwZ&M|kt2*^=mj_+4wxl2!BO45~XRQftnpPvMRHwV1WD&Yv}m;cU4dPJ^$8 zGXr68)^JuJj6G|^ghIHQdA*^s5S~SN*13i7a)mD_gykP#)`f-ecNBkdA)LVn$gGb9 z!uW2OH9ZhUewuYzAuL>`7Jz5TRf~8p=3)KS#Cf|W&fDpC3R(6(?vUko?afZ>UGS>f zn@{7tDpEUf2=CS41DRC#C@X8dYnJfghtI_)z%1dz54WFAyzpVe5yHZUAI^^c+9Q_> zAAYz&xbT0c+3Rc&F8px3y!EaI;ldAZE+<~N@WXpfCoEjp{N*=2(jZ*;;Rfn%5H9?1 z9Q*o)SRuTbHAKU#LU`8f!td(SNIS0(rd+zcq#age7+El-cb1M(w@kd3gM;5){z?v;iuVa zj@(oTtM6skZ*-A!dC$ie$FGf@XD+n}zP1<{VgdRo^Nru=$gQsY*Kd(7&KO+*y{ux4 zHZm8^MQ)fM%at!-4}tR==*!GG3p>V&_JVx9O{HYqyMH%P1*|`K7XE~+D>>Kh=LB^; zl4I}YF2mq`xyf?i8VRhUW4W8F@h`+2=sXaccl8Aa=Pl&9hUeM~V)M?u;o!XUc+TgU z#4}{VJy%svxc92r6YjgJeR$;;w(vZ|)5CLX`@>g#=Yk79yDT>1v(ZnE_^i@wYybXL z|G>8&Eh#Vh{#^SbS9S9}yQHk>`{DLSuUgOdTb2wh`hIKsW2Wq_ONJGF-`4(kKjr^T zKjlBsPx(*wQ~u6=%KzJb%HP#b`G0p+5HD)Sw)P(seS5C`?~B5R+jkd*H8(o#_gz)h zzWJ(#*Lxp#9&qN_J%IdtWc^k&J%n#a|%8WBQP^0^m z4piR@Hlf}eg)X30{?HB2n-a^V$deu`z2p$1Q$9<)5L;S(lU;9ilBctjtg5}V%`4;6 zGsIxx^bfH4xt6CQU<+hzb^k>+n*m$hzwy^`-u&jJ6I%PX;8TtwNV z>3#v8fvl!HR)3l1xAv&npWe3&J;%K~+*fJzm`P;p!nl?^RP$E-W5veB|5L!Icaxi95kv)I982uBHHe+Vxl zT^;Wl9&ljV4;*pYD!4MV)9%G@0|pOAr1Rl6=}51&mQD9dscaEv9#4l9njVW***y8TX?#S?CtNH(3UK1Nz)eT>$4mA-N{2gWuPUkbu(>* z*AusaG#d#ws4ap048nQX?o@h@H`Fr@B(J6#Xv+-R!gtvZ{s%S;HodX!pdV87gCqKz z!Wg3sk`E*|zI6lNs;PepHC7q6Clmf$Sy&JmxTK1j~;P8~;kB?Ge)8CPP1}|GR-%`|R>t-$Y;E z%RQo^Q`s0ey2ri?`GeodsIxD*34ZL;v1}}~r|XWB9>X#GxKjBDyTqmHV$$av5igcK zUu@-)>FC+n+KSw!JhD-h48oe&@MP(HbY|GteUNwQ%B9oOn_{(9tf$Gd-RdQ@uX4}I ziPH^?qzA@?c(e9zJl=f83C&Iai~ZzZ@w~y)%GpR~0%s~GIow@>UXK3!)7!xveduyd zDCVE3{PT@{@!Sn=B*!cZ;kvs5e^As}v|iDDUF^O5^{;1a>l)%D-l+zE&}eW!Hv=7O z9Cmj(xt`7FnzzE+fkXRoJ;2oqZ`XdQXfeve7&mr|J;2VmdCc&9(ieDsnb}Y4-oRKh z`G*~u_a3hgyP@kt>tmET%7I>Sf z4|;WLyncx-Dtj#b#j+zPm6fbNl>nBf~G#p^9MXj zbnfw6=Om2$i>}^naB>GXKwAqaBS2g4-gUh5lcc|zXFktWUfzeDQNz8woZD62{mQ$j zIPYuZ4Uhlst|<3Sc(l1|YcU__?rI?)N zdP3C~o|!Q53q2F6zfe}$H4l03n9{xaZtueCGUu^9&IOlN-g9u?Og*HJlYYoOUGw%h zm6uMr_~{2eG5zTW9*m59{>PC~&%bB-x(7BpXI(m_J$7Oq&+U94)$W|w?2NheqFJ#g zuj2V}vorkCsprOSyqagskkMC;IoG*yv*TQP33|;1JZpx$_e#!J)mmB8 z;V)>vF<$4)6shUCPv_(gP6A^KxW3lWy_Zm)nf}Nw$?Yp$$KrVy|c74S_JajEPI4wc2YJPYlYcg7p$$ z{V6ozwcPt}+dmMzcmAgEzBdFf8~;t=Jh;%PiXELWdk>~Sa{HGO#@!e7szS;{XYkfm=NS{r$)ENn%9BrRt!wjPY&43(^FrYz zURZWUOWuC!dChf3_Ivy3=OvqJ-gn;q;q#L9l2i42&-3Cf$tmDi@&HfO+dteW9447F z^L?N`t@d#l>>K*SMRqdjp&{q$r#2?Rbv_^XbjJtc7ZMNd^6}t9@?$>#cZmlV`FPsn zGSB7XpCz8QsZB2Mr)W==Gf^_-^Dgu_1A3H<+ER{8;rA(fGad2P_a&Czxb%e5#hgO< zlG{_XJxy6N+22v$v)`Am-_*g}tF=Ks9(yPYpUZdQ47=PyJpS^6{l`hplKnz7);j)6vGWdMn1=4WYJQNPG}?KlR$4 z&ks*@gEaRe;)7!ro>qjrO5!zUEltATf@3;zcQH+-pq(_h(|C#9{nYdFQ)ly*#NCB~ z_)>H?D-d4_ch?5uOW|%zA>O$R*exH_c)d2%cIKNR+?@!uow=t7cf*Mf(q$#_0e%=c z7u-OXmaeMc|3!4S9J&k4MdCA+=O%Ak0?oxPE5Kb6ZwmwQrSK*{gMOctO1? zO}2!#&ozJWyAGc8KQe)6J0K(c|4k+c&skxaAk2HiGC`Psgk=K8K#+epgUAH3S+H`! zjYEG6xnQvQZ7?1^7@rA_m+<@+mJ7l>IxH82`Ak?YfaZ$$%x@zX3^un7#-9h{GlR)f zLAfBzpTlxNSY8dw1z~yWROJHZwj%yKm|QRzj~+}G9ZaSgOfCq{Z5Kcj!MQCg7ldW1 zQp|s$!Q|1wWU9gBg2CpuC4u=ZEK{ATTyQaMA0Jrfgyn*;93Peo z!t&@qa=~Eo)L?SK#f5g4lnVxvX`2=m^sToC3TVYz@Ya7uCk z_On(l_+qpm7sRXOANmyZ1%u6RgYoFW_)KuTgy*-gToC5bVYwj8XTowpNcQ@z^aX>> zZG-XW!T8Kz@>EbR2=nK#To8kHf@|KeTo9J0PE{^oZaXEpU@#s%m@GP&Of{HX5S-h> zvS?T?2+LHbDi?(2wmx#f^x|@&xUTwC`>G#W*Wtxg`5JVVk0U)89}!y|ur&-rP?#{=_?N6(@|{AbT|0 zkJV$^!v6aZ?i`Y>W{N#}^9^{k29d4W0oq``u`i=M6<-2}_V;pY3v~GjbN?`)H*&@} z@Be8y{+@=nemsfZDr}!*aX;LL>EC@jC5xZujD1$Yzq#_Oo$7-ZhB|jkH!V13VY1l8vu1ovn3fr=D4ng4|lrb~;Xz$|(=wkKlFzfU%I6u-AHW?Cq_jk4DR^9B#b-nqPK!{HX_gZsWG|4A%&*!Q_` zcs;*?Q{%?`p5f%MMSXmk!Z!VNqyhF<2`?u9mDk5|uhO0)gqsQLX{w4EKfq1oYl@68 z{$CdJ`^w0OeWU1`J9vM%D*EE&cfN7k^^p-94uj8E7jeh*;s9K#r!iDdL+N^E2I`TY zoLQ9rb)FBII&QlyP95o0;CnT8v}>@tZNn~?wjSC*f6-6wBKmA`EcfCY*woUOwypU# z0?U;VXTyiCBMu(&DtV8P_ZO5ST-i3B!|#hCBloGDt9T~AbH{DBs(tjqtLuTCKCop^ zrp$c#;80~?=djS&Y=X;S(7LtRR2|=<&qZINtt5N<9-YiTA^z2}<#^}UctrO%@ox5i zf0=isY`wW-85_{t)0|Or<4*3aR%mGjwBgy~8XpWF__Jc0TG>Y){#JqJJ{RCW$D$s+ zjliGIyQ9x6(3{Ex&nfVn2G3@UKu@xZORw~6tuoj zca_+)E}RiMQ)f4Zf!DpfS5`(}jKBS7w{7N}M!J#m=3>9iSW2$~CScF5p&rJD{K(7q zSDOAZzU1k%3^cAYH(6+0HvI$on}Q}~uh!z9Ycl6ErqcIQz%OyK3Aly6&Et(Y`E0c9 zv+deKy9H|-b3mH;z{1!Kyuz_ob;u}jC{Z-{U*^Mv?tq~ z0ng=Xojka7i!uz#A)97&wDG^^yQg!TI%AgYVCWa|3TQgw8MANx2&- zw-cOh0v`I=-ZdaUNsFPSnb7#m(>y;mI!p7K?jE7v#}gMp?wNrt`JZtMqXfmc3fyDwH6o~_|2F}F=ou!frhfY|M2Ez|>T2Km>kxAdjCotsGK&zZLc`PV7lKf!qz zc%*m#L<;(D6ON|R@6*5u;dBk{qfh>Cyno^b;ix=x|HK~eJm#DWp#MFg^Oy(0dzyai zq3uU#Gj!7D{)vPB{S(N5*)@?`{Bv(VIL7&+_^Zy+m~ff%Me*&)ghgYiBhX749@>LX zFs)IxLbp4p=OK@7is+W_hHmlWW9jxv^$B@gKaZhX;?vMwx)GYik8EbEPqUjT7ryay z8F$2;8A(io{?f!{c2NIAG5ldLc4%Lg_O$`qZeSOzZ}$i56QtcmnY*bUIw*pb?_pRg z1S@%5KTjUkxxmUeGO#}3!}=)YGLINo%OZ*4f|a<;E@0hV3~L^@XAOee)xhhIOUa@| z@bWzj@9TF0FL~@(&ciGEhxZzISNrh31iaIHcr#Ao-|*X}xjeH5c-I!gd!cZ9lLu>O zf4JQXtotbQ1?pcEf|c)KSf3TFmnc4y*{jaC>MSPZab>pa1!4ati)yZ z0qYCJu&SJ_rEBDlYzsakf;5Ybl*Oa?m(Hc7S)-h5?l!(GaUXE0jPqFcaEE>Eu$AXc zPeNxdbe1|o8~w6(X^v1`@VlY#mMr`(+om*y@sZrfw@$uoLY8guedx^y;f8pF8{#bt z>x3KfT0edUH^k?8`$n}393cZ3-hL-_h_^S#a(@VJ?EI4M6fEG=hkYsg!0Cg&d?#6} zIZ~SsGZ&`UMr!-wrX`P?#XfGbYwK&z$A?n6Gi<}5=K9*6zzEKzF)AM&!?D5WjtDW}2FU(Qr8u-h4%E8x&&LY-)4ZL&_Mjo#8 z&pv+o>t289?yjKBaIWqP^yiev{qv>AqMp1k=VODPceL_C`c7bF?6q7L&EJW@T*tZ0 zv+-H;)ki+0`;uv!=3zT`2G88-e4@Jn8PWHZ{eAyF2p2jxK3*6rY4F3j^hDEzlr@*K z=JSnuGvv#XUpTS(?-}SW1#pyx7P8Qe_>=PJZe;PqO3E;DF5fxZ`1l=^li{~~ap?}F zF8^M_Tm0|ceA~i(6mjmO=<@Fk{F)!9^v`fVMV$LJy8Qe7{*<`yaL>l_C1u;MPfxeL7_BX@L)#JDiCxq^&n;CI6`X_bAUGZ9-5h*``kn z(5A}=Xw%2TZMv{To9g;$6a3P5#k93lKaCooO=aOW%`4HS znts~E{A$`ne7>J*irXalcd&j+k){;wz2bi_)uxyHxKgwyzYImR_xTcSn$}O7kZ(+z zh|jlan%Abylxz7>nz5L<(;GYA4}%wrCE)*8}%C`#%3;p3nc_ zIGswlj0LSD>^ixg{POJ;)7>o(pP8uQ?DrV?MjeRH_~WVBpO>WjDq~)fuZ#@*MeF>N z@~=E2nwvepNBQEb{B4>V`^uOj{gDt zK(uVsx_yf??6%Lb_UQ&UGl`QA-3)w;^p9U9e6PH2y8I9{`Fsk0C};i<{-m{bincGN z-7}f**%|H*P4j4-@A6La9OU_To}csl z8_z2||H|_-o}co(%=0fiKjHajo|kwI@Vv;gpXUXhAM^YZPgrj-8{eRIzCADC&mrvZ z?H6Gq*`~h!-Y%i+{`B9IL-&U!$Duc)tfhOe zuVoy0XRFIOpFYg<>-ML|f_~kKb?xKShH~_o$P!k6|C{QUQ_NLbuS?IoPJXQ_nAhPK zDQNh&(J%i;X93S){j&5k{~7Qe`%i@Thl9au_G?Z~pA^<5wa7PEHF%w*F$)i(?+4Q* zeLDb8c>l=yhkoufxXPwF1^kwb*LUA>$a5{9g#ztXS(qH z;_HUSk3Zh|A)cWR9V_A&@}VWYbzPt@GUJdzL;A*JZTMQnAN;NK$GfB7U(jDKf>$!0 z%$aTa-dis|^{={5pbg!qbkp3ol#ox%_#3k};Bz$*f4gC$bgvEgB9Ts8Yd(c-JG}M8 zWyWs;cMxrVL;fskoLn`26ufm8ZHLCpoX;3m+x0l|EMY70Ih(rxv*^b@pceSI#o8=7vISDW24w6=Riy}2VK$(ZS( ztb>#le0nHr1!Wzitb>$wkg}pHk$G-lJ&rGl^lHil51D4lg;vmoZdf)OA8GUteZAl6 z3BN)=Yh8p-=3MV0+O{~7OYVcVUZ5Q>ksmlDo1y#7wY8eLWq-VF{!Z}!5z&t1f^|2> zatqo2t&BRkDsU^hXuT1h01Pg5SK`lop6+^~T$gfFl&nsATpJW;um3}Q# zS8sGCdEG&c>VSUsAwxkQY2cC!Y0}N$F0h9B+;z15bAH>eqwSXm+I}5yzmK+`OWV)$ z+rFH(XDMeF<=jX6?jg+<+L)XI%}k}fX|%6`-_`t{1Py^FbFb)(Q2U5C?IYf{?_+8o zdGW_=@|yOkuj^YJrUA52l zt=i{8SGI5Qtvh(%j;24y0?Rns9_4pAzefi87G7g@FH!o;B|hA@Z{0@Q$*VZ!&G#)l zLHfN6{cPIK9d1T1)C;Y_6V$gE`Y7MG#AnNC`^bUYuD<=Y-}XWK_I3LFP3n8g$t8RE zeT3hy!SBG6>05YLQTvED?IYgy?H;v{ysn?uw2%1o6xuhHHt^fDugBL5rl~``Z*6_< zyTSGmpFI-Gb-xxHly*NiK>O~c{r5q)o1tO%W$JnbI1UzQ`#Y>RGLvX8w0=~3N4%xe z^z=U?y?qmZZ%zIct?#454d~sN|C;}t_6Gc*S^r0e8|rJn<@-%`{68y?diEp*e?Q{) z*0v`(mig>W;1~@|BQ5{;eHWJlJ9U0mb(XUy9++!Y#mScczy8<2ndo=rO)f=^D4%j@KleSGX{Q`<@+wa7mZ19D7jy9k&QQF z5}b>6MlvR?d{;yl<=$A>BzPGMKlAZx?Q?E5K4FXPbAt9mmLAeAz77*u)6}`_vS=bj z{|DuZWw*k2h0|5g&T8si18j5oJ)hqTc+cQz;A!Lm=f+nNb10J@n>zEv>$76pnZ5l4{Gm5##SfrZQ`ypjd}1U z-FS-hl4mmD%=&`vUO-#Gf&A}vgM*BZ7wNx@EeANrf`e{wAia|IWx6+!j`nB4gM6s)MNfXACxntW~|73w(G)0_J)jn_iOBbl(%S)4|>s>CtX3?_-*FM)&3m0ih9S#kXJ~99Yvb& z`8_`HkO2=_@DQX6+dn~iDB7>FHUR;=vwmgjqP>aB4MjnkjXKa>2(=w^+Ut)q?Fqnkl{ z8^}w48ybTqgF1z^x<`yYmOdc{9Z0q>RZm)QQjh3KGK%(wR3GE?%=<2jzPOY}K8NG1 zKUFWX_H9NU0}dA$Qo!(~PvVP}ap+DX4DD$wHbXm0k+qlkvi5RhZT4#N>x^a4)yJ>{ zsEp#jsN7p;EI}5v_{-}J&3y?TPLk69$##JELEaUW*b4{x?e_!ywlTo7^YVbXKeb>_ zE5B&53Fz>gF^MNec(%0Y+x9O7R(Q36Rr@<;&XC=jpZ124q#ftsYoL35@VSZ($D0F& zpie0F6BqKsHx}Dc>o*X%JX$E+6H!gue(bmDWZKhq3hlYQ6$?Sai4fB%tvgUO0X?&O7orK;s#){_SfQ&2|^>Ny1c}b>o=C*$b@e|KSaIrop z$WJmWX!9!gJA6{}>#K~{R~dUv5$D(u_9KsUMQX1^4gR};5*>^Ga-C;SHyDP3Gf2DKCt`eBP#mtpIbS`-fz;){U+UO=mYd@ z{I2bewmj0!{U+V$a=N+Sq#GE!x!**7wqF4sTe;t4FZX%aa1TB~_i~>{KFs|ld%4de zA4aFPm-{?ycoKTLz1-(v!?OuLdu}1TQep1&u-?iP?$aQnS zNjLX&baTJS`P?be&HX0oOW|WOcWgW-eE8w#xUb_m;lmGKA0;e&*!cIf9(Ydpuwm{L zc~1E7!*i5g`0&GrN8a?vbHaxozE$zUhaaZ=1J4N`e%Ro`|NUq9?=-mZ!w*oG!G#~5 z&3!4)#tM0dEB&lO_yX>7d6qj)Y}pr3_p{t_V#9l{F8po;4|^9D!h5;bW$!hGa3lAl z?7g-S-n*pmdj&Y#ySxyd1djG{$BC_H1%0uXJ5Fr4N8uX^Vd^@t_e+Ivx$@sw2(M81 zrb5`zK%;1&`H^nMo_v&>Js`=Zj8E~6EaNxD(;=Nv6TFgdX~HgP7HciWxDMWb@;mw# zchDD-7M^Bwc<@s3*S%LDLo`KdkyQr0{{(xQ{r3KouRa8ST}zqG9)Hk$QDn0MPgs~Z z-Wd(>0L`Dre0$96vA2D9^cjUU{95)ZhGC=EdTt_xO^oy1gQJG4)`BzV;hj00UaHzuQK!`zwq8&Y>mjCy+pJ$)v$szI5na}?-@B7c^v$M~7_HC`T*S@X2_TDXbezjjq;|-r` z`Pnx=-STgh{aenj&TYADVXv0Cx8${~xHZ4!$G7!vxpMvTmU-(}v@Bo$y_N^p-_i2F z*WcOV47p-)$$LL(Idt7mT896_gDua0vZ>`a3m$Cw!9V`E+gTCWysM7Tb};UpS0v()Yy_U^CvBj-}>X01sfV$=Kg(SOYxDW zmhb=eCoN}AG_`#5Pd{$CzWB>6=iM;AG z&=oC5ZX4E8wY0FMKD(&J$r;*Gls~bh?3T-+<+8=R=ke0&w|TSVktTTA1TUN5WfQz? zf|pJ3vI$-`!OJFi*#s|};AIoMbk2FdDm!wfF5Bpz)W65DW84s^OZDd(zbfY4Tw?qK zqq^KxZToxeCuZI+eGpqrr{c5h-+piJ>I>Pwt?d=r`rEVbmwtvayS-nUw?qEi*Pl;n zzA%{nE(={+yf5Q$t#kTX=F;D#Kb?20a~j#cegePMwiK`Qr+2rmx_Db>D0QTB>$=l= zbKays^rIiOuA2A{orf+t)>*XTHN8D=zL##;)Eb+&v-8lOe$!ccAfY$tnWKc=aXdv> z?w-z75B;ul>zjYjd-UnB(36yN=VP5k-+s1p>mOr!mp&aVYktm9PD>v+_O4 z8sLY8e!I4HYx$#{p(lSuo*jCpKAo=U`i-rJF5BC=^6%J-UD4}I#%&eGpM*BN@2uppgZT-SQ&*4>?3 zpE=xl=;+&B=qx>NbL-X(J33cQg5MQwUFa;me@*Mw36FQK+W%~4>^JZZI!%2ZJi9(a zuWV}FTKIJ5);-5ME0?9xbjG$&pD*t0EWPO2&eGY`jaQ$shZ z(TIlDL$QDA3^o2+XKV-j4b*4RO{-c%?;Pli{qr-OmF?sgptIZ)hA~GRG+1R z`V1BQuyxh4f1>=~cNUfYF->P>$NjCPKYYA%>#zQ$Gj8^k8j5WX2mCkQ$Xg&0^Cp%-aUg$hj^lBG6V|Dkn9;%_vKK0Aa ztrf^lfX>QCH@6loJkVMBrB^yD-=LiY<#tSc>!BqNbrx;=ZD(l3DMP2)qish86~2rY zU_TRFhbf+Q^c`!}FJ&z1&sfBK8NJ!#dS^CvXTYX2&z++_E}Pgq z-aGO1;=%FgWM1ZY1I%PM1_k6%=*2Bx|$#V>0tV!yC|4%+2u+ZbrKYIPV z;SXm5%zNtNn6Dqs@4BBG*h5ROFL!1gd}zR}$F0QGv4&!gY(IVO4%tx`^9HroH_xF? z4|sj^D6f8bzmjzw`%3JmnR5Z`QMIv06=&Zo#$2Pz-Vfi+-VbX4_I@7MzU5@q1!-bl z8p%w8@C0j!1oI1HyUw1K(W9^j7H8eCl{rn(Po2o;u-i!xmSjJxtuOmU>oZOyOSlr2d>5Xc33tKO@YU-hd*tgTaNSIvjg*f}ci}7FGjV;b4qQpo#g<%rT@J3S z^9-(=JY2Oux!l8byAydC`wZDHCpUv@V^>@+5nsK2?oEDo%hwKYJq50>Q+`bbu6)nL z^{{XyO_%*Y;mZ6s!J60L+Tr1vAYazL$iU-8zjh*z2v@?Ar@-~~uDA-fB(mIyEb|7r z(UnV9W5}vx;k$G6E)ueb%*2tIble=`&UI4X?kPN<@HxDJ)l)e4wMfVR&7Q*h5kAXF zeYK}>?mE$)*tI={48Z`&^T9%$>)V|;&^Z?CZ4*+zYECO|sQE^U+Gx&NOetk@@3+@LYhE(Pe99ZXs8lx;JX@oAn8}> z`@OSaS-am~P5SYKXo@$`}Tn3Fu4)XiOj@Is=s0Px%K31E)%CNn+zNXe2z7 z#=fGFv@tJjn#M8YH;(cReb{n6<;nCO${6F)_>OFI_#WFIrd;q0$Y+{Ho#7bmq@Mj+ zSNTQ9!lp2I9kVe{VOwGKSq8Uub*&IzxfV$ z9S3&DYj}ED}Egvbe%gs-Cf4`RF^S6VJ8uj?FQqN>R0<^ z=G-3jD?4DFZLoU;6?)6)fpa6Pcz5*39?GOHWoHv5jm}xPHfk=NiGiMcFs7}fuQj&c z2b>bk*9xIMF_>|LzM+ZyrPDv$E+ zJA50#mp1tq;rq`S_)>Nn->16b`?*Yf8P^QHPxOrM{O<7G1iqWk#&>~{iCiNG3ye&- zzq`o9A2RTz>@>blxcH9u$`n7;2bgv+)<2gN)_H+`=S2=-AD;7J?SS-2WL-8;%FmuJ z8ci8HID=`-dj)c#(nBy-p`H_79%XK zb~1)=`nA|&!1N!o)4+1 zZs{)XY?!Xp-Q|6X zyk95pH@&ZWZsW9@ae=w72AkwB3o_ z@$DFVdl|mH0!?bW<9py6bE#_9{^_<%o7Q~0o;gbWpzy|ObOd$`Pw!L9cB0N5mqkNx z9RIc6AwEjkFH+tt{MlW{@k`*zXxzoPQMi$~5xC6#?T2J9>diqC@B44a+5O;Vv%lT_ z{;9P?GkS!9(1uJWkv-Yl2w%NVTt=Pg&E_50XPZ6~-|aKM=k}S@wfev|>P$9C){gCg z+05An^Nsq9!PiXN?F4;Ff--~qq_4A|ou;oZ`J&tXYfE3>aO!A4$7|^uW$5dAz9LN* z`O9`7e1Yc1*^$E`?e)TI>T)7=_knj~Ioyfm)Lv1-8t8obzL@A3fj&n%;e&l5@dCaT zlfPF+l>RqH|8C!Pcj@x(`p9!>882G$xZejlEdI}D+~;NN4?KJ~3t#Y$v8PyoeR$9n zp+B$0KD+??@B-lnKSfhqZ_O=~42M&)QTT?=x(wuZf6Hs%exN`21n(P>KKz65S^AgY zqqh(P_T@Od5k*pGwHtiJ>wy>%GC=hGj6&(V*G&*;AdAH8K5z~?pD==4xuy8`%R z-ic;yWIxXRcTxI!V@F%%u%F_%XIvcj&*;~(UHiA*L(bk053a!yo7{FL+dl1+C)d-D zAh&Jw?fa3*cKlcHkI+{>!`gB?{b-VJjeOG@y~%OkL7z`Q6Z~%0?p_`{GS==-6E^|= zH*xM{os;!aJ>$T3@=nfWojwm&MH%#~?eweKuNF>i4dGNf`kuCO;Hi9{4vw>d$D{l6 z&KYSyO<^}(7$iOvKxNl&ElGS1nn?b*)#HhvR%rpu=flAWID?0{b7p|`@Xri{Pl zx6bMO0=L%bb+rCH?_KW(@LkWF$JApwAMz0Yg&#H|*B1#t@7wC=9UImENq1(>{ySOb zE}y?5j>Xx``#gN_5U%u(nRtn(W#o+;unnA^?FO#|c(n!aN`ONGyjVXzY1TFHV>!I) zGLM00W*!62WHTxqYjPQGIln~%e9^rFvZF~XBL5`{2Og6#j{&y)NYoI%G~;aW80v!Y zB+B;~;fJv^NyjHlc-lIu3)GRd$x|O4+?O6h`p@G&Cwmp@d^CP~JX{}Y)_AxRds{o+ z56l=3PiMROhGyLtm7Sq)2bRqM!S<_TaO)@8QG88O1YtE%ecn(T_8R zMvsM4Gc^axI1>W&fIgc|0`OQ)C9!%b*FWc|vy>g?kyVR4fHf&AWUWe~* zQg@7Z=3GX9^jMyLJo+-;;{bL4I_Kt9XMB&nf=nEzUr3No2jQo{6JFbUVBGq4=Y%nE z--{hWW*vVnP{&>Gi*oNnx>@}(x}`4fnZJ#!ZR>UR9bRvH{VaWNvQBY6+PTRjHZR02 z(OyZi&Yj~n9SoVfHZ_O0-`cRVq2E24Bwm;Aef{s^qlwQsF@wWO?xYMmk+ya8yJ1%s zyT_~BcJOQ8L;XEQe!Q#P@dW)6@p~6Jk&}V=KPLX9klU~Qkl%5qH*13YqpJ#?NKR4K zOT*r;zvm$1L6@~UbX`6f4h zo{eAb#?L}OcvgJr=o{Vm?_THOQ|0B)T*I9hJ!CyLj`e)IbAim{8 zJ^II{gO0gVM(YQ|hi$gpZs?M(f4!T}OSas@HhwqdO84L3#($Rhw%?7en@(RcgTCZi z`jVN=(RH5%9t=DL_=09vSK79C8ikCPtzYq!vj=@+H{b-X)xzRMo& zFR=G;kjEpQFZ&PEZbvv~of4Ma`Uvj7^ZI0W{&bFeAFB2zvp?Cjy*`Hy<0v|e7tvuH z3#FpPPNWnZf^&TRw)6bxb6%h5AhUJEw=nV(T^WFpkLdCMO#Mff1z_qox-pc^VAmV__mGsEAgA~m*Y3$FT>xAzZ8EHKIayr z>+u)iH{jRcuVWnA6G}PQxJ7q`Qp1#=M^}t|k(o4|G4cL@jLK~0mrIBsYzj1KhL~s zz)r4R*PoBBvF@BugYHtP8ZzxzlJGXdui{K~lhez@=}VmL z3vZfGbuedlI-Gl~Y}qIrBn;|8EI@XyN<`^PQ~Slfv%!(8@P-ppp5v7rir{-$mS|Wy78aj!V{g z!#OrRlo~pNcZ#11rOMtq^g{7lhc+di2&GB~mA(+0OZ%uQO%+}4r`4Q4opvf|b4W}4 zvO>}pl9qf*hmdwQ?P_jmDnWYA#=o@E!)qt$nVU!IZm)WWcRL$OolrxZIAvkyrFmYQ zM&c-);;p`Y{yV&<++fphOqXB$j{39MCh(iUyRDQP*Y9aRf1zyJ&karn-VVGS_%XuQ zm2%dL@`#sMPnk~kJqdm%8%k4kypOAQL{*mXvAEnu8Rf;!<5jhnz)KgGV7TVW%~h|w1m z(|;;%yv~b5U#C3cD?OOLPI5#%8f7c;AOzz6kqDWOM$^PzQlu<07FB3kq0jV zrf%Z2e}hvE@Qc7l;mtAn1b9sQH+nFg*QsKynas{+?X+?eJb9_!xnpA)^NjdWr3;b9 zrAc?PX%2rGb}Q=NCV2jrJ^xbA|DxxQ_59C!{w1D&G5#prNZbhAaNI?>VYp)4P@EZu z0{fCb<_=Oj$NpBpo=EzgZtknu;5>XWbN`ilAHvqa-dFPsXI|=mHY&3B+OzMgSwsFk zov%GC^1}CRcw>^W(1fn^@hfwcqEAeI#1P_<{XCze}Rn@3RM85@ih( z#eP4^UM1)GOQOsfwHDcm{XXMK8Wz78PttH4`~58J)opy;myw0Nx`lPmMmF~97A_Y& z%!jK4W3O(*6YNK4W3O)EZ3@R;-NFg%_p>hzz}W9+PYA%+>1SW=!{TMMO7yPS8?C`# zgkv3L^oQIpQNaBY1uL?f^)1R=zM^;SMt+x6VC&BKUy{IvJ%Jtn;e71Ku;WiKCtnU< zwzE!Pk0lLPV>8aaNE+Ub%{hA+X?WN{*SYZZ zF#IpamfynFlsg$)ehYKBn+5`0z8@hrQp2r$A5c13sMhp#S?O>b=(%AI{nC|Go+t>-BH| z&If+Phj((GqSxa-d_;NuGyp68(>~k*4S7HF;jDxH@1f^F|1&-uN1n5O;lpK|iOBkA zAD+*-m8@U+@I&w`>(@RUXZ@S?uRa|5z5hEm>i_PQ^nd4^@P8j7ztA6ixUyI6#?Tu+ z97CQ%Z~1Tt-h|%q;q3SP-=>YvQ5(N=Z*(sHJoF#ZCoiFYML(5T6lP8pPTeh?_Y!_% zCu8?3Zq<3JrS!$ih`XG=cnu-MyeCR3D$2RbSQeBjP{1_O+SAiKqBA z;n3oG;!i2-zxXxcKSTV#Cw@hJa%Oe?{FX-Ix2=7BW-sC?{?xFuxQO@*%FbEbclE)R zL&SfP_~rGnnWgpBEe{eucikH^Zz7)JuY(SU_-jhfT|Acf2Z{d%@mJSJXV%tNw)~j* z7p*&e7QH)4Ke_m?h%b6S6`=Pg#GkUR^DKIwE$zGbZ-_5?zes#bZxitstb6k;dfQ6- zE#BnOJDd2HUc>)&e>jU?%YV@;{#$wt|JVKTEP5^fMX&g8={5Xc_u5(XTK9zdN zlxNF-(JTI2dM*Dm<=OII^oswMUd#VXdM*D&ulR52wfxVd*YaQVivN~g%l}MzE&oNY z_;2a8{LiG<@?Z3d|CV0M|4e!<|3$C(Z|SxC&!pG#U-XLqmR`&MOnNQ9zdN zq}TFa^oswMUd#VXdM*D&ulR52wfxVd*YaQVivN~g%l}MzE&oNY_;2a8{LiG<@?Z3d z|CV0M|4e!<|3$C(Z|SxC&!pG#U-XLqmR`&MOnNQ9zdNq*ruW8ZFN=X%uai zF3aakx_KDo4{-U+uV z%<6-=L%(FQXKVVzFa7&+Y@Ta|vA0pkTxUFc4ilXeai1(@t+b|Jcpv-1`_^u(Zyo;q zJ)H-fUW>w%#~J?tJD_`qGXx!2?kRoKdR6O4*Do-3kkJ>7ZRL33F#sLFRK_5A<0pv3fch%JT*7mP$7hWbW-5~^CW zaqG}~>%4EAwQGWPz0M;yl6RCjY&|+}gVz}F8i%dC_a@E|%8G%*MB)vleBn|EE~UgT zgpPC=WfW6J5oN?#Lnl~2$5=mG9M+I_KWS@8yB*hN?nTv|sM*|!n!8(N8$K2g2Cv%T zRR?_2H@i14`FMzZw8OYHW^aDYJu&o3vFXsn+*#)=dMZ!($H`lDp!!(pxcl+a&#R0N z&BNB)B=g@bkWZDeHai8s#DSDjwv>#P1FLtpj$husG@*zYIo{Y%NIZryj0)9K(g z3m(mO>&VChGM&E54F1V(BSt?Ep9rsufyvwQ!0gqVduPtR%j{49|JK0%kGZe78-3WB zzV6xG5PX;HImk>A`!JHZXn%N5co)4_9`(;!X_v}joz&(2<`2rBc53n;M*i#reOUhM zGx9&3o$H>j8?ODUysrCK9WD)7v}@Y!_~F$5na8M$C*WU)*RCnI3>?(1FJvD>?Izu> zow1RZkp;<0lyu1&_)Xd*X&d3mD)3!RJFJ5*vGwG+2_Dd=Bp>tI^%H@1J&SspO}j2| z_if!hoIJB09ZX)KARlborX2BRDCHFMP5d`D*7PAU`VfmpP=}dQf06G;aZ~v{-7&J315QC1NY_hu zeY~wRC(y?)BJU;Sw=^IJAEA%$mJg!?d>Hc)`EY=;4@2W~_?8b(0q+Ms0Ii4N!*k(O ztblLD;5vfu`}zJ9?gRJ`g;uo(Ykwqr-z@Cov$11GFW=?9pI-1Vi@N(7``Sg>{(W3# zkJaWwpBbm0OpG8O_GYu$kL@-ecsn^WAMNehe3(0h!l9C2o%QrPtxu}U7&jl-M`71{Jx_?3C!MLs>{VeADCXPf@^WHJ5i;oPqMEiz&6t&>f&Y@91D(ER9g zk^BDRjm=ToZXDT|OZ}=2g7=kug1VGGQ0-ZLj!ie~9n#IE4(GUYk?SUhAMH2UdGxx; zrT8KIGW@JZ?YZeB`8Sfkoil5$tp25KHgDpk`?oJdDm&iTEW65NpnuUh0@)bK*0Y`d zrJeIt$?1HXg^rT*RqdQ#N{#~_Pn+ZX5@SIL`H$!P$AGiSr+>rdKGkjc&KD!4AGQ2) z%A4wy&lxqHV`v*g`3L;+x2Syj8*~2?G???_$ePZRr~5d@k8~eL95Y@KC!sj&;V&|& zK2Lpo4B3pY3#Ve+oK$?5z9|g1jNi-M{!2X7c$OY3Yrhyd2byB=v`e48gfvUR_X)__f|7Z%>h{?$%+Vd0x{ z2!|IIzKVUCo$$iKHRQJoURYTBox9+Lg*({q+66BxT*KbmE_h+#5!|b`3tm`wD&yuZ zcwu4o=2~}!eR$_&|MyMoz3rUl!!_(L?waAlJFoM9w=3@TKCC^#onQCihi>$LZ>#Ws z4`(lNXSENvv!}Upp%350{`JmVeE2Hy?^Yk~1-(0O^WnAP-|ap;oc+X|D|}dW-!@5g zzkF|7IsR1ow&~27X3;0mpVwZ<*(9e=q!PcV_R7c?WgpErZP%*0C;1BQNDJPVth*2= z=-xE^;2z!x?cvR(UD5ZMb;BgeC=XL+ICa}N_VAiQC1J+YeD(8;v*s>lyN74iw(fn% z?BP9b?^3&1ZxegtOq4X5d%J5>H?I1M5O&j!x9(*sWd6*21{)0B&vMe(V`SJXzf4}Q zfah`gn*{w~2l&uNVu>()p_$vDFZf*KYj4q4FmBR+ZwSt5L_?HzR5a`ze0!r(6%`O4bka-Sxv+ z{HUgkt1@xstgrG_{+)LlI3 zI)iPmR&s+Z$B^ZChktG)ofclKWiC{YoqrGTSMyZ8`8t!s@`a0eEW0 zxg=n#FGwy|J}y0_o*q0t72M0gfiUd9QU%yZrQ=&#;n7;=>h;K)&b_oRrOag+cvJz` z5ViQMk%nDTSMvl6ZBcq8K&`pFIoebc%#8*Oa?x{nh&S(A^r~dY4I5z#D}mWgbAO! zu!{-eGdPG3c^Z7cL-<%+y6C^=AX9S*pXcM6sh2YH2QQ-2>7UKHW7o$0v+(|W+#uXQ zT&>>N`}Kw9Ji;o*D(M-1SV14Z2f3jiaNFc%k*90A+7%`TQa*kC+7-mL=XVAoO96c? zheJ$%-)!z|9_ZhnIg7k!Lj!c!wN&hIC?Z`mazv4(|L3&P z58A$_x{&iX!>9vfCZYO+-sRMN1#PjCzSo@X6(5nM0?wO;?(&&&%d!5*nKaL zF`~e6?Gxo0Z`GLJ7oPPeoOnjR zV8-%tL&qn6*H!QF8Q~62Nv~YT`?LFfAGiFUe@OYS{?Yr<~MiU)Q7#_{rFws z{T{&YTJQHDesA%958?Mg?{^`;qq)0tlXtbYox8pB*-L)enY;Kky(N4qiC#qcmwGts zOsHVSeiw(4q%HLFxrE$e^MV>*Y#{A1Rw$VL-&0G!;0zYCeBev;HplDe^T zWa&T>ygO*;&I`=jM8r*S&mnuDRki0u64QZaF^@E7c=|=2ISmet%&oZdY58NLBUSyw z&Ds5&=JH4HZLPZZ?>n=fY3VG!D%P33#d#-z&O!Z(!I$zUGsm|$XpW`3-Wv&Dqy1LO zvirbU%(bGMk;xAFu~Xqx;&skDVt-d?-ec<%*(My`)OkiHC0SjbI5$!~Fx+f@7k@Hx zQ-Sxp>XVU$BfQ_+J{kGzG2!Oqz(LLJ1?M-P81dQWSH}!))_W>R*2ziwP~n-(?iG<9 zCx_pz{=nV;u=9UA@6nj4J06mooYWe|r+UVzwt3`L<)rGJ+@r}c@a;{vZ&AMDzj^zQ zI*3yTi7{cuiLBiV%Q@>sJn_MluX>52y%XPMT?Wnr9CPM;BxRI> z18Yw9{KF-aytjvSt~#53k9Uf9Px9VIAE9sD?Nk=#oA)Mqk-pIvmT~V_-6Qw5mOt|M zo%5XRMT}9`%N}78cZ_MC_8ERV^pgb-hQ6b)eBfKRa<_%f-@Wlg@Wa-A+v&{>e9Kjy zI7`2whc(WA-n^}NYLvT2aM+dY1U4pdTnrb*9mhGjTD#^&46S`v?iIb2-y*yY+UYl< z=Tjzky45b=8+FpEw8+w`A=DE#9dXt`W!Pgp6Lt3{uYy0qWx!WDH&4V#?%qW%`tdu; z-hO7f|3$j)@_U@`g}TS>(#u@j&}|5}%Y@sWuDIO*Zi8tz+JE6ayxn1~ExfuLiY_Vv z9Z9~+{&s5)dV|YzBhESGv!8qp@J^xfe5z}nlgYE7F#BIL?>LY9XNP(7Haq?Y=PZWT zn{Fco6|%>8EThW1uMTj(0+3F7cA9cMOi=D2b6EuGhF;_=}@^TH(tuW`sl#=cCDp6Eb#{v@7;=<|vg_Y2?p{;{6!z7S9Be8@e| z(*6B1()oXW7rY(;uSYwnhtPcm>n6lpyQup7$PfDvr+_%cR(EohnVVT%>p$E7)ls7sYrWeN3EuW9s|qi(?~*H=5t{Iq~tp6ZtLr#_=7V#Nc;)Fyjbw zRCi7tu$kz~7=jGmCYrU5=o?Pi_fKRm;of!J{e49m)6Kh8&?KFB5`48j)Y_ye?DlDr zG0j7`6T|dzR_2=Mr`7j-nlQuiU9Efvm;A>l-p@zAa)5Wqq%2W$;$xhQ4=9B2RSPnwzvwCGTa> zyo5Vcym&*scnNr|b-2cN@!!_R7oGtJ^x#`U?pQA!LXz}xaF9Mi=NQ__Q*TMErp{a* zPB-=9XwUZP@e!?qOV!8Dg4P?UkJpu8BFtL zm5KW+=fU$$T+LgR|MQAVeFx*7AZ`Kut*z7Gdo)jSpJ;jw&HF#?w3GV-ZU4Vge|P>5 zsJ}zP;Um`HH$FoBeW#oH+W>zP?BU08-PK=pH}zN7L;c;*P5s^e0rfZKBi5hk&x}4` zu;2D1C&<0}%>;6t2=R5uUHU7>YcXP=@tO3>bUHsiU z#%eVe8*;9>55I_g7WI*To{Q}F@7h)_@OZ6p;k9L*n}hV6G;gDSz<5C4njQzpzllCZ z{k-PY!bfWztx={hZ(75;OLI{>He|+WW8Y74&Q+Y+?(=D5?@w{G&Qku?i4WEALF;YC z%>nAqG~aNTZ)pAzWvtQoTFQK~P~pfxI!+;PtRoj`ILf^j>U###=P~9=pB2kPUiu(6 zeTfJE9{7}Vzs5P6#*8nN5vL4|XZg9#{lZP*ngayKne%8f!M;g+-vHljpR_d~PtC^u zGGqQj`F7r+Igseo{AQch;oukJ+eE$7qDk>)a*zs&RQ;r<=pOnaS(9HG~VF)qZ*oz&l7$+~^2 zvoAq>=|}9HoWJzq&*u)~TJHOZW~AGqbmf6`W8FF0KiPDJq?3GSq}!-;lLG1JPc^rD z%%&Sly0K@ct5>>-q?;Pvm!!{XqtBW`U&kD7K)n;*SMB7ykc1BOQTr6uPMiatzTxkP z^K4FdANr>km^1F9&-UYZ`iFZJC*O+$erCUjJeoXRL>=MV&k66#Q90mYcu1RMziA)u zpX_6Ow2%4uKCK(X=i~@*q~7+^9<_(FgZnh4BbyGb4=NlSrF&{0tvw+3u9lls#_cyf z&3^j69V@X09gEG2&ck*_(!$*@BWdy@IDB}cq<$v?KW1}cz6lILO zdEtbPaQ^NS}}%BC0@=QH$S~y{gCS4>qkxyFTc0q<(qid5pVnL3!i>Q z@dEvsY3BiXrVllJPEzr}Ey*0A$s0$mAS^zYab&hXj_AIn^f=;;A?lN>uRvc0lZPGD@Z0TkU zNzi65Bb__-?ZAF2b`rT>jhV2Sfb%fyVpv{9s5A^8@d@<_DTjq~{0T_ipD0ZkU-LXuMC)4~FzG zKk&Y5exUh8dVb)2?{YAoh1{=+j%;6ddp+7O=&pRHqPBleY0P}4&fOonn)7CV?)w>EM~!YQhMpsio+E*t zV-@#B=?zioD;WDzA?`kO-YIQx-YeTA-J-%YuS=l+(tLL%HW{+9)jp4Om(}dG8a+4Z z+nIxE&q(nP~R4IX^2Vy!IQ%PXv}^i8(%%dz(m{@SPHPH}_d4TQ<= zVj_7;Ul}K?3|+uHFW+AhUU>Wbr?GwCXZAOt5uBeq!uN^i{QO6i>#`b49p|UIm!av5 z$$#JX~G{FR1tb1Mmf?SOP4rl5NB~;<}5Du z-QuV8hrv7_0=78F)*?30jhn@H(ac#wosWLpoi35f#7 z_+IEZM;+EAI&YvoRb$g+Y#Oh5N4A;TlP!Q=>1wW5I`TL3YwAzBXYH}-zS2ov9e#y4 z&h3>?qpRGfGO)io9fhw^kFU0D%8aP|Nse>MhFe}m;bj;-@o<&Lc;(QxL)2Xn?YMAZ z#e^c-c@cBH!rLpJhW>p;v~yFpUfZW1cwBFZbMNibjzc{w4(Y>CFy)Ier;V@!r$^HU59%r*Ogk)a?K3okh=%_}{QavHMq< z_sw9#w843Aw6S3-V?VttIx%v^Kc0QxOa=L6-Zx|P-Ddy7->(u)+PiRukZl$!bL_fKNvX-KQTIQIu1nn#FX@dvO33pcZcK7V#z&hhP4_)UX_5#!v1;>|y`yzC* z+#PZ??P?s~O*^H(M7NWQ(+?+>(Z4UJ4__HZN6maPyVvfkenz{V7b>aEcK82&z8{!4 z;xp~#r+(X=VcPDA8ro{8w&cVd?)CS6hqmTLVzViO^4lmQv4k?nBMD9&l%@7PnKwk- zao^3y$z@;j_ZOLc_^sZaeaH3im~qS7hksmlUcK1cy#e_v)L!I_&zSfjo#mdz*r531 zyT<>|x!!*AgkC1@DlhL}DX!X-YeQi2ex0~Mxeo5r{!F&4)=u8rlUeW8z3M+W{`SVk z;)BLt?TgK0%qZopE7ghmy6i1^X**`Kk1Tr&>I$7xDnVP89jCFAXUsKvAI4nS$|M-C z+vta-qnF)`#%lGWvbjnC+rC6^CrhuX@KVCHR~jD}PR0Af1H#mAtb?yMzFRk5|E%+4 zZ^1ugrV^W|*mNgV+YPUqGWe%gQ2Z&$(`BGy$S%>_rgT4l6TMvz! zoK*W}C)LsDm^LcD$#%)urFeYOx09Qt>vK}b{FCgx4LG?Tz27>nGhRCB8kPTv z0R0{1lmYFpLdPlSQMjd<`P6_#rOr!#$nJA=6#l*MuiSKRXvM~BLgzHR3SUpc*HiHI zWP{7AQFMHA+(^E$$siRZWk0vo@M%~>3qKi zcQtMrZYu67oa{f&YWGdq=6#-jT9VQ3o64L23L5SB*879TBj?MJ&vKUi|BLbHe&N~o z|Gx3)A?60b@#sRq%c*DD_=|KgoW5cjM7`#Yc97 z@xMlVM`K;acyx*4(w>8HrxW)qxm2G|zd9&WE(^k`|J%l+1bpqq@cRstP4rjW=+k#GChftW zuym0}cl>E0t>sT6zjNWuaNG&QpS$jv41YA{w87_g_#9kxU*+2=aQ*{0uMG7zc&;XF68ne3`TP7H75c={Z{wzi`W(IH{f2w)34NmB zRmwU^S%0LgljQL#dHMOcX%~}ro|mWQ3fDmMw{fG%XB7F|9qQe1653yd_CHdmCmAOV zKFG!&kd2id4&Mmm^EG}?C69%;i%mZF+_RQ^+Lyz_l}_qJ9kkDZc4Q+y58B~@?3J{C z*!=97&6kqCC%UgB%+h@szpqvP(7gzE&HMMcbW_er$~i?jJ<)wJX)WDacYlt2MEfG# zDDnx?Em@WNyT*dpN@%JJ)1LBo|1Go_8HDd0YLAnkpL#IA z$MYLrn%@)M{J+XrZq8SE_aT;HTU3e*<0j#*#9e{A95)en8Lk930XH7^W!#r=m*U3Z z&g!qddBh{!n`rwTqi19ukqDgGNY5vXz2`@>FIBt$JT`jn9H$!_Q?Km%x+%M-^P;^! zX8C)um-?{szx@%*Kh2$lIxjkkIn`U)y}RC*HG=n8Mu)JUD|!Db=&%`isTw^* zg7|Lbnsdbc<~QjzC0zgv|bncvqjbM$}VjW_pu*!v!Ce!#0I ztg%wpA9v5-e6;fuTASy+N1wr%xCnWY{?d$@@Lgl{t4>mRrq`Yx?ZKPv2jPf&o}y@6Xf$SYgE;Z%NO^&Lsa^)>&Ck05jaODy~Yml zgZ?nck7wp|)7KzFlGljdyvxv49PEZ4MxSQRBXzZ}70p@DTy{=)qwJFz@1B&MwcfHe zx(dRiThQ8jwUc$U+R56Jgl^sp+oN}6b*Dmn1U_}Bb>4FFoBtl)io+@C8{!__S)OdV z^tD8utdNts7-kQ?6SLxI^h;G_e8+qv6JiP;! z+*C>)^f|<{I<@aS#hRrct7OYmSEu&J{{_tZSK_7f7HgSx&;~paxagfQc)_Da-tl^G z^0D|zCp8LPnK@tEz!+Xb+&TEu@sW)v@f_+&@)3rwTs}15-Q%Ii%9XT{d9JT9{s8@m za2^cK?bO>5C->+s#>XAJv)n=aHYc}%cUZB3#Vvvtv+(J|+UdjEL=&`iKvz3$x{dbS zL3?hepV9n6{IGM!Heg$?ZS)=OaDoWMpg0UcG)u^l?Lv&Ym%TZ9~w83%*|X-Y7@B*&E+{Y083=FrmBM)@8i{K)`K3BnRn zX$$bMP5gt8YV*=>l))1^fC2UF&+Ni2fR?KF*4%U0$!k4faQ19>z$508d+=n1CZ z-cx#HJGqYZ4ahn3yr|~9oV)!y?5(57QEWZ<9>Cv^@5z#-QTeORCI9G;&3n<%I-m_1 z-H(iNmszR}e1wa_MMo`ov=`8BpigP-_uKg%XKYT_X94wIT$;K~^+`M{S1Qw{xtTNx zCoBCf+YWx~T{dj%8f-gFh%exf1P9fv(y#PznL~P|Y0u6*dW5}Az43O0^z}}!h9rDR zz?Zfzd|_@NzQB{1+SpV0PxyRM-m<^F?h1a z=ZTe-G*4=svw6}dz!SnHC++a8Juko$@B6>=ojW6ZImts#`jn==(H&2`G@P#*kf?PG zPj=wz4ZnJ4`G@nwOaH$~uXK`=DtyVx5z_Z8CoA_J(V0>!C%fRuwh!P*xEr3FVO+6o zhj8)aN8-u5^!c{!c;7dPCvP*p*}m}Ia4LExoZ_s&*>d8gStFi=J)YpZJX!JKJn_=s zCZ3Sa@C4uG$%+r)NqFxn@x=BiP4J|#XP!)9jM9Ax?>2d3RDtWOjkWR3j6wA4>2c^3 zWA5v?H#Hvn{YCq6-~{Wr4uyvqvpCDj9+>vkr88~=PRrlmHjOudZT$2&^h$vD;28(M#n38T6Tpco`510_dFl(#9_i;WWCQ=l*W4=c+Z8$ghdJaYyfYIzk6RuAG4160roBT z;qJvX;B-gA-JZYB^VfKOo$>G7yUO!ddj9u3f4TAR*n5ZPFZ2BGdj3-UzrlS6cPnlQ zj`^H>es@X8J-@p&lsbJa-&q%FK6lW&zoFk(vHx}BKkiKad_->;$NGo&#)#jh`188P z&mn$KYweeACVp`K%UXK{Ha%Jg*gvx#@a{7lHHi6P=KJf^Ta5aTBWDTZEQy@8d9v7n zES{iU>WsC&0=Z7cJRZRMx(>&>WAzT(N8<&I2#r4AFHJ@ZYFe&7|k*;$olBHKk zXZK-F^2X>%+RvFKu71MoXHm|pOO);tM!vsEnj~=BX5_k&waKQi8UGF-C+bhs2W)k6 zj{Y2H-=2svc1DrC7_t{f_7ZQSm-+%WV&t=?khk0E)7r^Td7U6n;idMZ{BGs<5%S6j zP4-{NH%9(ZerwKg2kR!&Kdhs@EeD5X`0y|W4?l>GzoOi` zoL)zpDf4|>9e4(K=u9j`)%(NBW+NpRNQm+-dwz%akN)dxOB-R+0o1K{y; z*tDhibKz9tDEOXs^+zY+3wvdelhgxtKm!vU&_n+1xDLuos^7pDui9QG9sbJ)*$aFH zJm^nOCBSJ9I6j6>>m;yk%ZVn++LO@-)KT6_ z_(xcju=8m*Hoj^5b-hg6UyqH#4{-P4?#1c-+I#S)IPW~A_{aZndh=_z?%L6b5y%K@ z$v-bVyDgm<5l)TGSWo`BZ`U)Wv58J9J_$MQi|a#PspG4R#ie<^cc<*D_aw5bn_G~HTsxBLXbvcl;a)CPhpTwWfb<3aS|0Vv^ ze+2%N{~yAiE4t;+o&P2NT>cUG^DcKtrpML)!SWO7mOpp=m-zD*dUmx{S69`2`+DNT z_>=A4pM3R5>9@PypX|S9on>@4iGr+1Vwc)2_W`3jN^qxoq8Oih9}*)3a~63t{w`O) zww*iGtGP$q!b$E_H}5uk;YoD2=G|rsqYF0gHhb_ebg$LiBW}}A7Cg*{s|9n9xD8Ko zw?Z}dh+BBO!nsG>!b$E`sOBE=G|Zih)!ZYVhUxFBxkuc>;%%Zz^lCnhzX*FS_Q{vm zU1;vq(>veQ1JP+6ch?I^{Ny(D*w}ONyJWKbM5v@%en+UJUjC_2NphRpm+k;w1Ai?1 ztl$AY+zz~UkPr95rflsHA093k{@ChPSK@4?K7W?<&mp!NQ@5A1vvMoulwJCcbyWqhQ?i9}-t{lACVo+`Nx{(35%0gZnUV?#mu`|8T1IJK-6VzQEm7 z+_!U(HAv~!<1-4UjhyK$962-W`Q?18@P5~N{*-h#>?{}@|cfr^DcF^;qp6}e? z=2PhTVb8Dd{94c7;`s;hGx0qEe^0{SSK;p|_)FjVtL51jvX{oasYCK-77rOT(-~5@ z_>bAn7Z>K{e>uNTzwyJ)3y&IpLFuT;=dBuf)dj0YF3zs~N_LO>x zEy(TAbHk&ComUE;WuwZ@T{Ti=<$ua~N%#hFE%R`-II^z22EFh#=-#{FYV!zzYr`kN zwKV&q;|l(L!SnODYjL;W!pL#OcbaD00?rn1*;5$)m%IGWf&atce_?KT)X;NFp{ERb z%14EBSB(@t`4>1ZSsn&yaso764c{H7_ccY(Rpx{YZSzfC<(Rrscs=34da?Nzy?^HV z(b=k(|01o_)u*BP3%Kj3t6Qn7Al>RiwHDJ~X8U<#Am_0Mhg1DOdGL3a;wmm2G_&@? z{F%W%VA|H>GaRo?7JB|Qd<%QOD?EP&^>7{T`pV-oYQ1k;JpZ8QM?K%U#_J0_KkWGx zo?q+vTksEFSh#recaF~(IAr|dWz^|kLQlV5&Odx1tKdhL&PwQ9W$DEBB20f5q%#Db zMGHsHEcEa#^57udrQWv+FHWTgcgKfSUf32d?p6;z=)s3PIO@SM4|Y60gzybM9$e(X zVGl0#;0h0}^x#?#Ugg1C@VDZ`(?b^)E#6E$imwxfOjx{ZYggWW9C_)9znS0X!}rzj zJ@b1N-|K9BV22W>PP(g)EcjAJy=3E8byGh>z3^f$yu11;^Wv0yaWd;~z87BQg?~_e zuJ+>Ad2uuA_aQHQn-`v0-#_=l4}0O6^&j`b6JEIE)n~}7&n$ey4}8N9FTBVLAL@k{ zd*NX(ywnRX^TNx$@Cq-y(hHyOg;#muwO;rtFMPEZUgw2x!QYB|2)7MqE`=Q zd|%tm_Zq&hv+~TjlrS>=QRF#?dag&VbMbfJ_rgDdpNHS^5#)WCm;NFz{ctb+2rvCd zX%CaVJf?VgT;=64)yw0<+Do;Ueu0<%CNF)Bm;U3lr+P21HC|q8y}Z_Wd3{)W+wP^` z;icc{rQhYH|FHJ>jF@YTO(;RoAu z4zQ62d?OF|Mjr5uJm4#R5x&w7#aH@beDw#z@Rj}|e5D_buk<7El|GEG^riSpUxu&r z<@icJ8DHtA;4A%A_)0$&U+F9GmA(>R>F47seHFgaSK}-F0(_;v318`J@Rhz6U+Guj zEB$JGrLV(R`g(k&UxTmoYw?wS9lp|U!QYB|2)7Nl9k&Cw6SoVO+5bFq;jqQeUU<>s zBNq-|{M>~jOn=naO`p^_Wa8qV4Y_>rzYV!!@t=oWY5J(;fqu$NruZlQt+D6I)>*2+ z`N$Ehk^AEMvt}FN-fyUTd-PlS=R)bT`#7lyCs|7lB+g*gb;OSm-_>=w=N|uXu5y&t&BlJTAbpk*J^HUIc-JW$c-Ltz@4#0aD@#50*Y4X|T1yx5KBZF| zinw7}UfHGZs6W;^@%NP1k)f{^z0aHSe0sIlAbJaBy8tc2wf6*FQRpe+9&MfJjS=_;+NpW9P}9M=USbR zzMnah<%Vw~e7eHXr?E~?%*Ktup@&P1bN3dFZt=KNV&3{hkD)hE&E5jKf;f7DV<(V_ z24sOS_bgu6=;adY&>u)&QAK`6SI75q{nj_!M1HehQJ?GDH&PFruN)kC`CqZqT|$2F zs>l1wxr;TnB%F#(#h(ryv&egPI2A1qr`~=Ge9-+2Ms9W1OY$qb-hQ54ul21>s?qHb z?*iEYd-1g&In)WIqQE*Y;_jE_82ygU*-F18`>)B^DacM>HScM}fyLYCQt(2@vVi^Q z_mPWe9`UK$FL`aDAwxb-m%H!(KHr!6EzfxW_c7>u!p*lMn>{P)_6&7Epyx9txl2#h=RWqFU#rDqJ!<`>3_I32Se8Ht8gf zbDh*A&z3}I1!OBTMRv2>kgrBu6Zj%qu`0@_38yZTj1eZAkvL(oZG=(B+S`mb;;54t zbs`&o**l8=ar9krBOlyHkmbr)3>k@|>q^X}UXhtwBrBU;SxLg5#(=EIep#|2-^z-S zgYsM>2axN`6%`Z3v6jPv|2;M+Y_$;YFW?!L+L zv*g3wkL=A^?#%m1CF3efE;kn`9iaH2iy?9ER{x%S=(XkG5btcG4D$iemgU*|%9z;`ZH@M1HT=+gqT(>WFZN+Unn=3x%h0QxIX1}uB zJwM#r*f94`_sLe5E7|$b#WBCW-eti`s_VMUgvuZdd0}e*HA%F5w&HywBd6>j}O=Ynwf^ex`q z{~ffuccG`lDNT)ZqOCfIH4PoB(R+iR?s|9m@1BM1fPUKklezFE#_uTUe*sO>8+R0U z?Yjhbz<2Rbwi!yN_M^K9bbj3Q?Z{>=Haga3LHS9B%-Krfso#o|R(+T3XVri8Q+u}Y zsFUk}EiOC2#nNQ&Ajl7u>dx%Q3Ho~RLVE2WO@%sx`M_r*QR=yfH({mgKROxtqF!UJ zT@qu~Wsz5>`)xVSTMnk3(59c(8++EqXka+i?RkT8xBtIe<9kN`e`YCt;S%O4dP~ar zLZsizjE&p)wh~w8q@3ZL18{O9zq$BNo8#+wFKTmXb9+-+b9{XczjOKBt65{A#^zYV zWZo#6!W%_bHOCr0!S6o&KBw89i;}Hxe3Rl`L)dh}W^f)coQmahexe`m6%Wd4j;)91 zoA^fE#h1JFr+yYa>64?WKh+2K=tSb+Ja0qj^ex`q1)2En{@D2Dfm1#>_4e_l|BciC z#u}y)HjS{W&&GEh_|gvt@%^>NWax^*+hBk0sIKcTk3<`t)FJlSVok`8>UuL}1nPQ; zSJ&#Z!_@Ct=V{B``P$X}RG%61HFz9@$2vCCe$w6IS_kB;2Ed? zQ9t#EF@M@zI1D@sFO00xJ0s38-k2)by>l#mH~kdzXY+26=I-HP%%_~sM8-V~4KvU7fKWE6;<5!L<8s z>bj5Wnmdd{yLhPnH9nZRn^)gO)Unnt-{p-W;hVW$Sqcup^_YDx=5F)mLigvLSZ{5p zN=#0bBVXE=_}1<-o8wi~MX{5@Hj_T^a@ICkyKm&ak9aY-vOr7QIZa3?!+}#Hq-oH|PsvP?CC^8i*Cm+U#=xDx=;QJW- zalpt>92tw10~av2bey!ETol;KT4EC8#yIW|L(WQ(e~mfu0`h^^+|5K8;nXbZ(Z+Xq z=bpJ@jrw>MZ&AX7@sj&oWG)z>!SVXbfqLK8!+3qQncscLcnuHDn@`Ys27c&G zoFu%_I;1x^iPx)`gB~nqyr}(bWCb#)bx{)DTAJ*-i!;%u+wz)z)OLpbbLz^h|IUO< z67OPf@wWTE<2mGM<|j+x5&isa(5$mly0qsHyRNz2G7Mh>W9)IgdlndD_hj<-uxn3q^Ec^_ z4`_#k{z^X0;l0x)1Ym5Grd{sCBY6{hTG)rD37+i33k6T};kyLS@ZpCAU+2TW z5PZE4pAh_YAMTCK)zvrp@F>9*K76&{Y9GE?@IoKHTktJD+${K3AAVl&Z9aTb@a;a_ zn|GP6Ug5)|1lRiT)q?AN_-4U(`S3l!*WByFy9ICX;THto@58SOe!z!6!Q1H9Jm|w0 z3*O?x*9hM3!;65YKkUN|f*cgi5KOKPcmhYYZGZ&6;L;ji5c9DPJ z_)+Bl9OOJ3`In!E{LAly{LAl){2z7Ye-H5Ve&pxDM+Fb?;ZuSK`EVa>;HD4p;n9K% zeR#UyVLp5d@Qjf@e6Qe3eE1Q;V}1CSz}H^t!><9)oDhKftk^sAav%OY_JA|PK0H(K zWFKBEc$yFYK=2G7{(HgK`EZNi>wWk&!C&{`*ZY2N@2nercnmgxvnqUemf&h1ULts* z55M03`+H~I;=_+A{8k@+ec;Nyvu+E(gTs4g-5!AZ)^41&!iQfJT5O#|XaPhx-bCz=z+!X7aiRefU>`xA^emg17td2Eh;e@U4O$@!{(P zKkmb01^?8C`w4#9hu=6C_-8I0-;ey)h0^k`-|^?TQ>HFd^2c?dk`oOf$^S<58YS`P zTzQ|;kF?(JHf%Jf4Dewi=U$lU3OWBuPVF7t|M%5l|MxKLMa?|M%iGLh?C&hXW(4A58*An;UU)rtnK_IHZ--}Q4&%XB z-RP%Hh6tUoUR8@{;^|@U^%2zsqm+e`kYl`E5R2ip<7HqqWj%${)JIhqbng zZPpwWoqQvH6Z7dO!l|Xa0Udn`cw0CX-_M$wdz@p9VWX>7nzrmvzNGQ@8~Fca6ha$@-R#vza)J8F8K<4&Tyo8i~{7 z#?dzn^ahynW)p9HM%p>2S9YYpY&-&@}rI>)&qHqe!?tbRXe9ojDd-+y20&;bE>(A}*=2L<2oyK848U`d*I@zp<@$|7M+V^8>oyL(Bmlp7-^QV11Mu`8Y#e%N0DkVCjYB5{;PSgS z4!zum4G#t*PpoaU=GVGXx`hhP&>NpK_To=)pIP!?!Z<^Iz9$cbo;>J#C1=y!HNAUp zlH{@+xzzhj4u4jE!)7Y-n6cmc&)nC{x{Uo^-WI<+a_)AkFYxz!$C6j(ey`+v6nfLM z_UHSf-y1?3axRYi;3eHkZ-T(y-!;V2-G zXw_D<3P+|g5s6ZSB2GooX_Zt7sw2QHrWHiDkDv+>pcVtVy>9X0czcV@4(W@gQrHD7CHj=Q*l05n+x*}WdkTkcDzxud|@ zCvnaLIehyYhi@lWuUB;0`&GMdl??pc%6?TR_1)!j_SjjsNNzs<;4|p@PMasmWZv;W zH}wRs(8piAQ~c#W@geqPgMGIk|BIJN_Fh@XdSFTXZOrN`;BBsg;2(b1jgJwpbINzT zxAbmPPkhJfsRPwj1Ae2eGle^MknkbgVd}@pi`MG2kEgp>W~mFU$!cvj%v#=F)z9!f zTQDEkeiGf)2J$)E0|eH;1vZ^W5+(wQe6bH5vDX}`_fL)*o9XXnmd-L)^+ zIQi6G-Mo`Wb2l7vmfDXaFIr2Ek{9hux_iRfk307_?7=Ay$eifH#|N+rSjmIvzyp`o zJmuAX-EQPnzR9bTzV-?gHt8$xPQC-kYOof5AgkJkcJre2zfJnCZWnG$d>4PkcZbJ{ zH+)xpICYWYdoz58rp}elQobPN3sDDQ>fm34@SU>F!87qrbX4Efl<~cMbB_5t@tlp* zYz%zoZQT9)HtzntL3b5)aR#|t{I<(8fV{f(^j6j#bLQ^dsaW zN*-44hkkEAZM=*WUVF&FkNH>)MewwTIg&hvE4{@4Y(~_`~l?1{6>K zX?ULh-rXzhfpomO>$3II3 z8P8&`FWcO2_UGJV8tASfTz!1Wxic`;KbgJn*R1H0?dX8L*z{ER_61oRl&zEUA1svZ z*NcC*)A3`IJ z9$&SeqWuTiwrRb&RC`B7?5z~BcX~9pZ~T-!MhX_$eWh%L-asF@6}u1DckMs+VF&jM z*dAT3Kdf-_^L-~j=h*|)eT9#1*M4C7`g0&Axyaua7~YVwJy;$lf9wSoGe$3#t&jA2 zP3^uwbC%IBkv7iqshzV1th>o0ZFb#78#nYtX?GFyj?Sig?Rp~PJ}WxGKGvlEcl1LO z{t3b-i67JdgwZMPd#E|oPlT{5n~`zBYmd%z&j`9Egf0#eAK-r?L5-tr!OA`AAP0$q%e7^q<$g;+RM&A9%0@6s%VU))3_@|V}oty20z23Z{|4g zCk%fi@8K}_v%pJZ{{}C^@Y2=Cv*aZ*2w#Ta&oJ?=l)o9h+J@gtxS#j|{ZIH1`7&@DutDhd-tg%k! zyCK3gwA~V15e}N68o$->2H*M6$k3-l%$w@qx$?gOXZ}M6g?Q&h|A}WI=0(-aPq*?N z&^$5nOMOA+iNC`=tmeMUGMj#|lya7lN74zAPN2l^jCb#SQR9)PLTE_`Iv&{G(0#34`$%O zX?So39-M^-VR#UO2MKtvY?nPr{&g1E+)V{P)OU8^jHf7P6R1hx+c~F3PZYHwE9P;q9c~ zdRlX`VdB6Kfv+>%t`3h3gFixjjFNu4(x;rA{69cEdU$q-_-5i;iAN5!Umc}hbxt}$ zJw*=_Ur&8er?O8AQO~m1kv(jv33$pC4O8c5IIoRt1kPsd`%0dDm#6AI90RWrS_yC^ zC(FE#<-qN9-qDGH8wV~rgA7400qpE)7}g6tpI6TB5T@HtdH8ABJu{Fty}~ z`ceO4uc_sk_Ony=P4DC_oD;my!hTfnq|ds!g0|TOJoW)kI(KaCt#;li_#*f10(&ca zYl6K|u-)mfcLIw}J?DFTyMdK16l}I&d(vTVwPCSK*kfR&g9Ur>SAgwJhkZ4$=)!Zp zhl&hr75j&RT@Y-4I&2}Z#bzvweWdIH)@d*Q{2So9b^>~vhx@*~?d6x<_R?jK*Nzv{ zUbr zk&iCBzs^KEMjL&>m*1l_Wc&G(rV%0k8h<2_EB9UoZ+nl_Q9e)EY2(vj$un&sL>mau zK1QWK!IwOQ#%SZT_sEFPijLx+0RJRyW{h-@>nQR%iyWr4{Ym1dh@U3D3;1r}dw_2w zzKQr|cr*!*rbu&|G+RlljkM4i%763{?e7Bjp*=+#PiF1gd4to&TZvDC*9NT|?)Gg5 zmisA79Jr(THr&N0nTLZP2Uc=02h9ZVv$XGdXfNnaOK3&V1L4y)J<<9#wR3b<5S`^` z-hH#=fwb=7TkDv@G3|&r^(TLWU5q=f^U6iI1KOR?zLGpN!WZ;QteJc|x=-s3t_*wS z2%GO`x!d_!uRNh|zHRi)xT9|-eAdhR(%LV&;8*&Js*Jw*girbgSfg)%Julb+%4_Q; z1G^Pi^vx%HAH3bbJ|!Ij?5to1(_!;~MTdOb=n&`{9Rlnb!49RvzU03;9r8T)30_Wz zob%k(ukno;f8^NfdEdCg`)$UqYY+V0iz~sE;>skC)I$;dG4=Wnw8hXi;;3uIoyCq* z>tw9a-lVt~^`$t*yARM_&ALpi9NC5LEOg6=L(juY+g|U3Z(}~a4SB!?4*9Gw^{hFc z)=b0TM8Hvh60YMLd2#K{WOE&QCL#7uMZLoMSuorrmw--r?E;+H2*a{mal^ST+82=RfnS=yyQp-Fx4=?=P9R zh!=L=ZCa)u|Kcrunmbfs*P;2!?UHHa!rNBvab#L)znZk8p7QAJgw^vcrTH$>tRhXV z-xSd=X%5%%ee@hW4Z>4%ryjhl;J;g02RC!262BELrT)v{bv`hK$i)`wfc!)@x$pPc z^MbTF0=~fO`JWS1p7S;+_$W9eSmT?Z`&KCT*>4{)>I0P$I!J}vrf{# zqE8`HifC*5>H2e|Z58HTw5@5kKIN%4tXLfGA4P5cU z@Bo0}k663Cb}~mgb2EfbFkz1G7Q>HhCP zJ1|8Vrs2gYe9}nC=>Tyt_(eaf@wfVA^|vwh{pO~qmuc$r6nQ0W$!~2Ra(lWx5Q)PIx50ObiZukgjxT|fBnKGf_t^_Jp4 zGy|k5{)b32UP#@E4){Ux8zQfoKd3$`v2CtKUib06i#K!W|ED+jvZpt^{K#XCKJ?!V z`9Dp*sT0AQHLh05f;@-Y@Y`|JPlWo3Qa|Bt;Cq1YCBBXLR^q9vNC)9g;=A-e;f7WE zov>Txa0mZ)uUa>1Am8=mpa1AHEsHlfU3fE2$jLYJ60HNeWqg47oAW^5n#tcRbUbjJ6)G#_3yzCTNT!_+~HvL`6_GUdO3EL=neE>Y)6>Kr{2N6#eC zGYjaMWFu{+2|el2Ge3gwG1{iaOLNqp_A(1BYV?#H_Ih8OZMM_n#bkA^<9y!7=xmPr%Z?)|oN&@}CsyeB)+ zeVumuGh?~cy03<|J_$|fzA5}^(iy@Z#*Oezo0>-!;}`M!2@g<~L3lDu`0y&-N7$|J zSU>*{tON#NNcti2p}UFK=sxl<-S-!2Kfq{y z9`NEL=UQtPUSN_oSBNj1EyQoLbzdR4;+NqWFye>Neefd&KNLR)&fFN`aoog88k!$R z#%Mp|=)MWR6=WU}nj){$$p81yeVz0>%a%M+dIaeL2(z<#``@a^)$d z`U2VLF`d9FSx-ZVP*H&);NAut#&V2Y?%!dPw z;5WHzBpZw_a@%qy`=uECi&IxozCJaoVQG^t*^{K?DfCh+&}(9##U+LsS)yq+=P&uFme-t zr%`x13qOq>nDWs#(#9!6f-)?erj0n`r)1LJTQTD$%4XUK{FII|ZKRPl(oc8*H%R%B zF}34BFX{ACPXox|AiQdXS55G(nfsz?BO%&PcpP3%z&~gNOS1cZgMPu#9LC-NnnpiC zcMiIWpC?}X{d1(RGw-RidPocUQRr(vAzc$9-7x9Kp!+4Q7rOcCh8H8GI|+oXk6mm0z zJe^h<$yXC;l0Wm#7G=4YxqbqA3Fs}5mqlnUK~rfDWfhwKU+?X9@iyMmxc6k;IQ^a< zfAq1h>AV{0gh@y1o`N_1KY8`unHq)F2}b!|;o|Xgyrxg=o9}CtSa( z|0nF~_i!u!cdY9F>nYP=c*=hP{0 z$9%Q=`&H*LhsfWs&kBuD)=|nyJBXg7p2n!hab#%%`JY7or>Ns;>VkG)*74wH#&&?b znRbAT$EXMK-;9&tZ>$T4j0LDq(+&*Zk(DmwrW+aPfnU9TOLf!oue1Z|JdA9rKXKc^ zC($Q{rrH5CO*??@9CQ_L+5vf(BYm}#R9dP-=trSH3;iJV86w><>8c(48+7MrZ+bg% zp8Oe`7Rztlz?+MDt1`iV3$%;Haa#u6wHB~D_+y{t z-ROlTyKOAB+B6c-k~|MG9(o-5&A=u|Q?y;VW;|=!O9I}z?JYoi3s5ej>nU4^vZ;^N z*j@ds#_us`m@z!(5Z!k4d$idE>2;9ayGYO5m%PqN$E6(kkG#gL?*dHEpEm3TNwe%WAt`p($^O$CtdOx*@M5= zZa2z*Ak6t|%3$urpbR0(5K+Dr zZu3UAY8=^e_XfAaOV&{SLT}%>^Pla0>oG?Un)Syn+aB{c=h6Rt%jMrQh*JJp${wTa z$<92(Gp+x|;8l__nARHI_8F^TY+M68yqu-3XQ}H*+sfS?;_WPTJxg7iwc;A;P4z{c z>n(y`{ukO6@Xd}+n}yyiI7X*|r#BI0AEvgbabtvhgc`x6P0Cg-k1?L!ON;}PAYOcQ zZ2`6R*@QjYTu%P9?Ai*jXDh&-&Ab;(z0AXZ*)XbXx(h=0ZU|pxtfq{6`F8E$Vjg?A z0_@>5#?TmN9zF@@OYqv|k;dlC$&LOp{1FetABPWV{1NXQz8U@?AJ|pVHf;VZp0@c@ z;^hxGhCkrxZjsCJ=kL*5Zo9D8-E8~Qerz$GaNfyezLK_QCRr-<%968B*5Z*TW1np7 zt33Aiv?;Ya@x%89+EEemtuwO4_$9Pe+K#oIvjXM5FNce$&tl3-JLV3Vz5r(oBJMD37po=~RnRD;X3BhCiFK70E zbhi%eBGitYPa==hsq{h#`Hs|3XVlv)@-6tGowghu=KCLZ`o8lKT!go9?7NUY{KS*G z3kms2(HmQ#w*`7?dy$%SJu~!h&T;5kir3nV#>Y|eF*}8S5LuG0Q5!r-7<#kg`1Qmi z>$(#@BDo@;%A@QRE>U069sCbX)-L|~J)D!EZNEt}BU_s2&3@|vYz%hg_^j7b7b;ie zX37t4y;IkrPUx}*E}a$WraYs5OZVugK7Tpa)?4$0)mDt$!auF2&YtkxmD599FRmYX z9-^Lyk&O}B0c}$4MQc%N?;DY4Z~q!}-}YQ3!^Tdc+?JhpN_Jem=-u-z_gf!u<*93v zS#REm9l{U0HmA>zPP4u1+EM_L0-T zlZSQhW0S370rfv^zfT$(t}-(6A^3Bp^9JuI_{y)oq2TDR{#WE}AACyDpbx*zw`rfk zK~EhhpDCLooiB3p>*$L!2W)-uDD|7kUMN60wC=OoR!H;ZjPUS%J$QS6&(=rtzo7Z` zs_~QB1o9n1zQf3OWWdK50r?-I4;e=0N9adJnO~e>e0-8|@EHAU9qu6R5IBRhgBp9h z^)BcAFxu)T+GZp~2ka?a7#-U6a@S)4Urvw48voks6nPuVRT~6u`H8ri0>5sG2YcB-4HYzxYz6m_R}WsF8z=3 z<~IAR_py(rcyx^E|ElQEvOboT8o$2$DcY;^pIOWAL8np97&=aGdTG9=^3RPhhCy#@ z?k8So4z@7nw?3iv?kQ&g*$5&VA!NgzL)+s)pX>&YZtT+<(^ImQX<{G!muLsAs#~9I zdp@DPcK^N~3_K}&ogLh11*|zc2<)o`+m;Ud%fNmNo0+c|_&3?`+HVK`2En(d!|w+E zVcqfzB@QSej_;aTi*Qa0OxAvG_!i!FOwd3Y~5bt8K0cbvD@RL+^6!2 zw8vUcn?xRD|Mv*>s`i<(tAH1}KPgq$;^j5gbx?H;%^>w1qAiA@seV3i$WI)yQcwGZ zkD6zNsMkO{@g2m`W`poK&_uWyIQq>1c@82gA!H@ofXp=_TjX7KcbYQ=>wr7xPm`h5 zW5Lz-h9A8`9Xz$FKQ;5o|KR;;K=;M{jQZ0jchK&R{zBi-`Sku@7$z1 z&i7j%_qHczeDwc^`ZV`>{*3Fh>_2dQeu}$Cz4e)KeDhNp4?U{)QhyrbA#|J8pR#VU z`(E#O=r`$$&G-TsGrmCItv9~tz0&wXIvgFWwV8L{v}%0e8EbJKC^ZIi$6D?nljB(T#U1Ps@SUT9l>no0N=pW4(hdy$y9Qmg2^NuO<_j<-Sz?v}* zu-_M~`cKbz=;b$i#y5i1_y*YT3YLD>3ws{e{n#qi;Hq({F%EcUj04{D!do@w3WIkw zW1P=%ujJ*%IJ@2c^=B}?IY6Dh(&L-ss^|Z}G*|qK$X5PT+ONSSNUpb%H=yRch_b=!9j-9cxV&&^^pOLl?PU zdK-G-Bx5;XHP;i|5#5c9jhk7o-i}{H+N`tf73^8Yqf@wPa5S&rJD~4U{4yN#pg&_> zF>pq4j1SBF<{VND^R8}aN6GVNw)%SV7apD&eyH@t=X24ctWQTz*y}*%93X3@TC=YJ zKEPat`JkaETee$YuIkzOa#ep|QfvFfpJx9Ac+qbGJ_!At(C2@4XIPrOi2UleU}2A#g+B`jti!oRX}*-xrLV z&gqqOShID?o841OI!{vGuab^`Q(`t#%`P`V;Jwk#kojx26sz1bN*W*To~<^K1X z?3b(ixhwsNTYcHj2BE=S`#m+R6*1?24B6?|eTuj8?e}Fp8{q%-)?ZfB4;E2B`MAOr zKSX{s_pgTET67pedGuHt{$ReINnymx#ABnw+`+w8UPY;YQU z{vU+7Q#0J)+gC(7ImA8qa@9-(mw=?bd zRSNI1*D-wLJ3zYTe{5*{$gb9eQ~y&2{qN>W?LzA;?*G_DV@u>$8df%K$=-i(*7YfK zu`kP{d6#g2^KJ4!p*;hg1HbL%{WBr>9)d>I*01)f4n*%(;$@>$#63Ol#@Un0)xM zzG-a2!10lu%4qmRo_$-!g}Rcv$IwxKrh<+s{xV$f*|-un55 zx$AXp{e<=+6BWoxrJZiLf_#!k^yc3hJ-e6sCr;zIzt`PMk|FBMm7xgVk}-7WH@o1y z@FU=8Z$f$QboM3gKK#T{t*faXD5v&qo?ewkiaz`^X-FTF zW&mEli@Rahq=zm?o{g>kGk)K9W^?kU8}VNty%&5BKXD9uRqYe1%u%Pz(z9N9iLswO zi*tGFyH2h=|^==stTMM;FC#v&pC=N*FKEdb9V5f zz|Mjf>tyY(-L9LnoP|_+cY~Yp9_oXnaR|MC7+%$b-vB=AI@(9qK4Pqn_(Q}WB>pfy ze2v1_7<`?rB~1HQ{@i``C}Fq#Mv;-(nw9+LtGv`}sGPDAALRdy$hQk`_(8csexC!Bg4+YRe{$IaZ0?1mYmnYXc>@Gkl< z=A5bj_ba?>CH$bmcdUd{Z(}?7PwRi~yGzk`-^O;+bKk~x!;B5h+t^N6bwa;Gd9lGj zM#D`$YmhUP9mBWuHRhlf_;3b$7|-*cv76z)FmfF3!teK6kzO2aD%^?d zBEAhcWIce)n|W2MkN(&9x28`)ZZzle?(NAg;KpU>_we83eJ^6O_hnhNe zV!PkE?}PsPZ^bpTXM7BI6!;^0Pxoj}-=-&dvvkKDErotxOEYf>KN<{d{#Y<@;Mrhe z^V@E@qvdV4>~5*6+S+nM^$jfrx4f=p_bp{Dg~8>`1yu!v?Qg~HuG&a=cT2&>od*hT zxwYlK53amLEPd$BR}Fb@B=4={Lv5th$$QyO^zY3mVyK7qux(m-%matzoq=Zjk#5=pMxj7 z`h3v0M`kwUN?>p-IPB!lcm+W}zfX-(%GM2eN5ZGK72psr8Ah`K+ z@a%K9+}ZMZ=-gO+BfNio%j37))$##&+gw#>!rt$916#wJwblOYmc|{owPZVKRPi>h z?uc;t8>Zeht}LMLa&Gc{aX-912CsX`zt)I)9bQLSi|Bll@BC5pK5H%K%h-e7L_1!Q ziJdLG7;8yZxXbd(M|a$GVAmUt?mN2U7pSx1XR)2RNqEilZM;+bot^O7$PzqTPoDJu zt^8l+&!T*{wtPGo+`OAI<0CV7wS3;l++8iVIkc*Qt)slnx7-Fy$bk)|!HQ-haLxW4 z;7WiCJ8!%Y;9_ZT0p6Ino_6==>aU#k+{xId5IdPh#ydMdNSh+v z_3Gq$(wZZ!k}TgB)mE7+_3V0i=x*O1`C5+d$T}c7|41_VKo}UW4oJx-vN>CXjFvEd zC`CV&u^(CPx9&$yAHU_knS^BYmVyJVx7hk@2|4{Mbl2`%cB6}4*YfLpzwtG1Y!Te= z+_K}quivn<<(D4$!hy5MVuHTEjW-J0aUJhEd;di7-ybNu%lE)z=zYk34w*-nHEJ$WsT9+m@0?Xn**- z9vMD>%(cAsk*5zJPc64U^2`C`rKR+d&m2G&$j`_D>bm7W!kdrMpL+LEZ$|3vN4*)T z_aF6Uq~3tkn~{14Qg24;El9l?srMlDX5?4!h5uE2;r|1^@F($w|2)3%zlJaT7x0BY zg)jU7zVL(i!VlpKKa4N@2)^*6_`;vX7k&(1_`W(DKMP;@+4#cG!54lmzVP$#g}(t` z`1$z4--)mEZ^ak>ZTP}3!5986eBr+qU--A<3%?X!_nPd-zIvmWWOeQuWX;T`MUZv>GWr3k`KJV{XK5qcFdREH+aO>?cen6 zeDg=hYXjq=_o2(X_#WEv^ntVVe|7o32VS86Yo`BezNNCo@AMO{PCkl`kt{yx_+N4S zfaCilPyD~r@%@f}#PN^fzm0yy&~V~*-gn1=XUT`+{CvwlB7a9&%gzrDT~>CkryqWS zK6Wik;&X{Fcysf@(1!|tm-ydRd^Yjf#QWadOut_EN5ub;;;0u30zVPqC7yiBY!mq^_{(p`y z7$-UJ!~ZPC7n>MEydJmS_~Hot&*O|QKF9dt&R1}}AiA5F^S^#aNg7>u&F15*+1T^w zK-ygLYR4ls{aw(1?N5>Z?a(j%sn8GP{AA;c4cmUQ@x^;s^K$z{%|(wm{oYZ>f70>4 z;`jl_f2I3HjWM2KEze!Ic$9UEj|HRGy_To(#qBrvzWD#`*r~GRJNZ1P$Ter4+ zhA~dzTe3En-Q>GlV;qfdo?&dEwVzj#kKS>L) z=D*ACyaZa%xAS`6i)MY2vogx-6Ur<0)c@kitIH4f{f2pS#w-22pzbKsJ_EKX_Irt( z`Ka_~z39fN3_;%J3sR0?rPj~6Z(C(yk4oo3LzG$PIkg`d-plzS<&&~=F3ibi`Wp!k zIXwNIlh2I%{e{qGJ*$F!&k$=`_4qYg{l}|ssybe>)pz{1o3f4v_&)%gcQ4;9ugnrRX})cJfBhwFcc~L|H#cQ3rtAUA5oG<0{d44lyukMmbtjq8 z{&EO>yAGVYar13?d81P{-FLoPUfyf&s?8uT(01>I3w8NYZ#D&M?eYiVBlmgsJ-dax zAV)#Ihi|sOi{OjuN&F5`N7`$ayvb&$MfV^8zaETaNo5LAcEM+osUPcZK4j|Ds`9w^ z?aZ6~y360U!(G3|jy~B*S}{NS+_aAmuH27&l)Kh^NA~nd#Ai)AO$&JSIK#%O3wG1yJ1fGtbfy; z@zeY_LmK_au4#j6cR9}vsNSc1I!{LVf$1UrUg|hZo23lV#MQOg?+<`adHuZIp?fyH zWqm>K$6iBO!?e#%%Fv07b~^1-ap7_Drn;ZNpCpeb@K55#_$IFr@~r$uh6#`Otmr81 z^(5iiRd+uScK3F}!~B23kDXVp+50wo$H-%-243)=?6dv|`ydzI$RK$Mtjdez>L1~y zY`#q1#edmC0sAe<@L5L}4?&ms-}*UViPN5=`*yYJJnd}Qq+R#!*#_ypLynxvX5gJ3 zS@r6J-5Jie2Gwq8GtvoR*2+6*PvH{2(aq+&SpVDlM{QoVGeP=`r0!t@J^-HGZX7!p zom<=jK6$#!&C?d{Nc7~%?Vn!B{G8&hvMc51hM!@6POAM}fj_g{WhmXE{nSkSd34qN ziEiI19UdxOsT1kx3hGUIIY3|WsSTvf|I*cV-8gR>IsN3l~=_AC#)4xRKa z-u|Fp-zPqbuk5MHerg&!sP9xdc38z49}ph~CIXEAp(A&9`m&6T79HJ9M<2TNZuQ54 z@%ge0uEta;nw9>2E-l%V)jYJ*yb%%*yzH$g&p%OiZ+-o5_T#^g`(L;-xZ<698)c<^ z{f5go=^h5R5?sLxZvfZIcO`GT_;N?1ImMrz!jF+&6uek6*NTR7 ztr&1o;F2}C?R?We$F|p4Uk7&1m-n3O&w=v|;^v8)ht@oFIOE1WcDWY!xmokzCYRwc z=c(snoWX4JTd&J1c)d7Qf>Mb7|wbRvdht$BvHstz*8t zp2#5dT8T?kTY1>6n0iv)b8@Fuj@gTRhjG9p>v4y%CFZ~9kLLD7@Mk-@2k+q*1_i5h zVgva7_`pR3e+YMw@75}-8yScJBRth(te5W|eEl!DI$W&{8|yssg^xWvH8>}_z#n_~ z$c*UEbrbHw7o6a0aFxQZvNmSHJIZ?lejHfwFW!mYfe+j~aLK*6J$%=5pWVSKs}R__ ztc}mPegd3a;`S5g@-ER%nr%5&0^A6=bBC+oT|rNz99r1Yt88=dFJtvzhP#!XGER1f3Aegx7WW(2GDXnS)Du^n&!x6!l+JV{QEK^Mk76 z+z+D{pgUg+ZVkTRg?EYeebIv}oigdcRbGS(jrmG&EARy`ybHKx53Y2|ga_A~?p|=q z!4MV4BS$11uwj_xHF>Tx9)&{bMX6h_-fbE5AhQGVtnA{fJ>gn z&G3B*`-o-kf&#XVcJKNLaPB1Te&UQwK_^kU!CI);U?sp^05^FGH_iF}9AxUE-^kSK z!FfA4My9~oMR-49)tTEa7Wblu_iV5h!Hn1bFUZbD_keiYmOjBTTQ1MOmi z6$f@6*yI@QB;RK#OL6A5xu$)TQkD|R0`3C1=HC8M%5s|X>D#NWzI_yLpj}Xw6FzGR z{NxC3n0ri5ajzXV+}GSbwr{Y`ZQEciL+2cHl0&#bpS3*Yx6bAN1npxBJTKf}orhio zdU}5(GU>NIhHjOvoJUvAQ|EK}@HUxe&GWypjqIU*_%HV(w%)$u!!Ha&VM0$bm#&z*MutL}9Y|*^{>@u+WUvQnc4i^@EEt;;r7VQ}DVc-QL*mhi-aIx1# zrc(M^c?UOsmOP)yv*N(b1D9;YHS^tzOfYwH^|b3tzFmFd>X5`~(wxb&65#5+l(`;9 zE*qiMVCQuXo@Gq`6zNanfJ@fn4wH5#X^&-2J53%bLt-kAyW&V2+y!vW8MTARV>|MA z!fsn>`Wl=y`kFE=PUKlj<9XKNA>kiuLm7o?~>f*0Pl9Qst`zhsr}COx&yc&FL{vJKoEaLGbk zKHp{1cNugyIBB{YI*E4Vs}1=AcLCgF4lbE(C79zclxEP~;H=Tz&|PdL@6E^;_!02u z%AI<<#2E7;?gHc5B6N5CI_;#1ayL>IVCR8NF5_Z+Z>zE5hpw`%G*Fg$$^z~JxXCc? zEM+OIu@>sCp{*REtsJB*;4gunJcB!(P1$O!r5b-`-3?#XZ7X%Om0H>gbk0F1IfFZu zZ7pA_w$APS3ED~xJg=awKraHlSwj?2F{F! z%b{6@Tmcgi>^N?W@97n~?s$8y6xb4A^}paw;!e1*8OGYhz!w287{QL>MufZ0Sa&;l z-iAy7HxFEL7&pZCR5kiD^LW?QE$)~iv4u1XkqK}k;Lc4{+hdABX!YB9or7m-x?8-1 zAMt$B&%ptg?8Wtv_DRxS&YX6d?uJI{+*Mv?k2tSXPFb8$+gZyF9N-}Qx312q2GjSB;KpLN07}5M|Xpt(!ZynGs8Sp@WN}r z)q8NIyN5lv%9pG6Pk}oPuHc1t7*O5s*#9(Rv12S3UD8Mry%k`=hUd^aFphpMk`+v+^2Um`K zH6dU1wtQXHxO(*%}gOq!KvH&{|Y_b?v#CI)a z>AuRg(o0!-C=0j?;3l`>wosM|%F=laZKa#G(nVRoUjjc_h|8y~?4hl+Uq@T%q^)$& zR-khZI>{Vdl6h$vZKe4qXe;gTyp6U3y$JM@mzbZHIyx4aOpUu+;cYXH|C1MS7g#S? zt-Fy!GwyDJW+QS1Ohm8=T#WBaRjKiOYTVrbY(230UvOdESr<0Lxce~hhkzH1V9(%A z3wPCAOnE0i@jCKci%bAF4_tBvcZ%qgAg1-cQ@&s;_b&?s@Neb7INAiu zVdQa|b&{OR$RoHef7j@4(mTH$UT;Glp{IKk=aLSuhoC=z>nDDKbt%q2JnAb*Fwgql zJa4Bz#&>FMYzzD@q|Sk#2R_-0>*0H>$`ah`vhrVYeXT$A5LZTA0$Pcj!fDOD;`#7A z2O8iez)g1Jy0W-CuF9&*%6rMh(YN3qhsK@IxSufV5#L+L*)+WX?L?CC>?M5g7r;+; z;yR!?Qf0kAYr{)kJcWhxC(wF5wB8P_4-mHqy~Ugxr?m#QaDg%IGCp(`p_6QfF84A5 z^X$j7ZhYzE;NAu90dQNuRooJItY0K{5x<}K2Z=vMJY$pZVaG5XB+aEnjunjIptsn} zofZRCRv119Y6|;)p8HypO~myQ2M>eo#FrHIZBcw9@!iD37ZaaT*tb#f4a9d6PdQC| z_=dh5;v)y`b?|6&mF}%TpF80u!klSNg&PU8hnfmE5Z=VPzwVu^`6c_FOwT^UTl7Aq zvrqM7W;)uRarXl@US>Z)`w3Ut3otP1bGO0o81tcV_5s)*7zg(m?E}DHv%Va5_5tAM zY#q9=93R-UeE@e~L1Ty0p7nTe%vwG)W?8R^Bs1&-xVRcS%y@9YN$nv_GR_>yun*wk zsvM_0xZZS`H$@I##XbP(MZt?PCXQaZhJ65V()IzMGdE6K9YLSh&`)otPg{n^Q?&b- z-^#cT0M43y0O-c)Zz2b2ui#&CA3%9W?zR3ui>`=WB-~26^|-_9>;nL6*7gVS2Y?4I z<30eiP2UE5te@{*{DZ(Af_5FQmhV>XFLCz)M3=mneE@LhdI)#p3r_GgxJuz?=-;ZE&w@AAoe%^l#8zY($4O;1^%RJ^*;@_HXs<1024NeE{<3@^?-DMtbKD z!Rv$gh44Bbe&yhj=m@ucYAtD+`givMz)8(1YQe36*Mb+`C3Mk653Y2|lm}ON(R>6N z>+S=%=}M`N?S{UPJ;c{1@;22dLICsU90y2pu5OkLWI45Yu*O{*R&1x5a!tn zxaxfX^0B6Uu#d37UcgoF1CVyc_Q77l5_ixyAMGAF55mXw+}#mQfo=t z2VlSaviks}CE35?J^(POwWJI5fy=B7bs?kO$Z999gKx8Euxc$yv=hL`fESEl+i`8e zUA4Zbypx}Jn01`9*RT)Z;g`|Z&`F#j&C{$UwUSQrRqg}0>Cce~jtj8U`%sv2V zr^%zzo@Q-xinPJKs(k=(*2p7tuWKIwyo~Zl8rQuK0Pec-NP1=;VDt+60Im*|?jA=b z+Q~Gz9IvaxTtM>t1T9a$4mz)49{`**-3^^Y2lCa9d=)Y-$iIqx0C3jm zZs;zyk@wc?*araDw9_Wa-FOZA0OVs$TWPq)eE`zV*j5f*$36i0S+}j!UFSXk`MYde zse$K}>+A!NAEUdWF;@X^_u{4*?@!?-SnFH8mIRzxOWFg?a^wn_jQar4b;sLtWx$pK zI|l4HbWh?=@I9^dEOfVMddJ!&z!w8A7{QL>MueMTEeG6qk=nvF>;r(~@+&pg-a?v% z$oDYm3{mc@*#{8slzu+x=ivIuXD_bjGW!6)r^zEU63J`a2LNY{JVJNz!gcHefR|Ao zN#nZr0l;Z}RAH{j~|c5$V< zM?AR7mpksB0rwQRf*0Ol+#wIHboa0a*PHG%xKrQ?UU&y_bsk*l?jaAZH{D5aC%_fF z@M>|DqO)orfb`6`dyF~wN#@VMUDZASX{G6I=p;^D<30d5Yjihs7l+CF&~@wsfNR>x zAmtvQETvbu4?sTFw3U9!(t8d20HmF}nBif>%I50J0;hPC?uS;VK- z^-a&|qe84{$qr9;W2tri0iQX` zcn|$+w4XO;e0ihX`|)Y)%10wZK5KT+XXg5|n&*Q%3vS9LEMcEFIi`NSmwkd|zr9aD zINBpvzm<RLY7<3B=b4GU*`p?PsF-97C12}dDe-A!$#+2QdOJ8FS)+bW* z2}fD8n8n`dvh<-HQ~pom&)}EgGp|h9mbvsb9_sMWCmd~uKDJnwrSInd6m+Md&zv*H z+|$^fH4$!x4tsa-GyzY)$C-y|_>fSU#n;#r{v>`8KJeyU@CLrI12b@}n}6Mx|I)|6 zk*{~CALaWSe7k#r^UyNy2an@7vc3VnyVfC_w2kna_jTC=%u9R|JblN(=^;E#xR7v4 z2S7hQhMnU{{CfPu&^m-WNEmy#1m^_q&njdeFE8Te+2eyu8G>z}*b)0dUPe9(c$|;(6k8iQi9r+CCm>E{!19 z!#LO3oQ6GYxZ$epR5J)ZX5>1od$rah-*PyAFnn(ZQw4fyr= z)QRrwm5ry`U1ZwRrfCDwQ=T^6X3J(QXF~${e2Mn_y%=wwBG(CMzZ8LP4EnmGH#UwB z%@{PzS>h58ZMElC4{f#QW@u9%>(Yj9O!*$eKZ#$84^4AdevyZ^+H#YJw%T$dw2@yg z?cl0>2bJ#=@O2cw7$2IlAq@<3|1kT_IkcmX{{R^|NPHbI$VqfN_vHKhPq;c0o{Xye z;%{sOe;6P5S>ThkxEj9ESuyZp4O+V&`IoAUz&&(XF&oq%q9fcD&vUx^RCWL@^E3FtI` z*#89W_&M73DDC>WJHb!Em+de#JXt($*^>Kf!_urg-Ztr{2fqd>~r#%MIkDNJl&XXT~B8#@Dc)by6 zeD=_FAA#8)&-q3ByxjZMKki8HAG@&y=yA@+X`VU8*y%9ms~GEVpx(Q6HmZX&U+vje zjJ?}v8IJ#TRz`a~+Fy+vwQcgbYx@h&u>K<0h;TH9@u$sGtDl@O_Q|% ztqIHnr!kerPxI(ybH4! z@7m_m4?Ra8^XWxsF0d}J$ojwnxQpP%58)0%kM--fXKhNIzY>nZ!g0$jx!+HmTmD7X z4I->BEJ7m!jd&fdmhYY#(@&W3P#blEorlX0opne!{E+S7{9eif-aL5P&yH8}jopXf z%Cc@SXW8T@$cM^zC*S7mkNB~Na+KqPw*X$e0=E}_uy6i;;9PipF95G{?Be@DoGF9& z!FoZY1Rq?z9~0k$&tCS&kV(mynFE76SIl=2j{oE3xU$uAVCJj9MZlTcj=v2b7@ez& zm*PtJ-m^m2$hzom0k#ld{|l}dSLDJX=c4J#xoGDrj4v3$ZpUpC?kXND@8Bkq@beNp z0d5|+_!e9t-{nxk(6QUGd19^Z^T?p)xh>%6 zdx>;)-mjJL3Bt?B`Z8r-I)iQ6X>0?)Uj{$Ej7uxL0|jb@fa@5 zx7!X(KTn+{S9FnS2QI&+;MF8`1fKTH<7aTE`MzlDp|o~DK3usr?Eo6ConQjI1@PiC zxKs3R%l@_P0QfcS0GbPqJ&4ZGMZk?u@Vi)n3DrH4_tg0H^eu6aAMrQwjDTpO0@&=sFpNqn1_R_IbnRz z&Y$d-(%ONWW+iD>;DFP(Bi>JXCrR&2=Je9qfzreNVzHd`z+D74-h=C=jz^g@%=p)~ z18~-~1In>f#+pqj^L+4^!H;+0I%x;Perx#@XQmR^%@xuP%Brs14m^BGYX_u#t_1!R zV?zUd?Tg1daP54%?LcGFX5?aE9ex$TtL@Ygc=O=J+iy)movh0>`c!@std(oWD)0#&t z_A)ov%%204l?GW-qXZ0ZXxF=y>0ZkRZD7wpEK zIb7IxM)4iQ4-yYQO#EbF-#;t9o%nv@DW8cSF6=u+e5BhR-$uKbyU3o|4P*Ok)-P&pe)Oe`~zan0~j3fzh098}p7B^P_Pe^R6Q^&-mm8H++k_f{-U z;)A;guFfK8p0_}s@9Lhrz-a-;j77oOMObqT(?60Y*?ul{QFg{dOW;Sq*ZeP{Gfm8^ zAA9&4gC@W5)8t*_6vi5w=V>inHp+4S+wYure;?=FMjwbw~ad4f)DNzxUN0(Vl8K6 zV)k7L2f<0*BLdDl2&dg40^McC4d)m)ESEA5D1lBft_b~9$vmUqz9Zq+z)QP7#8dvX zyF*Chd=7kId~qH+5$L#goXAe)G1{u+rH6WYFw1Tm@k_LWi;{ETw*y~@%jes`e{H31 z)n37kUjTj?c)&^U`b!+3!?<5GU+ zdURz^yf^ZvdSt8-nV>HLKLWmcCrRXzpK;Er`~$Cf#X>W-J=l(E?v*ZDIjvMlD9y_(jLF~Us z$E?+z#6Rt~b&vQXod$lq4j$Fw_}{(PWQ|S(PI^9$J(*PiZ>MO>-M*Vl$@oYS$Jy!MJpR zxtgoXTz`@D*2ogJW=q(OEp{SH9nfgUwINFb$kLR3hrm_I5_V_jlI-(?e-3gXWx z$sMot!>bItDHQoO`!Jg1a3S1~QMITwbNdYmKDYKpl6I zP6ssF?fk{zQ<`oQzu>__J!u}s0jGN(bmw5ApY)2aQl<_eQwK>8+$C_6&A3KninIPp z+pj^U>X4~gWD5Lq;Jfyn%bfQ=cfvl)yhgWOPF8B*LnX4(K>6#TcNlkw?+Qn^QT~)} zgHF5x_`TGXU<7**S7*b26y0X_z%&+j#%s}X;LEs!Q80q7#nrg*?6X1NJ6?;H0$&2W zU<6x<+v~!A-OzW(YtbTLw*#yH1-A!RF1%{%ueg6v_qIK&dl^Y%PI=$PoNWtv2W}3y zWErkhYgX0FN2+;a-oCfZ^;PemB`$Sun`EI7xywfmz||g%?s?GN4GC;j7wYUY?wh1D0Ffc`<~d*>=% zo~8N(^0FL8Ue4l^UWD{y*BL3QW=-H5MmDsjFJ9@s)43V(3z!SIW!7H!?`dbBH;=if zkv(WePeF4U9~kWynL8lDd|zbU!=dYr+oDszP5`U_6TqIuopE6^$n!YxW55eWu%~e| z!mUb|QSxEx_$2-b>KM2=;F70s(|liGE*Y-MSjR4}+;LlClr%@EV{o;Cjy=5CDvz(X)A}SS<}3s=Naw~#Xh1ZI!*j? z6}BLDI5I-I!?+>vCgB_FoU-9UpL}mFr-1t#@)BCdF!j}m-$8u=KL>nr5I4a082S^q z8(1TBed!_DZ50xive|-8ydB=P;e(q1*R}n$?{C=1I;oArKKo13NwVMC1daO%r|dSN zooJ;Vn(%w6haTv32UxrO%)GO9Imp^2{0nvx&)Vgaif;q9*ICn4d{<%Lrxo8yd^how(ZDwr_I;B0 zNc%mu%~uC)SZkebxSg%@{q%7(K+;KCH1lW72xoJ*!#M3^Atd;JcA;y(J%HOwN7MeGjT! zj6EZVZM&R5#vW7may+Sc9PFPoAXT> z0}akM{0T7MsUW{Q;jP}X2-NuYWxaggjO@aAe}wOM%;0k&4K&@Se?Qn2rw2~+^n={L4m!5Y8b1z8F2C7kOC z?;%{^2@et8rtot|(9 z;Wv1~?S$Xt3AYix+Y@dj{1#8RnXumzZX&$j6K*7YpC{Zv_2c`+fU)oXknnWB>CGTaVrDZEsz+ zz3Oh+pLeaYS3QkPoN?OI`~CZTJ06+|OgrI+6#n20c9wQ~dr)E82kq3fza##AfkWhr zd2W&K=sw?X>i_#@^gd21?wyKz$Bf<`NX0#%IAoAEnu>de;*QMd?SWL>{fZ+$TRd_1 zDULi%dE)jfj(kme;{4=|wv(du7Qv9W2@lNOiX(61p13zDj=YU|;@+S*@^;b_ccPA&59#$gPypX6i40$JaJnUN8b89 zahnuJ-g-T81^#_O-mEeC>+!_r`uBxQJbCQ)#QVr2I>xs%yNCCLET2ECC(wbc^!lxx zK3`9uo$r3A3ECrmbQpQ_L93DfSO+n*8u&ipeAn}R()m8j z_n7m2i0^Ud`yk&F&UYPjC;jM2hi)zZO*#M7@V&+PuH<{0^IgF=eV0jlFW>ZQ=6es{ z%xlbdIdsvF^pkdeOZjiu`LBfUY3I8bxYLdvZSw1#jg@d6Va6k=|H}!}f2P94gf$*% z+|ZZoTCuU!-s`iac01ncu|4)6b{hL`|4VC1i-iHeCO@C(U zsXWR%L)2wxI6L*fzC+Z12>bj7-VJKt?Hzsd#uRW_D{*}5Z6(!lpu=xHIh!2NcZhHH zimeYRjIaOx%=;hV-%(g_U4H8czC(Di z8#>4ZZz-+G-w~G%{~J2M8#?g73)H`Jzj{#e+Lsy2!bqTMXU(Yw5nmrOW?@ zF7T`Kdmg!S^ZRoy-6Dr>5p=(@mTrMdm;Vi2;8)W<~}M zG|Ez@fgW$jVOZ#n{^!Ew>hiK>ft!sUsuu<TNC{rt-O zp#i-|9#vmK=1!H)8*Y^kXCHUtf|cYs|KTr~F?lWNH*hbw%2G%CLCSK7`ArSyM`|?> z^ILZ+pDHtS?R?hR^PGI2B|YtTczQkW6W()k)$!^b)#i=D*WR3U{I(t0>%LPc-LIeY z|JA%#_~bA6&iQ^t^9J?|Bw(~IH7^}bh_=ahBz`&-;iZ~CK0&6|a5=f~2aW}gTd zqCZLXB@N^yc+hXgl9DaP8GSF`MqM28Ykt-DsLF}>mE&*k07Z`saA*aCTgkVi>nhYx(90#v!lF1*11mq>3Mx%RwW z_$kT$vd?;--Yz@=%t`VxhHPW!5TQJJA8OXXU;e$(&v$@N+5OJjh2C-xTw}Szv|ac8 zzfQ`hx>p>|uKyT*f;^taKZ85VH+hYaXXRIKrG!smCpJS{KI6A^=55HAlenKc$q_BW z?puW6Y5r&YmiBhxVZYG>8sllKR(IE`w+qQjU{ziuTmJ+v!;Fu-dDl5b>7qZVfY13= zMou+%2@?O&JAo%I?2#eKK-&9-jx2cJFD!B7RqHAbWEdYxKkR-5-!E(}Chv@sG+(oI z;M(^K|9zL;hSqzZ@0HBY$(>iu&-Z?o`B59X0)PJQ3i-L-_Y1$RcV0`Wn{960q`zPI zDJR{Z#ruW-diQ1c;H(M$p38^-e7`X5{ld@R`GbMa;XaES#TBo5zwmaKZ(Dx)?-v$5 z-Syq`jTMP-H0uGadmqOy`eN62f7nq?pEeb~i7@&+6_!n~`p5xXGkW~&0sHO(;G(g7 z`;Oz~eEY4#M7}jUwwbdpo2^-3Bf?>PkgUwNBH#@&b};Fk&9|cTwdSouaLhf$(3oui zw-#K%3vYWqdxYG#>EbHyXFRyz7+j^B5AKB9a8clrO*rh}q7(O8vC4bbzOe{S+TF^~nLD`2ny=Vo&4D`) zZW24PWSIT>?X}kYz`bkVSOjO9edB~L@43`DY3Rl;6%IFq&90jCmg)+T??P({da|d8Hv4r}yC;HuLh>x_VB5XcN7<`p zT=fNG;|@*~nvn}PSkW^$V3O=_CfRF?}$z`c>~R% zeay$1YH;TU!0Fg%%?VEMvc14&K=kK07j5k2oivOMH~90F;FNB(<^?DCGmN9Pj|&cO zfqlW)908ZIO#we1D?p|TthnF=ul>(@zROqH5doV3ccHhyO0*Z4y~+e|#txgYd!h$h z2;K#7ZQNXc5u7wzG3YGrEwGkK3T!)Ua9x|>#k1H!U{A5e)(xCBwqnp-4(D6v#_$<~ z>pZ48>%jPNd2bEz>)7>xcL>|;{;b01X0W5!h7IfmY+f#q#`%N!)`dEJ#=#e$!063|_k+Ki0=4!D%9F?+WQ6Zfp;HSlS?hQ{K=W@~AD zbGohZ1oolj*atM-vzFK3tl>3umrriSR%)|tYYe{5lo(s%3)tmtxyQWav&M!Byo|gi zjq{_MtqUWYt@F^iFb1uYIOa*`W7zSH?O&hQ;Qklt;D1mD|4beHJazE<@cKv8;g3k~ zhr^q#9}U85==}(KW**5L@P}vp){h$ZTYr~*({sN8{-1*X|A7B$@c#gO#s3@lhxu=S z|4#GYcK&PUzcK#12>pws{ci)Ct&9Det$$-~aS^&^jyl9U_RME4ZrN|WnEmSK-U*FQ zLE~SbaWgbN1dT62L;t-9jZCugH2+8V-^dL4c(Ip0uxGRN;xIA;ec3tdY)+~#Qr|vJ z`>m<9>Ufh*va(-y5<)-G4Q>}QBY5HU;(9!|8YfJ7aFr+FLL<=$ZU?x67hX56%Y&}ga_A~ZY#LW;0j)N?YK4%uKMk953V=eCU6_U6}<3T zaZMgv_1h;sxZZT@!95JF;Dy(SYY-j3^*-uR=ZxNuzd(9%@D>hj#)fz^HXCZkz}Djq z^WBN9Y@6Tu0I+|;c_7!9{%axbzdMkt>E;6 zqwoKhy|)31EW7SJlgg?}s$1KFq-$3Rt96|JFLXadEc2^>p% zQ4CUGoAx3b?NGBQOxZ}nYMQ}oJdJm71TEukMn)1Xp@CWB*=!lfDH+LW8;uB?k4(ra z@{vhy0?AFJdiy&s^JTpxUs6@w)f$bbi8zt>@KTkY!mMy%| zI@)9{ZL*pEuL+(;q=Ei#h&IVPW?2LK8|V$AmpR84y>8M*NXzN}YG{+yv`Kj4@R;kK zV`H?*!Fr=jegfU!NB4OD_fgVskZ#-mRbk^w+N1}&)?%v>8Mo>GYAB-`sS?}QtL>#@ z>qxm)qYtd${*+^Luwk&qd#?(@?bv+LW-Tf9%IOEouz4vquf*o)n)_kxv|{slo3*5r zZQBo)VDn;ZUXIPn;3-8)usQF_c4zXeljnN!_Jc*(+>OoQiNmAUGT*JCe{96&ytBwV z=5T!{_JdCPLH!}M2j4z?dNoo-|LCC~oTz{O{ov6 zaIJumJi!zrMTE;6SdR@3j5%l9UIyz2EBS(RBQ6V8IAwk(yh~txU?pF0PDJM!!r;Ys zA!Owsf zj9^1ZKy>rWF{U13z1u_hIdTpGIDHjaA?$2WTH@Nh%`+w*Qjzh8)DF54boFJ#&v^vy z2G${7yZ3p<*hBcxJ*1-O@1n0SAwJF{E^ff*uHpXY8AA`zcRi$H@WkQK7ZES#5SKNm zcu~WN?aOYQHpl0^0c_k)`+_eB-*#z3s!yATe^%^%jWyH9`ZMm6F^BHM-n|GoeFmAv z)}d?oRNC}q+|R7O433>1Y~78m(T$+1Pa%`odi5IfYMZ_cot(Z5-e?!L?!?yU@1n0y zAmiA2`5OLXdHOQ+Z2L0Gh;?A=c5Dq#93FiP8Nt>|*Hpar1Y4tV}j1GW1WJ(^2+8GksYTeHpw7c=Z9K|ExNgzortE4R`O$;IOMJ zS#vtB^Ro8ePGQUI)@{(Utk#q(#?SZWX$f=n7u++K^U@uFUTyEV|Zm zE6^=RSMZ|Of;3xnWqvnq(Y2OahHfdkf)~9eq|u@)^Sd#NuC?3}bc@jyyy!I`9^tu` zJ-?$o=|{C9`b{@|A-HXDdM#2zxQ+JNd@Xl=hfdb~4xSws?bAv7L^p!2UX4`IK09ci zt*O2+Ykr4L&ioGE=+OnWo4BB&=1zUx5p1556FL+dbD(ePJp5B}kFj{+imJIX3>F zYxIY!7gTuVg3`c-!Rl_rMYsW*PuYw=Tu)A)xO_oH{1+H+usOQA6VdUDti|RNHscRv z+xCe|*xZNB(ceX1KSC1t*j8inv6Rhoo^!dLynW&#Huqw4c;fKraU_ZlZ6!7zO4&T$ zJB1Vb#DxoLe;%8|w-28lMgnKJ2lR;p*Is|0ID0`QW-h1$coXpItH{b3bx=y5*mv#0 z^@-EeoyiO85dI+i`ZB*I*Y3>ku&ptFnz*30#}V>%Ke7bQoZoRT<+*oz46acyk|!7+ zvPgLOYHEH5CNpOn0y_v+@&)Hb<}Fy^OuxU|9st`9R`LZmi_Dl<=67jc^WEKcANXGI zf)VUAGG*eK-=(?D_jcPo;Jd*KMzE8}go$T<2Y+UMhwgS4_)hSG5$rfJCc2CjJcniW zY5;4ruMXN*JM9Zx7@R(e3=*EbO8c^Tk3@Mn?W>LU)k^z9H-fG{fb`S8yjSr%v3ZX~ z*|zPgh4$4<`$B&geZ3FqrG5FXs@?fK?~%BkyzQ%z_SHc9f+r4--h*_@86{U$eDP}j z`5o71H)dzv*?F*W9qkLgAbi_PS5tjj7yO-K_p9tDbgVz)I*sSm8th$-fYaNNHf%kP zt=%?#8P}0zYdChQuyrN2MpyO;&|8rfY(0vtoi=?LIytt6H(G(M%ds{3vQL2Cj5J~E z0c?Gg$JXfC+L|(AW!SnDTf-BFM{h(Luyr4{j-Oy_bo2IQl($zxUsjB*;oFB#_aJrj zW%!ruhp(R8m!W^+{Eo5@is;MS^kwiS;MHr8YWlLSt17X2_3nKc9CmdjYktRd9J;78 zPWm$VjeQDM(siba@+y%E(yjBmQQC6All%To=Q~G&Z!&@xy>g_?qAT;e5sR)|pZWeS zj&2lP!HZrgQex4S`Q4C3m+Q{V4a4Y$&=tJs6(eqouFUTSExOinSJ7QTSMZ|eLYx*| zncodqbgktsqw7ak@S>;lJ?DsTJf^K=e%Ei&wU)btt`A+oi(UeW6LwwAp5IZP^rPA$ z-?_Yen*t|$4(L%NOt_f#>Aaddze6W$eh1Ia0^gwK`NoBA1YJFZtn#g^l=kUP^@UmU zJ9Kj9cko7M-Mlk$t0?-r=<6%UGJeYCw9k@M`@FCBchhd(8M##qo;WHXa#HXe7YJ@{k~r|pV#z4pPshp3~0k1xS44qa7zAL=Xdw_jn2X&|2tq$Q2!mkhTyLjc!{4U)tgKf0SR)l=L zAL#>U&hNOF#(TCFxSGL8o?v>B9>N3g9e;n<1hxUJ9Syj(|mvD0b2)F@&(t4 zbeLG1_jk46YrqReux&`IiMM%wR|UQjykG>|f;5|WoA-AW;LE`aMzBptqv&4Ap5K}6 ztBm$lO8WvA2B$Y59>Sf{zOLNc`@0g_S267i-3YpR9a1ZMFVMa^uH5_kyCT|`oA!nN zF8X>kQbqgfrG0f>x&QZfF4~uq_61KI9=#H&pndhzzIsmnPG~n~XWrlGe7`?BulC>z z!nfUbB{jb*hrdkhPJc!{wVh8V&eN|U;Pg_Y1Y0*@>jfKIbC0t6G8sR@=h+9~JmUqn zMprLJ+}OGSThG|o8l9ZJ4BlwqJmbcB-i=~w^mP~F#MX7#dMb~t(X*Z3QATX}yo&qJ zs~9|Scyyh04M*&aQjM)APOvq)dFOYOx3_d&?fbAbeEaa}2_){s_Vi_AcljoZ{)zKD z%05^;uM*z#>HyvZym}M~JJmrsec8x8e3OO4uC8Rw@3@Y`1?tTFd36YX5dQ6}yuFUUxExK}j=KH&8bf?f2 zyy*FmMT@S??|Lk{)^aD&oj_OcqUS{xEV?qk>$d1x%N;{^6kWlK-aImE(UtjKmqpiF z?g+X==n7u+W{_!%uFUT`ExOin2hklsSMZ`Yg-i;MCwqQJdB*#@zVqxwe4gi8?hiP9 z0vRXl^(bxDlRLkotgQJRJUczK&u-c$x)F5sF=UiI7JMERS@7h3pG7BUeg|)~i}u+` z`$T^ieSHKO!k^#I`jkb_{lCBKpnbN}KH-VOqYohcw9ggRr!1w`r`XQ#xW13(`##Hc z?zLg#R@x_gLHM?p)9X|E;O|9x#P%M(apdU_Tev^X*c@yatlo`u5uU>4#rN1JHevHd zY>sXOUA+_Oz~&R!+;ty)q6eGTVRQ6%(bwCNR%||o&GnSc@9X_tEjF*g=J3Sf(OZya zY(9d`6DO|;I|!@tspU=tj`h<4Bafv?^#{ zrKvtGYo9>uXFKOuJg0WO=TsE^UG()Z5|aJdXkX>8p?xi!V~@&nDh5v+9zB4puor4A z?W^+S_GMQ;Gw<(avGL3~wFjTEKWVkO<_>;8X+`vB)YB|`V>jb@bsBq5A>i~S#D}e& z*t*-s*4Qb_)^O}hV(STPjcx>8;|ydkwmxEgW2cR+(aEtjywP!NJ%+6pu{HW~jf$m)t<-J=-JNiC?ht4t%tBRJaKr;^OIxY%PQV-g00cb+m}(^-rzaDIbiFVQ>?jz zcM6$2h3zk^{ieJ0W$2&Smr?dX|2e)noKpwzCg3&q-8)#mtP&0P(3insS68z7GOpvW zhdR@JP908AKgQYD&y%h*W0X0HjF4`f-*wQph55#ReEnS)Je|}Z!HeDyGGNh_`CYq3 zSFX=|f7gL-JGz1wy?&(6qAT;eHj6ITotYc9q1%eC;6<+&>9Od_{I1oaYc010-DY$J zFM8cbmql0RcP$oOYq?G6Hlizd(d$GyEV?qkYqscG%WXi{gRbC3uN`R>p3B+uJIXWO z-__D@*3cJ%+XiRuy|>LCXIORYb?ulILlw9iu7X9Mli1796dOJ6uj`()2USqo-6 zzvF+(JHO-q-z&k!#k5cOg79sRTuwdf*1%thREX`_<7?^Ins0QC{;-JqTu)A)=)&esY+jDd%it(QO0angHeaw=^G(^deWG5-w~Im*MSmB4V?Vzl z`otz|K9gt7H`kN5PfQf@?V?b{im^F7x*Ks}bM`}wvmf7UUVj%YY#=`aqRNl=Xcomp8CWU`~#K? z)gk=GK7UbuE7`yF`1(6PJ_J65d}A-b5IE*{*I0kIMOpIxZfg-PZ=u?fyfC-`vPw95 z3Ev}dV9Yt&)&kghu#zvhWyEj63TOKL-PSDF8L*NsxFy7AV!xi@HP_#5O@p5TFBrit zB3={!jnwtRZLYuDngl-qUNC}PK;}*SHx2&JUVp}qJq>@4t#R;U-~}VtS!70ZFR8!6 z??u)W8-6(a4>C6nk7BnG{3^i78FjLMpFT-==@ReDFDdc85uY3LSJonn?@h+%1|Dq? ze~JP8GSJ;Y*W8OwV?V(i_Ue=K3dH9o<7^sLkic$Y1CFf&(2fb&}%bb^m-gim+4br|uIWaIX{>K<)?Do>Ox@oiU#Ng3Kkf8$3 zA!2`W_Difj_3)e@-EMSe(2b)jX>oL4B|YN?FcwICq&K!*=Fy&aQWq2TZ7NCH5^(Swr<7N=Yj`6q*t!{8qaQ_I_T`iFCL$Bqx|sgV&erJJ+L|(Uo3M2w zwuUDLk9qFkE_(yU+?Vs)8r{Fe)}P=Wyuv-$qulpl>pkw_9_7Uw=*K+Rx}!ktwZq$n zv=m_bOT5#&r2el{#dCj${%@lH74-Mf{{{3VeINb5C-1k&`zm<{8W0cZ?34Jrj&qswV?Rq+>WuVF+m*EG3hE8mEwIL! z7qx`hA5n0Bp{Xk(lYy2!n0jQJ1>Q!4xcG><;)B@_hP$C&Ko$xzLhB* z3Cr4z-y{AlIG!S&*|!qza0&IV7%ucR^yMrJInN^8A^TRkIIsAQp2Vfk_#A29hU;m# zevLHFJ^B6)dr*pxf>uPGcEbtJ4m^4}QU-UMdEQU9u5soMde6c6*KmFi&R>V~IYiF= ziExfjgfe$r)Nd!;@I~O0b28+7i=Afalfc{POS-$=N~E2xtC%Kk6*< zMJYd`^PF_VFT7EB^@PrFS!*vG-rr?E8#ifnq)`{vi%Its z4o4;3NqPDbLk zpKuK?lO9}7y>H$uO7Gce#@*>XJI%N=y=SKx*He2;X7rDUKkQ)qO!Fm(KZ5W3QQu3Y z_$ce`wS$>`D2vz!g8e;~AGxzP!8dku_xCJK`#Vph{hdF47k}qke2VYp>ug};`Kg*Y ztLgVF@7lv$yBU|~4KKbFqev%y&ZN)7{dsV(2&EhCwQ&*nXmMyx}*NlI)mvybvHh#{g zt~{^#ExOinS@RuivGH>@b;W*57F}z(vYuAI4?kxwe$JDx)6cmBKj)?g;OERbpm2ik zszt2F3h;ev78&H*U)^i;bDrmW>G&Jq=gjwV`F4HZe$IS%-HhIYpYsgwPRH)i&zbK6 z!G?SEbLM?)FnphW&Qm;_j@+l8Gw&&ab@%D#tTXn97+ui4L;xmcuzv9F3T$whf_`lBemx2rt!w%I)MQg+TWFKsW%xU;(|zxbS? z|GNF0dG{1=;(cHUpR)jbtH=tzw}ZTMb)WDakn6L1W;EwldyPDkHSoRxzBm1x@hRut zy`g^2<8Pp!^B8{4qdx*a=Ml!hAsatub1agv-N(Gy&d+%eU3{H${G3f)8MhZLy4;V< zd)9t*`_LVvt`1TE2atZLx9RWqGH!bEPeZ}7e7_Mj_x(d$EcExIypFIaS~<#wUl ziLT&9uLtS2=*qY~Z_%}uo6pbLyk;4pM6tBW$*kv76_w4Zas1MqXk zS9-VZ0s1-D;&WT`2KYJSI~~N=`8E4FS8{(UUZq>2S4X9 z{%Ikkoacoyq*UI69`kb!z_kiS@&r?i6cM)bb6x?v3|8_5=SEx>EPaUio^{&~b_uNH z3(kq?Jg?;QbM}E>1TPrD9`SsWF!46)Bp1NXgBOfo<4DxR+pLqE1wR8`FoF#s0nyFl zmobGO;N*{ypY!Mg^m87;_jc$F@N*u-#sja>&$%Ca_aU>~mlF4}o<>ze9S!8}U!<=Qr#?RS9-K(Si^w6ezsXyIF7hzLZ=6BN;UF%$_7Tp?j z1uuFXNV`Q>=66#TUHZAq+^`zmDs%-edTmInMOWr`lNMcTxs~WvpeuOMYeAYVx-!3; zu;^OLEl0NuUBQc96VhnWmHFMcMb}zxDZ0hz3SRUY5RdS@>F4~w{G7x1cZFVupL2ls zPphxf&v^ykz~u+v=j_KfaOna1Is5PpTzu2dSQ$r{|)?{M<{m) zU*Sc3>wNgud69X-%W0oz`VjM*`}QE%0kD!UxLIVz#M-Qr><8ZmUNC~4My5=>%{obZ zqJur)1tZu=WWvPTtdr~p-vwSUf*nW3ME97V8UKUv&aRX8)&8cR^YOj8PJCzQ!Nzs3 z(a*USdyB7gC-q z{G81>n#}LUn6m`(_&FcpyH-J)uB85yBjUGg>dO3X)S_#hE5-Rn5=Hm8pR=he^Scp? zu63>yMmL1+aX)8MSLSy^7F}z(0d!ZhZ{+9PNL%lrFX*LD=tjB-52Ssf z=|eK_?>t;%9aza1Tqn|DVjqB?b2a=`@VCO*26qe6Z1UT@zpDga0bVeIZ9*DF_n4m< z|AVm(xt#v5>~;D%m(r)<>-@U?oQr8+MgIf%Imhws`={pTyn;{P@*Cji?8m2X=?(OA z_TkgF_#^Oh_Ogy+;Vyp8=A1?5cm2#+s%`w7=i!;9{w(9?wt|nFA6b%c`Wvgv@A@pd z*16I&x>M*1Ui5s(qD5EccfA%}>s)CP-3fFBFM3{N!J;ekyB>?KwcK%ZN6{6$=*=Uu z7G0U&bz5|;<&K~`gs$L4Zw8sR=*s-A%c5&7cM#nHbOkSZQ^=(7=Cb^1B? z;&a>c0Q{W0@wx4KfPT)Mw9k$=z|XlI8@Ijb=WKiSLG2sp=Unv$`Z-t9CszCj{G7|F zJ7xFa=Uhs=EJ5mMzqLp;ZP@%iOM5r`oQvTq0wZ~XsY1k$+0M_|4b}x#@ clv}XE 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

      0&}vcmev!iG-POv)D@Qjz+aNgLej_1af=djq-* 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 t=g^4x(LU5{45= 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

      -MG!!E?I)FnRAbW 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 ~~+yfSH*~ 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

      ~z20PWS6I-J`NP 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ⅈBcWuh6|7J;zyPkHG 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 z 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ðqD$d)gQN9%#J=hL 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≷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 Y31o+#LjR)Am0SB!|DL*<_kbexFS?Fv{*@gS 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

      PK{NK^v$m+4J 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

      uY(t`0eZJiT8s2`J(Rym%$qhPwUB9aIQoKBiim= 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

      0(0YbP}ca3$yUzf*_C}Y6I;ud*?{HufrOe zUUf`N7BD%|i2cQ^8emYhCCmC9KA~OjP|{k#2y6|bUQ4;pIN8jsa`T(^ zF5Ef-&&rAU4MwFbkMNg3&m9Pr!5t|nET|SiMrhi$ge{oCVmii<2@UYO3)lof;198t z%mx!X&3mt;J2OtBO=hG%UMFulafwec(<=98s9B93;xaT9m`TZrjS0I7kzZgK0Xbm~ zRIMbO$(T_L*@h>jySi^bEC}h1S+*Zv`V( zhF%|H-{HoQA^6#_su>q|uwk;LGDIqdix#!N0uYH#CRa<+(P0ldIbL74;J)n&- ztD5W(=HO#o_Gozf2)CaTY`LurL6#|G1S;8WI;tK~;z9T-3+8C|zLaAWMlfBNw}CkU zcQGMZdk3v5+~ZznaSEts2+N==cg>Xl)_7q^qq6tC8V> zH6XxRg0a~DrK@;qf)*I=91ysSt0TsiQzf%8&S- zwNoc9V1^Q^NBWi5DUZ!csdOT#0uC7is4dCgQ>s$M+3Z(KIE?*jf(=~}x3RzVbgrDV zru0e~u-}@i)3wM@K6N4c)eQHI_=%I%oVPeujg1Z5>$pae`coi0^|9={(oor$WU%!$ zlpNM{y|a)fG@22>V2F`9d3$YoCtoD-ry%CcsM9)ME$X_?SBpBZYs}QJ4ZpQ0GZ0_( zsVP~{-tWUMK=Q6_{O~&kl82@dLm`PGr5GQbQx?T<*k}IMsdq|oIM-)vH5K|8QD=Jiq({0Db8lwPJdhCa9VC`a$2+6*=de{cr+S9 zq;(;I`U5df6GA8x)DSM#%}gFyPL$AsdX8^|+4D4joJ|sA#nZB68nczR-*)0Me=i~w z%ivR8re7xpB5Wgw^-->hc@TFHwTRo&$8kdTVA>061ZUf}$EPpsOF~9C>WUTuKcGEF z(hUo_l4wZASzKd3s5$l&={n11L5N`AF=stfmygEGoyK2a84g}|q%0|0#s&xIE*xc_ zs$iW1tx^S-fN9JXJts!GJk=?S*(nb&ZFU@G3?IP=~Gl z{1<%o`w#fz^V)+fVfX=2aK_VM9{yJ+Dm#3}vSTXQF#W|P6R$7(t8qV;#(E+7BuCSw zFCPztBFEj=@pZvG7~P~XG8}pJh+puA$=&LZgX(@bSs{Fq#G?mZ2ZF~GP3&AyDlMF5 zh%Mxjk>O1+)X-+&Pe@WRJ|)Ts*TSug-tnsSC}C1<0*>=xtEFrkRq+M-!V;%5V0>BH zENiQ)N9T=6eZC&PSQ75YuC8+sqsn9#3O=s*dh49xFhP5;Q?!mE_1z}ec?U-Jl*bON z<2Qadg2_CDhkm&plHDCvJ!HO1);m2s=fR>lnhyj#T?jrzv?6v{0_!a@R0%1#$RM3Y(aW z8bP)jUXt4xCt?RgB)^UjmidhrMDOebPt{P)YF!&sg%O>3GRb4$1m4p<{+aaPpDwZ_ zrJlu+!!E)1JdURs##LH2fjO9r)tEITiZe99V+|A40o;uo-9`5_X);U_`LC#;Dxv^k zxIJlt!RYUd(^%otroa_R4KPnlY}gS~ciHbp>BH^f+Ia#aeC zb+pFbcB5`b9ewCJBL>SNDULascSfy>0*CcEBYIweXM99ZO@d9~%s3}BnrWnS6y^*%y(+}FRh7>y*3ph5*!&DV!1<$o26m+tcWy?@ngXNrN~k*Q^&hOPCwGszd7Ep~ z9#lJsiRHOj_8IeZw-gqo<&Hq@StK;WkTO2H^jBLhYZbK%N}y-fQ(0n;U(~fH zkx*8u(^*x_Heav7=4R>!xWxl9cMik49?}|Oz#|7dB7~~eC2GK}29zV1TiSU{>uV0V zP;mbYX6$cfeFGa_PHSRLN9|?=%LtOIK8CuX)MTngWHE1jy*0x+;GhTN3fGMG4KuUG zfk@rV7zB%Shk@B9AS2&y*p}nW>^smkQ!-?40qUs@td~CSgmY7-&8d(m`7VzkyS@Rc z1!OF~W{PKQqQkupvV=&x;a()Iz62nuAC)S z2@3BGgHDs7ySPWF>*kYU+Q9(n%*4#?NGk_Nhmj!i-Y_zo0$Ry8&*?#+v9;s-xn(8_ zO64J&2@1DHBV`nka+N`RG%varR#SZ#EU$T&2*ORt5h7B2WN|1;3)Yu2s~TYGHq+1u zX9SVu>+-QKO6rY}yJa-G&Iu-h9n1&{!4`&`A-)>Q83Yd;2|v>l@pR_ONcA7zE6xWO<1y7Z2&Tivl%Y(194N`wM0>q)hqd#E07L<`3I9mQ+=i!?H-Ts{*Nr>mX}tx&DtyV> z+$H}NR12hFW4QOmtpPjdm4GHCyw$nNz2dTmLcVyGnVm-m)rEbGJ4JK+!NuB63jE%< z!}YeQrX*@i7>Dk>kS9+&zz}dktk$3o-b`%+WujA&qLt2*x#ZxDB*zUhS3+a6Op5cF zw*3`zN5MOnj+|sdo+75)Oxprr^PaorMRuHIns);%$$-J<>*m56#9o$`(>(*98mLixVt|he1pQrXIerRyZr9Y|O&UjV8B# zb~De)9iAjj&Q}kXJWG^OJrwA;LRHZ@GxnfqCN!R&hDGxnM}(f$G)yhHRpGfWXdi z?lPRpu4W{LBmvG0CRi2~py3UdT-a#6HKf2nbs?_gCB!@__#t0E&|;-NOQvW?jK{4x zlAWfinelLCZc(qBW)~CfM~F59)1RMBft=lc>834@!5iG3-JZ7ewuRI@n=tMns(>bGr)+v?3Ul( z03b)wGUKmSS;~37+41M7PC%tH?Z+#dgwXl*j1WO;0)I46G`Bv!Y~_&6iY&SMHDtN-+OH~wwyMUQzqpDRgM17L7L9h7a z1(z_f!Ar6PqLz@k#M=Qrc2daDDt zo&qYAn{;r_xb;vv%>mRB3B4f^9g3U+zli6MS2(x|DFm$RWWrT4Jp?ldWj)HLoLnWy z4{SE==|^zF283LS2ArF8&__f#%HMdID0E{S?UnL(EA~aH0308-YT~Kh4S7K7> zx6ql+oVXfPwHiQGGKqZ%!dhz5JzAyzlgbVNqp=+xWzEl_25F@s0Y9CvQ%jCb0YoKP z4_k={c2fvhC84m%1LZ^<@pQ9Uer6Jh7RONfS3CwzVV# zp0A~xrwp@*U+`YLhX_>FKCJ94APUbA+5HGMJ;LsCYgL`ysT>W6?4BDsh|X}vJf$4u zE}RD)4ueGI;;uUyR#wdS5zHgPkQ8@4s{>LS5Aj>)pr%qBUNrGmmqtZgC3Caa4NT5# zZmohrdGuMz^D~cJ3)Vj96tLAWGpe8m3hbgQB$S(apuDXIZwN;B+-!%p5l;F)T!?`4 zgBg+BY0j^%nKoT)Rv2moW*EtGeb^9S z-yTF3+f6s#>hj18)6dMKT6GpfhWjbmUT$?GFf?PsKAihb1a<>rHa0n?;{`%5eZ;fj#38@F%bYD zp`;W*sI2X|?178pCOxn6?ZH!ZkaKimr=h36xn-DhV(_yb)N;u1{X4lG<`ZVAw85oF;8zeaH^7+H+< z>h6Q+ggz7`AUS{s4Dj&um6S*bZf)z+&*NC02~mm1=JFslX?J@1Epn*`%mj>{HT3*e z3h@r3V%%%p34J%-y>f-00 z`hj4Q4NPLdYL=#aKf$_1DL`&MhaunRU=Bn2&cPgpG@XM9rW2Q^b1-=#kds7nFop^w zWYNQg@uktKFj-;LlP+^GhaoLifeDh|WGPPOEaZqzOe(F?Pg2VC`U%;G&a1a~WULPl z-?fjI_rTpWT8W*x!;mz+e&}q6m=hyy5C+<^;hY*s!gej-c>Wqr7hu@H=0|(glxb<* z{;zhq+*%)oBn+60u3wv4=V8L7lZRIOhXx0Bjkgjb#{Mj4ZP5`z4(TSG=8%7{oWlGJ zzgnIfoU2%sk^(3i@slKr%Tm{W$%8|ah- zmY>sMP}4lnVUW{2&|%QiJW#l|Q3FLD=rAa19_TPg>R|)Raehy z07mx5zis4FV;TWmbNUQZ;P8IAn~+uI^TVr6`HRb|P;oIh#K|}vcVn2aac4E@cz$?? zL6lbrHR83Bv%_=73tPnJi=xyIDMpQcf1QV|z zV>rk^rp&2Y%snbU1zC6ix@cbE!8hy0S8<}a&wZhqJ6Zt@b~!HWa9^3U!L`L5K=~KO zS}8eGC!~O$v1HbzvqL=ez z3kDe=Bp85hu4iT7B?)6U^4on_2h{5=+yH@wqvaw*zKpUmVHgw7EpyfmizQ7vZX1p> zG6Qm!vNPyz<+<}m_^EDWzbfyi)WU<~i^qEg&RxE^uiW2*MLKucd@MRjKR8-hwqhx=lk6OTWpsk<3SEWxf77+t{QIh_zVw4Lrca-7+hc!MDB@e` zJMH}MxA#lMsjcJuyJ^k9nSbwo)5_r(eE01N|B*EO>)*L(MGXFzI~D%ceaZfB?fm1a z82sgpG@C-9`>e4feD~~;ff)RP?E-)3_K76?uDVy2V(@eJ2>j~j((o^7-t}}0e){FDzxST?=+9&DL+cfOZo2==e|YInV(>3M#LHJG)#(57SAO+|82sE12>j$@mE`(e z)41fw82lNh$oNYiOV9u7^FMS{48H4r>HkoT^?&EbkG?ks-!VGA*dK;g0& z{PFz)KlR!4{(tI@-Fsv3$9_oRZ%MEJnnlmfjlo~`2HC%<%hK?d{;1=k7<}EG(*NWy z)AQfFmU;N@1m&D-DZPxQw1Afj?Kf5>vUw%gWe=^#OrRE_n!Yy62bWBos;_*;5edi_7x|GAwp z_*-=Tg~l}hJ^8+uejo;ay{`YE=cm{IvG=~~|Ha_94(R$#Ps8tf`ET!x!5{NsfnWVp z8h&!|`py{q6}o?=qtoz@AM?uZ#o&*=T+jdS()<6{#$WG`!C%`i@P((-@Xvhs{lAOB zKe0jkuL1v__PVYZ{6Zan;hA**1AQCHG5Ec@f2EVs{A=XayS^HOKS%eka8?@su72}# zpNYXQ{hZ>@@6+RNe#hM}iNQZ(=*J(@@GI|IzAgs8UB^FJ1Ac1st`lPLC+(8)7yc*R z|Bv7C+(Zn1k-|^bfPcfh@81-I@7DF3szE;<+I2^?|53C4e@u`6z=q#F5$peZPw4!g zO~ZeA_FHDg;D3Ij?tcyV4@@>k>Gw*r{(nmMf9uw#8)E%W>ikPrr0MUI=RC7E27iND zzZ(4y-SUb482l06k@-*6=>Oe+{KorZ@HZ;{9{ObZ{H^T&ac>NM-cO|e?tf0}5C1ZJ z-HkE$8x{!t>aHQbeCYi1-x-5{;7EZl9iOJ(H@)I@QTg#F3V*N${B=((njh=`k4FA{ zI^F-q2fn*02LD4Nf83qc-~M>gZ6A!me?-@B^)u=Iub6mQbpMxrUeDj})9_bq?sz2D z|J2EP{{EakKVQCX^28YYO)C_CYwZ8u|McdT82piq0)MCm{Gq2WJ}w6TF&%$tNm_nB z_IHn*AA`S5;k#?VKRc^;Ukv^OX8twcU-XSr-W!AetoDDX2K>R-OhoM;pV0nGOVjf| z^UODWC)WQ#GyfX!`|tnnDF43Q%)bWwzz06MKGy%~$LjvqfL}1<+9>@wPVuL-EIt4G zj~pD0_5V*7O8?z8;5W7Y;no=ZoI%C^8t`MS(_SBgKjYOp{~GY$TXp@HV(>TX_)Bf+ z`FD-o^-nSQkC^$_fdAH0Ez@G~jk^9*HQ<}S()q0z{H@CW4%L7^Z`$*t`?vlhvVNrt z()8;y8-H{t*8c;h{~xCLU)%d{i|&87p}%!$`nzz?=YJLJ|Lwn5{JA;Jziy&>_)#!ij<-MSH<Gl7@ z2aozntp9U#|GU4KmjBlL^1c5agMZU^WrU^WY5M)_x0Xfe@B8%pl)e=2-^{;!`HX90 z^Z$<0k3&`9%{t!omYX-m#{bj>ivKgy>-W98KN00W$8`vN_v|$MS6?uGUabEKwSRQi zSie~-ZoWDO|GWovh32IDU-YrdKM{lfva$a>mxh08+f{#v!9Ql;Uz9#SCp>uP^eDXU z|5T0f|L>mr24nDFQ~I&`#Q69P{><6;-pi*)&d*pzmFzs=LX z7PVhK`%xKx>C5Ty-!e9KWNiFRI{wnU^!g3|=f6hnw>RkdIaFi*bFcnbRQ}j_s-E9> zrSbQvPak=1Z2XTZ{&jyjjX!71zWLr5{26BcE7J7yrHfwP9)q7gQ^sGoH@$zAO*| zklw$?zjFR-WAO8I{@o{~@$at6e?;RC#ua}GC#T^b-hXd2{$+*sKUD+1_YH>*#Kyn+ z3%Y(Y((=#bQ`5G^;Ag*C_J4ILJ^rK5tsEbNKkYRFKY2!er31f|JCX9GxgfGJ3aqtFL*90zx=Dhch`Ww{S6<9$`4;x_^BH3$4~Y}<-dEC z{!KofKEJoT^`j5O=Kro2%l?(-r}6K7eJi5&`&&l@zI#C${++X)jPk!Hbp8ix^ndg* z=l?o3{sVgc3k%cz7oUCEQ8D;o#s8@q@T(TQ)t`E6B3_|c!eM#sM> zJ^#-f|BWd9dP>KCaB&*`^iRC^x3T$GHtPAU0pEAkS#OQOcl}J~zcx)j{_BemNA2ee z{!`!&eKRdTJ^bBQ93AU_MEjqr;eY<%m*+?A=YKQ!TVwxzwBZj?|IZH${}@Zt{{yS; zenD*f&l>sVm^A)e{^k{PV(_b;mGzsf0pEDsaMb@f`9*>6eouP;e%$fqX#DOjr9Y*W z>G_|q=CdDxr{6^B=jZ=b@n>n8 ze*DwZ!+(kO|Nfr~d}&!4{^H?JMfIQmQT^p$4fv<_ocY06|J`3w{B2A3|6s%N&&J@7 z{*%BLmZ#yr{oSuDiothi|Eph;#@{P9Z~Sl!e(ws!pCxJdW8btqD*yi1EP*e)AdUam zzw@nwvHq{u{-TfH~koD`nFHL{1+<)FLV*QuCFXKP-&*}c>ee5q$ z{bSiDbp0MmuitrJU-*_-|7{}zKlOt&{GF$t*BFEU-(z+D_owIop*y!;5rgl2o%BCB zBMpDgD<1h<4E|yr|DhWEch9~Le>nz!>^r6Z)icxmFTCwv=EmSB59;`5rPuElLkC_R zgP*Pa7iOp7Tdq6(xfuL4x_$@GOXJUn$G#l(U)=rQGXAM=r|19MQy*L%>woE&75+u( z{(pYi_?u$zztZ_1x*!eznm^wal^>t~F73aRrr$4K`MoIpdQQ(@>6A45!G()w#m0a9 zL)!l%>HTXw`0+<#@XzS_mwM9hm;9OXJzr1al?PFj9`@HG!b?ME+G_^BHG?|w_) z#j){sA1CL3^2O=>JEHriQTxMEUBAMK>G|Js`EPq-{l8xKzqB(A|McH(ipK9vDgKsz zl!kxL=idE~vHs7SqxA3fY5nuQ&mZ-t82lBl*Zq4ief~N=_sz#+@TawC|7+6g|Kd&W zZHd8e`la-L@RW4_&->w37sTMNRQSpHY51Rf>7Fey_`lQjTfHC+f5Pl-x5wZgGWa() zy?+ni`@mQX{*J%M{0sBa@TXjLWK@2>SK+5>oWJ*+^NpzgVaC<6e^ay4^3!=I|M-E} z`2T*Zz!w&#*YCBbZ~s6He%2KNfAG?@{@(I$N4_}*zg*$F-GzpO#+#%TKxU*ckk0 zwf}=ZO7H*e*UvjS2LDY1KRq6QV*J;~t)CI~|9@P^U)YxJf9(0UM&++>>G>^vKRy2! z-}jkl{OoI$ev}?hpTGKRo`~B2Zc_eLI5`dfxm9&n#@4Ut1%m&j`DyGiw$-~ZvE82q%Gl>UD&-T#k|d`A?1wf5h=A&tNPJ#l?Beyr(#mHz!UeSS{( z#97N@x_;dcr`PX>^(&+IXCE;8U!(sU z&wO$;*8d?h|DUGk{|}!$?dcf&M;=!EDW%~rTzvP1G59+bezFGqFW2Ap=@|TVx_+gf zrThQK@BR1DG59^dlJOs`v3`fPJb6_N{#~a3AEfv1lF3JpkHOz-=6_0h{C8dO`5iI% zo6Py0pN8N1fgeQ2|4D@}eLIc6zo|SDwV&Oi^FMfT`utU{T^@~}Tz$OI-|kD&@cWzB z-4L7qgKtp$yCF?~Kl$7}(fbR9uL=BQjrIHe+DA`_^*?#B%3qhJ$3H$}q#*{sOXq*^ ztTg@{c;b|3{NSZ0O8=8J_HV_CcSq&7y#~HD-T%Knc6?oI{5x)y^;^9uJ^v$m_ebTw zuZ-#XKa=J^7e01f6n}f(E%4p%Ps3mPc;|OxGj|Ej{kg7Z2afz{7Y|5 z)Bo>(;a$=FzfbkoQaQbThdQ1*J=XtK&*}QrpkEC)Y+VwA|BK>ZVQG5)SN!wsQTzF< zH){Vi=-0cy@P{b>eZwN9zYEgyKmMrKeI_>k1^WfQurLkZ^Y~Yy_S47o{7lw>|HVn4 zkNPjKGW-9+H2r#G-_V}e_&=@l@2&wq{QSRciNU|>Dm{NS;J-BTWK{nzT_^B|YQVp0 z#{Wk7@60e|a(Go$ghx9R>( zZcfwxCvJQ6l34%WQ~Oov(KP)y_r56-(3U#MRm)LiNU|!z;~qA|JrZvjndCozCy-7 z^;mlU_k8x+56Aj{-d`2I#`x1pd|J7U5`+xoH&we8Y|GevDhTT6(_kaGSFFYd#Z{i;d--)lEvH!lmqw>xe{8PGq z-5*NpPhY%eP89zOU)S;1=>Puiul-A`|2uvt@CR$a7oL9T4KeuNtNb$ctMvZ=e$U#k z#^5*W`6+!jy?#v_C!*)~S*4$aGt&LP;fM>P@=Kkr-&76xxp3NosQ>M_I>p}__)-n{H{LimdVlRty8o*$PoJO1+P?GJSpU~5{W`cZ zeSYSgUW)R+)hfSCZcpR?s`qY*`d?l(F8I6pk+l9cb;P|<`R8Rf3w-Hi>G>b^$!|r^ z?|{M|tO5VMO+S4gwtjQwDgWM)?*BWteDoh;@V6=cPM(uq|6jLGMB|Td)bUTgJ$?Qj zf9kl`#QJ~X3uXMPU!ETSrwhiN}u1wJx@Otga5FepQ$I)@W(wn`jZ&^H+BD}YWUCo ze&V8;{~hc9lZJlQfWKne%cJ&-dkp{n zX?p)|f8&Pl#QNX1SkK?@(&K;Pj`o+v;FtVb>BoXJ{po)CwkZAIbEU$+B7J`DIQ^KY z|KgrUbpM`CkN?3LAGtX;{{7m2_m%1XKYh&?Z;HX6Hlh93nE#O@7yK~>UsxyWU;0CO z{C_AMSQvxv-!1TyXQkn<-+56q{$ltab^RBn_wRvEzU^zV{%_RtQ|e8x-*fN&Xw?5* zJW27d2L0PT`RQo<<9NN!|9ffrJ#y^JqW+(y|0wW>YQVo^>2IHk&i_%}|6iuh-&_82 z+3XnnUw7#I|D4{x9dA49=otJo&3Zk#G!6fjKabYM;3w~u@fVh*;otPm9goJ~Z`1WZ zctu)%dH+S{d@%<98>K&!Yt!qu=*HDi`DMzCzb!rfM~gSVE!O|z@0IzlUYG9w&DSl6 z^55So{N%r+@$Z#A?~leWA90rAUk&)THEviC8~>{`Z$CeCdL?{%+)-pSsChTUsHqPPYw8Y z|Nj1{{`VfGAKim#`n~N7H$~$|{y%Hq0UlNLynPb_gkGg17f?!s5PIlK{e>Qi^s*rZ z0%@c`B5i5Xr5BO1(gdl}L_t^)1Qn$BwiFSS-ciBt+&weP-r3o^3;&Pj(b>J(_nkR& z=Ja#VSpxB^-ZswvR*MI-^GBB;|LxxJK{*O?{%dnt`cG|S96$fwYId8$kMAY@rwlYs zf6wnS*!|n}+e*AG%sBo3?r+DgzkCRI>m6hKceC!*;Orj->9@2r#vf@rkA43j0rZ<6 z8P6YwDoxn=tKTtxy!hX4kGRR%Zw3Ebz4$-(*3)eNqvuk{|No5ZzmGdEJ;Ujry&3TL zjQw{w$8Prhk!654g&X6$>`rILzd=K#e$yc1_!~O>COiH<0{YEg8n?gG`V?lz&vyWC z^^$*A+K*!Af2O8D`Ke*-|1XcfBoR5vRX= zDQUlTrE&fL;K=O{I6UtEx70LF|H?`H`H{u8Nc*j^#`u3)+t~5XN=(1Wxc(D`mtBAO z8t`^6>n}lblbdttH~j+s?`s@?pSLO*!r@EQlm1t`8P`9Ls&8ZGAFR;+sSl0I-{@%{ z2XOkILisa$@n80Yo0~a&>nk$-mJf~fKkQWE5Qh&3|0#*a@!Pd#Ikx|?HxA<03;xvj za^G_LGiFP?DaAN`Zj5imw%-q+{x&5U+aFnZ0~>$6z<;JL#{Rnzk+m~t|7AajpMl2Z zr}dO&77l+A;>Xt2SpT$*r|NO|R4l(<;^)7BQSAQZ+^V$S?gd{X=4DP!{{u+Bvd*~v zD&1KL=kWI-{bn!t9vfD${pTf}rTw;K@)1?2@_l@(vRE2SD`}e_@GJciK#^rb1fGwRk{ha`B z_JS|4yEgm&$}qs&yx_ZZ$?C`Hzy3(tuWm86KmVOok2!pHynoIM{_2m*+4!%sMd~-D z>C1l+nJvz9a9d8Dw%R{1urNG!-oN?yJKyluL(453zRfv_x03v)`U_3G-HyX&-zqIK z#TfhV+}SeyIR8z+_**v^Mq-kW>fbo*VKYv@hPMy$S1jcIB8p!SR{SFlzZd!sRxuGS zJt6huyba1)2Zs*l?0*L3-%9E)s{d9*dLXBN^i}YGdA)v$FTeUw6AqvIb7`*{YV5ze z7fyw7_$Y`!wW6{9UW0#J&f(u*BJEd$^mz0e%Ct_W+3|Oo5U_uP-hRZPe3iMys4{_p z1>~<4XZ&k;d%QnBc1pyd+<(4aVJ`pP`AFJtuWB5>4;Su#$l>cYmv~b(V|?kg5hXeN z9q2zO)s6Av=JsIcUxG4Zl5Hc5+s|DacE05F*9N>g(is1FP5<9Gd^5mX2%g68t``Nb zaPiYHQrd5BZJht5nuYA*^!I2e@#?R7Jk@_L{3aW}rYbW3tkaz5fz;*u81c8sQ&i(>V!j~}YP z*$<~HbNWLs%CckqKwo|-{(bX*8#w&X2QuN_?$2EvIg*XPE#QCKIDPz4{Vy9{*v9F9 z0`0%GlCk~&b^fInhaYuV+E4G_rTUK*zM7T8=f0T9L13+HtiQ+jQD1WS-X|dbf{pQo zJEpJU@TbB5=H2@F2Wr26)Sc2Ce%=qDzlyQ`CGU<7=J1i>(tj$czp4H_sf+J&_-okz z2r<_GN$Jjiarl0zU_ZHkm+D{tW7|d?zE~NFS6Um-{{$R($j+b4Dk$;hHpcOL=H{%$ zoc`t4r2iCh|1q`y@S(5TaQKHeq5M`g_TQB$w*DM`ALf5GWBiAQ+RWqd+rWN$e=oJa zMzykeIQ$c6f6ZU%{ZH{zHU(|s@I4@L9e+;v3CeE`jQN=j?jhkS99b^3PmyeP- z{DLHCKk6FeYYlDt8Hb-V9rV}JB|q|P%fxdq7GO7USj)S z-&p^p!?&Aq_{CkM{b~bae7k<>EjfH!u;1zhpZ)38lN>%vkc=P85dHiQrW<8O>*T#0 zzG?-DSBDzo2b{V*p2HV_k&9`8-v6}xmrhyC_W!;T^^bjozhX-_9>2`ZTdFRnU&Cwv ztl#PDFHASeA&ut;arhrPNWA%^9#8E*+Hy8qf31Z2+v+9#o3h<_$;E$-xez}MjpOIL zna5sm_OF2Y*W6z3e@r*ZKMRMl>koFQf7Pw}`D2>?bidzsa`sPz{8zgepMR7*@CG}7 z9u4iUmDo@9$1fb+kJF!u?YClV|F(=uzi{}kT0s3n?hm2*Pad7b&Y#83l<}jG`+q6^ zo3X93ar#>xm3V6leg0AWg^thtIef>H5I?#y!d(M&4xW|FVyze)C@A z@?WvUr&l@qHM}}ToPU(nxc)Q`<n}TFAG`i`c6wGv z{#gm0);~dGBl~jYcO%3fJ^zE^!#79xarhr#{ADBO7f^iK2Te|L_;c8PJTks zIQ;MBWdGaLPhbB~`-dKHwUxuy*e~^4^XbbE#dl9Dz{Y>QS<-*XYUBCeyMOlljnl7Y zk@}VD#`dR$ZD7aG$rr%>cEOR^rX% z{0@q*_n_!;4zJb!_6ef@9jx#FQGE2Ce@1e6ZT(jjb69E>V|bTU&;Ue+{qwGn4k8>hJpOK0AM{^&hO7|A~Hz|9a6TcK^;; zq2D}1_@Cg>Zj>K12|C5uui>?Ss+aNG*r^j^IR9(oKdUx=B>JiSC6rGabNKIS2;DP< z|En7Ne@XKF493S<_RsD`|C+kx*!hQAt3>*Re!Ca_Pq%kx_g`yx?VtI$ zar(pm88w~re>velb+*X=YR35=*|Nt|F8vx_`)Bu}e^C6<^PK)_TK)_DW-t2hmb{mr z)34#Rf94a$=?|Ux1G|3vqZa>jME-lx|LMZ=TRHt2Ui)YFqJP^1zrtMlwfSRpq|ooB z{duL9pTpr3AA^2kKP~@5O2<6p@OzF)yxLIT|D*UPe!b6e_!hAL$?~@`zR|zEx^eg# z(EqpQ)z5!X{k2++V)rk#hWpbkPmJ+L{*Dt94vEje%kH2Q5^(>k=|AKAn_9PJ zdk)_R@D@M)_>t<5Zrz_v|5GS`rtQY|Us;ou`8teD->&V7`!67pKl&_8T zS6;cA-T$?=E0ljff7kB=eune<2R#leP0| zaro_+|GSLS|Lodbw*IXS{i{E%NTFUJnI_{U+hP)zqc{I z%CaXDIQ%;|q5ddjJb$|G$_sY>;2OqHn!f&``TzaQ@ofEHeU8*m?@y=rzdj#viL>AO z4D2WOr&D~`>J~FN{EMaFzrM!)%Qn^?z~OhU2K&9-pFSzz_v~Ext5_c9&&L|qUtzs2 zEadcW{axCxMi|@wO~)7P{(;=(B;Foqod4hEU-lQL-wySc*>2o^em&~aeh$A9p9k+?;FS8mLHv>Xv#I`e zPyEMl_$_dMx0&3ZP4W4L9bv~`>xxMI-tNy%OE1li-!F}U^ppFmss0%iYW>F9-+U9q zPn2=|WG}b94u}6`9^j+(cx<;(eqVX}cCP-o-#4=(0k(&FJhi{b-qWoA%l$3WPv76C z`2B;IWZ~@pu><(Op>g|PbMkSO!*?z!@%H1!>s86GxwRwrr)#{^54t-;ZH{F8_kv936Oqsx^epLe+8H1 z(tixfuZ7(IOzrPnzW7xRKLqa|C--kt{NeZNr*rtjGr<1?_5P>$W!0vz>-V>?|1!uJ zf8SOvC#V0!&*+Wc_XTvVJ}3Oj>ge?$49_g7Q=?2uFJ{8`fXQom}_=O4wVW-V{#{NEeyFE#bjw_oTtlwDs;Tg;`u z=|7PE%f{(nd{t%FZ|rD)vT^_a_`?_*XMY^nZzlIw)ASF!l6sfJm$(J-mt-7&4SxP$ zIEUYqQ{w6U)l~o7@2>sL;r9Wa-d|1eWyc<1=bysS{=vrfzZ!KugVR3}?%%bL`>Uyb zTgkr{aCjvb_%F>k|MEO(GLysKh4}Gy|MKlox0`eEHy7{ky=Sbyc)!Bz{wED@-yqg6 z$^FYT{U2@cd&Jpap*Ey{DCn;h6d#ck+&?)nEvaX6bWB`yWNL8djHKw^;&IRZiT#38 z#g~>*y@P_ZFHzBv%@g{^CPXW>f>KhG(;`#VVQLFCEjA%FDK)vC+AT!I-?dK?U#rTm zLt~SpHB$HY=4EMA6l(v}#35ZIrlx1Zu8 za#vl;>5s?s4>86+ou9S;d9q(uHo|E3iXfefBNwU#tq6}Dr7X^@LK_I3NywRs`Kgwhd+q= zz2J{O+QshwzKHr;8tczH^+qL5|9#Z&1z-MyDyukr0Nnp-YGtgy-}4sxIeZbkKbGKW z{D<$&RE^F5e`Wc#eq>yJl?ih{=I~i}Li~SZ9Djwfn%MYP4gh|bF}}jUG1oZ#JFxr= zH^%p<_Vs)Ye;e^5jPd8r_pi+1mtg%d(is2VpwjI8oB9W&f0Qx);j1~U{->7#Z!yM~ z3~X_Nvwz(&z>hV?=W0FwAcw!c9$Gwd|1yog;Cro#bNId(KjVz`5AButGKY`tA?;Vl z{mWGUp=L{8aQHhg|EG@E>&JQvHDzs?-~5uD#*`baQBIlDi{Mqvmf8_pUif=hC=XDN$ z4bpEX_YYJ2gvRCB`STG_eoW!U<@fnqe*a(f5;A`5c>l6X{_Dp<{Sp)793vn{6lmWn zim%mF?UVaBh}xfjM2opx`V+5%|EC-K|KZL*=5YAV(0*EH7~`{jG>VBLm zc2m{boc@WZf0i-6X4a3`^k0Pb*E-u6|J%J&O*sAb60-kqonwq&TXO_Eeo4pkm*yJd z2Y>P5f1LiM55a%)jPWJxCkk=+`{=*<#`tl)VoGrM`o}^40%LsT`p1fL_?yuGw0>%g zKM}Sfio=IN`LTJqe>ZIOd+hx2Ht@flwBNM+bS&Lw6Q{q&MyP+h+#g!!%x~=Z<8>~} z@~6h=>kn+VP-fa#G7Hy#NCv#p-xxn?*e!Pd(^|mWz2NtBYFCuge*^Hg0mk~4DZ zzn|y>{##?b|1#~uWA^=tN^t)fy?>JCU+-;+zjOK5dlJzv&TkCu?VO6zn&9-BA$5Y2 zV|dL1Tq<)(h{4dkSm*V38=SdQ88ECA3|1ZCrIQ)3% zznWX?$1l`>eP_IU&iSv~pWweGdjC;;{qkAZ{ijn|=fR%Z&A}{Ik(4&i)-xf8qUQezk(4BclccH%&_(65TT>GC3nD zHL;4APLEDbh={8a6PuJ$wMIylgxHkS=*ZykYBg(xCyKxJenVXK&>C-rt68n8#9_Ha z+3Rduc6?prfXrXhAmj3tG_}|Y&cES+SK^HEn~vMMbNGpXw;^8C^Hpp0jz~?6j}`vY zd>5VEGc6%@a9VV5f*6YROo&dcBL0g_3XX`1N^TaNDw>SmntyprY(kV+%!o|&fW!8H zN?N`OMa3j>@v*m(j4$&%)8J#)%8$F)*l)fIX?<{Qd?T32qu<=?l-(teA-zI{a;%IC?Q z*!N@AGO)h$T<<@`p?uuo)oxCIk-wmSU(DEk^Yoyb96sL|I3FQdub=uqveGbie~+ai zR?@sxQ3tas5DFpaj#{OIFcWO4L{|89FGSayI%5f%V2&ex-FvOpi z^9@ISJRq3UzZvW|#Tn<{M}i+kaG5O4PP4)kDbd{#$&k8e4vzzbo--ygvVE`Y*m*!MF*uV&{LvOxN6UhLm@ zVM0$X{gI1h&qd9wuYali&)2Ou$>sm&(Em_Z8plts$Vu$}u&!qz{#F^|KR;LLLr(uh z#D8Io@1CXE*Bt&j^zYTx#`vKTo!R{rS>b+PdOtPwU!&PI{5bu8+9CaGjP;)lUi~YF zubUz9b}#*(eTAmw;qWbQO1$+;WBnC}eba`+Z#pRBhu%+3)BoX~L$f*jQNYvtsVRPQ z=|9=`JBot;tuKxHzu9yDHI37MJ0GO~g?@dJ>L0!Rx6e5I)Wv{b3;uIiAJ8VJf>JUP zQX|rXJ4W}9P8U0*9P32zEJ-XKrM8HR=%3+K819F%t~1WRlVR_V;_P2? z5bR%XjIXCYi{2Xq|NdI=4cmXP z1D@XRO!4JUpIFZ6FBm87r}r~ceDI;Ee{%Sfip10VktzPlPFpI6Z?FRVx5?OlV?QYS z1Bbr__p_VH{kBwpk*l@NaQK&iR|@OfFN&}EU~WGSKcg9>KeuuFQ`i4x!@{8bh5kKXT0?Qc>3kFK2kpI?Ud)64zLg%(7x=X3s>NA8a|l``%>Jp7{U zBTj!AxF1rfZ(M)XdbKE$!`Ck*{cm1n?Eh~0-)qLCK{uwU@vhOzz1H3hharrCb--}&e%!KzFePxWF zb)q=if2oW2(~0GyJJ#SOvXcW; zNexPkO9|Gnl~e~~SVTfpTy%0p0i-KRx=kIPuLP^jZi()wx>?*3rguA~Mx<(cLEO_g zG$JKFDtd@aVDQisk7*QLhe$b(**`HjWk5tybg*NJGbSQ3S{*i`68p5byG8*5A5yP5 zcC9oY5}lA*(P1hsqN!SUW@vQ3wAkRrX{m{wBl_X(XiXF262)F{*|l-(hj9R99`uXt zA1u-@{O|nKv$wW?JhY-(;q^28RMD@tHbI^e;qwf6HJs^wQ=oHd{SASy=hoj4=$u^l zA>=%)M%E5;cvZNsdNtv{nAr5_DABi!OpQqB9~WJ%R^M8cRQXW&Tz+-zL{UQBg4``i zJ;Yq7R2i8lf;c@@D?ys91UsKl3S-2iI+U;I!M3;!Tv}lLH_yk^Y01w3`ik#4H3#_ERj&S%? zN!4l}QGz-Rh)9mEq&huBs~(ZFK9x)1A^j@2uFi4<3BM7|FO)8HIKAX7>9AZ9o6=l! zBkW-6t>ubdr_Y0%Ixa7ryspk$BuB(MUK4S=d*bq38xm=n#LhaUj&TrasA}S;(Gl^E ztVxZHj}GoE{wJcyBUB$tBBEnr#TGshiBhKnDr+y-TnkT*9U|)Q*3lU$Yz{-7){*69 zU`k>_Fa%21*wg`?9LcGq^3N-(BIAX@G#sQs5D^BsszLR6<9ki*;-=SCe0XwnYHEhJ zN*>bc407iOX}1qo9dA!Hi;fg4liKT4 z;{7RnpGv-W<wDgM)H@()P;_wXW-S~#AtmB-HLSX%Ub>Fzb5&7KgyUP+#PuZ7 zx$^4ND#}Q7vX`EYrddRvd{gaB`N=I00jeN`S#$x5% z1?}_|6WeK`Pph?)nhlO%LtjGUS^ss3)T3R0CrgI*LZU03!{<)jY+j45XnPX%xnJihpRemDJ+;LDAFJddZR&01GlE)jiRlAC$9%Z zr;B|jP2-~+E{_}#kx;*~>Ub8Jn%*%wMO=<79On`4XriEF9VfU`Z2yGlv=sOv2SLAjOzQvNeMM2D zyz4LhUg#ZRe-3JY4}rJ(fM54ub6tVYO7Szr{DK3Re_1pqkDs4kUgG~{!hTa~7O(ktKbQJ7r@yPnfAe!cH$2Th z^VKTPx%`XDB;w~EKjmx#X)48G0vf%yZVTtXC1pfPO9yzxrxg5WA7_7kasH}R@%M_q zykPo54nL!;NPjkeWnhTjewvOQ)h4j%|FniU`#OhQW7ilENAs`7JMZrj`Im|2U*-ZL zetf`Z44FDm-~%asbt&=wKZAd5kxbXg=NG@vob!svF6o27(-6Vl`tADm?>GuIYYxUF`T>O>KA=2*yzWzi1&jjAB{>mxh z$L<5ZSJr9k1wJROe`Yli>Cf#w{mV+^ZJ0G6AkWdO`ue|EtVlnDM?Yc&7gO7Wfk0^|!5_)SJ`)KY>@rXLj>H<|C$~;o?R0 zx%M-$zi59-y6b-(kunD_jJbZ5tAD2oy!x&?p5|Zmm%mKn@^6i%pTVQu7(YKZn!S-r z|BnK1^#MQci=u4>-mU)GBF?Y1)e2CWgF@;z)IT6&_9-s^24oZIf8Squ6(@h`3E%77 zo^~95Y&Vhr44%esWXI&JZ2UI%Q!Hl!lyBuSt+V`6{DO?aS2=vEL{WcK_VAZLSceX7kDDZCmkNoR|{t$m|@ihJh#XbC%%fA@${cz@aK1AgmHHO2h;{7W#gQxj;Wn=5QT>Uvr^Pdm+kBXel%;67; z^s6o0?Wg)b3#ppH;in1xW(H6F|HaNc>0J7oq>KFX0YCit2MUMJ+f?KqgQxcQYOy&d zXa8j_{r_`MKdrw?WZB4$KhzI|{xE-K&}aJiqxg~K%bU6SYlw(jwWT|r)<32h;}3B4 zM~2XA_5mMlt+Il{PY`&k5BO$Z1a0E#KmS)ke=B$UY5IHQ`MC#|{>tM0W2+DNZn+2V z;P94-BK{dXjlaA~(+ynwG%G3MuYaXKRorlEHmBcD?C-L6@mC_@Js%o(l2uW9 zl>g5n^t+8;@|#8e_Yn1e8)N+kcGud@>F=;a_)p*u!aifvPyK(U!hlsA{@Epwe?9$` zU^qtt@wETduC?_!*Z;cmmC(=Nss4wh&Ifb)3+5N)hrv_*pA9Wnp3~n(>@TzT@>iZN zkQzPNU%TZ`l?C2y{QtWm>fb)@cp5*QmUWHf;^)q0k$+}?<(sy8{b&dBtn57ETdw{w z|1A6`@D@=IYX2xsMunoR+}rwdPX9`=zt0}wuT*{`1!C;8}X#;Q?Iw zBgFnJdw&uCDSH3W`tuLVpn6>WwfBnff4gkT1FPPD)QQ9J z4ySi6P$n?20Hz1WzeU9Sqx>hOt-svohd7jer9O=0@TRTEDDilY8{$x&?v`4S!}k;Z zch!&gupthmDIoSRhhIL8=!bjY5Qp-+`4vlZ_&?J1c)UjvaVY-|Io6iL2R7H+Z!XRI zuW_s9$2ojDNxyxa+$V{8QN}l%`zeQSvqZ1oUX|B>@#|u2{@46Sk2h80@d*ph=iu~z zLhQGBNdGS-9)Hi_Cy&?bSE}>+|GiPH42R!xNS}Xrk0$yJ<(f8r^Ev$N`+7XyV}v-A z52try@qr%_``?%EIUo+@!{y7q=JZ#Kl=_jyQ~XWc&?%6^5B*$^$MUB%^tgiPScugA zr`xZo?eh|=iE<529f5YE>^>mthn)V8iGCICVMQFuup7UA#o>>V`oj}GD&x^#9DW7p zR}|?%yoV9>qRdM9KIomKT8ogKa6@&HXCMsCnzv5Kb`-~`jOO+ev@xYzFxmXeB;BPz2Nk} z_(b{-y=eZ5_g}BtbAIFS>qz;xZ$`mV`>u|O|CXD^`bSPl zTFc=VMoImaS2Auq=`Xdu$_Wm?HIu|+zsnQe95C)nF8_m;>*EjaLC3g3Ic#Q?Z5)19 zLDBzC^@r$H6tn|zC=aP$zR%(Bwv+Z_{jIi??>Qk3Wyks3a&!1m*Yx(|Jv4|z`CrY^ ztvLKlg14TP`G`1_tqLxm$>GmM>+Lr`;On35^NTj-@MWt?JhE7-@%3+N^J6VId=lKB zig;@V@4quCcb{_jC6Dy}vrORY-&4u+t8nqR5AcXXJJ4?^pWJyTE2n=lv0rJ;r~l!V ze-?1~_V1uZDNPOe{F^Xn{J$JNe1}XwvUuu${@&}NM?ydJdXdx_`!7>UB_s# z`#QOT7$GF5inl1VFVV^2$%#W^9q&_!y?R}fW5woQ*u$reKtAamMX8g0%@JGXq9T>8U~>CL-fw%v}gw=z&`1|#Q z)Q{~a#-Hc$KiQTm_YuR(W04UFk>WMMWU&v{}sht1sywK;L=^{V= z8ei>f2M)jBG;BP89<1{oOppEx5*yCbgS8#{vAE@4?m-rgtmb^f3GGJt&w?ctx%{81 z?LQFztQ}>$gZYm*l=eeas&V*j!zCW?AM}LZxV%PJ4qvdA#N+*ep74Xj`S~3F(?6vD zEsN#(KA!O3-wV6K;pfFl{g$Q@FTc6ZUlgxnTgc%XtOEqxKj%sR&t*op;_#=ye|UeL zCw$GS=j~kloNX-iquu6{eEA7gzoE#(e$%?BD#GIsHAv`oH!M zS#0I_{$u9hn}>1upK23)T^_&x^3_`${@h=#){C{Y6MX+^?zyqQaCmERv|LK_bbkC- z`ghwD4*v}7M-O;Pf9VpI_8k7B)_VQ+Q0adW|K8p+Gko_5;|661%R09IUZj&=zipYU zhY*MIbcwW8oc&*w(BrLL`0;0gx$#{NA4Bx3aE~$SMHy4B^fw&-)Ihy{HHI(0akjQ> z|1AR6jWPeMWBKv-_VhgL`eC`Adi{7#3EGV^IA6^+oc)anULDED|Bhh;HgNb}1dr#G zpk9=78qZ4S@Iwh6&v`){%Fs(6?&RzMEQ9uJRaKcmU!pc4R48e9^rs~N7-%1&@|3}8{qtK^rHHlufMmR z`XeugZw%+#V*IOp`11Sc*Hvu)@fOYhhkW@fbK!@Joc;x3|B!19Zp+2TPm?lccKj0t z=R2YO*2%B?56nRgKEDWuen*-4XKQiJe(ii<)6cKxzi=G|aVVSBEuF~W-IP_6;H4{w-gBCR|gVaro=+V~V98tO{R#8b7qN?e}}- z^mw}me4a8}D{%Uw310Q%^?#6jmaTtR5xg1jevORhZ{z_cu5&hI0>_=e{ncX!+&Lvg zkMn5c_6o7v+s}qw7^RUMLRWMg+3*%8_PjNLvk`bp3tqPZZ%N>61{9O%29ks0^b7^CaT^WpR>Cd-18BIwT@4Hp=l1aXmFjJ1fL_4uY5pabeKE zLXSsDz);NbLbh`-Ca(6y!I)?W67_HagFVClWXZDmA2A^J2OHbkzOl| zCNenWX&!O0qNNb!I4%(m`RLhOo6>Ba;5f=4I;!dGABclYoU@<6;XDHYr%FYZI8LZ~ zeISqHtRvTBkSGV9+~#`1oBK0Of%5=3{8Ul%hlf*7e2=lFoKKyx;bXaP>M6)@I=ZQ2 z>bixv;Za5g%xJ%UEK0sd5=Uu{N=S(pGtm+K#Q{~~KosqEz^W>F=pZ2z3vW{gd9;Mg z&gs5Z(;60GRdr1YOPam*iB?o!@9T3O+~smqnaf{Yj_=a5crU(K9cTw3=?ZW&x6aC2 zxW%uTaS?VDJtpv6OLXtv!Y|@*BliG%-7fjmST%p`UAB z-0xSL8P;Kr*q>e)2BQk@FYn()yq~!&KrxSz<6?SF1^%AOBJcpme~ITl`J3ZU9x2v7 zMr2V`Sa%D9>0I1DPkHe>b> z$-l0aWb$S|`UU0MZ`RwY1O^tO`#W3T1j}H5B7M)7+Ku0l7iB+n`XA+)_Xo~v?_a-% zqh>{EQq?#6sedl08-{WI5r?iQR`Grt-cPwyyzi&|^X4DQU+&|GA36T7#rrF2zt{Oo z-(!*5-2YGcTNJr8kmJvoE&LPZui*V|7lc0TpEvt$j$es)vq8SPRD7#{U|>G@s+i#X zo_1GZ-2J{>w=}QS&)?(ky~*E375X^4;J1tr6IU4(tc9%ORo_lUA|i2 zb2`WYc|Xz4r_NWQyR<(Y`2VxYA6Noq{j7rjaa9c9ZXyYu3;>zFqO2o6Lx6uG@E`9d ze}L~Ln8AKH?#hi9AK2gn%1i?<>~M`AjQ`WB3bM1O__Roj;OSK}z|9aozAIwpngW_JJI_z=fUk(1BvO-3R z8YKCxKJsI^Lb>Am0CxT|{=PH-{e%0U&`)5Vn?PQachfg+<^2CH?C*8*!~0RVU)+rt z9w0BuYpdH_=J=n$dw))T*uP{Bkn^Cv@^4M+z^;!Cfc@RbZ#^pW_f7dt>9vP*_V4qT z`Rn9|_FD2L%{6D6e$d$L_yw(p%4uyl?8CXRkt=a`vyTr{}jg#0!DEg;j?`~v z*gyED{JHzQI?eH0Nc~`j^7W?tr_{#m`mDx<5rOSGJ`S!_xw6)OC_>I(E14mGLHiHh__6cl2 za*Ogsk3Q`F0UIe_xDObmlaPEsUX;Dw8~Q&k{y&8GYejxqGzx4Nu^&fhJ${W@mT9r( zAKE|fgYnZ^wk!6HQhFrv@P~-xl zuVMdL)_MZng6`vSnaINP>3x~zLPJ2JeJHy&n0%efzYEZR!t$tM{gVD>?MI$DcYAUC zKS2MF@|#}D{u(jc`4#O(xqMD%c7O6s7{6iv0NYn@^=~$(Ci$UbT7?7I{rvKUJkyVV z>b94E$MF@G8;U1%&hv56{=@HFv2p%MsG@KG(Eq51^5S>o#qX1Tk8G{kkMkoqejDz= zeu_sPl=yd)v$|~V!`Xl6ON?Zh!zNYk4>Lb`v;Jk+;4cbu{5j|7{bMa51C z>-m+ZavsK8{+b}$LO?E>aIn12|HtL|&!slXA6P3%|Ertd&i}J3zWa)^f1C4s3CQQ} za({|9`_V5bGd5RY_rHF-McR+~tFD&(rjl|WD)l>lx4{RL|2xp}v8#V@eqq%`*;BGs zmj1E6rGI`2F3pbL3c>rwXg|I`YJOMdGulff`UU0gGei1w{;x{v2lcG<558wkdGWgi zK4AHM)wx=PtADWkZo>N^gQb7$KKcj364fd9*L|dD^)o$Rxl*|N32k2}-bn->N|FaV z({|6(_)Vn!>KMiIQ#_$lK5PnmljZf@pIugS;rKWE&O4@rON> z7CHNGu+HUc`)h#&J-r$-+SNbZp#I;A>jxoFe&5nRh1OqO$k~6A%-`WS+ME687nGTM z{GGw^S7?AWfviEXp77>>3&4^<=BxbPL0A9eJt5o2zJEZwRaN>&-R4{Si2S%c{@+_y z-*e?xfxjEZXElgVU-=rMF!7Y~}v@kb@-WAuX%{}? z_$xWz&z5?S_f6w}?5D%o{m;c)=-AUXxQ^i6(qYm+**@iXZH?bT_$#gub1ob|!Ry(? zH*^gA;h(syziRw52>&o)zn$YJcsG8F{>iXC^HMc_E8!0n_N(cPe+XXBCcfp>KPmX4 z=2(q?6XBnv`Jdw_cs-l=rs|)xf12}>#&0A1^98?^<0p7MoBOw)EKk_}Lpqc%OEuZA zweRq)|3EcN@7h0_>!0ihknwL%ki6Ck`s@*>pBb;18W@}vEmARQk*ZMh{aJ~ok zAAozoN=9IZ2L4pyRNQ5)emhF)w->|Z53t|qY`+MeYN$XS-0tBKV)-^5<}`PB|^ zzLROFoHw+?{JXdHj}XGY|KsmkX!VdRKj0m!R{p*KV5%ni1`csLKW86y>%aG`?%@M#dkD*+CE-~{;hR^Tz56^ zmgUz%?4w`l-?!~4(%iLtVf_=fP)4HK5Xu+uV_Z{S{I22$kY9F=i`U|l`ll86hsGzx z6FS;`QwlCTzd_@t_dosGK_V%?H~-W49Wgv_UyVQSbA9}u^T1E>)PD3I$~qHjv+Hv^ z$oSC=apbLki@YcwoBRJ>hS@(fza%!3Rkq0 zc=JCk0FyI6S*68i5~<&YLH%im`F{Ih=pTA10BASLLLVoDarWEG=<^rHz259cUX)dC z&SUpyEFj}YY$v_(JDliJ==@I{Jge28W>S7HiT=O#590>ccU8wz&;PTMKb;IZ@`uKs zMEG~W_|#eo_AlC`|GmwxqF+!hof^pczeJke|JJvR&#-`G_Wab{?e+ZFfAHpi8~6w1 zp)Ijv{DpteZMc46x*+-0FxkG?!9SR8{5_Qxc#sZqVaOLDuKYOv-@p$2&z8Xdy>I)?BWBhe9`+2+r#;4w0)s?YConAWz+SAS^qDF^)IX+%zLH%C@C*~M_!cqN1bH( zmtL0$cRbyC@C*~M_!Zx*W>4N{CA;#z<5Ewcq?DXi?Xt%NEeR3 z3$$OzkACsSPsc|O{vErC8y_tb?UyRfN5uWvzK)M5|ED)ro#goKqW@_Y{PwIeU*DEL zz4iWu9RHG|V*W?thkli>{5ZaI%7*0={k8fH_RkG~`IE1peA&*)`bYgymR}i77%lEn zg-0k)_5LYAzG;VbNXm=fvE1VKFaJ8)QnR1#f6YHY{({<1@yLUc&QILU^i7PT|3Lh6&_n-$ z;*l36`UPchmk@S+q)}HAKS$-h6L0N1>Or}@-omKpW{ieP$KEq&rv(N{!CNuSu<<<)P-tw2G z>(>51D{=NW{aM;?%?JHYAMM9{McGze|5uQ(ANL2U(7xo%0{+2$@o)M5)vif9*!^!e zasIiTwBP!ZZ~bTVJNC~5tIu}qUq`=T|9l1X|E=x8KR)t1$9FRM%GY0RovP(8@>{__ zMSchWheP}Ovv2m>fM^HE?X%{da^=VQ^Y-5We+S8L_L1KNc87wDNv)zAA6cRO?X?H^ zJA(gx4=K1@rmnGy^ccsbb<19+PC=6NfZvw zU$u93G5@a;`zt?@KU6!*{<-~(h3>$H^T3+W!H68QDKK`^vA= zrYLilo(|FYY5eqn_T5rg`riutB>99*e8m6;x#xDPn;JjPkKKa$X94&}4Ttgz{Hi;n z{s}2yi$lWqYWy=u`~)_V2B_d4^_v`^3a`Wq$?zYK=dM_@_vJ$*=B({?7&Je~b%4ZX;{_|1er4d!o^uciHF;P>Vq zI{y=rr%h%pf9d?s#4geTx;{nmXeY`F_yJ^v3xCeh__6-P`gw^5eu^h_ZeMd$O^((4 zL&v|@V1Cu&2k$L_f7}Sj11wkg_`%qg;hO#7f9vbdc#HgnTl|y!Lmrfv|0rWW%r%y) zAHoAA5zfz>p`V2k`KTN~9$ak~@xEriLgqIC2Wq*8IPT#ODOy zr~N~3?HBq5<&PODJvsl(hw%%VV@ig3R*=+g{0?T}SEW~h1}ilGgpmC$Wk<`OQ2$W8 zlL$W0zYkygPcF?rls^RcseefGMCqOLZ}^8MU!NVL_5bPkD735mg&pSG)FZO~L4P5h zN~&Ky(lMuIKdqme0zby1-A8`RSCp^XOfJXe?{?9DFfY>1cb4S<*O%1|G9A=z{C-RR z9KR~h&tDAD^7kl-&judym*Sm7_yHXR@=(e3#T@Yu{fAo@Wc&N&1h9KQ)IS%&ZZ8>t zenEAcOH_C4kEQv0w7L8Rt)D3#c~Dy51Im#H*B5u~Kj8TED9(>{gYhZY?~UIE{5U_; z{+Ej#UHQYIe{$df_@}$%S1rr%ZR{-vRT7xAy~o56N$SOa8+ZB2zhj z%kRM7Q}SEikpDjTseC|{i>~};@XvLeU+M+^_mLm-H68fp25y9wp&m?NUwo$jMxOvEFh0hyx`a$TOm@mze(Vq#?Ryr z%!TCpUuLl1OYu_j056J++DY9V?c*zb``!iZ$NCfQXQp`ML0JSoU^&@#e5r1KFU}8- z94&u{^|Be}$GrIm`B7h&lkc?B>YpUie)R+UY5U@B{zpY(kb4Sz7nfb^f1W}3r-1!d z@Q)SzgViIUdHod~15b|M&y`8DpN=29WBUd1gX@pZ^8cDq|A{!T?6`v8Yx#@wC)od7 ziT)?~>y;le;C^ALws-2(wyx#NbV=6#Nvq}Gab3_1?@xK-w?S&K9OSrn_)k}U++SUM zl}xC$FVt^Wd@H{y@MAW7`s3D?8vj8kUl^b3z^F{oeS^uT?odwOA3gK+9j1?C;v^q5M)jp>y`H&_7XgYBeasjNk7< z`;Pq+d_NH-<;CyFi_*SnFT207a5waXtkLlOS#RruHc+$!WY)mAbFT4&>mz=5B)=K~ z^}pS>_(8i-7VEPsj`Pm|u;1w)=(ky$$nh%rgGv)r;3&<{>ZQ2apZB~hUwxiSr1>*B zKW2YR`y*CVV9yten4$N-Jy5nY-u4gJAVDZ&yFdTI)qWGKe+6EY{MJY)zgOSR|GhUH z&EWi>ccSD+|Kt78-t5PGMfrGW!KEC3Q>cHiy~X~yEklmOzzuF9CwX%1lm3y8@=NC5 zhQ!Ms((xC?6FMaqc`z*Svt1hh(f{=A`xp=W6i?{f>W8VVz8t{$C%%Z@|JV+AE5GP> zlw-0)P3HJ>-IA7J{@S6PeAE2xk+Lce$3KL|Per*7^QQcxtADhQ7 zXRk8s{-s$R^!(@-yl0g1;&ig{Gw8FWEt9z z@#D?^Hppmf-w)j0(bZqXKjuHS@3Ucljx|cgqxHIP?Td;;APb}o8^^u>xbHJ*zcpI& z+kNDR?z2s?@UHyao+t9Jn1T0tBKbNU; zn&nr?2!K35XX!g_n=Q|+&sr}ygRUpQG^udim?OpB1{i_>q$sb}|ny<!e>K;!oE(3qRuKQtu3-J+jb9-F@b2pH&$Rxhq9i$n{y6^ai1iPh ze;|080L)*Mt$x~avJ5jmtrj8eceXEhu3V@r&y*LxBQMH=c~-LbSC#<(IQdKY);}~! zvz+gzZ>!VjJJ}BIUMWzw11d4r{uR3mGkrJEy<5K zPZIrtGG_UjYn=b@K>rH&Z(G5BZ~bQ*D8}}E!rfO(UHyaY`~7*~pMlW6gZ*fiC;KUX zj;SoN&KSr05tv@< z896_&@muguyyQ3g$WQwZy-RNXhkHN8)>zyxvPPUg0Ojdz-%klYy7iI6Kji(CVe@5* z)V{F4`lfH~V+C-83i80prrTWo9|H3acANYG+K=%GZUwZv!1zL0B=)BjWtjTsI?NAX z{M%2z-TNI4Dkrbv_>Vo2mSTHu?I!uvWaIfIv>Ro!d}9W4{JW9}KfJ%-?4P&rbj_3V zk|dYQ0rA#5$JJo^3$Tcb-zDEGjtktTwI6x?^zBEPB>6)+KSJ?@PO-rQl$Xru`(5J$ z%V&`rGX2&>s9*l{t$d7gj<+Sl)=;rav|d+0QmegLzakI($_B#&eL zgYe%B6YoAV`~{py{sY}#k^O4&NX<62|P*;^!!dAJcgGJ2UX%{*1m@Vd`l-e(M*UZLY>o`%jy` zmk?7gIDhlDZ~Z4af!e)I?mLe7hw*~~`zM-GKOZ?#e&gZaDyTI0= znQQ%4;iBvxRQwbCa{|`4eB`J7*U{y74t3?n{_7yCt`X7Hod|FCC|M;%7-<$jC{LH!RwV!eG`#<)S38nj2 zC?4G56a$=}6RMGFbkd@>4va!|-uFuD;-dwp#s0_dn$aeyk77P=9(G zKRb!x!&U1|$No`TzP>3YJ#9^sem8^vDV}~;$piDUfU1u6k*wd>@?byKi-gAcm5!hP zcm7$5=6^aqf9N59Dc(s8A4184Mp^7bH2dlP)a&3Mdu`d@vx0xT@e_LG!yMJw{i6$- zfd7Yr|L;jj@$`FR@*pyG`u`m9nMvP&n}`0#_V-uGPw|9KF_8yjlq*lQ^S|&hw!ev+ zr2T3N)IawnzqkCwzoT4}v6Wr_{%fk_$M#nl2m9P`o&gOa(gxpmfc!RBr-`oh8;);l zTmt)3rTtbP?Y96g%IiBOc5~&&{cR9NIGcIp?4D z!E&NY%>e)V$d7iSTwdz_8m@m*DYwjD>qpXV>tiVq=Sf=N59uIxSGqgd)qdPR*ZO;i zpO3)*z>np|8$aq-vXQn1A^S%dZ9e?;}6<+fcr@Ab(?r{iOf)#d>fg-1}km@q82XJJ!!n zG71mZ`3LMjavJ6?GXy7FWHHXX~?IPm{7-~5lfX#a-22TiX0*uD(h z4)%`+``?g%lOq3Jy1Ds^D?jefd;GcNw@wEB7jI@i@=wWBmgOJx74T1y{B|Gtv3^2X zqH=b2{!Td~`EmZvGF7(k$~2IWekza`W$=sx2g@+?gMU}Rg$_9&Ri}ZUrbKdO|zG_?t{!hT~KJueqP;Q^!wjJl6Lan8Luz!gA z!;~Cyoe0cx6Ud7)c->Ui|F1gg`Ry>zVJj!+BixAL0rH~E^l{zgoc+}w>ho8fF87z9 z^u%9?{9)s`$W~hae@13~|G!U){2`scrFcT;oWI5T?MU!y$NpOU9oBEHeuMm-F7sD? z`DXEh{6Fuhv)na)kiWn^=^yJ1$!~s3{)`uw2Xp+f;D75(h)*B+vHg7x4vAR*O6Q-| z(0+|T`)5gh`&;rSj?O#K)qdo!3iYRTHu(S5+xh>W+vCo<@}vKky)Wxe>m2a^Tk@aW zaHKxRzv33e&s^~TTk=m^e0Lwm-{>jC&phzIkNh-$cRbqO-IX8xzZvs)KKTDX-~3Pc zbB{Zz>;EHvKg{0+;C~||zJF3;lKh1g+AS5%uTc@`L1Mn5jLo)^JwGmYBsdTjyl{O4 zr3ZSY3Hig-xUO9^|Ab`G`zI(>{*bm`6i?_B%-;|&ugZgJy8a2ypLg2}_0MNeKlsc1 z#dK3%{7(57*D>k#MQBF-*JFpDXzx{ZUY zKu+4<w?5T%2>w0Xm7*ZK$NH#*!0|11Ij2fUqs)_(F4 zyFbQ0P46H3Oj$pBtAEh%D7zLul9ltnWt^TL{qK$627W=A(Ci$$K3@D8_-85jKeKQC zq4C*p?}ocN|HJ(pCGmb!EBOB{`OD5bS&`%KzYFaDT=J_~e6t_@j&edFbxn|{-*Eq; z3jM2*btFITD@Xs!r{H8p6oF^R|6t~sKV0oc{?s;-33;uszyD47R}{!Qh~rPQS@`de+b%62wKnSsa?6lA8JKA4j|DPV(7m6oz%6;JvQuiusDN+Q9)eIsfFIj5#UWF}18LXWr_6f85;ljTon`|iYR_p3*wCdS7`28SocCZt9u z_jLR}AtJ6yN=8Cta6)2Kbk88?vxt7N!JRXbqANL`#6(0!tHVb0?(Hyb$P|{m$6Ix)uOWgwY(*N%VAj@=jYM*c>?1%8|1IeM}Ev#lxxnNE2QP` zEt0>%7v%WdG+5@Zl0*9EP4hS3k_(Ra$3W6aH>TG&3^oy z3EJ;+XTkr=q22<1te5cjZc@UW_3##3y^^l{c)rDbuwPvv`E5S(qkfdZpZ7giB`~lM z?SFi$jc*T${X=PTKG4_wximfF%zYg9Q&InygY!*IIU(+Iy>+8>JFh6BVh4PhG>Uq=hwIJ_=Wt{zAm6kIJHsDqA`R0Es#6PC1<;%kRH2x4W zzYw`tQ7p&Y&o8WjKo8Oe&o_ZA*=m(;{DA9EQ=t7)S3>y$`?1`3pm&>JF1qgH9 z{NcY3T={YRzR*qJUjzOr;G2Jt7iEqDi~DN)Nf7@|egy)ps_dWGe6-)D$bTsB^%<+1 zU&i`>ANa@mCHTij`!WAfepbFw=`zgtp?d}v6zCr}li_M=vCgPW*Eo^)H+e2LaSwgu|@$J^874{86H;t8GG*Sq8U{mj)r6(N7E zFQNZg(6{;r{ep^K7R~0kpBDXt^G7w8$Y0nSNM5^-<4@#AS^J-~uekgT7%x4I^Iytm zvK{s||AJwS_6OfNFiU$skItVaSC;(N7n0Wk{!tO=L7K?(Z1L&kxczhYmIMD<8UHrm z$8-}K=U4nY$^&gyHRs|}$q$hjCfhF+*6-n|laGF|zyqAW`=fac-T7)be`ntd_OFxn zo8Eb|`Um;*tu#$>t>2LU-Cu!!J=70x$)C7r!EYRY&l@oRy8-;~D?d0e31mdqfD^9# z;c)(RiK}4$M#--f^36Y(uPEzhy8km5|Jz~yU8X`&Ou+AJ{NIOsuGlhQx2yfwf8GM^ zyLA)fZ(-l;r~8wC9y$K1R=()@Z9hZ#GB=XE7U0M9(743!bpQ6`J(UV;^Dp##`j7~T zu;cz$*guWCLXeNjFnACOa_uyK-TRUE;r(wr*sp-yHjv)6nQa&i~n~K(3uQj`D-)(le{<^xE6_Za;27R}%pJx9i;19ek?YGsH_N!k&d=``T zW4WQc_&owYfUGiQk>mY!JF!2;gZ&gw=oF4cU>U@8FP_D+h{y(lSKE?UBub_P?F8zJ-+s`+qw62u+D8*n*}U|aZI1Fq&j0ur`04tSxA;Fu z_^02S|3b^(86ff1VKxk+M$K|2BwEl6*IMMb$qFXtr>-#!v6xXjPBr z&#Q;KebY-Jnn&?y#DQOzp8&UZh0S@ z7XQ>gLH^P|_J`0PDIx1=Z~ZI!e)`en_hK~uqojOoXeaHk!~P+B|J9Sl(HZK1)YPP4?SIu;BuB(Y zYm0sL)abbAcvU+I!R4=U5&cs%Xlz1%b%gT2pqR9T$O@4IB9c>sJ4Po&MJGomS5oEo zCW-0zv13F+|7iA0r__wN=!#0%>k}C?bEE>Wz@Z|@VMC|rY)e(MSL53@vu?bPJ$;KC-Y0KBCYoVrzMbxC!WO1BC zh)l=O=!ij0qmxscMnnz}Uhh^_?b%!VQKBcJFr#Q)!HpO{||<>4sxF9;j}P1 zAu=&a1aOssDTxWeL)7Hxm^cvYq5+c&&!=4=J|oB*(w0zPNv)xM%y1UK9SG=x#r4U*pTwx|Js& zAUmC38PZ3bAEdhThlrI}Eq_gcRg|MYx%(gE0MpUx!O`vFe4--%kG3m;v$1;r#~4D& z*q6|2$rfWQ+2h)>#vuE42ZOQ9j6t^Ow(l8fvF27tMNK41blao_lOjpnLW@#ELchZQ zdG0yiyS($fGnf1ypEJ+B*S+8GbDs0O=bZPvXW3!)*TejrXZq0o3Dt7r-$Ma&rM3MZ~&OYgWv8hD*N^2T}Ac7jn4Rqgzp=lKmPBj z{+@(i+>XENG+n>53#kqCz=Z2W#C5l@`X_N~?%8T~`)ibJlPckVPxzj9V)MjT+w#XB zv+2}934d*2D&P3L@!i+jYs=jJuh6boaS6X4pWpdj-uV6~{L}lYgXai8SN-|)8NyEh ze(v@q$5ljSZnw8qp>jewT<>msL5lyS<>|N0VpTHTkcPKkxPEiqyH;7{bB`tfm#hoO z_TN|aknCTRNd9jgt1e86#7Fy>we$w%cijM(pthIDA5T_VF123|JW27B2Y$km8HGU$Yj~|1I*cfAI~FRBK&1hw7%k8T;+pX@JeuOAi+Ci~mOs<-z=mM`$* zGRiCO@bW=iyg)qyo;jW|=cV{O_A}L=gx{V9M5Xxjj;NwC3seDYQ0Ky5cI^@g|2*wK zZr$vRpD?nDii^pO54%BVP5S%+@=vb%xosM?@9oGxRE34xkN8I)4mi+u{1zF*UzFmf zJMGWw%LiZeF@wvQvK6=gi`+Av1;Pd zNc$20>1FAet1wt(w||D`S-!qg?T-`0&5Cx23$_T_0|0;I$pUL79bZ zB>W})==!=XH$Lq5bhDH{JAeG_yGn}fW9D|Htp3jUs)waqC-TQ1w(PxKlKp>Qp!#!Q ztlBe8_D|e`D$1IlfBiPM>gHP|{OjpKhBYWw9df|WT3bbBKbt@PyQhx*AmOw9uEDXY z{zUou%AD6$Wz}e#Z~4A{cxtAEKZxx24T)8iXr7RC{U(mIRL&qP7rs6IpPYQp15*5N z`JH~cs<7HY^HjpGucQjpucrG)Tw`_ud;Rv{=>3JI`t3nRb;qjsS0n8Y#^>6bROY;< zcKCoT;UAvZU;cz-zxxyNPagPA_S^mQXyL;*N%*(lu9TJJY`-G=tvhntZ}-p9f)nnQ z{4pvun7>(e zHucX_;T@&Q8iT0%(K0(a|G%{6;WZL|tIl+Pln1_NW_0*!-&k?}>AuA_|CoL2ymwq$ z{A{`H7oTMRiQDM<&BK0cjf=1KTD!TI63jtJVlS7XRZ(7fwm|H685tU!whA{aWTD zsebSKC)IB=5IwouKd)(T!$K$U5^)2)RL#F2*&p{tWPJM1Yrh1wxz6&#fAf=+xf1@o zry}vamd1xhdFO|p@=dv`CH#J?Z1`LCJSo44%V_K8)1SAwN5cOfJ%3_B{S%BIwBu36 z|H$vJe^A2ze0QY%o|@&&%P z;<@W0->PQ1Q8@I=N>5Z}ym zjJACLZT+3NKK}(<{Nr3;=xF1A-u;Ijk^KLe4IkH)+sp@r&hPsDI(>3I3BSf$k>v|~ zXeaw|e+b?3zB4&7MT(TkHqWQWoB5NSSJU`iiBSJA-K_tz+iQQ1dK3EFG42@2{$WpR z`_X@c-{BYZQ}V;Vsp0bPCHyXTMaEAM7ygg3es10Ij-?WQ<3W-3!{3NY==|(o_H@t3 zB>d5TMcS{fHuG3#>V9Fg_>IS3|Gb2s`jakO)X$#F#Bcd}f!ihgRtIJKJz~>m9NQ?_zs2CgKWM*jelp5Czw-Uy#E{_<{*W7Wo?~JMr(i9(Q#t^(D=bf|JdtK{|+9o#TX%zvZDBJowGjyvdR@oQf^d0evp?;mvggZf+b)b>M1i~r`y zrT>%gKjr7MB#1w^x!(XTv@N`IjSqMJ;rCZ1{DwUu@e$X+h0YJZeW_E)5`OGVjgR&L zc*qBIe)zBL9d|&&AGI^Ge0{yO|DnN`AAYNWQ{I&D|FYFz?w9nq9JDve`@i>kueK!o zm*}}W3;cuY9{AAt+269)ru7p3Q)d6hApW;z-0u?aUzas#o*>~rF*MTuh#%-^{eMTn zwc_~SnBe}FX8Z>22HKG*{r}gIUi~EdSD5(3^=ogRqP2h14{zj1_*-rDPY~bOA1(fc zrhCNlJ+Z*%fA|GDO8?9_U15SW{&e3udOq?YypwzU$vPL^^O1#13-*=#Q}|Z2itXdVcOvo8|8TX}{itaD)8duNTP6ETuaCrs-!B#4?T52+VtXIESbBE))fj+1H5%+I- zz{Gd3hFPQgXBbC`wtfBbsWM{w{m~OT{?LE&oBhFo8*O}_Dd;XH`FET{e0vfuEk2H| z>LWg%`qf;YLI0S2T$Itshpqa`)&JWuH&)sFkNO=tSPs1%=O2Vt zY)%aW3=yUPF!;RRNX4$MfImK+XfYQW^w zX&JMI{^u&NK<|3ITr#+A?SBSTiDn6F z>ZPcG+w{7G7_>^SevDjD7#>NyAes4M*W^j*$uxUK^`-TsXz*+%1(#li z8n>ugJi;{b6I{0&%+P{rPkbPu9Rn`(S4oeyknmgd()GW0rk)RG$B(0>4?NE{`%ru!IpNpn z@ZPHuKCka(aaGa%Jv%<;+44Hyz*=8J0K1|8Sh@Zk3BQkD|G?{jAHL3)=h_hWX za{Dp~|GtLWe(Ocu9%}nT^Zd^~rsw&m|6W&dg1~O*;^}{UgeDHZ4F()UvwtUY;SJD0q_f18bEH0sI1ebJb_-Nce|d&_A$-h5J8bZ%@jx z_e?>Rbs;{G47|epPvAGHc555*PjI0Y)+aN*kJeXXJlP&U;rIzz~~IQH-4j{@JOYzbE0}l&SH( zx5?KR{F8n$UU7oJZs^jj3LTU1PoRAJ=Z$ZvhKdsexX`7Z7+OifANqs&g_+N#{U2J# z^a=rR{hZaPVIVo-7wK@Il!RZTw~l}B+Hm_r_?XA;YfJS5B?#<>R!V^?EV3MqOXDC1cBYqZ_fGoDhYpx znIGtlDBs-nTMemvDM5e>-DG$9O%i@Zn*YY)`$D!K{?D?gd?`VI3;nnM^~n*rYf4fHsy zy?oI>Nq>pjM@kUjLT4WxuwBCE{T*054)%xd^T2yOK!6Lqvqmei|HJz`u=pMD;UC`T zffEF{(AzJpzD=^9_jh1%S$X?Eu+IbSl>h-Qbms%-xr> zB>aMA{+0i&@b)EieW83^Pu5eMAg~*HeZk)zm+)^WYyAIKc>5B|JBt0)|R~SbFOcwI6;65UFA@(J0<*2 z&GqHplXv~&qS)jF0WS2(2R4cQL*5^R#hXuj@;)J)Ai#xgopR?M$$s7+Bp}uDj(^@K zgcAg~(4Thf@U(=#GFIdJ9Q=Rv9J=0TY02lhIA3j_u;h#6<>wR6mzHtAN z-mSjk1OYDevbjBOmGI5&pt9C${KpA^bAM z==(bf-&>gO?~2C-k`sQN=JoHE>>sdF|H2v=Zhz?dy{i%Z|Ji~naZ+3$IpWV<)?LDP zZPvf=I^b7mM|JmK)V~@L7f4R{s&46V5`Lq3`WOC^dfdN8zexX=r+xPPB@5CX8O;L8 z3BTI>fo&xGY-7LrQeVGL_~~7nDNYc?4fM+8BVU*BcNzbyt-Ahk!dHx)2Y!#oN4_NC ze`oN$`PlF2LjIuyf!)vtZg_R6g#VktcYT$&e-vZqfxoWS*c1u>=|;MKa9ySGI~9st zN8GeMS=^lZx1MH!ZxO`_f>+SL^d8hlvcKDD z^NXvs{j{A*1U~LB(to~Mae@FB`oz!0S4;Rm9nrsVoBDY|LL@%wH{NH769l->&0l$W zkc2;`hW0OY6}p@QAeBTjEgknr0d)%IIu zbp2+>KTnX{zS!5H0~h+h+KvB8_{Gba@+}c=f2jTs_Mg`mQ`wXtz=cja*iWo~h7~sc zDW&o4`)HlJKD5t9UgLY;wk}ylvOgX8du9AI3K{q&FZ_;;zaA;!^Zr>Z{_48_W4Awi zAF#ae->4Y>n}mOIkM^jqf^2`4GP-=d^J5h!2>g!sHy62YRnf5VXN>PHyGq;d-KOg| zyZr?VhWz6{uD{Eez=v-ANx}Y-{msv43p|x&`-htN^sXfPDFr1&75J#gsb_}L{uH^+ zPx+JL(_JA(1=lTnp~ojJ1H}1ZL4QlX%WeOMFLf5jZv*>_(T}_}!pk=l|ENECpD|7l zyn_BBW0qI)Pl>KNqn=0f^=tS4lT^OZ#Aib6NwNQbVWcVFaWZ~4YIdWk9}aIws3zIJ zeW1brK;J*w?T;4!d+Tno{mn?z`0fw?8-AyUK3pZ)pK0)2hjst?a_uj_uZlQ6Hol#) z-!J2@sTN)NKCpFaykx)k2958Ek^S=nU4Mak$4&DaIT=A*Lf<{~*3TvU9!)g9Z%26i zhps0sU-#_X`?LTTdfc6r#PRv3=4gCtUwHixy1vl9;2LnUe{X@GM@jY<{89hH=YZdj z_VtS<{>Szo@00MCeyQ=j+r#}IvY(rDwmrvPSaE{DFVH_0dF?w1|3%|}&xgAIzn1(R z-v7k?Z`{$6iW3C5(52Ge-zMR2Gx)AT+J226D&HOi!1lYBlvJD`z=fVZJ7$E0Kl`ly zg~z4i-;R&=B`%%prxX+&7QwgvO1C^n`{U%Q|M#-}ABUd5U|tA0DImkKcBtAFylSkLu)dj(>mEqJiXuKjhG!brL@BU&-P&{>f_}OWw;80=uDSuB$pw z!sq=fS$z56^FEfGAi#xwwDPRqCHx-e^e^0h==RZWe=<4BJu?6L?Vt69$4K~}pnR9< z^40hu|F5I^$9I4J_@7T5B|cx^{Wn>x8+3fy?MMG4i}vB<1c6_mr_|i^w`6~!!FQjO z{WF&S-@hm}*hg`~pZMJ1n3YpZ!#}S$UN2>d$6~{fAYie`S55`?q%gyz^Cb z?eDg(H=UO3ce#xHOLYBd$4C2>xaz=huW zOWk4;e(P@9epN>HPni}JpAXSZz;eRoWCXa-qh|CJpC46dZ{l;ej1T*>k5yNkAi#wl zSMHV)lKmh5t$*Ro4}TlsQ-S~&`p~-1#QNdMV%mOxQ{6wYmoLU=e8a0NP7vTiZ+iXc zM9F^MAC|>cOJBcv?Gwv;#X^7!U9$fjvn71qAC|>y@blUymiLN<02jLZk~-H(_`E-C zKx%9Io$z^|SWXb&LihV%;{gfZ^66h#ZXG}NePS{G?E0;;;sgOMbcc?`#PO30`}8lo z4)_>g!KS^II6-+cwm{visi&AGpxlx)q3%?C1S|S==UmE*HPi zhn?<|@Ol4V7T{PX4CT7DwoZ!_iVTc+C= zJHDIp=Ss@I|M2$W+0RP&>Gx{;J_(8csU)N;aUlM+YX4?PmUv&Q` zhx`?O|H9ArfgK*7z=a-DY|L&6|F^HT{q8o}|91RZeaZjy{3~lwtw7S>&OQEP{WIcb z2|uvEGyTY_qpz>L_Ic*Lo*}RsI(~h_lM?i&>~ zZ*?&B&*$3yCiFZY-2bmo|CZ-3WezMJNKW|uCT|n_Z|SCdtuJ)^xZjJszxb96Hj7qOZelB|2J&r(di?^D~|C z7q)ojOUeHE|7eT6d&BWV*YB#Kx_(GFSVwV!z;5XG9^EEBKRS>8a}#}k`XL=W8(zNd zE>w3HqVj!)ZnQZW0WS3C$BK*dGfOtt{#PCJ_3MP6_*8Ml2?AW`x%b^K&Mz8o{O_x& z{o{n6{zP%b2?AW`R=o>7F8SYM@ZJ0J#?M|@TycT`7y8hJBbgGu`+fZjf5&kDgvvLQ zo^QGf<=;P9y1R6mgwOl?vv^JYlh;1~yw^Vjc0>Q(?5F1>{E6%IFRUEhKPkC5GJeig zqxhlc*O_-V3M41|SDUy$mhkWYSO3D(P5VcmBM|Zr`d4ar6BS5?0Cq!P?9@P4$Z~Vkh8!Ju_;6lGW?@PC2|A8cp@BLBNpHBAsK548tL4XVW`tB1SN%&8reeb3H z?}YEYxv}B|0WNe&_ko!ber@>Yr@ZaYaW$srch30k>x&kZ@cDd*fYj6NqqaZPzJ#9> zkyrnA?dyZrNci7;V{*Jtw=Yiq@wIHKI6>eS=q0~CBhFt+y3Uku1pcMl-`%P)Rw`M*>S!HD7ar8wGJzOeXK(g{af;9R zxAiV8*&o-_;F*1QirvUex$Dn_+lwep5WIqRuh`yJ!sqi>Sls6N&FdT%K8pncTST^C!T2hJ3>Hny(d&u~34*FVGnqw~Nm=tvHSE zTcGPt*Y?Q!Q=0ZEjt|(!uU1}HtDQ7{#rW<%A^${+54)jTbnY@*@(-V{!{RgXljk`* zy{*7^`44cR51id4-anQ#C#_oJbo=FmZzWoa69l->&9-(FpHF2|{IFPN-zGag#`iou zEX4@|T<8Py*VmQ&GpM7+cMs9=qwz!WvzLant)j6iv1ipla>AeUa;i8#{6}NI->zaeZ7)Wo^G2>TJKC?02`W8c0s~$H$!MA^E3J6%#)W{zv~X z@m5Q5g23<4>6M@VM#AUwnOLkF_4VagzTK#NDM5e>y|hbhzl6`{GqHH`!RK?D0x9rq zr9va=`hyn7KWoMHn-|&0R4-4ue{VwVSfD3)3(=P)g``0{V%6EL;^@Eq{ z22K#*LeJRJUK}4Dc~JkteK0)!L;gYiV3F;dAi#xwZQzUI^L;Psht<0OZ@+%4m(=yY zzgJbo2?AW`aa+fCll;TyW3l*6eCBn|7oYV70WS37>MiF>_}7~!Dz5ta`pWB^FFxxF z0$k|Q*KM68;Xl<^gDyo3+`dyRkcI;V`!DuVzQ`hyMS#r8Lb&Lv~9{?PHS@k8~&8?RB>M=}3= z=HWAsN%s5DKWVA!2Pgb=I%AC!1a?C|TW5J?3I7FieOV{9{m4zi7PwpZ6IX)AL zRtqF2`~z8Ut&;HXG4-?8t?QqEsXh&l{|P-!{qWN*%1;RbyP-?1%q%3~A28RKTBFN% zbDzlmC)(ef&J`3V2ymgRx4m7Qe|ys0zxYOL`$xYNX+Q9-#0u1ZbH=~p-d$pR?tE3( z5AMC%|2b6N{0Z8_kDHPIqnQ6cdrs+jl7F5u{ZIG4|At?;!67j|A1tZuR~@wfwf&*? zWhOmxiRSukSAEn@$^K;q-}+ZyUzdyj!S<`f_Ul97pV#=OcgykPZBtxv3QE{i_rPbn zHx4Kf8(T8{Y+9iFFhBo~<#ca4nEF3vUoiJ>v;T&1+xw>eLwN`Bt>CM`i#ry4k;?c! z8-8p9x_>8p&$GIIP-XNyLBzEaKK>v2ueVP>Bl$n>6K#iQn2sO&Ige}I`uffKke=UB zf&dq~)J;!3FO5G~gl`QEjXy9xixv1we~N2f^c(RpaG_ty=_k&Q3Y;HFKk}LSGp}J=gv3sZ$4sOZa>~C5zwS=XFjcpH&Hg zU!W_luJM|L&*xLJxEgBzIN|d-m7E~Jgz^1_Vy8WLvKDk_l#u!H3jtV-K%x^GG2K9ledK7dNZy~ zN5u&;)4YIQzoFr+RF>>#d>`5Gx>?)ryG;8Rx)vUn{6E;(@6X46Uy+Wq|B18z z7q4pdlw?2Sd&b2oPg~>vN|)#Vk0!qSfMkCyGylX&(fz}}Rz%j%?uyhlm!a|h38e!G z{zqIw4{T#SEa3;o&nN5ax2^5|5!WxrD2o&RHeW&U{w3Xv@3~Vo{zTf3H9Y>Ckb&Gk z&$;fFKyt!g>+U1YZ!cu_KlGdSvF?UQ|DgYqv!tBj1c6_mkM?^=T>teT*~?-T(Cx1i ze%8*iiW3C5(A|H0LVSL=%EYJVr@Zk!OUo%v5a2?eIsddcKK~iw|7CsseoO6rxc{B{ zZxsv?@E>?~^AM?hVSLX7x_+nXxX%mUGue6kDy~oVHBx*|KCBJ#ey8K-cj|A2+mG^f z9jl@^L0~uZ!70~@>#r+)r+?v@qVbo}^O$ga#J}ghj*3%I@PN#G(0qJ}b0uP8N@m;c zk4}<*{K>RF%BB6|xlU^$3CJ_E^b33YqHOpNO!%dngr8HYfU?G320kD88Yc6nOgO{i z=RVWE;QleE6W!m9%RPQhKMnkTZ^7ReT?K|Uz`+tXNAKfiVD^3uU zD|Fv6tG7z=bIW7;7p_|RKCUIb566Fw8cO$Fw08WpW`X2{|IpB$8zp?#=LY|fjvps{ z|EtXuCkX6@Ug`e)n1ug|*Wkab{o{mh5jH0XaG_V!Jt5vdzDxCGK#uGB#|huPrkUad z0WNff;~$Fqr}Z=b_vVA2zK-^{p#%Xg^rG(Xi0f+-;s0Orwmon}$ERZKJn+-*KbI=ue{Aemb@Ik{z0yo^ zg1~O*TH9~?L&D!>;>Vv4zUO7y|A!I;xX{Df4BsK)yG{J~>gH{~kII%41h~+*-C6f# z3IC=X{R?j)Iey-2LjRwg`~KPjkej-!I@7Hotem?`p$8Ij#S-jGtqx|K||CH6geCwCo}vPWYDjf2hw^_c<;3 z=g6OQe=XqS{%iko*+0OAKKIMTvD81Ir+r$`eia)-{wI9L{f8a!5jW5mUrZLyUnq6I zwlBssr*7N%3wUoo#{;;~A7xLxR*KK+OEkXvL&s+(E%6F(ze-ZaLHEq{U*sSC3FzVL zn$3-&^JmpzeLfh@pFQ<~!8bq5c|-RT@hNouSc-#dXt9A2*bUvoe~oxP(5*jc1eB-y zguYMm?$_<5=aA;JpA!PRpCj5 z6dusOjC)hYf1m!_)zcZj&*6RrCHz^_Bk|K6@Q*WoZ)f}ucV|?V@Q->T@v|N9XHr~w z!+Z(9K&w|id{V++WV1hElkA@WKCPpIAa0-^%dUG(bzy$so)y}DTwltZJ8nO}Ex+rl zX#CAjN%+Uj{w)RRs$#)7ncsFD+StBba~|GpIdL4ctpbY+VJhT;L8tx=*JVEk?^+#&!^P4Bkpl#|0OeC87+Rh z>RT#F_|FE<|J8oN`7+>f|DgHuv;XVjg~av03s>v%^_%|xAH}1qpAq-a(+`gRRkDBJ z+mZ1De?X(`HV53XD2WBvZQCPt|Luen>}<99i4%h&Jo^jw?gnL>aIoxHpFT@wDT z+avK4x5)TKXzF}8KKuf`tp6VIe7G)NjbA`%+u#>mPu561ZkAv9*1T%ddCC8&2H$>t z0T(>^;lK3zEb)BsmD?lB7xe?Q^?h{qm-H2KOZJytkT<^5Imhrj^b6}dJS5@YJ4EB7 zeTP4sG~x%i&~yJv5YO*?h1T1#pnQSrHs^lXwG)2B^@Hb1_K$C<;|BG!ubS?kxaaGB zk~Lq)tM#vWZf*!*H}oTCx~-7#C+*SpBYtpRs*{HOxUQg246dCLBV51V9M|CoZh(q<%0ojfCXRKuk7^!U+}Qbtcq zOye)p&f@CBCHsdmNrQvYp+h5G&P>rY4O|9-o{vCOIR%ANi1f+9&{>J}rY@ zlN(Tu0Ve$e9IclpHVz51###ZN)opF1(E(xB)LE&c<9pMq*4FJwlTyZ*BTdsSaz}E; z*d+SOoVgbLbGADe;*;rMHsVQ19XGt*=!{wE)6yEwyeXk&e0mz?WmcDrr1bH<(#Gga z)f?J8;Bv|sVLM5vCf45=`PzXqG(W6ZS2MnV@fTH)o)0aLRebIT&$2>$fagxu*K}^r zj=JitS=2s-&9g@fH^pXo{7fBEfL#rq<29gpAft+Lfwj|=*z6jNR4IV`t-JPPB< zC>H!4@C%mzOWEj=Hq=(G91OBWh{EEVd5xIWhX1N;t}^Tz_aQETf@l^R=l z?t6q^B+eE;zQXj)ZSYU%_d6_ozreo8zPF${(myl~=A-xU3-HIiam~#XKgI3wQ}auj zd-iT_{O+B|-(_`qx-Z74`{}(mR=-cA_jXx0{NP2&KSj#ZxLKvp_uV_9^N$_>+~g6( zCH#BN(DU;!eC)Go|GnM+@DKEFRc5uXEsVbe_HS*%SGz7T>~D+b!(P+QcB7$p-p4g( zL`)#r`QIPC%qQ7Dk@jcw>|lH?o=;@|@V=8Qh#&nf^tZ^zD-$Jr*EYicB!usGz<=LN zRB^(8{ajxU#ZRvIuR;6&xod>V*Y&Avza8Hm{|EP#|C8*`75`OJ$^MW8dF zv@hV2Y6|sf0`1Z0T3jvU81rh%id79I|5Wcr^~0AT|ESMo`6c7ryQSa)@nfbAN3mamXg=3lj^s(r;wd3W6bCg9Z|Sg zamG&LVl<>1Zp!%m3 zdtTQlcKaA`T)*nLAiKU~|5voW-|7*v-KI zR6m8)CSS<-ciy7o%LzZGgzt|MAAUg`)g9W{C)NK;$bQc+v5ME- zhS&dhQl))8G%y3trdC0>7A#gX)== zy8SHS^ZHeP7{2;S_J4l(J4gT9QNo``GiJR>R|V~GJK)cub&o8tKXk?D&tDz$^_?{T zuc&?hjxSEo|NjxIcwJz)|9$N#Zo}@U;eV8e9e>HU^>#`4o5+686~LdJcFi&g|5L(O zIhSs~_DblldvU`@(Y(@8A0Qg}xd>_MhH3f$RTV_ZKZj z(RcoeRcTuz<7fG!q3btiRXKI+Q0Tq2x?HaN>$Y=TN>!j}@pa*{=>o`rrOs7jb0& zT#eArp~j}nOdg}36Eto%vRQo|-EY#Eo_nNBP8ydS-#2;mG zIrS}#(JghFM&M^KbqkENKaQH7nlfd2ay&h2$(S`X_+%jX^dU8QT0=@H>G3I32Q)Je z8$ut>PD@RukM% zF^`A%F_N>O+@bILbjy9x^G$yK5Ri{_y_eT>2!0k}e-7bf0eGR`Ir{a35`P)P@0y|G zSo4RTBcNaAIux%sy+su;?>CNqniD_jY3P3&^e@5nzkPmZ<>#qg{kwqLkNV%tw?z8~ z&33V1To>nR>rZq4MZTdc+`Fxwl>fJK^l!Z%=zfXa|5=H;U*Y?pp5nB{y!U)qPjPY* z@Ivq2aG<8d&(DWg+!5s;YUjeA6S2?tjiG+CuwK}12mB6Qxy*sxlK;JL68HI#|J{Ba zhwwYJ-T%C=wD*jz8|~cu9{Gk&t@qe`ss8q#qIs`XV@>Zu1)jt4{9((0T5ELu=c=N| zCs6L*HyS8TP6A%&4}1J5D zmH2O?dCM%W7~OvB_zRW)_GBG@3GdfeoVq3#2wZ#akLpv*)OVuK<$v!ZH#L{|AFQtV z-A(j-2hAV4{*nL0x9clT$iLb|+?*T)`G)@Avk5~a{&53L{?qmNhduwdQ;2cgt184r z>9Be4u0;8#);zq>@*I&Aq-cxcCQ_p>Q``@b6ke(BV@}EhsIXMYRNx%y|W>V&h68}4f-G;_P?q~T$I4?q1T+81iaAMBPWUb!&UEX z>Yrc2`@gyCpDfBNC-A%ITIA#;=qG}|*Va$>QT-o0U<~tTnBTL8)`v&*e`S8}@lgCR zcMiRG67WLr^d1-YkM+{r78cjP;q`B*{p~r2`e#L{zO6>}EhY4S+|{Z6q2wgsg?^>c zoL{8!FW$(+|M|T6y$vbeDS_XWK>nxXBxrY`-)%gslhppkZK7-MVyOM~ACIp6T~mq1 zegAT9f58j=;MkoVCH_h@@5dd+@BTG9{+9Ep9SmDobYJ6}A7~Fn)iO z{D=!XFW!R}dhM-+?w9zJ|D^k`Fn;%M(dGYP>X&lA*h#<(-L=rT%@Th))&Cat{)6{_ zQSxW)rg95g?`O9IywFcQc3*pm{|wc??l6A$iRkj5A3v@;=%ltc{VZL7?@>Njd=CAu zk(r@!ZSDux8XNgu|2p?y7+=|0p+kZ!zT8W z^512pMsRP@_0Qw~eSHK31;rp9=jbj$&d| zjfH0XKS%a|4f-An{9nEl)mtT<>mTGBdgknjYb5{Qk*#rkzia<9Pxw5fdhPY~=B-cr zZ&0dAyc~P(y3G_PCqcfUi(G7RNXmcFfmHv+#;Cq`nf#xW^WT^3U_t&XuA;c5bDNz6 zywGy`@XgS5(JeSDH#7UH|GnDoIMX{#^8$ zlaqiKdQ;7J#PNq8s2o|`#q#F&5ErKaKTR(8(Q8glg8zYTQs37|@_z#5-&=_0e{?eO ze_HlG`-KJZZ&jr?8W%7pMatffxGYjf*Es{8h(O*%N=Q_NM(a>(_OwfLYZ_)iNKz|2S7OTK@Gn zd~}_}Uyt~`Vf_AR`6;mZTu&!K+(WD1>o$|>|1sqMfIO(kpKN><@mGvALlkl%bzuL(K8bN-Xm20Vf^lM(eYnR z_oc2p#{ZFT==W#EG?(~)T0rF(#_x}kALn96oB!A5y2nZU%_#o-Vf^mDqsu?yB3k~R z8;sZ}@n=%`yNiUCf0X>6wAm7ket*<8T zpB`AhMj%)hXXg)J$HsmLU&qGpqvc=wdCRF%`Ol>JUo6%({rt<$kLQ2hyXhG$C6vF1 zUUPC1dY~3aWQr486~u6TScU4D41y zD*tkX&*ERNpYPlAUx040+5g#H3k4F+ThHuLNO5u!lsk0Yt?!8E7xw#0Be-f@TK$u= zwUFZEB;bV}KYmzwDgTM>bo_bW3y=TM_&?g8tQoP2)1}t`;QyujV|PgW58t5q{i*u- zqxOGp{>%Toi|$XVOZ@Mg z(Fj(GT>rm1QS&9Xqci*{jcTIjUs&{-larv|13h?Ap_iooUy-wP?N^CW8#2uOZ$TXg z+AE>^FD@4r^ndcZ|3kS$H*${@&p%dX|1a-Ha{O(fr2*_|cbizn>5o48y_a5dauV=D zPkZdT(~|$I7=Hgpdi>ET{w!J_$mw$9Z|d$784`acl_!g*yj=c0C+H@t;wI6v<56YnaiIN`o8>+X_@laqiKy2bpn;{ErO+l~Kg>GsFY zzmczh+Q%U4QR1T%;HP?!%Y-Fb{$$t5{Zjt-n)3Hf*Y&>>f6n726{pMPzqe@Fk`jL_ z6aQB2yz`%)SyFMjT>kZcHxtjd`TQ>9!Md71nT9mN%l`#4-ktc+HHuR|`hV{K=R9yt zAVur{KmPvaf|P$=U(aHhb?>~6KAitWo@YhZTh8@G1Ia`CK=OOqEJ`Q+^IU%schGZ7 zo{5q8PfgN4bzQBmKg}OnhkT0uo8v6*hN6no&oxYaK(9TNoCLhkXD^H!Ch-T>HxdZ; z72tLFQvMU-iYiXXzl&aTauT#V(5`pi6~~{>QTy+%8KXK(G2?&5-&iMav&|x|-tTB#1lc?bSTu{J%5ge-`g2y4*E? zsQ(qyg7Qz#nLLwg2GWOI?hny?z_gly6!@|52fWa~q&A)_d)P=Ps{;!eapY39)pp`h$T#%!AO0$y zPs;meuwY*fd-(_Z|Fn+=@1=pb=Y2FdISF{78$3QIUGo21gLM0=N`%K>?($b3kgqAh z|A`;fRGgdyywGKq91_p}==ifnus+W_{t{lRsW^e(pH)+FauV=D|1)#O-%|cRyG!Ta z*E#R_bIqi9rxfJBllUn)33#EeOIiDm#2?qk@aN-y*8<|F1pb_*H5Df(0Wb8MFFrd^ z;{VyyKi*sN&cEfZsW^c@JDILON=^b^=z`Z4_DKAlO#Z$3l)q|0y{M zc%i#{dk&EJ>s8eLw|3?oe_0Pu{X+@)Pk*$g;^ZXYg+6@loH+mfD|7vM^Wo24P5!0? ze)SS@b8-;yLbrNyuXujeABNxBm3RKVuhdkWz@N2_{6Wb{zze;7K-znf|BDUQ{`cm? z?|Y%9;spNeRpbv!P6A%&>f=w%miWsh8U9c5uK#?m6F(*JC%i@V5hW)9FZ6(k?lKZT z?{CE7HTyC-wSV51$^VqV@20ZgiZ9;_AgsiSDbMF>n~7UadHym8+zeq zJD-#I1N%QQh}oCP$^Y4(QoK=u|2>~keMHGgzzf|!<((c9KkpC4f_CnrHa3H*OveM=(s zzjDpL4)E`zu{5*q>ZS0z{-H_04gy~2$KP2do)5F=YIFTvujl{U`O*LK@2#vjVf~GJ zUuDI~Nx%#JT9HPNO8(C@&5E?}x{O6F>Uh(4Vw>^Q6@O_7I-GL5zC4vl;)apyN=NN@)C( z?P5V(+4pDSs~PetAS=J>e&35~ztKFhtjmg2-4i}JklIC{;=Nl@<48MVj% zB9(u_ek%V)F*FA_omk1Y*U9DYeor$Y{&-x>7aQwDpKJZ);5P<{=R39L3WdZqTj$?t zAG`$G2al6|A3Xi*+<#H-&{GGjdP(wsVE;Y(IrjB);^%$%I7Q13ze9g>q`@)C|ND#6 z_*0V@)#NAbe}84!|4qz3`|v-nKla?=?0@h=KmK@!Cnf%k|4=*;|A({8{eKmipZ5=B z0l%BBORJDGKl~1zbFOSH$^X1RA&cMat9U8<6!Kn$P6A%&?|tpW{{Od>e->{C-T$)l zzjO`#Us!uHmngaZPkgkv;^ZXYg`QpcsfkklrT7I-aPW&i$=%FhC-&*J?-^YT8CJR1sj^Yd>v^|!O9 zmk1<&{>|gxK6=l|N$`8iJTY^*pr3GxknlWUbY|7{27pZ1r0^MvXDRFnOW{U71~ckjwO|KNpw zxWSU6lK&Ue{+8}Aes}fg_?NG_wDNy)RVO~5H&^+q4=MI<4$FU({BhLvzm)YiZx^k4 zPAdP8f7K;uEz$K~cK68g&)Tf7H-CRRAC(fHXJ=7=JaIs?K#I2f_pJZEo0R|i>(Tu; z?az5(hiU(6$o|K^ohbjVJt+Tko!cLjJM?cE^G{3sHD(r2R;LiZyJmF!l}pgRz^^)A z|G4g;_uMgXXKi8p;ZP51|B0Xfu^^ub#bj+?Y1*P);Gp+gy*l>^qP~CAm7k$-4`d`f6c=4?_c$GXXoenH(bxT>Zw2~7)NDA{jqd< z&&f&XYXO1wr*y6@UH|9kI`)U{@9H-DjUlw4vA-+opP#AzaaW1{`oDVKka(&5iyhQ< z`UmRr?=_9DztH_3c-+m)Q$MY|8bbf?Cx2wpYferAze5ji+vp96KYhDK@C*v)56yoY zK@LRhv*z(I=FjO`K9Hj2Kha@?IRB6Lr)9yux0kX{E$>z9B*-`Pt3MtTum5z~UzWwU zLg(MkkL%CV%Tk;${u1KlSAH=V_{USP*|( zmQlU*uyg!@7rOa%abo{x5$`|TFU0S@F*^Qqid+Ad==qZ>9XlcAe=YHQ!}$GC^52yY zKgu0CZtNcorTDMeQ~TBWQP=;i zBQ=7jmF9o$Ugi&7{|gFhz65Vu#c2=4L0~@6vu#xlB_{zdbh`tm#PRpv9?}S|)|$W4 z^vL#~$9b49VVD(2@Q07yb8-^I9rT_f4aEDevE*-m{}@&Oi0S_|kmIlZ3;H@m{Np){ z6F>3|-E2ZHas7*z_*uN>Jh(2)BlDk38L(&{-0ZKdKx#(*@@%C3?|v(gqU9ejrA{5G z{BIep`K_}$-%k8FyDh~D{OQ@2;^ZXAH+0Q6I(;qi2ll5X5bS$>sryt%%m452pK~OB z-oKi~XZGFx|KeZNDKkal5A1JE{Fd2w`bzO5?xDX}dd=%n{m188`e}daoOUMu6Xf{M zF@8e)e@x>dfq8%d@8$jjUg)$*oj#TLJv#_zP>A2%C_4U`wRJxrH?#f(aR+^3bF)Q~ z|L2+b_uQbz|2d!G_1`Xf?!oga$G^5-OLbG5f;88@cpzQn*6&>| zT7OH)Nsw>orW@N9lJf7WO7S;1Mm64G^4~=JmYe5BY|k*x55!%Kv$) zZ(01$>;6}z29fO_)*EN0mR6kF(DlM`uS-Ar@_(-I&^Rgok5aze?il6SZ1Ue!&cBDo z30RQ-J-2E*0v`&0kZ z=JuY5KL4XfJ|fP43Y^bDnQ-S5e|$~{C*+^c>EPrfh&$-JSAH+{e-;}5t2TN2-~D_! z#R>d5^qP~C*!}NL|C!%I=aXQ3-Rb&cZeL6!e^vo!e&idvd-oOM{*!!u35zcu z|MNK}oREJ$$ApuUfET*T{qJp+>c6^&HGM9ZJ> z^WokS|9;fJZRPT}k3VAmoo6xSpOTZ<%Ri;}U*h~b=J%X;F8^@;>?vh~>kpXQoe}-@ zH)Q-(yQTaWAFj*aTT{=!dzt#9;r&01KU$S&?1>V_AHDRNlarv_p@*J0R8-<0ut6hu z3uyk&cSQ29ru#2l()us%d+=Gb{0l~|`d;Fn9k2868Km1^C;qq>X}pyZ_;a48@eoQ* zf_y_ibL4@0B>tr*G=i0(``^nlBJ+>_x4N$*?LXF0q5qdiuQ@ph`n}Lc2R5BV^-r$n zzw_z(^Nx>E>vx&^f0w=vOs|0McC@U2T)#qG&*c|83p&vU=TCsY+=^SWCI01Jy7waf zmOIV-hxRgm%f~bo_@665ZN^>B4*^o%@Y^XS?v5v>g+&(64a(us( zaj8j@hSI4y!&_T}8d+nfr;e^e@9NUK##X)X?+hJ2E^S8A)X6iFM>R}JPmdoxDP{D; zz!5saQ8UOFbivOWmXq=~e1*=RRZ`b)eEwwk_)3ngJg0TAmG4-64p2QlG^b-)>e!TV z^{v1gGLO#c>6$!gQrfLk`NNqvCA5qWJ0OP+2{LEuMEs&h@~qA?M~|mdgOUTkOU}qh z%cyIQAmj_W)b@3+Naq{vIm)?F3MYu*Jfr;drOqF?YtSd>B>t|kdSY@xrLRTLbNW8o zw^+xMzleShdsHcXon0#bu-U$95`X6;&5!(p-!)U;Pr(lBQ^R|i{JX|}SyAGzdXKIH zo%oSoubJNuKU`}5`|W(Py2PL4*7+}FS_ny)hw;aCm-D~tKk^qj>+d7+$6ib2|3+B(JMi!MkNi&$ z%seXbS0H|O7=K(3Isf}ElONYX;(eZG()EAncip}gHWv!+qoLh6-`PRq`m$^ALeE<1 z`buiw8}~E)m&3aM-jm*kx9@M!h-Y|zjn5O~`D6IZ&Wrcph5odEOkFAeKisI>J=Fj9 za|H8y4?epFFLaMqFW)HTf7m+HzbUW#H)rpT?BDFaAu|8dY2FC(&f3n4_uz$Y_5QC5 zB>wvEYku$lGk?W1b^A*GKXxSV{twP+MY{_fZTo}#XIEM=Ny`7=Crth;X#Zzk7wP|e z`HeU;rTfJJLhdbF zbk=2jM)K6@lct4E$27MUbR#je>G0|FE`3@?B-2=Z$5Gb`g4g5kwPs(4;W||6~L* z!g(-mB%AqWXH4?#+Pm@Nr;noVG_ij?V=DiEs3wG{f|;5yH7%7+3>}>|COP94y0f~h zT-iY)xo)wHU&*)xs~-6!kdw(t=|lBlqr>%$PkI{NuFdL_k(55Z7nws}YHWplX{h`) z;+h=FmyIj@=Fo5jxbwVg>@z)WS~A~j+U_p-)K$KZbf)9N>6<(?Z4$+LfM;|X1;NZf ziLut0{H-ymTqtxaNFOyZXRgxArj{*GiOxwdE&@IGsiFg<@sZs#X?*Bx0rhbg-G5d6 zbo;JrJzdu@$Hz2JmcyAje>*?%hn-LAap323!&t1q zU(&Qb!B6WH2aKlI^t|3K;DvtR)0yJ@up(`!e-*~BZj3`o(yaSuP%5bJP_M59%uM zpLl`%7sl_oM1D)rxp5Wq=Wj4OJyGHxGJ?kEuMf-rfV}b_nm1W3k?g*O=FQNVU8+$2 z{7ZeuXG;99GJo|Dzb8t5jNAK)&^a|ba}DnV%L(PR>g7e^`0#-H>Hg+I=zK6WFuM4^ zt2A9VR~1yHA16Q1{Hgrpx^;chrThkVOx0GQY~r55GejrXSg#c%HZQ;n zUE!|fo22}o|C8efH^raTp8P=CF5rb;;d`OK#P5EK+mX=u0K5Q#>pA!x z8r#@ehKTE9UMG+7>-_jPlwGr5;`b20RV2jkiIN|@Gm4V^Q$yDe>_EPuHx8-#KZ!r~ z3(7|rzZx1{{&7A+hw<7E;DtuJhxe1_RG43)NRg}2{-OQx7NPd<-a?A^rR7qDy&l@P z8TXM13k#_R1F5{p-+_BddjD+a(EB)gZx`S|`wRbAO3MGZv*iD3F>3AYrvEcc&Oh&4 z%3=lnDusPhv0te9IH#xg>_R{FJ(Rs zD)2&&X;*NW#D9_U@2?TspHdB%^N;;0!T%@O<1J3>rs#gubus_zufg4Si0e}y?Mmf; zLuh|Mj{`sN+rwf7{wl@m_N)T2>K-b3{{#8+pBY%Vg_Qrtno|2$C&aHt$oaSPW8X&X z7i7!|D#Sl@fk)rGP+M4^IqoTnTM zb=xnVPncDk+VOf}`5zfw{&7B<(>Z0}g?_4KWAS`Y?_es&8$wSVw`qpNS5K;>Uyhw1;K|6Qgp<)7*g#^+~Dus7Jh^3y&VH^1r93x>>Ti!*``?bo_DTI8*Kd`TZ(aWUuV;3@An{+= zN7qjnzei#wy{~M(SKO{oX_GJw2&1unFQ0`l(a?AEo&7d_epyL-jBA;XwR(k7|Ed z+1hTzAL7ny;?hPR%m?_3&TX)j%0E~A^D*Vy`(h!*`%i?|KNS-~`R6`Q1#*mkNa(o& z>OFU}rnJ8Rb)IYjKSB>!>MkwC-wm`L+}l31KY>b?;~)D5Scd1b;biw!vBCL*Hu_-x z!C$yWwVNgWPp44(+abj7iITtbZ`ALY8$Ex)lP@2Z_~W)y9QC5}0VkUN-&i^SSf7pj zC*DZ;r}fz>*HZnx)E@1jI7a?Q`Cb$6Ki;PO3H)LFo+$Y-Zw%}8^7H?*Ro3~W{I4W_ zZy3KC7hV24K1BKdx1hS2p7;3kSf>uVtW#U6O7&0KxitRKH{?H$;m7Zw`MFbg`-k?~ zO0-nwq3iLrpvHBF51#2Za|zvl#MtjYJoG%zT3bjlKChKSdExp}v<5tD_x0*uvmPJ! zB!zoY{;59V_ugH(`N0eQeUm#5O8H;&5cz*VSpLUr|KoSiPWksz{u7Sp=0`rD+Z6w% zh*bW?=?R_HFSI^enR)WK?}f(taLX9fmHKUd%6~TbEw6Rru)qAUr(TlsUyIrw*Z8pf z8-Dx_n%C!qmp|6$WKAfoEJ}7kzM*T4SSFs&TZ!hUdXr*Q-9OFsKS7Rvp0~|n1^!aq zbAt+uKVZJJ`8cS+3w>?5VWR&J6`<>XOpJQjtdH|J@bkP~7Ax>qsr>rih=1sRrj&h~ zo^J*x6r=z9qrt`fg?EmgPh-{6&-*r;{_+mPTfu1LOIu|=3{&8R{%6Hc9*O_U!}>=- ze$$>>wXZDy|Hi+&QsUn`OXmRm{`PwQj#cN%@@HMWdAP)%**cQnYB7c4oMN)>mE}LQ z{Hw_le^yK+Km6dW7s*eUr+wqO)|9=;21eaI$ukakis;~J6 znf~H~HeTR{7$aZd|Djti+`3uH|83PG^Y8vj``>C1nSUCl2uK}6bE)zFQ}r94miVU} z)HN*p?laGUtoTU&9ftREufL@U_dFo+XHC`_b5GLw4*I|0mGyt!jwc66{4e)6{-0&$ z@ge^SSC+p`#){7*{*Kc$zlC{wzv_8DRwK>tzC!U=y=M7=692IcCjSLAum24be~mSN z!Z6(~J*dB?5^Ql`J~p3*6yhE_WBapW{Pi4Q_~UiG=Z`V@Z=(58|J(U5HU5|Noi$#{ z|DlI9Km6~$+weENvi@J%>zCIh{vYZ28;iTDe*TK<(7H+UqyDj9fADL_Uf7isHGUo#a`I|-N|G)CPo1VBR@s}QJ%D;*&|IIc3coYBsmA_5HGleAnbH8eS z7x*)D|I2C-$^W2nFX9eqG2Kgu8dkCvK0-Q>THfksai{o)W~ zwe4B zKdm)CuK)kq{@r}7zmdehXScQ)agXs8t4$=oJ^zRUif)}{Ch#mO-Ypy#b@gGc$^uM={u7|x{uWbIeG+nn`;(v09;ZM=m zf3W@Ueu?={{cqE(BA4c5B&Vl!OC6gwT+fLLpQvT#S;7C%-<8|6OUmD-={kSzkM+6$ zl&{tM67y#(Xz)T0t2AZ5#NR9}l0O*ViC32Y>)Y>GAo2H~qxr42x_pDWkLIuNz3z7x z(O*-R$tU8R$7CfzzM(sI>3vw@@7h)a``6n1-&gZnhJS}4LH%~A{LiGP9h3OWb}<<{ zt@{A4~j0 z5;Z^Cmtg!4)%%m(oYQ{wvkKzSn1b4T--((a7@m zns(lDNBVz<$*8^liMIUfr=L!d_+P%u@SAxZh<|UA=D$+)UviTK#b`L9&}{%Eg1 zc>QLs@zq%=k^cApsINb7N~Hho?GM^N{cD|v@V~h3pyQfNc~s)R|7-m#^gG~x?*z?{ z>(3tlzzydNe~tf#_N;0WFY(9Ut#jb39eIE0op@#WU*3C9KZ$=rQl$T_>H7ZCJ1Nrt z_WWO}|3BV(FR!1?RsL(*NAmkxn|{b-8^0;&7RJe!%K!8Wi@ufki_eJU_f9hR*XcHX z!+W{)-=@E>tt{~`Fy-%VZ}N@$cZ%k3F)r`^mvKvY=mlOQ?x3gN_{9K;f4$*H+*?yk z`5&Gm=;`yVp(;EXGq{|%qjDj@NnHt`?i&oTa=d1d+UT3+N4 ziT~5@BID0dGc|NZyABaSZ)wDG%l89U})S^l(XP4AWR zpKiPU{kZ<;Y5pr!|LrTecelhp)8rrZuOD%E=auCjeX!D5iT^=U|A61USMz#3k^J`i zKh(p~j(_~4sw|TDJ5A8>hx_i}{m(s`ALCCuObu`Ee?-gw`L_-Jl=v5$>mTjEd#Vx10X&j-{JYl{98j!{^wuW{7-zqFFxP+lIHEQcw3t13V6Ph8JT~3{1wq*iE6ZQ2_C~S&>p=7CSS&mL6IYhM$k*41*Z;T3e=D2+7ej+vizSj=X_`0_c-sJYku|b_&lEXotgW7pYL;?v%cp&ZxtQ> z2HF1(wLcxiJcRLz6@P{-Xvwmuq5mU4zM%l3+(EnU+M=ER{c?`X|HI1tkJlu=Tz9U{ z{}~c7r}#_a>vz=ge^2iJ5B}aP(f=`CxAIrDS85~}c;?D}Kkh%h zA@Bpa#lEBg$+x`J^psV$34Vtjd`qFmI{b&G3Vi<@>-f)jQ{ewo?SG+!!yoDJV`mF| z_#bu{UaS8zC0n)so74O+`c?PqI{aPptoTN}?0+n@;{UJtpZ|-y>ge!i+-=48pOo>p z=%2+eV@#V!_@Ra1Sl`^Vy68d2(-USq;dx1D2fsgw? zDn9%w-Eo7$_s}n|nwX-)zbNtX{-+TB(tj5J!85PL>F~$V^EEtqn_BxH-em&+pSu6H z_drUr4!^8iUmqIxUXk;E%LV>FRsa6@K;;5D{13n%>)Ynb`sZDN|4)to?|AI&SslJW zp?XJ-KSSg172=zJYX1N4LoI6S@GG~MCAh8JFBjwB_x@S`pWOWUN*(^N-d21U@K^q` z_{+~edP0X^@+~XAznN_RR{gX1f4!b}j}AXYdA`P#D*K-q0w3`=LzX8l+@akeOL_(xp@Wu@oYfLhfo$|({jvO*# z(BKiNLxzq`x+iVaI5#cKtZUS;d_JJxh!Mf{nqn_KI;@Ay5jnNcc84a8qwP4FwmG+K zZf+uYBWv2?F}QQOjw3+X=x{!U*z!I1`VAbI7Tg2!-jo(}*d%z&KWs6U_I%{ONOki= z@x_?50sON%B&qJC@E_3U%I_&B(`@}3j2Q07UVTD)T6W?)w~KYJ!7VC-ew6zn-oaz6 z!5#EbeWM0n2}?%}Zv1P)9A}3KuI*BTyJ^-9@suCXwubyCVdUu5u#i|KVG_n_WiUii;4QlRa4ZMDeW`sv!)q}D-}^7)FQ2!2fo^}-d*r~^f0Ov>XNoW` z;O{(JgmFOvZ|L{G&ik|uzo*1EYW=(ZAN}jlsyh5RJA}oqe;I#M_}+gR z|If*nHtG1MtQGkFe;6PA2k7Pl@@V(pbP>M)Pt*RNOGP`3`%ci<|I;DNW#9FuF$I-N zlt;v&{F>o+7)MrkAmuzge_k5jJHHY8Pfn{t&p(%rV+S7><4}*pm)#)-jr})q-PX^G z-@8_Y-z$P^a}8X?|0gf~;V|Q4ejp{5p1=RgwEy8U!5_HLD*lkW1-|!vF`h7E^JDlO zdStm@D(IfScT~*93=_Ub;=}LIDt>VP(*)XojsU#B$Fj#JQawrgjw69LbiJ;_weM&9 zLOy@#&k%m(IOh6yYl?Wz-!-QO0v`#+v4PWyit;nj|w9OC!uDC>VYp8yG)68~H9J?cM>Z;Xs*UPE91n(@8us$1|~bZ*8^Zf{@z z-oAHys*e9-;J-@v-HyLMj`lew0e^RV9mWOt0XpV_r1C#Bxw})xpW_>&;+emhx%`FO zAMoec#{FUb9NT|im_NtPpzo0ocPIx{PFH$HSN;-9(Edk@P4SiqxYAQ6AA7sR}a>VMS#fxl`pE~x*FziTossQ;Z;sr?~AQvL7zt$8EPAKxSX zn*UDas7;XZ(vfW%-x;b>O zpW~SOf7oZs|6XCnCA9D5%EBy*1n&z?r(-Tiz=gi+-O-#aEg%zusE|0@4y z?iKzwy2*WG04z0dp{uo6xLL=ak1=7XOFqpTl*n`v8t4dwKuEx3O?gPSE%KJb7*5pxEKR zv;T?9I{fWzWc$-ll>fMTJpW@t;}`5R=X|OTFY_{O90VgBoK#=ipM??dr>;6f+M1Nh5v@y+EN zAKz#07XDA%K=nt>{A`$8#=i~zFnK{-ud&28#))wot_z(a51dlFhrYGdjPH~9KT!E| zJxzreX}zAmiobH1%>R1&`ImJrBH7y-10rA@+Ksd zRQI23P*M~uW2I=v)P3+BcZchL*TcEl?WXgr;kjAuJHp@lN8|?F4ddShqvt)OD}TE# zh(9qZiS=13{)^N#)6Dav4xeolf8i=F@=?Wa zUti!kX&(hH+g=dozWwoxOE>wwoAz~V%?fiOdo&X4PAfzZ}02)cY0OYT*AyhJpM03^RwK~0eVLcmyI<4z|UQD%q5nH z@^k(U9rJs1fD3t86jhnN3` z{l(v5{O_zn`MN&re@_naCp<0u?<|=!|2y{g)Q&&zOBDwCHtEaXU$VSqP;7Ha{f7KS z<9+A*F+rIq&r_a^VO)^Hktjad*z)c^y#7g)@dy6nX@3;Yr*R?wdp^yX|Iz>Pbk_5S z9ng~te^Vk4;d>PSzm|vQ-;=`l?6aKVC!+m3BYqDYXv80MwS)@a>f-;g+l8mR5?3w% zOJx7ox03q2BnxQXg~z)=$6TJzE8~Av4D*s80T<`jE;s1M<8Ow-pW_>o>HQ<9|9v^* zU$cvBFB<6EKNbJoFPA--S5yBNxhO1jmJsc@%HL5@^zS+6z~3=!DDmg<$Im@<{xx-Z z_%TnuEB5@aoVzbxSN{8*r19@9rt<%J&iH>L^FPw~6aFt$`eTO<|I$+8Q!0$_$szu= zmcsvb_`rp}wcEDOc>ZT8`Jd99%HQXv_}`Q>{)m6ix}1%_-weF0t$*t8krr+e^KT;m z!{e`})TFxjdsb$}1!Zz^5fAKnYM4pN%X1L{_Tx{-(+Nyh{^}1A<_YRT&Dn9z3z89#! zN3ulLcV0T?Qds7H1|4%j0&nO)evft3A^#)((EnpY34e>J{BO-!`7e$7udBZO1uk@j z$LjRe@gFPqr((H9`Qz`IGS9!@JyVI(i!d&D-<0um5ymC!RuTVfA~g(LWCAYq51-~K zro%rpMf`!cy5PazGi9Ftz<_ z|Ev6qQ$gnSo9EWNLBV_X3_9n6`+u(Td8t1h#z%bx{qdP<2ZHU7+)sU|9Dg5LM)pt7 z%{HwQ<=K;|kH1ahg`Eyb5cA)m=c++mYVd|W+;ik~o&W!k`;+d$ zKPtwpz=amI3eFfi-e<}cUH|*yCHl>dFh1L!GyLz0i}6QJ*Qb8$c(kd`|DTreMLgNzf0cZ0zYc$$Q{elKi+M~t{KR~>F)qLlPY?H ztS~;?nKS%!*UjN)d0caJ_%%wC|96M+Jvqc5w@=`^KGe@YsQk;VT+>;HzqdQ_H{r8g zIpgn}eslaY1JerY@Xr%I`^LmShxjdTGXIZm9GIxX&)0+aoABA!IpdG<7uM4w?x0ow zR~~pZO^08q1@-@%gzF7Y4)H6Nl=E*k@sD~B_0Mm{6K`{Tb^Xh>%haDC{80Uul{5ZF zyNdj`yZ;1y=mjw)R|fgZ`5(0Z%_;tknYlywo*d$b*57<9?1kT-&m|{%?zh zO8?I(`rk&$@{9}C`FiP?OI7;bp!ukb66J#;u6E=7?<-|1Ow!@=_iys#mGAw`?me77 zdKV}9pZqdPOuizkOrtdP84>#ZRAjq>A=0xtC4 zZ9l!D!|(bsm7AscLilW7&hRU=m+halHv}vXQ0{;~>5WQH@%UHk->Lbj{%;l+!uRA5 zAM@XK^)GOt8*UkVK$rhcpD@^Olm8h1u*HZl3F6;R$6OHqiA&2eE=b@Fz5Vgg-|6!IJjFlTmnY0$ z_NUP9LaYA2+4{HqfTd6C@H?KS^#>+=PY&^)887>vGQYqZ8u<@BEueq?=k`(LdsF&YJb5Lq$p7&C$J@n3`zuEG*RPKxdvVNl zm7dmfakU$t|9SW`-v)~R8`eK_eB;%4W?1?kdi=nxWm$IkhG8FnF|X%uuj7AG^7oVz z{jWA9mHrn^>GJ+n*0DlCfu95ZLW~R6UuMuT7bN66^!^8*`dU~26go)tN1Yf}Q?}>q zs6PK|(tD2X={yodee>T8$-sQ&n1bBmVb|H?`K`-*SfjWKLxKl)`lVU19tz zI!~c<;JXv6u>hSTA?~4zRN8urF8^DQ|9SG=D)OJd=i5C0iuZgcuPVm4;CPF@61y_m3n0-p_{C)%*L0BYjyXlA>fRB8KE-~WXPj&hK6qP^Y&KS03 zf{07c_xk#0OCxb*FvPlStjFf-K>0dsB=Cm*q2_j=z5WXje_%q)Z_;%|*fDgTSZF8?K{}ZPR3$Z_Ukp(>e!{zV(#@7Bt z@OdMOcXm772qn2xk>Z!mJ#@?kNuB>pUH;H36#u2?OTS_MzfxH$KMzvlDU;`f-v8V# zp5XtLlE2Yf#I5)?{6Ba@AKkt2dmaC3SH$1=4~Y6l3rG9K(tnlJS2kXZ~;Up!mJ_H+}r0-h-Zd z$L8Sk59<8qGw)ISHwoi=a)^)lU%UP3fD4`Z`ELz_{FV9FZ~IaGbANdLo&Bii{~_7Q zlS3$0xUDSza$jrtaYz9dddJVbgX=$4{?&%j{a+Kl=O4mH+(Ez8zp!@w!!}v2jDdnT z=V`A0OD9{)e<>p5?|EbU?`m)dL{+)bxB+(9Bn<2DQUdZ>R zD3{RwWU)@hCHK)(wH^MD%lEC*;rF|r#{Vt;cYI$}>pCRxhVJ>`*nzt8pZ~D1*qI{l zzY>45{})n!$K3x~rku~G=Yn|oN3!F;e`nWeI{bDug})8Cj&({yjvuc7SJQ}*U)!K| zfXi~Ks`+^e9do%xT`_*1OvhZ1z#IBZ%Uz3f?JvjoE{|tZ#*6z|9%+ZLDm?$s?c&KH z0s5f)$vBW7+p6Dvv&ZrEzn6xIa*OuY{{_`Q_s6jQ!v#J&t1tikrJsP0^^eZ1oUOn3 zV?gP1y7d2@ddljU|g=;Px(c-Jmz@H-OgG*fDhi##)~oabo`gBqQCDH!(Kiw+rMA* z{9mTu@dW<3|2Dq~m5Z6N?6lP4S2yy1<+hY09si=W1b_c=QO|K4bNL5O;GtrSOBVTu z;~B1ELBV}L_mE^`D8`s6BZtH~Vg_@W1DrzWjYRR$K`F|9g`7y&>PHpupX*{xW0VWAkJm9bpH3hRi1G{e*2fvISKMTaY=c`1?eY|tvF>}MpvA~`Db0V);}@hDE@lH zv0CrS@_$~>zt(VT`QI$#)hF!^0m%au|J_;3Kh@!1B)*>4bBFL*AZPezWdF~Q_Nw@Z zJLrZ5+iS<4x62hv{@$V=&w1+npV+1uQ5Y{$DuN zn*Z}~zqGN4TQgShSc$*QSI0ld+aK2@Yy5Sg_&2)5gz(vKIm172L|n(aNx%NzPzpRSbu`Y+J^&+Q4UM~oOpcx>={Y_jsl`WxQ@JwEDv=+n78S9JCN7vz6G@h`Sr z@L|6T{%H50i_H{-9FiBF3x7E`)yEZM*{{@3G75yp5r{izV}DES{Kqg^|M>cf_~SU{ z_0PabZ(osd0iKhNxd1n@Lq)~~3AoVTPn>tBF8((+5`OjFCE~~q-_yJz%~6N(lj)cX z@O{pTj0+NQq0hJ7xl)JksU`54D|`NlwTT}I`1@)R9trT%={qh+z=d{AO+Ku{FZ{av z3%_{&MCG4c%i6#Gs(|eO=Bdb1NS=C#@}1V*h~7we{UzcKx@p%oEhzp#gEhDhihVC(cRO}m*?$ITRH!O@n1q?YX8=UpPONq_524c zx0b(W<@n2ZMc@9Y{F!^XLl^%XpC_;6&2h}*A72ZqUrhI3-p_B1_t$9rgV^U;<+>1m+}!3r{wrtv-|ryGi)&fV_J(e6VBq-Rn74_2jq+iNs0OWH>|c>nEn{QAc6-}Zyo zvUL25j}iP`14TLJIOhH@a574jW?X=mT)H&l0$jvE(3$j~8h>|pdLy92FOB`_2Svaq ztPGM6ei_0ivBSswGxYIC0*wk&{p*(fKkR?{T9I7L*C$+BJ@Wks!YkqVAJzZ+W%+Za z{zW!M% z9SZ)7c$cwg9Gjm+e_xsQVSI$@P|`@ig}(m5?N0~&uiXDg-cIBHROAx>Ytf#nfS9@WL)JI|5d;_|bupUV0_m!3bjizkN!I3@GTFQ3Bk?udGge(yUvs+K8%j;jJjQ_jw>t2szI}+r5 zJerW=Ox66~k!j^Wah;6U?jqk5I2KSosL*x2kMo~DO8g!AAGGZv&8y^PyLZUz+2HS{ zeBufGvHsHap15x!z77AMAPHQOAH81w&B^BcpK(Y$fAAe$*S9kvgwJGuR^@Mp&*XbL z!pP!?!ZMhkzh1kbr!M|^|C=Y*yMo8O3D)?>_{Te###%NPN-XouX%m$9ei8Mt zZz!FUgc5+|2X`bC+g&&&rgZwBR{yV~{+D-f44b!J#=q=OtNgiLJgNTo+@in#0eI+f zPjoG<dAOCjzou%~r)%xe-Kl^8z;}7lM_4CA?@Y8$A__x7NFDv-K{|kQ?zjy7{-+zbS zp|`l|y;O~tf0=+^p9-pXbR286Q(TYb*7I*P%Zh&+>i#+I#ld8`dD);tGXC@E`43uPjsFM0f3==}vVuRd!uMZue2+5!Ie_quufq7Ao5Xk7;I~!q z&px-T1IG_2^UseEzH>(ypC#NJf1eG$q2QnTDS4C5|HbQ2`*)r8pFb-6@3Fx@_`22q zsQ-;MdjBKtpdUUlr?W2pwtXV5>mMijzv}+KeElKDR$Twk)O!Ab?2q6#pbcE;`YR`B zpZ}lYA^(ra6TbhOSMPtj`@gOn?!WP1lebUSq5N0pziy>H<@_dmmhYd%hd)@$h8=nS z10VHo;su)D7?X!peo@wcHu#l0iz_+g1+o7F)`Ns_?teBSp6(&`LE2ne5($B%@36SCVbCL;`?)m|H$elFYEA2jUxY>@LA!T z!10h5+36ISL>gi<0$`4_@0}^Z=uIm%m27%dL(dszf%4WKA(sAP57+H&GGlS z^y6PO|3B)QFGH9Aecq(_i;ZV_Ps#Sr20!oHA}7IX+*t8@yZRsb58cj~;L-JeK3*#< zbqy5#Z;r!fk&u7p{T6v2CqVse^mVu%+tPZDcvJbG>#+TRj(^vqG0gRBOqhRBz5j2P zzlvXfM!B^*{F8er{+-S$7dN00qF{-w^+-jX}Q?XRbd-v2ktU-kd7g{|u9 z@ZE*uX#PJu|H{hh@&DKSU)Jf^936hs)l~m}9meZqiYRQI6J@9G=$NvA>m26i4aX!xKsdXtka z_TX_N2RP{U)S)`LS0Db8W$~(MyqcPz>xSR7oECh`axd*)^a)y7qt_jM#*uyQu^d}T z=)Xem&V6P-)xS49|1g5uAJ^sZ`xjYxk^i_O2hHaNc}f*o6~d0J_6u6xeRGq z2Uu_st);s=d>>Z+oYn4j=XX5+eRBU(%zwQ(h$3|32(?A=^!!OH+5Sm}`<*ISFYQ0Gm9m`2K@kGb@*#9)8Co)ANAPaWB)VY-`0cLt@wE6B<&;Jw+*ko zeu}>X@G||Cd=H}f_k4+14E=*Y@m#onUpeNTSC*ZjKX5(}%Ut`*F+ZK7-NAJlI9H7- zoRAQs&j0>I_@3Fh8NWWg&Ev-F)AfvArNhsCA1KE>bdKk~v*#05SIKU#3Ez`LeB2kq{jlp4pPoyx>~U$A>i?>H-rhj|FQEEAWfPU7 zmuUS>BkupWklmsDJzIde-YXE!-=7OG&&mR!{P5E`d%r*^KT>`vz=HePz}E)=7do!b8@qJ)Rr&fWT7MpT{-KJVzlu-I z95YJ9vfaejPtQI0>G?O#zuiMZ0~fmYv?Xuq@JG(1>vW4@ljQRk9vghVE}W-iq39Vn z@^e9YC(tV5OZp_`BP$fgPIG%Eo9Z+9`UtHo;&1SxCJ@>*93v zpHYUM`^noZv=5P&&i!-_-q78aUFPqfy`lU+O!w7YsWI$Btf!Iqun79Y@xm1Fw_E?k z-$(DFbz!BX<9`rcp&Wm{{-PD%O##V20WS0^;K=8{<>lFx2SmN?9V6y}QSX5_&a1b* zc)uARy~UhyMD_9(B$5@c-g>tp0ab*Yl6$f1{z8hXG&s z9eUHDTUMFz;r}bN{*Wj5KVX9&sr&$AzOy@d;L>0zE|ddTnB}}4Spp4K7~K*fNpZQuciDU{?@!@jX!ryJ%79SD<|X6 zND=Gc5r4qN`IlWEDQ4!6`mgi_g})6x;?L=|uD3`1kM}?VZ-&f&kJOF()?RAH@BWQg ze|i2RE55syo_{3&yQW&>&mnP9{*INd*VK%U_#5+v6+d8u5B`WVd3gr@n1_Ym>9$TV z$!#mx?#gp&nDO0`e_!f<@PzW`t{okJ|1>Lq@P=Nv{pXWreDHteTQOGw{D2L9B>uiT z#5yeS&kV9+q4s}fua7sH@lpR6r$q}7e0NfG{Mpl1{;&h_*!I-KnPz;%|6iF_{|9XF z!QVB)I^T`_j}-q&pKNb$#z*{@f8L7kt`i-9V@CG;XOx+++l&wXW!G8p12*{J@0}p} zc`|!L@gIr*{9HqxGvkAQ_sLd#cXD+6eKYm^5eHjleR<4`kNS6o+W)n|2Y*B9e}?k^ ztXKzxc$*;|1pQZsV{e%8*U9qV?IneO-RSuHpSAK&miUI$rCVQo%8Y+dwtp|5u$I4o z4LN-2W(Zo09w!c_E+17JVa89`BkKRzO8?V+dvyHSEIogRekBWnEDi;llb;SW2Y zOLoX@;g9&wIAx8$fDJzQ+r_`@$?W4lHtC85AMtfgj z;NRg>D}KNRAN*anTGtyR{?RW$`OlOA;*)yg*{>|^Uy98C@zbsN?)uU3cfDwh{~P#E z*x5_Rzrfd4{D2KU__Hsf(%dL`13z9;r`nQHU4ez z!JpZce>wky`6>s1q^>vjRm=Df_+O~;-zYl%euckU{!bt5)7I>Nva zwu{LBOv&3Pb+rwfI+^hi|DP-4FL&eU_&euX;~)NqA1eJY<)|6oA^SgbepUF};DbNv zc}XkO{=3#&=U>$E-{3dSHaFvA{MTfy72n+?I{sdTKX@ZQsy#G)iWwjM|5uduCt!mg zi9ephKz)P!Und=Pa`w~Tnep37|2M9y@V_fM{_JII{)0F4OTSHDT`eJ@1o931ua2el zXOGdl(`Ec(9B;^R@H%p-Qbs&b#?f!ccb+OCVZ^tHRL=j z@G~VY@)bBa#qZJS@Nyk~ds=_)HRDS^c;!48@Dn7EkwgBlPyU<@Z*}cgbN-|L8>Y5@ z&Gh*nia(q27yJf)&j7I0KbLxXvJT(d)Ea*Q8~lj#PjVkJ;DbN(1E&hlFyo{C9ZAoh zn3KD?o`0nIKVKfP|EwLpF>>0YI{d-1{(%jFDDhpZ#k_zW{PA+Tq_jWSiyw5Acs4L5nRc2t*X1eL*^H0!-y9QU(gE%^ z(ecMVh<5yc{^6EFW_* zH{?a({{la~kj(Mj%JXltWdAE}j95nzu)!~b_iZZkpPl7%2hR{sZV@I(Gj z)z5!Ly8lyoUaN*?eBA%}N|}Fm->2sv$^V8od;j10{PO%}eE2`+Gi&(^*x=jwANSv# zFNo(r;cxgK`p=8E*3scNP|N@Qdj59!$bXko{(%d<<&|3lI{cHe{2~4VQR4eQ%)bAd z^-GysbolSc`B&h(+eOKLZT9$0Di7|j!>^;}f0X#fn(XnnR$Y8ahkr#K|Fn;eKl>ni z{BF18E~UdisQ5n+B|g@F*~NeIodYcQe^CB@QTpHR4$<*UW(UthYArT+u|rPHnW?v&{G`xO3$^gFbp*jMAs{Bi$#t?d7Y z+J75-@Hd+2+dq7c`WEwL&|{D1scObg-zV;W*W%A#Qv$xbV|4tD71sPmzYF$^Z?pU! zGd{}SCOQ5Ge!vDF{Qb)NuGIJkUS^OLt&NvD^<1)L{W0eMyNpu!cZ!a`N8#^~xQ5gR zzO35A%-=2Vzy2!6KOz1$_~6ejh86Ww7r>uX1M$mr&8~jN954OxY|6|At0{`Bg#R}-~GvxRK z`0g%x{*mxqyR7|R6@Tr-q;GZjdldXYl=#Ni+2dEfck?M7{zV1f-8DM?{s{OrjoFs= z5BXn-_8%~(K(zQfv*-WPofWk6&r8=^@!j2`n>5x!e^-e)cBtve*nE}Thq_X__+VwO8Ou8?g#b!Benm=Dr^0ppxgj2cWv9H ze0=|#D`K3F`!DHV2>-81ljDCI{Bv@gk9HpX+vB;-)mD7?9ePsct{og7`_Ci(%AFDO z@4$C=*Yj^7_q#TH*8PSblAmKAJiGjVso@e!{R{j(GXCKIfDJzK-(N?c|9+ePAM!sb z@s)zQ{2w|+ssDTE`A5os-zQf8tL^`iok>FXICFkA5$7 z$&-CXoAJT_4YmKuLSn=I`qT}!U%o_jTjrwqMg;(A&^T+tN<_0T%zy=@uQO~LIk9rY!sP{bb zhxJa}W$Axo{P&Dn|MiWIzt@I8{IGpMw-sjo$p56T1b^@e*x=jsKQaI3%glcM|L;y0 zEcHL|o67Mo@ZAsT`P<=R{?F)a&41MY$d8YuhYKV~ie z@IUYquD_6O=8yc}e^}w)PtQN(|K8UAPpJQC^ZboZ`v2Va+brw9F#a~YR{VesekA{U zzsTPI`Nt0ZO~?Np+5Si~nY+K9e zM4uJkJs>*%o_SV$#2@t0GHo4Ze1|N5ePsO?>i^o{hvLuX{+n~WsQ(b}DF4tqCf;G0 z|Hl2dY3lsnKt2CR@n>wa#vgdYp5{v{++*gC^0)DACH`&j!QZ)EKmUh%5%n#2qx_|` zJobedALTDT)r#*P6dixhPAh+Ft;Sf^cK06L`sXFjS@8ol_~7rg8UJAZ3#+LdD9}$~=aFh7xe|TQazW+1RS3^7hHBYVo zhTa^1;QJG-^N+}P=w_P(@jCub$^LJMf3*1BtmO~!k9w%b(*aBVqyGIywm+zU-Kl#1 zq4H-_|N2jf{s;JC{<)#d-jiu1W6k`r{ybAH|2FuM>R;zxD}V5YJ!P8j)UN-UKSL@1 z!?NeE&Of356RG~4`_dfC^UtV%Yc{ar2W;>o@ptXZo`2Vc1uf6NqW&3i#ES18o;`nG zwdmTPxSob({TcYrRr`N7_>uVgZ1^J%y5IkqW&Z`l{}x&PL-9W%d;Z90lvm`xF;4W0 z5pQUJp({K)vyD0a(f`<>#9zP$KN5dqzcv3GN&}Onp8d`s%kw|u<@`_a6-xd;936jO z6H)(%_>0T3Q1x12#_eYQ^ACvmw>R8Y{D2L9B>o(oTcQy4SuBd$2%hX^7rJ7F+MXs%3q0jR(!Wx&p%T9`3_mjpW6OD zvSfT8Gd}odDfMr_1|R%gE%fu>nEx1|R%w>)$cf{s-z^==LqkE;aif`F~vHpB5c|m%<5FhaJ%6i)1h}KKS4IxfS0%E_?pqiR=yae3)Irhz>7(Yq4Spp4>}2-&Un60CJ~KY@zuj&n{~yhszg_ninczy?1O zf1ko1aSy%uk4G%e-y{A%a#;6Ya8Jmdzg_%$rf1*(TJr2sOaBY;KYx{&vBUT)V1plt zzi~<*{|T}lT2X1ZW&JhoKP|{m;(uZU{*y#LtMwn+Kj0zmJ@SXA*l!m8xc`{?s1-k8 zgCB{%--bWxqpzHw212*`P_&a~p z=Rf$DtbI!R{B6>AR($tk+4J{Rw3+{q{USC05eMr&FErHbfAH_FmVX=kNc_DK_^)2r zU;F%tOXdG~bo^brvd{mvn_9oC<3CyDZ-XC+Kl{m=|ETw%%U5~&Z!d5+8@fZse~X&`lcVG>>qV5eOj++i=egR} zWyS~px7GZ&!H>k>r|>rHh#1y62JiwfA2d zye1tb^D7V~zM+gifD7%M`P8pE{@<(fUr$EKU&cS`f7CnBpDuXNvi=RvANNw`9|O_i z%jY6geDH60xUhEqA!(b^{ynAV9~%GLJbw~t{iUk-t_VZ6W3+!)c#&0O`m#Y0g8~jN8ooB4&AH0$O zUzF=u*o=?z|CEeB^uOKHvgdEx{@JX*^2u`TEb-g>W_;v-zhO%L+u%py?~TB}T;(T@ zas0NaVx2ko@09J&hrfu=-P85_@0IJ%vCdY~V(Pkd_*>O^t`xS6|A7Cj?0@5W0ULa~ z`WN^AJqLx|YWYVToctll(*B_T6Svb^|GJ;n^N)!Ct^WQ$cqM(4^t?I$G5`0G%0Ehc zR>Ru=RQ+E$;I-U;fd6lKU*SI^I{wZBR{yK`&ByyJ^&jwCDENUW@r^^-wQvJ)$X3zg*=OG?5KKPeiWW^8I;78)`*(mVs_-}b)$RRU6_!sSO#dkj! z9e9$Yy1Ul@WI~|CI5OUnJH#`@K06h zU-z8o`1>R9?^E@_3ub)e|1BpK{xwW_y=TRD z&x?+~@tZaN)%tH~ugdey{zv(LPOblJ@WI~|fj`QdTL10aSbBsRALaiewf>tQ9e+;* z{>xr=TGroz|2nn)v%v>{BSQS!@!xvBNS2QOD{B3>AUghjg@3Ya{~S`k`N@Q4W_-77 zf0`)$?|=eG@9lG-D!UxUx2TzIhM^(;P@!hZL`A5Px zj#}3r0~hV!lFP3YH{&Dz%LT0d57^)%|Bb`?^{=@9U`Riqh;`r~P-v8iVYuB9IW_<83@`A$O1|R(G;@_KPz5k%{FZab5%lses_iAUw zcfTGTf3L#7JPN4P->)rrIVM-G8`huRFXJEn57^*?zh|z^`U|=LNjZrZQ1G8~9sbem zf6PDsrrdvUzY!gO*Pqt>N4ZascFd2j(ASKQ`LBT5{@LJzzkg12>yOf$_rGe!$NHoA z#Y+Ca86AJ0!XI%D?Jil^FykZspOf`ZDF1En!QU?a;TQNlQ~DkHua@mcn(;CJaX{_= zc%$R*zhupSwf@UHb$Br|KKMWSyVd^z8~jN8jd+0%{%ZMuzWlo1&G;z)XXX8W_}{%S zI{wbf+4Jw~TG7vp5B_YW!rulz5`X{6?CZb1ZMro!v1g*?{a^5Z%S?s;Vm*KOAN!1)f8Hu#bFd*b!{Vb7nBTGxLJmH2aZTJha)XV2fa zSKvrmq45X&qQ<{Z{?K!ItY!WKw&g{M+X(J>2Yn@b{_wmuAo3*cToD zv-jn(w142gP~~rfABn#+clP=J&2zt7*588v`h!aTFUy|4x2b67ZZ`jqjyj^9e|Nra z#ShrvN8;~Q_#^J24faMgUH)JB#)|J=o;`oN`)}SW+24OFd51gEjF0_z+Qns4p@p#FvK&GJ5A#z*@*ScyOPyL$eS{O?ozk9rVxew3^0D&6yk1z)tr zU%&<*{0+Iz4A%vJ+_$!S{&3l1ISKxp5 zCszD`4Spp4t_b`S7oAw7gRvQ zi_5dj^P?>9KXDxr^PhE<`p2CS9e=OFAH322{4ijJ<@p1&KV=sv{B7{TAN8DcYpDNe zDEp7A_HVV){se6B!QU?b z!5{us=RaC?8UDDLKgR$2dt3eQUL75OR?NzuO|CI!Y}&X1V~t5h8)IDR$g%FRX-$mo z$wrN#W5>Fa_n30~BA+}?lzqehM$G=6N--9iW92ag*$z@dCm z%OD1+BZoj&HypkCj2tvJ>E4tU0|%znGJ+;o585n#88liPk^xh5*|{Kyc315IL;H<1 z#t_1YL4!x64jDQ&sneh_<3^0FWrQs0H*&zB5pBpg4pY~#|C^u{H~tx!p-*Thq1Scp zQ>=PILdgvIzFpMMi*|^=H)@Oebz2_B;^-gZtSCJ`>xzkG*Jb*yKVx1x_nj^hl!E;6 z+B;*J`==s7X-G5R27RAG-*d4`xIXm0S%ds}5)z8DV`85f)E||*()`h-T+JL2CG7J~6z{hc_Qizk+e84) zb`)PHl7f;<{^IeKcrqy{9m)Sb%GV4!=kgBav-j>;<~)@Yl$_c(x?HUjb?EsCwR{Ac z(E8C*aiRG0eI(*fSj{M>MdEhnqJIu~{*ip1!YAJw3p)@G8H;K%E_MligZ||}+V?v9 zdi_9GxHW8_YhBLltLqfy$@7=Bzx^%&@_0=jloS*@`%rG7`>mc*Rabrs4W@X$7B0VR zea_17ak?-s7qI7IUCQS_W7(s58S{^cV~=y)A?M|H+m?!N>f*0`8B;!6^D zm8F9eD!)l}g7PK#$4}*hmjRw&r!O{%aY6ZZ#U(K=b_w|k?W&&DOP9a5mB_`MmBab# z+>o>U{aD7I>lf?$v?`{MU)xZ58c*ek#4f=u=m~3<@6g$|y)V_zCj0z3v@c1N z_pk%yBQY-CBqF>({a~?}qkc z{Ev^!)a7quC)Kwl^Rw9!&u3#FZ*F->a!AB4P?~#g-N&GmgXFkToF2OG77a#96QfJ@yyTuipUy6Ec&FxnIjVqZ; z;5`<{vPc|VrM(m4n1`euod@lm6vqsb1=N4w_W2%-V_fVK?1H}ApO#x^pDT}OKb%*D z|5W?_DkkuZ-^gbqr7BAQ&~X;YP_l>Hmq^E4cz=-Fm(JT@61xPupchx_vQlTCccZw1 zQA%$g@cqxmGcHxAL(TF1&(S$a6KZGqd4Rs-@>P9to+d1FC*v93@8sH~um8B++%<&`EU72 zaRtAj&tLdYpk2QX|KS||!#Vti^PJk(yz{yNI{V7sBI3{3Ebi~9`P*~2$S>fbyx@G2 ztRHbci~NUUt|Qrp?~8v`WVWt+l>Jlu!joGcf5&C{{*#yvl!_uP&+79L-IK<7ql>feu|`3jO?|B2cK;i2o- zugd&1DC4=LKPdd^8d8LDu}iQEdQb1+-|Flux>sDmlTX;!n*P8%|1yH&%SG+IuT|cl z{7&EV`X;e$-k_YK@P(~hUzXpy=zA`933fpbIyAJg&b~v-#1)K8Q9d?}x7t@`Eq#AA z+@IS>^G7`XQWEn9C6)rnMdKx-NZz1)PT%{dhJT+^`$l}&shZBd2`|YjB#HV(XCL>A zFCY1jgxeQvZ|OLZgxlxOOZL(+7jB=k-_6@s~kFu_O+~Q^e{gG=?mGXycuHKsUr~(1 z?Cf)WT$FKveV$K>GA^*s{b^Cg1@^f=qjM6wgn9+~gP8rVQT=km{NJqZ#J_3`yS75q zFU~JT{eqqc^tBNJsi6d%Pk-m9IDCqVfG;kdO(Z|_^REh!zZb-@9zTk6JNw`_=z(+Q zY5UKtg=jzgCxrjF9lTZruiJXi_&q+JWu2`O6epeg=$ywSPklSm_qoI8#dY`nd%Kn7Mw2|5C1&V_e`rgOz7o;J@VSKl*JtiCuzS&{L;XDX6nA?Jsc!zm5NvQHb+;#JFCX zarvI&fuAGQq;p<=eb-6{rR4#t_o%(Y_c^t1@UAACb@u&){53?qEb=!ze~R+q-(QY# zf&W|wD8EVIzbrcDGLY=!{hOP$uiC0y*LC*Im;Up8CB`{w{K3BDC1n|xGvpBG1Ju6K zF&EhDrDHCz*G=N=7I%&h|9%|qC_bGcQK1u8n?1CP)uf*Lt`#P);S1^u>_QUl#uV2FX+no9*yj^8Q zss*JzwYRPd)Lzgz7v7&TXrA6ES}iCw3kv&KR#kdw7Ku%QT_JsS+7_LCx9|+3}Z&_leu9GA?#WwXe>}W)7WwRm%wbyx)oZ9YA>I z{GC>kd`tC3;O$~T=|%ZxFf=z2f837^V>jeYf&a_hqLFO%EL`R6^t?=Ykt4Jkb|kC}MM5fpr`YBhgb4nNXX zm%oet7Juo#U&J4`!+d{wi4tFj>B7AJ^__ME>;lU4(we6UHCg>DVX}%l_o`AJvbGMpJAo zj%BrPq56?Nzf@6t9{eNCf3OSsn@vYjbn`EV4pF?ci(}Z|&n5Q>6Qx?r`SHtt_?~tC z<%N!dk8SyAbO%czu}dg9&~XpG*E(pQ`~!!4|5CrQxtQN%ACvp2>Fo=bkA#P$ziW$j z5q21|zr*VoPp*3S_y(=U-*Yn^hpO@WgEC?L%bc^+-nS3?&znR0rc4y}8DCrL7ud)0 zkZoLSl4{@j2dYff+4oo>s{c&(Ipscxk^Hx8X7=`Ziq&IW?2>BV-zz^Jqq8ra>|-6m z{`2S1zDWK{E>n+ju}i9bGgfEy(b>0{^4Ddu&m;E{jO4#a_PNT{V_fVK$}RMUpBrD# zqnY2>vXbh7mNdVSDcTR?Tbucf8Ny=JFTXSv^+%2SNtcUdcaZjyo?o8MUyWlY?xS-W zr`sjfe|+uL@N^dA^U1Vc!aTm5MHL_~i%5KajUO8|$PNk_Zuax`(b~bEkd_nn3wYx~DUxN0%nwuH&y{`XX_95<|zkaN9Z(aO7F_zk; z2Vz)@cA~!U9?{2N3)z$+{@V5s{eFJ`m-iRykt6sx;BATre=}OQL%@6;kzIn{pfg@9 zrd_|5xJ~-=oaiS}H6nXMf?d$ZcRwA_*?0RmaRt{;q90;sU;1f-ae;k4I_3iV63-fp3+!{! zF&Dd(AisdlTl2~$-T0&M>lAxy<5{uoqWrr2qWns)k|#ytcJpJ0Ja7D%>>tSY3d@h# zQ{+FxR3GAVRl_dmV~=e4Rp-A0<%I?Qej+SoA$`7~4`&}Ex<#;b~&OhTR z?@`g7xsSDBTz)3L+<*R~ZGw_h`}VC0RMOe^3DqY&dH)pk%RQ9e=JGp;>e(RP9*Q-R zyPu)oUZL^XULz>){UYt#XVCnq!J58C<%8P4#QhYHBz6gYgPy&=$VQ!g{Ras9j7!V>iMg2EmIgh{a{7VaJ zzj!`6JC$Nw=9iJ@z3H6f{ru!FYR^(SmkLTkMe%)lmr{(2U4mWE`w|Mkj8@ki}{O4Z^)*_m6|=c-nmacM_gWPblTK;LuOO#LffU;F5o zi(P_U(3|=U-k|f}#&hBduG(T8mbuuPzYASf|Isv7(4Xx7YK%)i%0jQHy}h3Rxvzcn z9T&RWwdUCgprP73_GN z7m1yb`!DF1!oGe9{>#)qyM;mDakVW zmw?$fXw|;g1697&*|#JY)%U}~_WA!I`#i6fWX1q{``|a|-6Li-(Zyex@q(InxmZ7W z_`Eg#E>{rkS;|=IKa(Kdl4qA^TpE&Jd3+*OrR(9C>l+*=KY(4({YK`~uD|+)?BU5* zM67ReF5u-iygp|n;TbfJO&&|_0m(*czj*&XWtg9T|>4*BO2JXf(@OKHOM;FUO^TTUeOt>nXH0 zaajY#o+GhIxs=b3oXLNpFztVqsMyz;aM`G^eeCSb*@tm6;9#HoJzAgrti64z{~r0x z*F@*PlpVy^WS=*O_B|WHe~HT*u#{}M3#?-{#*ae zS$-i-S3cbD%JSj*Z|xfunCsNpXWS;{5Iz0=Tl-eb+ooc;e>`;I^RgSLP5 zO$}im8}R>YANtSG?*wXI(9J&w9*SqiTQTfs`FywWyC}c7uL_O#zciEu5c9tO)ckXw zl^<%?cg}rGmfu1Dzy3qL0^K^Tw08ZF`$<`T2miPBT}Yd|UsrzjNc(*Mv3(0!zRz^_ z{pu6`^9=cK{Wt8v{o8f+t&{KXbPoM*?HhA_(-%7Xd~$zV&%^(%eJ^ai{=Lq=>2m*V z=g9xozQe8+vvl@tUMAwtH%i#Y`zhw}ui9TOJK5Slu6(=oJaDV^9Q_qlqh5g?GH#ys z`S^@XIg*n0{a5|_77ZF-(D`pw9oau{|F`)&{lQmT>+GAGB>M-W|6BWdcVbm^_MP}v z_7BqjTl+>o^~q(OeQ&K4<-=P;%rpL1V$0Pre|DMfNW5}qaF+=;g z2PK7fTpBlGLSo#@lHuRkBo=2u_pT-PI zdt^`=ZND@!xT%rpo3ue=+@nU08T4RU>e%3hPqZ6UaJ#5ZgGP@VG-hmYgQei^N%B+k z&udwKTitf=BVN}PP%6CPMHe?M92ZyG_*0DgFn?C&VOpPdDZD?4_p0cBV*Uu4@9)Bs zGx$Ga1D}xhPnG=|N6OE=<3+rhX1?TK3gwVzrKHZB&?bq`FXKnpKdjGAnxFbBY@hR5 z&g`?>Pt4g<^gnAUFq%vGfmdbDR$N`m>BHNi3^Ftqecr3#^1)(qX5Y8cKG*^Ld`kYpKlmQn zkO#2u`xY;4GRNOK>Ax;<^!)b1u>ZU{wC_{Ye{OMKID{+b;rwew{SwJO__6mbcR09x z4W<7sN&B*R`7rs<8Jjcz)s%knd}m#s``Ty`Kgf6Z2lhj&cF)<^yST1?>E4w5_jcHS z{v6tO>|=fVf%s!z2)pg-7eg8fz3|EpL%IKqKH|ElUmiS8f^9i>luMUsB1HV)KGB!T6zmO51Gy5Ev@2zXyuly+X9g@$3 ztN92XhCF~C|7rKW+`jIL|Mox5m}gZu7koDM#nlrRbjs`Qyyt)OAIb&vtjo{W;r0!c z_Mv?A%%c3w6~p4j2s~GAz5i7ER@*!ub3wLyEJ2iOH6JCtQ2h-14zDx5=Jt)3_BrMI z&nMTV{*}o-mM3TSHI{tT`mewg!4uCd*yS(mf_`!H^m*JquVUZJWS_Ts9Bb8Du79wx zuT{M0=OcgLMm=0z@PS|6Y%B9!KF@4tpX%2Q%P!|L_peYsW>NkcvFHU*|1&}FzrWuS z7QntX(mt2cKfPCe4!_#jXGlWuU+jXwMeaYJ^dI`C|Hs^wz-cwT|I;)z)1szDD$y-s zT1;=Nkh-lR)sQx&Zd$adX%&SxvSt~33SE1IMp?3ySEBfn5q=`_+Q~ME`dRXSp7%W8 z_uhNDx8CCC_dD}B^St-m?R&rHInUY8IrS_mpZf46GsIUS&w(A5*Qw);b-7HQa2>)S z=kHvxj`86<^0(9bQ~u$@7q65Ve{&=rt*$})(o6KuHTI*!dm%0P0eSB8YjpWwxYiHY z=e(!LzO2kvy}Ijgt8zF#UN?-Lo%*lT&WQ4hnXbW)+?E#k@(c0Xv3b>ve*O@@AD7aF zk9qhKe-YmRiC^pOJ=Z^g3;6F`(w65>)axMpp?r1XcGACQo_%(zg!6ZVPQGdWu&+Vf zSl`b!(hc69CNAQ~h6C>|7gl~=N$a&)v%LIQ$vSK1V;G;m{9Ly)>Fv){ex{mi@wO`I zaU(_Ls;aWDs_1oUXq~@UR#j!wdDDSE$jNoze1rM3g+JKmi|(cTqgRePqKnuq!3T>2 zY4Z1mg31uaxk)m9ogDkt|{>(AeS?^D8;^x?CrXNKC(_>}CJ51*=$8NQD%()^j} zSs^RhHW{7Wxl<%#M!SX>m-AH(*_^Q_G^IRCd zXDEM5`taE`GvjY#VUQ=V)1!AVJPIH54|3&=Q!nN8VV$Y(hy5GI{89SA`h&>~@xlI~ z9S!(?k$6w`-gEl_a3P-8Ex+XufBHcBeQ*TX=M!_%_~NxP>Eo0^ zU2_?q**=-1^y}92^v|lD8NRY#bvz_r3bt>c-PcUl;1?47LEiI8-$(uY!9J^JsQfa= zTVFDfA-?ntHi(+uHLvee^QMm!7(q+W+QOP#0dR>u=71 znen&K(fHibAb%JaX4)O#N=p=sB;c;({2z0u{WK=&1NM17r4OsN7r&}bX87`?{Nip4 zwy#|+{JArO<(f1u`C%CWL#!cJar(6ld}A*oe7(K&;bw^MlTDhx`0`--xJ$|nNePF3 z8E}*o$J4?2V@u~Ue~y9g;Z0OOTJ6~v`=GzZUq6%!jd9OuAo9b+ec4l2Ug}RDh~KhK zWd9EI;y0Ngz9kZm$;Ltbn=0*BNWW3(!^AhJ$&))cev1tLTu#67ik|(Gb%3G1kY@Ry zi{P*#@WF0J;j@KD$n5Wmn=?KMroAO}`Thrv-vTdwt$LZoZ@QgN`mylbY4gP{uF!gk zavsh@n*2SLx9HTc_^nz<V}0F`C|66lD~dl8-SxAZZ?sbx^^Xr`YX0`7e&5uWjPVhNFusGmNJwOeuV`eDC%o>4n{{|Xa7XbM!wn*r zei7p`eJvLoa^gjWgp9{pX3(g7FLfk{9hceVDj!Z`X4h$8X*! zt=A|Yd~z1?=fh_mmKnYd!k<|_*Z^Jyx5*RuGt&J)ojqFOKe?EL}hWI`gJA!s*@KVr4>o>wP#kZ=U=`_Fn1Amv&{uD_cKKqEw`0FF< zIbmN5;5!la<>}1QFZk;|{L47w>m~XJ{-(~N@h>m=_J4@LN7GGH&K4jYCUq-z% zA_0RpxlLU?r%p}3{=xoTxRl!O8)c>U&#>|{!*{Fn!=Rjp_smEByO;8*B{u+Pxh;bx z`uRir9{D-pn^h@|FOea>A!x^VBDg+8AHj$HY@^~AxN!cNPn%{lzJ%xv+IL@_M<22w zTa6KYccecOS^>gI%-30i9eCx1&m;3b(@%uU9 za~fx*@wpk|LqCVvK0Xurw-^2_e5c3}-K!1o>mTgjOFM{@zBy@pcJs{mYkR4r->Sj- z@10oZ?!(Ob7r@^yO&2v}e7U3bbHQJ^x2XN)GB19U8RA3xntOFH9!E&J!F+I2&k)hz z4|3~s~AK-$F%MVNBmPEHw z#Y4;hmm`63fNpU~@1%kk{D zboy;LnDBL~l-9pQhWJoUHq$T0B{<82b`iKB&Hj(~=e=?;+n1QcFY=FbZ=^detEkql zl6*!CZ~Y%8zDquv*qHHkFz|i3l-hSs%T41`EyLq? zU-6;+Sw3esVd7i$bHU4u&o=NCt|3kac=+7E3E$rMGXYZ=uZhEh_GMqkzra3T+N^McA0NsGcYZ&)=oEBNd# z!TjwZ33tctxqf7(kI(+BZ}a*%X8)@59N9m@2bahY-%8*x`q@h4`&|k5o{TqWX~`k< zZ|b<~EBNCV<%3H9CjIl_bJ}FaUv>0<82AQBIN}}p6-1|Yi{D?KSva5Z?Ue7s_`1PI zQvH|q&BXpys%>WYUJ*NNrjOU5mxt?lOi}pq1u*3LdN+RL=PxenvtLB*fAP0GZE!Qh z7n>*T2gzXnzBxZ&Z|MW^TiC3-mBKeh+Xck$jg_eZyQ7ECZkHKz zZ@2x)dbFeRRa4KtBn2NWgP3xVrhUQs72W#A>vYikLGK_ef!CG9dVjNJ39{w4O$ zEeekByaM{Sm-&q`0b+@~eEGT~!tg!K-+O~szH6xqVGBOs|8o6zulVB^_4A{?qVzGhQaXLakIRg|YSNDDHVlrl`ccBM zADd6J1(6nJ`gmpN-M{+rA$^=bpYRoU>DTI*8NSW~wHRR{&mp4ApQd2=m5My zR;;vGAE}sGy_;t@O8|ZJp zLiv7UK9!%lW~){5-Olmh{H9KruzxUbCoon*Qmdl^F3a-mG?EvBBC5RHk}#om$f_haBe@?An}X#7pE$f z|6*CnDW~H%Dfm#Yfpka@*x9N7N)0|&(y3AZ7$EzCp?$-QN4Z^@;ny8|@%FI#+t7vd zPTD^W_~LfB{+akN4;l3|y!X3qLEQL0oQFibLJm9RgOw@!a+bay<@*`LU;M)yHEOXA zx4MMm<9+Ga*{T0Z)$A%bjQK~HA8*k{Ayjin@8c%7rG+KGkbW<2w=LEG5fgkU{~ba5 zyE(11)UogA_)SFMeJS4 znc=J4Q{!-?okd`)<&r)S4t{VR(!|&0zPUGr;k$n`*@1SR7P}eZt1b9k17AHOd~f)0 z-mX0OGe17$Z_Zk>S0{S>+1)ea?-|$;nMVO$IwSq=rGF6DLpJ#BwPj)LlRN8E`{bRz z@}Jky1U~K3RAT=-8rT(;?l0zX9VX=COTojr8#~ z#jhG9gN*2Byhk{H*uT$~7e&?Inu*=9Mrr$E>Y3cGEcpR^$5d&N>c3oN;ETOLYpQJX z@L4@G!}rLeVh7}V@ZLsJz6U<=g!7OH2fnJeT|JWdOBncU!spQbhj57u@%>f)V)8;u z;$P>a z_m5P)GQ(%KgUjm_#?2-k(d{ybN1TVW!(ZLT`0@o`k+knto#TzV=wJ5p2g5_9@}Hlm7IT=`xm@Oyd*njrS~tjdS`}jr`Rcs)4=z& zUZLX$;ks0Yvz`Qhi02oVonP$Nznv1lHtla|9q)ZjB13#%3cln+!TMzOZW2{^W$5iT)mh0wS`L9>1$PCWj}v$=|5j^FqQ9z zc=lQK3CB0MseT}yy94FCuY>(t56HY4=XIT~5sv~VEiCy3dBKb(oBa5Ye++$u^skc_ zzitG+(v$Q9ZF%l|8Gq$G5wtIj`igzHaL@S%^bYZVY4+@67+>K8eLw0)buXv#X*Um_ z-8Y=SU6%*zA4tEBF@Lq0)T7a^kSpI~3QGcjb4#};KV^L51Rv^0B`=bFK7rO3SgCO* zBk)a_t{-U2bKA|4bZWH!<)L0I;owJZOAFuv{%zgs-^Tcg1RwI>ypu`)`uXf%zi|F4 zHxKf+xB2@{Gu>|;g%9Zh`nh#}kJS8M%wHHR_WAukh`(N5{91+K_?CR5Kiw7vjuks> z+GoT&!ogFTIQaqI5WaZhwZDbUKfh@)rH>Ome2EBr6X`m3cIv-ZzclB^Hy7N_UgpPl zkmo>dtG4JKfBKy*^P`@l_c}vp6EbnmDdGH?_!>z&q%|{WpHY6s_+7*!o)3w52aj2Q zWCzx7g8nV+KzembwwgCv+W$@s$2X6!BWI`nD~0l(IlgX@q%+hz@qW22ElhkT&0Kp} zSp9M~>3y=d7r$-+z8|`ay`EEi#%?rM9&I?y?`NiDdi1$Z!7FA5+Oa4vxETdh}L!y6~ z{8gG=!w%z*$2YlME2Z(pWnKh$gWOmCETi4S#An9)_WtEsvi_OtAGD?MllJJ`G(KxU zc>35^e3*Y};=(cTLDrc#|MHeTd`Q0^klx#8c>0(4oA82>grgX&nk{(`5xpiwP+Txey4eRsHp|#TcOUL>A zA+^%|4P|s(O4pkX_7C#cL*L`|9e3+r`1cmVNBdvDbg;J1?jWsy=vRPziLPU3r~WH7 zsXYCzT0sq_?@||Js};iue=fDN)3J3Z?N|H~wd>Gv%^CC^w4b=?fD7TTO+5GxzkNpg zY327Re!ukYw+Dx(kG}LCc6RE&Qe7XD@|clMD@ps1D|%waquieE2g3Oa^S=DRj}Pgi zh`v*O<>5WAZ(v=;DWrqN$sg&_|77Hjt`%8`o7_Nn_iH7Xy3;Vpm8Z+S*A9PyWazWe}hkY8`Cb&2*S}fDy_8H;)wUB+X zZTbFI7(euVFn;?=`-Zbrp)tsUBW*jyA`KQx?xAM zKOz0+&`ZdpUfVo}^{>MuZAZ|4FrfvtudVd52&CzoUF?~Q+ZrM2!Fr@ zS-51;0b%wp&ip;*@#i@E#-DwEkiY4|tM!XcH&N-=59Zaw8}uS;`;$nMc`tX@5ppks$d3R}1DeV=%| zXZ^PK9}UA-Zy2QyA3kS{<`4HlM&ctp*3UkC_3NoP9q$bvc!hjs#^I^_4ex{gH9wTr zZ@RmpYJZ;Czp>%*+y2;K{9>N3xxO;y55^bo***goWZB1;{=xdURP+z{c9l>*)T@$O z`?%IiHv-?e;HgZW$YALKiMJ4C^UiHkwS@Q&Zr4+x8 z$8I+8xon?@d-&AE%++wcIYGh@uaH%zpZOf|w_E#PvvVkYjL1??U9I_Z1s}@wkWcjq@`wGcTvl+}!?@29 z(#;y#s@+v|JTF_FLqpbFI_^ySVmXIVW1->9^gH8-V{E_vA$`344b=}uXRElBpY2KE z{Kbv(Gv)~&#vkSn!p`Bn6AXN?Z#WN`zz>ms zTu}RIKR%>ii^|XLxNOyFoz_2VayY(D^Mm>~KybuI1>1*WQ^Zc)s?&#S;J_i`9qIV> zyZco1*DnL@yW_o7mWaSNaZ(T;+IKCb=LzDynYQm*as%Y9YwDF_e8t=K_r+v43%!J#QzhpnfBa&8?ONg`>BFar z!tre(J!NO7{wsy~QL0n0{VLtRFY9td;dA6Ug(9~NY~^%JWl_ zRWwhC-#bnt{TrL5Zh1=dW_mcjTh0ygcP#ARLBaAL>|zq(FmU()NJOk0pYr^#r!u}+ zr69ih3Ml>h@Fn&UpItW`pNnu5Fn~*BuKrxLQ;zSyV8K>@`n~*Joqo4cdBg2P<$I|g zIWxlf+hEj>5RcBo!Th6G(g*UrG6NS5y&OS@R9my?RqCIvV9qa#y-MfD=BOtq{`~#F z-&6UB+daAeH*ZUOl}GIXIOed%G-Qw^T$KZZ=P}>RrhAJww+F1WMD#)qxMa<0=CAG$ zo&J%2k6B6aJ0UB*Kdd`5oIi8_Rg|Am&%le*^LyrKUXjn@JftN*An$$P-+}c@P<~mz zn#ul&X)>P`%9+JOZ~E9Gnykf*W)i4 zf$tkC2eY$N|CNg3FVp>rfgAjOS^cKo9KUg6|J7Fc)E9rgul?_waQ;kuf3^J&{6W6| zz^MBE^o#Pr`XOZh?)T0AogI$PoFBgw_46-+@oTpKfhVCoEf5ZQ;)Rc`V0?qe>hyv2 zOD?1N(@7t`#6IFP>%S(xDDw>7Am=@I+tM)peki8;?}HwH&bj->U-DnU{MW<>e$vFr z4}?R;Z~QT}zebV4-^U!kK78uDeZ%MW+cUns@n;F%lS&`^ocSv>#*hE>KCShz${RoK zM&L8k$6p;k9ur)M-%6K^YRKh#bA0UMpJyp6;gwJAIpO@7`2OnnSlAWFwma4b`j60m zo@_|`6<11+A4*2xGsh48xIm{fXLvAvXHS&!>BTz#h>Bm}f=q7wXo5d|0H0+MzUw@E z@wwsrMd5S*CVWqBYWz$XK8NvL@8Pq~-#2{8zX@OBrb`|P!{;)-8$5i8eZ*&t*uVHi zyhE-(=aoy3r1X(5?f0mkzfhanUN&Z_@1Tti0tzEw@t$MTYgZsvP-j6vGkj%3&ZghAFLl_%kySPd%9gC$lnDLZdEYWzq-C$ zv*|OY%^Wqunq&2}W{#gcqiDvo~Nel zW%8&o*7S2Hk1FU#zmBtJjhr-oH0^aZWzun0kww>xnKpJLT{7qVQ5U%n+wAYLKYbon#hG&i>n#!n)Ct&X}P;Jl;l0hdE7sI2t(JgYwC z&omCLohORFyl)E>d+=BEU4dc`{=gCVQ{NXT_L=hc z>b;X1h2hJetns;z?HONeTY+K^e8pcEDE3kKtZxbw`%LkDGv?rz!|-j5X?%8Dzy5jg zdv7bPKSc+%Q0&Lmp!lMCU17}@Dc_F9w=j1_b?7|#`Cqf9LCTtXWkGlG6>B!t&(>b1&586pRzcdr$d+`uUm91}&APTBrw!U$+~@ zHytN-@nC7~OneXClz(^_zUzk*f_uHI?MpJlchLoV##eSwOO^b-c^aQnx1}niV>rYs zO6J*wLyw0-u{@10^l3Kvs;KpyGEUD!;qr=~9&Uqb11QL~i)X0A>TvD+zsA^$wJ zBUybZebKe-;eZSB$=~Ll7KSgjO7K0a?F*X|e>>J!^!_A0->RLL@>qAMxK^HGkM)KM z={I}W@A!dviapjzDx-7k;qVKx<{#h3Q{^k!{}TPvqwl3Vp7hd(b9s3D9zkl5MSuD7 zf?O$&nfsrkU$cz%6?ea-eaDHQls(F>s^aCP5J}GfZ;&T{IQZ8v{&;_Jc6L>bi*fk* zdxql2C3{>{Rwd={Cq6mQR2V+qAC{d}OXK5xn0T}kc%Mb~nct(Hqfqik$Z=v#1;zgM>-GEN^qYMN?dQsP zZ2HZ9IAiL2^yceQjfDX@lCr=<13{-(%E+!Abi9tsxtB? z%5gFMW?y@gzCJ#$qGI2%n?B}mWEX|+iqnpp7{=c{V>Lea8J&JjeBjTfZ)XqwEc(qJ z{OPy<`6u|pG5EuA6u$8nHCq*ikM}oaXV(dj-zCJK8b;-TZaFDGmEw!vRnj9zv45N6 zw>s4UyXT~Q6XK7L3+WvD_H@kmC+R$UIK(UDjF+F?6qbLCq5b{TbKd@W)>Yx@mwEN) zzi7uzKBTY5d&||<@oy!FU-IBTL0q$k11`wEw?2JR7=P~_uK9Cr*5wy7e!(B&2mIj} z{NWh<;TZhkI0|2{A07*>AC*0$?}+aTkKbCOy1L$)kLV_q|<3$9Ig*vEL%c zar(`E2~92I`}62GdpPh0c}}^rmWADON_YnT_ zj;f^C^HTcEwTclI@_psJYDLHF#Q_)O(AV8=Vfelg{#193kJsV%=Wo3@zAmBs?fIH1 z{}VmXC4BDMnkoMh;phC%eSwb2qkIs%ucl&OgEFGze6l}FX`O!ZaKHuWy!^_VFnoOm zYyFFt+cQ4sAMoKA_;3t-I0il(N8vl|>(WsByn*(oW9QHS4gM9yU)jo5g!mW)`z6}w;_0M8D$NoM_ zAG{uU(T9yv9`(->x}H58c!SKD`+kiue7ycRJFC66&l(@uQXQ-o4%Y9Fz0ru)jBcbZ zrX-lirn1yqjZ*$RNyp2kBWHqt=X!KezPC)g+8C4-|XRl3$j+T{;@E8y#6@5 z#9r{(uQpQbfv;>My`Mbr7125Nz-PVINU;aLQaZ;T4&M)X^R{DVQTcwi@rl+u#9a%o zf6Km6^N5lLB>D$?$qP`9A8-osL-wX_XG&vpvek7|KT;>r@kTADex&6*vRer{4+q{L zr(bx?yfFTTv={yw>-53v?E3X@64|!|wWmP8r?S1P;2pF5wt9HS2N>7)qV`SP%Q6bz zqgS1GTNplG-+bfXbz=SaP+#M9ZrSf?om+lC(r;>=TUy%|^*3JUmOUJJgKWFy zqFrJ5s$Qb+NL1APnfOq@v=5|pc*z5AtWI^s9`(x-`pq8r?1Sif@@ahZyOcZ}a6yhZ z^Q6%F+mjE;9Y^Z&3$NoyCL*1Fmo}jIeS6ZLUXx9W;L9B@H?IPu4>Vf>}mcch!F9y(p{I*xvPukgA0R6g(1D&==j zg0Tp1N#9l}f7et>A9s_zqht0*9YpDbuFs?2>~~U<`$GL7q5f((hsT8q@k$ z?5t0Z0v!rcz7$t9{kyKjy>>|j%=ma!vPm$wIKyn!tnhl>*hKAbo$_R z>iqHBl@2(6ut&5>`F@nYaXL+0(MGW^_Xu&%<@Yn&XunRMFLl}|_9)-Shqs}1G}-{( zZtWXgX3jk-3?Hv=#?C!i>mRRURzZ3BTh;f1_Urp$G+w&5&)zKxo=5uSZ(!%p^YkzM z9{`bWfWJdqj7*JB+^|*88$tik`mgDZPqJ0%mAXANzDVQLsJ-@GUf;~$K9nBEWUS9s zLhWJ9XL10IyCTo!7fv6A1KTT?j^Th0a_a#L+lJ+D+lfD?3+LB{_r4$t4PzF9AM z!4t%*)1bUsFS1$(dJY}$x=e=;`a{dS7fC)+UM0@Z$G`{PAWuB)z^P&N^Rm;+srcvK z`b`PJXY$AEH~IO){)kvd3h%|fT=uDC_sE}kz2*~fjO&04@`sI!L+c-@^^xeNq^#S- z>*V&kUY1)SyVo7=r?<`w-wQE_S}BT_m|Rd_HeoK1M-C< z9}dkwb}ZEw+U<1y5r)q`m+UiPV-I`|{brwPAFM>_n|`xrd{$-BH~P(<@$vm7^qV~# za6w-5c257W^vmn}uybTx9}^$rN&G?iLjmzYetUMg)Uids*)u-oCvg;AM;`no={NiD zPZ9p;cPV)|;DT&?X7!`P@O@fc<4g3{_V1eJ!T9|Q?{7u8$mciL?<=BqCH4ST28>rJQuQOCZdHq{x&n>AV!J?u5FL&P2qb`SE<`7fvTXIDo1eNi{!e4AJ9w%l<0%2a!zarc)R6qQ&z885XN7@$@-S0%%i-M=AroW zH`L#(Wt|jz)Q?J*cT((8KPsei>`_08({J`~<Qzukd}sLmv1NbdEjnmCspcLbv9JBY*lhit(1qpB`&X} z*ndU!;pByMeKB269uB-gHva6?s$uw=f1vM34$=HY;fr5L`c5ABI4!UPzQo0Zhdl7v zbS-<}b1$WJyU4>KT|j<(dFhO>{;fZ5r+n%sFMZf|ho_JFM{)j3_D^1LtjzOOZFIRC z??r!B@npg`sg~+U_pm+GUlU!wT)(8+k}&?Bze7LSk#%Z$o~l26{MGVb0X6zFwvq|$ z6ni+tD`dT+x~>SrmtRw-59=x2f5h`ZE6_KCcjRBO?d=u&H8fwH-9{&7e3<2fw z4#neprhNM=NFN?2dp5Uc%6G6dUdGIBRt-uI)P7}8=$Z06uM)iH_f&=C;lLZ@GB$SAq&%aK{`~W1x*fk+ zn)5=YQ2oz;9{B3Y56H@=-1mJJjo-leoicyn!S^J7(7Zz{es9PxRL54(UxEtAGo#bMw+0!tj;78N?S`x_|iGKEd@EfY0rr$5)#8ECC9+ zdeX<|`0;HP{>mr0SJHE(`-|^ftsf?T?xErPOoBJa9Tm#;_TxkRme%s}4n|q@!2a=P zyTSDsz+bYX=GEj6xFFv;tm=bd_>$BX>UVh${>}JK2#?>GycDwAFE0=9<6HQqo?q68 z#uxit$={66c~r-{$zQ&_6ms};bB^@m8z=LBdwm?#zrtnv$DjII-)HJy{4yQyCO*U~ z^-MJ)4a0Zn2#wGEhw)hg6!Dwrdq_!G{9gB1&_0(w zynp%^X`dt3!Os_b!1?luU%vF?gMEH`O%PwvBm0R@a3H>*f0+LWo&?rz`P;;*M^*LX zL;85%$ba*e?;k#EV7PsDM`xD*)_$f>xiEZpd=<1WCHsjFI86SW!f^WxJ|RE5WXb1Y z_^vVROJT|W@s|`FCcb1u{sCN&zkUBu`7nGR82pv(CqCyC&6A1G?HSG=(goyd>%eJ# ze7UkecC{_R^illi{_&@N(e-;1AM_GDA$=6d56JhcjP2pa_od`-jamltkJyU+#8*qF z0~4Qpy{^}c12B=Z4SeyVFa0@>UmJKaJBddpO{N9P`$I3&QfZ z>C3hLxqH9|Y%Cd{|2PU?{0G8A9{9@WH+wkXf_&n(`IW-(O{$>rSyiI>a}EBI)Lsva zQTXy25P#%>FHXPN!vPoMY5gw_9lzV*FyU_x__%)xc$h!`_=6~X@g0PRJn)s#Z}xD& z1^L>HO`F2_yZa{LuWB@Zz{WDu_${nd*zW^!|*-5Ncj7k@s(6M zUa<#0t1|s24+mV3?`-_y&oF#gmKPr84|Ln81Qr`zYP`*k?xLN_DCJ&?nozE3Mx1an;JF|(;9j5yaP5yuja#mL7>jUvC z_$=DP$nVPb7oXtR4WHnS!UtYI_^9DweteiexaRR-{1zwnk3XyzX5z#8KbD^a`VG90 z4UT+&oF5;`R|%IognTac{C?sa6yAPdEe~%$1un<|v2U&k!*}MLL42iuGd?Fne78;e z^rkR;RsI!>-=ekq$Di9UynW4jBs2cjPn;ht|4IMR@)p7Lk@v#>;j^Yi#IJ-S9YB>V z`2qRMA(dS}f3SZqYzg8k*-w0l&Efd=*1rYZtCw)9e6WApz6jzg*-w1#>~Q{2Ki?a^1CD&Cs~;cQ@AJP5;wyZ4|M&wA zGk$>^=^)C!+;`K&6a4sKUrL|z#;o$aW&4TG-5Ji`ZsmiUeCuGP*SpF;dt}j2S{`fs zo)&g#|t#e|jl@d>DW3(Lw%V z|F?hf>;4+fpBquWLb?FH7tgskD-7THp9Sqp>HgxAaX7o_Uqt`!I8nsGkl(C($&ase zv#uY_`Xz|3=+*t>Pc;bdKSKGy5gZWU4f6K}_qFxoL;865$YB1K_uBs9b7h@9lfO*M z_oY7-E)B!CV1BTDw`70u-SyYX2hZ)ga(x)S?+yM6H~zi+?Pgyjg26N7>=iv0hqb?) zN#jk~xxeW8Kd_iQno(Wzcr(4@VNBQ;PEFkUk~@P6nMMUFUt?B-Xx5_ zSm$8lU!kLpM^&NROEk~HL z*H+^R)2B>6c39)F6h2}yofy`*@o`r7G1Es)8(%bI{FKS&g`>SwsZ0CM7&&b^uVI*e z)N~3tYvg%jrcEC)YRb&XGw3qw{4*3mORbOizk{iTHD=nhDbt#&TYb4&aCOHZ;-P1p zHRYU<)6YI<%$Y4m78MnoGIPp|F?dR9fkw?L{cNolgB+S#uCYT4t6BQ9Lm$#qL!len z&?1j*_O{3)>>kQBofj?oiO09w#`@Itexm;8hTi&I)+VigDAhpnx>)7t&lUwgME0kH z{e|AQ#J+XLcpc0ODY05AXZ}&?^Z|Sm8(4=jzHtV=R~pm2y2Cvin8*+x_GeNr2Ir>~ z$+}Z!dnNGMm0BumW79M~@HlVMDAR)^i7=QlcUhV#e${%nbC zxqk=thY+45ST&b%yRM8k0Y3+kol4fAd0@TTt3=24%90y^@2)v7r}n?R{0xl)_&&IY z?(^YOZ)JwB8*mu-utx!D6C(1WgVK=_GFG)*;=WJbQiuC^Gu4n#fvNMmOfe>Z6C++`{kKI z{kv%nrQbFlzWBfPgwL}tt48YQK+k~haz}?Juh7o{Pe{Lvj~&8sUybM6to8GU_$~iA z&71V$v);)J-z!KT!V}(eqO6OLar%hA{xnYt^L)x^Jq^?4eskiau>B>Q>?FOptYZ4| zgy2gD$PZq(CY%27-B|Z0_GnF&IM-XZCP~NYJa65a!WFd64;^D2m{K}+=-6}(*W55Y z4BvcOza(*`htJup`7`h5bywJm17DLN6xS6hsN&n3D0kE0%BJH49qZWp^UvX@(D{nq z@oYLy&~fP*Dt}mtvaLianw2{Sg$5uo&)=Q&7H@j@;C4T`&^VDy|A;@)3R@+EBK%xkc`it zeoM!Mr;n1$B>Zz--vmE1zoPFE`(!7&j4TsrXbx5ixsM^VteT+%0q8~mJ1^QPi+X&&aTeC6)U-z|PWKY03AetfH> z{eJ$@q!)d&)f3<9=O!cY@wyFue3Mt`>#f&=<%28F3x-2KtR`MLzqnBw1>S()Zu3rR zf3*@>KOga1O7o?Yr)H=3w~ucL=a1*t`pZ`*4G8ii(WHv8KEF{fM}8FVZP9+44b%1+ z@gIApX=?w_gxnAQDjY)g`7}shOhow;X5}NzgNq?n6TU65B9mR56ugQ?cm_A+@ ztZ~>6>UuriwLtP^OYos}=T2JM$C;O{l8;dN`HuFx%@3V-`|-yd$>l4ttKjd3`zZaM zo1Na@!2U3tKi=QK&mZe$Uq9j=*1mgkv34@FS1gO_=#p>Ekcd<@{-bw7uP|g5=c_@Fh)^-Cpw-xH|!oHhi&i3f=-H?Z0c3k~1{W*~{a&|5C zJW{PcUOu1Jhkmpl1^dT!{O3(-q1a!1jXo|bqWvJq7k1S18=VO)6#KL2`K&jEXVE$G zSDdGhi|JYHqg=k6fc*HfEvfxYaeayC&x$iBfBVhj-}*c={+l45?H^pFSKJ&XQ zoQRP4Zpa&M_~a!&{&9kTLwUkKtD>j>Uu4FA6#jJnZR}gVMAC)zM6e$y0{(90qx17S zhOWQ9f%KJ~bDdxRz4e#=C{(HSGgyb&VZR`EbAe)y^kKb6`^AtyX%t=WTMuQR9GB2J z_Gi+uevb__ro_`-{5UGSmO4{a@ zeaIe7Ml}rM|GqMPgPpC%4{81J+PQj8*6aJ^4Q{U3*E&V(ckzJcw0>c8wW_m@k3#y* z{`I@{`O+cH75n%T`dAI6h0@4h6w~=b;W)aUe3S!j$f-A#R0zXAlgbb5;xFoYvWdT# z@++RNR(LPHkNo|#|4&N)@1b{-pDDB9#QmS^OVmN|NJ$FJ{pEUi`E-tXFav&^s5eNsn~zpims*kldvJs|DtNNpA7k^ z^sB1V{p2&%fA9`@-gTSb55vE*STm4puhTCT2dMm6FERJmOZZ*=hA%0JUYidi>lg=v;#5+`t7^_NBIr1!->zI#_6|% z^xt5A*72WE`}x&ht0eA=g8a;Zw!T3v!{=driQk<91NNZbcmZ}8EbQv4h1C$6J4E!~;aI4{omLF3m}Nw+!ksUs+$JpF-} zz3qRbD$xEzzWt91D^^v-6gH3Sm)b$;nf4m8zN1dL2#0h7`M?j2T7}u4SGwp2B;M2M zjd5~oCcgVC(tEZOWj|F>?E8+B`pC{Is*wB}WPeij{f8LGyF1%2{eck=TY4_OJkmeUBkjmCLe8Z(uC^2Sr1PJa1mlz&ryqP}|X`7e0+ z?VxjME&bejMcXxR=)Yb{>q}TQvee3H!spN7{PTCQgZ>}iUtf=YYJFCz`I3Jj9Q=KA zQSkb`@t-dbgj{5gx|{W(LdJjIl(XM zBLI$@(77joN-{{qgK4ElHY=YmRdsZ^-(D_&4?CMbZy0U*o(b z`+?zj1rhH*9|3>2`uigj63>U}KaX!=my~fg8vpL?S3J&zy?>kwWAcx4;bZ?e7e4ln zbKztEI2S&S!VkRx|2N*4n;PGQ>(PE#iPn&IYWnnlXJ-1d5PJSbu>3Yk?7S=Xv#z{w zyo4iNSO5|sfg3WX-Q~l=__q(&{9CL2_Q%toecj(|3F#ZRpSbmMQa;oD&dkp+)A#X* z-ngC9?_f#4us;hcQvcJ_G(Jk~kMnD0{G>vXib)1J`B3Kf=K)&YRLa zzoS+EM=JUDxAx;t-7C1w^t*)~g!ZV?2WTCC%S+Gpvhu3&1n-#jxrEXy(x*k|3u(MD zhqFu4{ZIMQbL=5%M~ZO35Bb6A)k5>Hw}}6gYZPvOvb)n++8Z`-8_3@YDU%IREyAOMVZ_znmQEzqqhsT7TT%Gt(dRUm`u?J#|i# zd_mGL_x0}R=%ZZ!5I=l|2--Sl{?e`g7knqOmS-UdBAC-Rp^`P)?d{m4aSZzlbB5AyWK{WCNEF+Rh3JlH?JN$NGpK{{W98Vp0bgwZbs zJf_5bkT-3*Fm!)|&6NMLb8ZQ@Kev+oVEbv+%T9To&cgd=lpI8B%9FpJ&(pD0m(G*F zwFcQEYOiwW9Q*3E_5CIF>3Z^K4b;bZ2U8y{`DiD0Q7%|CX2J2y|0+ZOi+-WD&*we; zvC8TC6f85OS$>Yvf9rQCXFeaSmvs>RPfC1Q(ZEw@z&kFBUtRZ&u>6bhvr8!bJ~RJ% zqma&Z(e^)?lcT5#pSJIX6?0VIiNv?8H&;mK$2IcKyL5h=FF#PZIjYW5Dl1C)G)C7) zIp{s)r)Qs0(Qp6Je&{wK{cr8rA2%yA{+FXYt!+^MOE7NOu>S|o(D9PYQ2&eM!yJ)K zmb*vz({J5>>Gp@maw-2xR!ZkzPWjC67a*M)_1`T<|26dB0m;|YYnin_fOo{tuEwiZ z`1yzZe02)tUzTTotnAG2*N><_o?A<|v%#(c|4GkFx@eV|{fr54$b!!wOSQknM(O9w z7W;YH4(_|~>_9RC|K08N0|(1W}7rCzd=XO61Fj*A+Q&@WFxhtD-Gh zf7Z02{`a=o>Y-WsyW9%l{6A#izip~qZ_LkFC_LM1gFNT$lIu%#zL1BAiTHp*F`pge zeDP_Ms`>TbmiDU|bfI-=g*1MrVrKaJ%RHgDt@91Q7=4SziGG1za$*hmk?$h2wnt~l zS$yW!!z(2jf1&6P>W>e-NqN^fmD2dFoXqe?jX!CNeh{%gd4ePB(%^TQ>C^le@SZOx z26P>8ke~kz(tdI^>A!VJ#Wen8hWHl?|8^Dqy?B2^!S4>$^)leMg*WG|ee1sf{~Kp_ zUCQ`N4F1oXMEOsnEH&n2(a+p){>RYxN_I%UQS+yk4iEAS{53J2TI}uK_y=ytqFJr( z2&=!x)@WSr$6AjWXV^TU#K#9H_SY<>@1^{+@cRQ&9{ZzPbdEjdmpWe@pxA#%`pNli z?ArrU{tn`c>u1HaswwtSE+!`+KYM-ZIKTen$@m}MAKaz#a}SIUsT|Hf?|aP-{Lg+$ zcy1P~zo1;5I72_jO5LT@De`=T=Sz5$K)m7n*-x)|nDN>>26MtL9r&z9Ibw{$z&u z7drYm*2}^1KO1G7n5r5~7ehopEu&lke5Mq2O$RTk-C%7_c6Pmd1OJZ{pX%l8G=5jo zBg&nSCjTgZn)t^H&#E98FQ`AdO?9}JW2PYnen9UL*zud`;FK|(B%@7De4a6f*` z&*@%7`R@^4|7kJ;KhM8nhxZmqJYwB6eO9T;4@f*0^_^rIm@V_AX;M^9}|CVn{Jj!?B{r4k(m+*4| zBtqi*AamBQ4qgBA&VTC%B)jW+5$j1sMf>f_b9p~`|9BtF&nwAqqS&_{LisE0*M&CE zFKs=3sVvq+v2RBF;2g{2jq4-eE2Iy|;petb&3|@eehKO?S57AVU*OFja%+V1-$fGA zV0mFhX(u%Mzi#X%{Qt%J3wVe8sQa=;Vdb9@7i&Onk=6so=^wu|i86pa?Z0j}q4@Fj zcbWUK52pLwW4!p`^~wFui{d|DPSh1S>C>!K`JqVo$Napj9;D}AUqN-5E$ORPX8adm zo~2R$>R^OJ4=;Tom@cd+;1UkK!FLqiuq{=8!EG47RQ+b+ZyjQZbU6Y)=C?wB{)KYB zF+a10)C*Am0)JN^{mS?5EB@Ce_fEAxoA?hQ{OUyyzgs(;|9=`k5J5hA@4_iz`u{!S zC+EJa^LxfwQF-(CFQtBW$JhUI1C=BE_GA_5zyFx$87Jua_zwrCJliWi#x+|hyW#qS zMd#T^IpBuuG2p?LVfas>dBNw!+$YFzC zdBDYx|B z7vJW`kNLxwolg3BZN)Txr*3BWuMj(f{b>N>4Aeu7@!P#l-8cIQ{E%O7s^>EP%g5^H zB&7Xt$FHO_WPi$(l)LJM<1b5Sgs`8D#eQPn9pImQx!^SN-`Nr#udn&Ha6^Q|dB~l& zt-gct#|1yi|F675^_Tau)A*Aa;{Qd;56KF_@>?F($B}YcuHgGsuE&1Q(2EH8>2Z$G zzhAc}H~aMm{a=-Tqxs1dE2~vs3vczq`Cqk6zX|*|5dN*3b-52X-jw!R=OSHx27dJ4 zq5Qlz{J0M?zx3BxVfOQNv7d>9HSRW_1nvLGrDUI||0~h6YRY50SYD5+G#e^7o%;op*@ z+8ieO-yocS{w{XlKdSxBY*z%&jn9?%ot#tY>2X<%f2rU{`S~-_3+pz@ zbj2kj@b|2vF980i^793m)jtBU!Jf+E0KJ?az%KqVmDxmDMa+kHuw&`mE0?HL|$Xq=(skGYoc@P-=Oh8Y>Sf1YAN;yQ-3jE zAEV#wM;@ckm(acJqa1KUt~+XaR+#-PdtN`mxn1W&$KFzo@O$&G3+q$=q?0g-Lw@^YUg-Yo z?M~ACTW@K-(fGabdncVp{L}oL`0e>AKabwe^Ph^BC)U2G!(p$Gzozdqe$cSSfSdN&r{{3}t0*gIKj)rG>9ehe-#I)S|2ji| zI!ikh>Qi{xY|#^hqyB|_IiA$^(|aTC3`#3_sCsm~E;W8QZ=B`<`ah2BiPI}vt&{SJ z)g&|gW;+R9_p+29tVJ3p^yEUxmlG#zJ7?-Q?uSIV1IM>MJSjE)4eS2_|5Vcd_*Q5s zrG*UfR~9{SjQ*6nk$*|L2L3mYKgxIQEB>ov?dP-pnD}pOO5-2ed9mppks1H{sy~Ay zUew2#>5s|(#1$R#xcp$^f0D~T19Q~UZ?s-HM~35HO4qT2{X{>bYw-UC+8K;~#_x>q zz44En0r7X?mj0>nhf78OQGT;tApQB$8^>kkhvTntYY_h3S~g z58?~<$I_3B{14oaBgT(CHmv->_}L|dcgD$iAL8#7`fb&xOtcL(#F6LxmGj%;Q(Gza zJLuE7eifs0?C+XNY3Ob`?%yiqk2;9rm+p7y9Q&P(^!4_DR*HR;v*ZNu-(6v0%KnrX z{5ND?w|V@#P5&DI$HJ}}{G0L8APTsF8~BSpzH31k|0(=*k1e>P_%CeRTCq>_KZy7z z5B}qHjy?D<9NbE=2md8>jy?Da$wa9?hC^ogZ_vfN8vA`xMvUiB|}>& z_Q3DbIrhL`G^~|k5B#Ncjy>>O!&@o#Q4Y8vvwmHDLm2)-!S9}+)1k)iwLg!cguwk@ z>a$qNcc!0Qo-F+|mhyMgd?ap9D5Uf3(LZK?98>J8%%L&~l~>(QVky6d)-&StQ}j_x zv5#^%lP?#n*tM%4mw#g8CI6N2C;uY*uRikDZ**IP>p!pG$PV_iy4V@a2h?YkGVAH| z`6+kA3jJQx>n#b75*_3Oq@Grr9oL_?F z&u?GSIOBp7_WzT2gW;A5*f<96TnTTTEdRJ4Kk~0x2h;c^!Vi~>z(2UDz5@F52g*6J zuLZt^|NJLB}{U*%-{d*0*i6nmb} z!|5+ZzuAwgLFtpyv;A1Rlur;at{*#3v`hID&d|rDbj-dt0pj{}oUUgd<-U{?n?-)S z>AXgM{$1JMR;}Q#9t2&ztt)n|AguKfxv&Q;0I25ow{AZp(n6EE#~O= zCeG6B($Fj1XUYx|kS}uiNps)#^N;bLYB`nPo~)d{JsE+2;$nRX@Hdk5Yt0O{pBD;F z)azkq7B0~E5l*G4J-R|UYm4mM{_Ev_{0SMqy0kjgzs7p_-PYm!XNte4tOJnvS=Y0G zzn_G=uW5S)exp7D@q_rQ{lHt_`Nz+r|Lf6jsO(ed)xVrJnc;u!1kne<2^`I({DyT2 zU_Trg*Xl^V09?4wlqUb@w*Gc%82`=|Dm#z%__x|-hCfPwqWE`*=b-vcVgGMyK=!}4mwuBG_?LGG+8@*hF&_l{ne`OBf2`52zBm4HAD;X2heK2A&*V+i zJfQx*V=396VL9r;OLe=7+b*1c-uIgw(l5rZx~0MKs~A72-Ux>O+)wy7>YKo4N)!LP zuWj1N`cv1y&*MMiqjJ;uo%a7({BDN$k$xekH0w6PuRrL2yo~Ip)6df%>*#R&eP?Kf z!2fKtpF9xEzt$sPlW_2e{z^x}_ohGj5+RUXa)zw;r(cxcN?xM!d|_64eeq-jeqLXk z9q`}$nAQig|K%okIRWVMz}KY;eN<3jq@Mm4X(lXOAY*qJi74o zY}I0!^#2|kj=#l3{XpoCnxyfAPrUbWX_t0?*YN`V?{ETd`NRT?U z?sFIzkvv9q|qVsCCH=gY-I^=cm z-Cm7SzRbA(v)d?sXNKhKOnn~c_fv8*}^~8FM8n^O1~>B zs9LW`dOSXyfBr6Z;D52`bNoJiy*{fH)|Ik;(Ru~`P8a>L#_I6B*?-&z+56`aq3xd= zhH6E0ztA}Lmw)^8Mv8qD|1O-QSV%vrBaL>;LZjt32Y0JoqoB-|W-;A4vR@2mkRJ zjTC$E@6fgE!GDZ?vyXDnd&qvj&S)2=Ka0PWCk)Z{b56>Bdh36p{kCjwEyex-ideRL zg%{LP?5EHaKt8tT(0C5=!}Ihphp{VcPWp2Qjqjjq*_V+4QOVyWr%DR-06&L+VM^xohA=dR7FQol& zZ~SBZ8OTefUHYkCf5yG9$8UdMLiY2=>@s+RxqAWfh?5`I|GPT(OrA zfd1h7-&y^PUcXc#1o>~3JE;D9dX`#umFCCl8IFG);(>eB0&g6e=_nTY#^#}N0C;r`g zz0q3k3E})Res*(C<*c4WrsFaKZEN9Q+rH&Xuv zdE`%O3UNo?F3{zfyc_5|`KxgK&2&s2>vPAiCH~3ZEayw>iytzN5+o zb=HQBf4gui@kjXKk{RMZ8|CB~!SNeKMmTu9R{CEoV_XW}Yf4)JkbckFwz^lC{?A-N z>FY8|Wa8YD!uh{n3<>xjCGF>C`xVCNnfB*?Y5z<B z+Zgpqyx%p(Z%B3`D0dgI`;eXHo_R}H`DZohKfC1j8uwFFp776qr|NLJ?K4&HrubqB zchs5m{l5K3DEXw<=pH zUsVprk8l$|!uJ*bhFvWK>$ijdNrXSX%fs*X-#7lPD&hDMZsJGy-tap{#9a1C_xBU?57Nq?6$ARK?wmHL4we>RwX+y~;HT)BoNdlKmLv+0SGI{;b(S{IeuIqCXn%z0e4U{#;~)?@fO?$OFOuhjVuA z@aJD~8Gks8@Vlcu{O-VT{s(Y{?ETr+L5H42mE3D80rfaJ~%?+yCFY) zdwDX<{tpyho!@l(?Ss>U_P^H-EXUMr92=qa66h`8wa08^ZdN+!0K_@7JXCJ0?rLnycFptij>@ zzq%o4|C@_G#Geo9Kh_USF4y7UAN`dGhh6}mDGQB&*3D<0&G?mJf6gnQ^!sOa8hfV z9TLv}E$0UL|55ZmVYDA2UJz~xzU;30`H5+|zHdk1MzD>DlYoM^`#sF~Rn;K=o};M! zWQ>R3IsHF_|6;Mv&h*Ui13o3Elsl*9*41o(HjDj7{qX{_KNjsj{x-@#L&NdEZIpjX zWIa6?`$l&o5vOoUw&(i(=@A2FKJ z??V;S>j%2S!ugL{KTypG+8>O6GuIWw`hn(nzYyrDAmE0aHuTl!7{8MJm4Ls053-*R zd-xq$_Y&=UkWu*E3;!AXM=g8$AjY3-;D7rXvOhlj*6@AgKmO0)AJBAIU&g;#`c1%p zmut!XJmT@6+(-P*mH!O>Pd<8MKI1PMrtJXmH@}zq@0NS`-4Xl7zkB^ZgMUIV_X5U0 z+rVG6jOt${9)8E!H~i{`{|x?oN!Z8-8g{?`_Z-%rGc^BL|1I~~iprYrl|QYK;rPEX z_D}y$?>`8;1Nrc^hi_;8JIMZP&>yP_?M>$6KN*2P%KpS3_|NbU+>q0Ec3I5$dl~qh zTGY4psHZ>fnc@6L;ZOcU_?N8f{W#;d4E&p#QCWV4hu;~sZ}{B@{~7+PE;!^f#veEE zuR1VWxeKz=`L8v4-|*WH|11{wcTbP<(5AM@}#WA_bzQr5#kIqW}G zeoH(z|9R%WuFSiH{d|+~yFUEZS^I|H{^+0K|MLZpUd;Go2L2xsl>a{N@t@pB{0UhP z;XloP_7kU$VEmg6{Hq?K^&for-EsTIfBf_R4F5491hU(fXJ5-<{4(!gmCXO$cpKq= z!JB{Kj1R|e&R;04DD{0~{n+hyh<$i2I8LlS#^*@5g$Rp~zzx}}>LqGCTRh=>|2hzy7FVu|m zr&#tcp#6&Oq4|?_j`}|Z{#5u?Z3gFeoMvy z#&3A=+skN$=Br8kvA>AlEdSr&uaomjHsd!v_;1@u?eA+z{PwiJCV!Rw-{5bTmvJ`Z z&-37)e`=PBlqB(6g?|ly^k2g7t^Zf{tyWlx@S~na{a=ypST$cyOV{qd))|Ak+~ z`)}3%!7i(BW%(C-SwGUr}ji@%{Ih^3<WC-(KocSgjFb@b*(IVv*0g?fTI1~#1o z#NYCw*R%l4go$<+4sShM_f1}Zj{O(FKX(%0zdK#+m@V!5%s;|UYb_4I2mKznU$VVLF0UW(p5M5c_7z1Q zPU1H%E*t*aWc@$B=OUf?lD}|=9ETSrznjJuH&-W&PTC_&n&b6^X~-{_U)uxQarw36 z`vuNVs9%BPUz|?Wpq6JW1^)E*Zv82h@37cshlIWNM?j82I%mqD@5bSkZIscqjhadQ zLDrwZU2Rke*}V^NqaIpx*Nb}@zbW&F`2Nym56S=ibakLu#=n>N%l|;Q9BDtzbxA@+ z82@_aPi~j}N8rngKiDN(nO`*X+0Tgd2dtEQ6#a+%Ogi_O*NF!2tVL&A)>7D~R6_QWLpAYw!ZhR; z@ISrwc;&4BfxkJee^9?C@f(-^JNQ>pMHZobQ!MY&@io;}TIY&;xzxne_`!$0_0_fI zNq;ir`y=*07SQ)!Rh||p$P-I}pS_*(&yaE&+3&7DpSfJiKXO33Lx1>Q9{YRhtCu5v zS8dcBKDzNI`u0=4jk3~G>%YMX)AQllwsX@6zqZkTIsY*73E_7w({KlhtU6mI<+`ag%$8`8q@&|61>l!q!=ZAlcqwF#t zMUf+uKX7{STRq+LaM1s#@LN{=o7P-k=!gIQqulxvnsa3M)mne~+v5Ir<=^Q08&3Db zA2`vCKQQ;7#c!_DeEn7Y*{lro81esf#Okv1Mmh1L{{MZSyZ$UWLj3429Hu{g-SrIg zCnoJP@CnR>0sJtBHp+D2$NJ~y&1n6`inPT2zeQL0%fG4A+s0~*2MKxa+X4PH(!aod zeL6-o{$Ss;A^ZMQ=|AdCm;;B64LIdrD(%#)W;8hdL6g?i>^L0`5UL}dftoQnBrgm+s75s zXhNw}`VYQfo?*?};KYyi_m~gd^=D|_k>OW6{PD-~{qg@<{|C5Xo^j>G%lz;!^7en` zA0hq~{`id{{|x?H2G@7>-yr{$QQV} zz>jv;TmM+E>hW1B`2#onm$v-0r4zp?^55|!4NM(R;Mya@k9O8u|HPzT^5RE$;B!ET z|1`t_?|oIJ$30H`*gyNlx1Rpb5#mQb`7r#_&jAkT5Ax;D@Pm&f-+g@0i67;+tEc~5 zblnlkKgIZ0$vL22{ND3HMcfG^Pk!Z!S@ORH&pPpE$oc12f9}?w(Dg@#-x}`U|407^ za)$ij9!wy1|3E&%jC^p(CH z@CVoGH;grUAFLPuMiP)S{>Ny`oYP*okml9sd>^>+{<=udq}`(WnJDW*LI+8!i7roJ?<#{QA-TG6>$tyDjncV>I&$5x8z^<&D# z?ctwVDW>OxwEm0c;jEuq#VHm3!nOTPKl}v+BH>PY{NdFf=zHMkHi~J^(X?KL%7fj# zMVyW%{b6|rPiqk;$hYVi`Yu6~O8=YHR{h`p{F!_G@IS@hU+A$nIOU%#zre2o zG)GC4z<(;?CraQq2|p3=hmUHbm{Q?aH7Gu!vf^KP@2$S~*W~l}3wk2o>iVw-+3AR_ z#Qja>se8fsADq@nF`aZK@k;m6#AbAgQ?Cnkc{HbYQcQQ=NOsDP68g;)5`Bx(yG(=W zJBZzj>aUAC#p&RwIzF?I-Y3EXy@xsegwrbc$^X;O^c(hUtv`>p4zru}#<_m@cdrup=V<-m@4S`hkE*@+gZ+=ODw&GudXK#7J*M%6$d73w zpYK+M^s6$3C!*zbF8P+Hh?yUQ!ZPuBaBRmT$%DVcWQqsspS1xdA;bH^;Lvt zeT_JMPZ?^HeuU@Mh|^Y5TmB9jzJ}~Xs6T@@)lf`)e|PLk+T(O}jX0T9ADM^fyEXYS z_1v!Y$68Q>&atWi^*Ky`vO5p;y+5eN0sTr;xw1|K|NWYnYU#%d2 zBH*{kj|uogcal7afFJq^2FAz_n5EmEZRGs^Sp2p=e`9ZZlK+ql)%_y<-OXO2^@zk8 ze_%3S<>)V8+*>Ts;VsEGaaP{>(2#g|=T9whNB$Zch~Fnt%YXZleP{dWe;hx>WeV<8 z^5^)OApa8j%>?H|NlAqEzxny#w>Ss|(Bf;h$Sa>%VcH z?w1~%;BLQ`)2CU^+v1K*s6KC^(sHT4Je>6Tm?m-hWuo?vecPDMKx(XpccA_l`G;#Z ziPQf3sXnFtl11+_J;xb%4Ykj8o5ZQY1N!~a+D#M_o^1I6Gv~A|b6I~%<$MOrpPMH2 z$2uqH5M#Id>ksqg)SqQIr^T~=pzmAq{a5ZeMLY6DKhe(}x}L5h_^>V_w5+KLbZ-Rs zhn3&gV`qQuC;z3yKR?!qI^GS`K2@SG)kyay(tGaD#3t8|6ZFFf*H=t4n^OHk{zcc- zkJHLYR3EXO{Fox_PxTebr`4NuwLGnPr0`7VQGP~lO8RRw>M;EK@7}-25C8L5=r`=# zKgMrWJytORzfHfHfIo1|v5E=!i>n>0m{Q?aHK`&cN`)VKV+ccYsx6tr`V*4KEeQOjjF3AB;Qv^@sC?OA4zmKhXlw2RUa(yOQi>e?8{MQU10eyyzSB$I7NPEhDu2 zt;dNcdBPs^oaIkWa@L=*2u#P80eoR|j(X;>0}VB-G1G2;GB zAHqfb_{)aT`&8c?pe1ZF&;9>^n5YkKCV%60wDyO~ zzf09Sy8Frhp^J3;6=|aTZ;aC^|8?(Cy7j5O+1oiz&x_sqy0c=cM)!iTe<}TDIyg^< zk9^ZvF`e_fwg;yJATv<^0F`JwBfCZ8m{)i_N&4R_s7*fKi^u=ad;2&l4`grBo&2eM;Gtmg2j;b3-af)l{)zEd zCykr$iF4}z1d5XL)ugFCCX9DWTPnqb@m2}_W~zP-;UL`n4nG)g#mJATA>GHLef0mb zj=%03HSl>q{2gfg!%y@qU4N#+Z?q;{M8IzoFHDS|eL@1KPJY{ zcJKiFrR2wi$B-W|XKWq$4Yyz0WdAAlZ&n{q?bqP+#QkN~J^t+%@Bel7KYx|}WGuto z{+=*Xw^L|mk^e7Vt=$nG?JC;eSbswWdL0k=3b+xj_?OO=8Gni3$NJl+W>Wv->}3Dh zxcBej4`cmvSNHee9nx<{zX;_L_>21)s_5h-e((*m!i!^k$6s%MpjkF^wH*2W9q0Ic z=Od(BWx0Q!<&n2`@j^ zDqVjbDgNLIbRP{-D*R^4hKk9Hzu;?Ko~_0W6%!t+uHsL&nB|+)zlrrHBKyC>a{j}6 zbbnTCXu4W|qt;JrmB0S1ALQ2mdflWy=IOs3kb6nIdQwZyyMwzSxS&6!J?qdu@Y>>f zc>m$Ok77Uj$zQ#wUx}We^=IQ6cl|l=I(L1?OZ8EAuzAiJs&A-%ha37krHyhG)1B2R zZ|9_|NaNf%q24!}*B?poDIw*O1` zzJ6@2bR+O|N3$*rcRqu zIBJ?P%NT8pE}S$fySdS#VAKUuN93GVIAwal&=#YnTpXS@xy{%~(+Z|c8Zn{G=&|9c zZ94?pOd30NTEVECP`h>=LX*jNSQlgRq)`RN)QcyL${9$%x){?(Oc;BCF>><%a#OpJn{gdkhqJkgw z7fk+cO`{QIN(7?}J)W`N(ftaW96 zpOt@^6aRXVfAK!*mlsw{tZ#@E>-rsXhspT)f&5oVKfrp*-9KI;^Hb5j+8yoVXB(tH zA@gy-l`i{vu-=NMd*Y8FCiuwSH0n+#{sV%4%iwa#9#bKK-~3ysMXl7vq|R{@K4<+{i@rvJMaQO%qiDocXr~(`l`q2d{z6matZuuP1*3L+Ml@r z?QWV|{trujnGN)J1mN$B?>blO@c{7CXJFTJ-Rs$#_qAzk(>8_;y7w^tdA)=8qu1BATP4EXM3e!KH&-hC{_QAEn z8Bk7HQ!^9tHy`_Z_%ZLCs{T=>IW*7az`u{`BXaZN_saj)Tkadj@;~5_e>Sa;i8|!3 z*8V;G88Xf>g8upw+(Y{EWfFhUSENtm=Ea{Uierj7qvx6@o$`;#`qT-pQTl1Cgv9! zolkA=ok{!=StkbEFunL2%l(et`hUYcQqK?3?JVm5fZ$iM4g|RBc--p?Zc|K@gOxwL z>$+cOo7DgD^=+YK`)fX4w)zwIIGWwv?Qh~9$FRl^obN%-YxO#AL-3tB$lb0%{!#H? zC1z<=_xWN6M1P{|NPoUd;#cec9{%RIceAa#J;Hr>W}2SIvjkUA6nE4^FuxCf5I>)>j^JM<`>TWN zY5uEsCACoMx5$(J^^X^S%<~;ul2t$T_QzjK@SCUT@(cW*O1X}SJM<<45sKMo@LSn* zK1dbs`6iFtLjj)3P~(Vkeh2yeNEVGN>AM5>1&!5NY7BkH;otli>$6nl&&Xfaz1thI z)Fq9nA1Ley*5G^J+6FXXtp$3A+CYIUYD)yCXbs z&6}p(?IQPn9pr-~rwUKMuLYmaQv8DskN*FO?Fj!dY3k7_+C7>AKd)Qm2l#PhH^-Z%9P&N4&RuIjI`s$Ng%+zoHh^pAP(yr~T#c#sA7JI$iWL zkg{TaylJsB5ZUl;IO!Y|x`A130B+-khyr~hV%@YhS?k33U0`5zRV&E$%rTIlX;0yTievRSh%wzqDiT>bxoQ@X~{<#$r^^f_i#*cA3OfJ9W z>CY6P-tSnzKLq{Ewp#wc^8x{Jez(SVtzh>IRXnwvI(<>HJ&3n4h)~R%PhOqor$1ZI zp?0NhdIGUIZTRXpJ#cLNcMdG5Pi5BlMsGMV~s z4*bzF;@{X*){}Yg&&+eX1ApK*fBdg_;z@;n{ZCb2^22{#ZL0qpIP`x@+2p@i`ft!% zh-9)~$*hfInLzG{k&;QQ^0&|8+)bIRvHu)?f_D|GA|8m~?Ox zbww1~9hlzsYyX2f9<|Cnf4fTb3huza#^VnBr|p(}k^U<1?-tza#eA{(d1D#BSk)L= zU%vEBDmNXH_|@}e!+-m9ov!t|yPeuCaz?%YPbu6#a*yBpJS6c%b$QPffZz{!V<$b@ zgz>Kz`J?^aMEGM3(^P@vV>AW+0;%xA5@8|E+x6%_#_9Mz3i;O^EOM6l^Gu1y@VHaA zH~xT+pxDp)?(Hb!H!jfe1Z4hU*95B9=2b|XZxY$&FaMqb1o)R&Iv(Q%_x$+?>6aSk zx%(9*B7fsFJ>G|W$Ij64#5!vE18<(-hWT)hjPIQK6BGTpk@f$jbahbj(R{%lKd&$6 z2l#7#snfOAx%KD$6J(v)PVEl;StU4aX}^H;Hffh}UIpYH(#a*-o2lp4bM3FFBkO}} zjiA!{W)i=8v26Hr3Zkz6`-v64Buy2jGXl1XB|(`g#P* zzmBZWhW>Y;_0h4GXk}^qn*u+t&*lg6FDlUT$9$&tRjRJ654Plc3h-YxPx4FL1Mso1}ZZ{+`Hl1^)+#N5KUzlo=x1VI2I9R}^gL2af7h(FB7 zKk6M{A12Ofhs>W(e307T-?9?;Bd?ZC{yPMxxBPZ|NAgALCGLyxQy~3nV~2ZQVgdB0 zK#$j;FYEPd3g*;)Ro6S~|5Z|dMx%s3lEiPmRyO=f^f0o}-T(Pf2JW@ z7WY+BF3jG#y(<=XWIS<|BnN; zoR!??C(g<&r{jS>XNX5mv4od>h|qt`zuDKh`$eX_2XoM`cfTz~8@?ju800=h#Yes=tgAz4Nyir=y;ST-Qi{L&-UzL5V0^7!Qbf-m#nG^Cw7W z$@{WDrxT68PD@vo$Sv}^zx=JuZv4mh)cgVu;?0-uDUtVdeF*sv75T*WXgOzy#|QIu zJchJihPZ7iC%mjY(jk4kID)l7f4E!U3)6<@g^|%}I!cOVO zq8`W=ci>03n{vNe#`pslYJO4wEF^_6>u0G^OSQXt(;xq+p*ms;9)D0D8YA8P%zctC z#>d({AmPVdtmC&JXK|k@?lBp^06*S?{QFg0_qd<@&%KK3pLS`g^EZEIchBX5bFaH!x=?U>#|8Vruk=eXE(i*LFmJo0flL3lN&VBY58>KbDS)u6JK%*ho$n~Wx#A8J{M3Eys1=MqEc%c2 z**E-3`rjL)bb9%1fBd|^jvwexv6L6IM{!U3_X*_h`F^xf@FTn-FI4EI<&W|Uet{qH z7FU|~8_%D3@28J+r}Z0o>FPO&Kbivnb0_JTfd43wb4=ukbRr@j$P?x71(}z&R_S^b z^M{v9dtt56<4W}3AoqYo{A~YjA2{^~-(OxO{fTu#FQ2~Uz2h%`FaE|NH{b;RY>zu~ zHYR*ouSxwcFMJ^S5BVG7?lte;T|O><%s+>v{5JcI`VV(kP)EJ1^U>VlkDvEF@&oyw zEI4EB-TmjbXirz@cp(4!3v~R*FUS?&3+&Hy`9;41`UCU+lbh^!${*h!`#((Mm)x`j ze)VqI@aJ?Fy?w=9e|{+QA;1azm{+k&wEThpU8%>gp9gvq)Z$8*p~}`Qv_t9QyET zep^Z9kJag#@B8D=r+p#(gtei<5+3DIoYm>U>?Gv{ zWtLO^w&>5Bs|kPiWc?XUfgk&mf&UW7`386W(?a^0 zXs1dfePf)Kk0s;En7C(q+;=0q$9$#NX=gg|qyPEVxzvB|ox~sc&|m)Jrs@cRKVQ;C zy)DV9ORm*8;jUY4rEU;@!B>X7aHWLDxzW%!+9n-;B4R#x=;QeKah0UI>McEfd1WaD z+l5j_eTk3!@sHd_14gZ9Y=)=A4@q2aYCwRYKWQse=DR51acF>Aw zz94_#hrQj<701T)XS_}q^?%wmguh=Be>4UDqnBwxK>n}v7P(13O~j;T&l0`{y4$H` za_=nk3b?%UsQAEw`UmEq;tm0){_mFZd+Z0)f9Qcx1NDDm{_-C%&5eJP;ECkBzq4N~ z^^bMGF4vIre36@x=9crg7c{?-!MgqriXgxr%!-#i{A%@q zss6k&GqFEeeNs03iSg9UI$h{b%@v|Q<+YrF^GVSwb&C#f$P23<6Fn3;0IwkaNj2Gd18W}2GgIc;>2$V{u-?a|HBp3;%{|6nxFaOUrhU^`3Y-7p`UN>b?Z+j z(I4OmNcaKLf53bZ^5rurM{o~HcrX47`}K&ge-m#7{Mm%xcHmc^|KG%aRp$69e)8W! z^?&Tlw1oVl|3~nvq)Nv{-eTGNC-eBd-|j*@2`%2q}xT{ z-!_!KU;i$f8#(Z9jUVs9Oa=cw<{$1uc)Yweo@OaD)`YOg~|B&f&Ps2j7PMuQlmZY z8R9WW<~d{i^mrfj62_tUE)Tq@H(|ap`MjH*_+z_t`&I8llGC~hYL?)SeCe-0vpo25 zzq`>yuO|fl644*jhrk({pyd-;qVZ?T3$suz9@OqZakmhmn49t!Rb~A*4!FzjEriSN zm8s5NtKH2#{`k+PeBuZ4&ys#xEGGSV?S0tz5%|61$B=~gjvw>I-SC)~oY>3N|H1mD z8%h4wIgY~ql|TLu<>VvazhJ)R*OvREBsq0ZzTX)kEl=prHSg%~(JM8-;Ojg2{%G~k z;h{gsAJ}&kc5wB7p#PhfQ=fTMviwF<;Lo9PGC#nN_5VhWPFMRX)dTIR)SoCnwLR|O ztATt6G-O^8d<7*!nALX7i0@yUIZ4Z5ru09Tx2E;C=OyJI+3PR=$0!^>z<;&WhZxUF za)<592A-`&l3&u#G~|V_;IU-91G(cp#M`}hy#;)~srP=+4@v$u;orYQ>i@6(@$X;a z#*h0!4bS}ZmH7VXk^i^&ULfv}KiV(EgL!H20sI$js*uU`PgM9t{Xe)r^?!yX@vCpj zhX3b}M4r>!{ZHVD{HFWWz%D2f$isaSm&%ii=_Wq^bwWctCQo$ zXbSv%?g>B8pHVXYMLnr~mCCzN^M!U6IPViZk8RN7eM4RtG+T#{bl2^#Degg!S^9Xp zx=#E{cI*28CORL+7@nr?%a?e*^_RaFzjvRDB&V{^lzj1ge>oue9z8>scSByd^J5*} zI8(brZ*o2O!=0P;VElo}I((^&e>bh5fJY&hY5u3wAO91iXZ%3^V<7*g?)GaU+~vF) zl*5Nb{^oeCZ$>;erKU*u$VKk)JLHf28+Y6z4?5*b7=K9QkNM~Qgx`o( zP=lY+_@gQC55CNe{}q{cvU|AaKWB(MG5-MkuZw;fo^|P4g}j(le%wbhx-`+ z7{QPF$F4!+_mOF;`S)55k?;KF&-df<1O544^c>|>`zqBN{WMQKiF=n39`fJwxX54H zg;e+-Ts3zJ_kZyH3;3tnB>ypKYR#)s|9|g~f6YR-{P%n6J>dUT^c*-L|Fj_*C)|M_ z-@o9V3cp>wB;J2G;F13v!fz4&#PdVh@Q2ZV6FK93+&2q6z>oX-;12wm!j~cO0Dn*- zOqhLc`GoZ+I9$sC_0KHYe`>sup)z-A_h<_InfK}l!xC?1Ume~!%3c4Ao2%U;Bi!Zp zpyU_s6$E~)gMz!^#Vz&$8Rj0wKhuMMMl4Mk*QO=#M}G8|e@gr{{P9Oe`Qwks`Zq6r zxC4JkaOa6RepF~9;}@&K`or}jDyZ1~$@Pcket-OXJ?FRlSL+Xfg5Jtv(eAv`ZH0=skFaF zBbp<4*`faj{NB1HU2ihrMr~HBA|R9l;O%nQ{#E9bQRG z=#TlcKmL^ZlLCKasy}{pS=sa_L-4~~HvD|w`*rw!DSpfwbb7o`KSL$&M{(X4#rw*f z_eHV2^c0$Z%%t=D>Fy||U&OBXt|+4D(bT?^KZoT9=Nt0f| z8qH7MpFCf}{;h2MdH2NtM~?JcY&l;G{9!#q>eGZ@It@GF1u^ARYLn4IhIN9QDP{op(&f$h$764>rMCxPwG za}wC@JSTze&T|sj?mQ=f?PcZfw}n?M^W*Qj*L4hL7d`&;^0)0cUH(H&vlP?0v_OZ` zjW(k*9EgsmeYp@pJpQq}@6? zO>Ob`pWh?tAKhL~^{eDQUp_|Zf!`w9m#-Qo!`p#0buYya{~(<^km><{Fu#5B?xXzj z@5NO*2Asph`wX4!-+eT-#OalG&y3Tcn%b_qkq6N^CnoVR{}$Ofe1!a%9w2!++qYBb zz9^?XLiHzykDW&Mi4lE2N5`iqy*Q;{5b}rlR=u{vxqk89-_Spw`iG%PiTjgc<+Pqs ztrLG>^1VbA=r3E`6ZNELe;M|XF|YjKz9MZqbO`&%U`KloJMJrjU6T7#W9aNd@%u3k z`+jvQt^alK7fmZ0e`j2++cWDO_xvUJD}9viQz8O?C6ComMMU5)vX<^&A_9Lg`fXp5 zypO459lcLf*5}ekj@#$=eQwS!YJUbL^Up5-&+rHNgFo28AMD@{_Oj+5${oy|pN{su zpR)R5EuqNKy4~Y_f*FeL{}92A>+LRIxbH{}sZaNU(LO~Qks8#0H0d`J?h7g%NBbCw za9>c#x%CxOq^a(o*h6U_BoXdAijAlHlZaB?7v#-H@CEaNJ;(g$SHCn6{>)?k8h_^T z#19epi_mW-@MoP!*onYjpdsz!Bm#fPFYp)2t*@All)t<0FMP$1zn^ITBtOwQn!nO0 z=U+x5|K{fD{E00+K{27fZQgx?VtW4_cmAr)ZhKZ(+hcdo`$WIhrTWYE1WUo#N7pq41)sWq! z_ftL4OPB`^y|%?K|3V~hevB!)edm308T6$eaw$H+ogcWb2=YaJQS@0;#dH;QIhdc4 z&zr{SEQ$|d+3ZUGoPQzmX9~9``F5lGj!K)xX}zRZw2$H=O7(y*nCsUb>g&hfeEIHa z|Df}Y*8yixI|u%v%{9K#8|Z!+q8(KKaC;nD)HzPGC;`T8%D@|pqErv~g89O=yKnd7?-N-U9Jx{F z-<(|LFPVRQ?+oLKQoo7mbNW=w_Q+WJZcMa$zRoY3{Fpk^fRX)+={M8ZirUU@{M?_V z$3?n_Vtl8^sY9M&{*w0> zFQEZ#jP$8!9o-K?bOn{KXnF;@i_?hHCB3wNl>C@pszP%ebRS14{bst2iV%knJWuzd z5dD0OwnsJ_ifIM;bNIkk@+YdeK-(jm$e$?H1HNEdkI(SEUw0*~Kj6n6s`c{+I?vUq zpF6s{<^KS!qu}xtIkrli-n@hCCsX+$J5!TuwLMtBielPH3-CGLf(^+|^i5B9d~GFs zjKVSm>_#T1q))dRj@W}Z8GxSxKWKV8RQ{H*!gc9&Z}%=r)d49fr5)Z~2@Q;0wI3oK}+n0`80>u2z~W{N4*1HNG1U2dfB z{bFPJ`zJm4-p$`>o$Vj)R|39jgcrZrTuwt6r+qQS<+L~Ogm2`rqkmBH7Tsq}G@0rz z=lgMRKL5ZM%*u6l4fV^vkFL`%+i7}Ut3&p z{KNX9fTRKbVqM(xpy1DVM6aiY-Z`MTeu6KUH!XSNDL?+cH>tsOJVi$x8Gn(#$e(%g z-{TK@0`ur5ZQk^&U-ri~~W3xo& zt7$`-#<&){>eHCl*>f3UTj}_-{W8trhJ1th!o*{K_T%r-@oxS~|Aas5U*<1%g#3-p zy?mh`f0HJ-`73Gg$N6Xf%lsMTjx7IrzSjK_KmM9ebn{ny+#mB7`$OasNu-K#o#B(b_IrXU6lW_Rn$*o?kJszQAnc&mXTZNT)wj-cNOY?G2|3f8Dj7LC*LtZ#_xh**7M? z%SSfVPyr%*hYCMcLzR*p->Jh-*HAHX^FELp%vs+|p4BWPBQc?f^9_g4`HYdXD$yC4 z8jrPIx5q|n-CnPk{j_xO)<3Af55k@2g`+)4|9)>8r;EsLS0Mc^N8d$> zYLMONN#6z432~|_;Y$xTRZMxLzsNr}z5ID|^v7FfTuuAevhqH5@Bh7<&L6X@W-2~k zER+6#?}MSbd~n=FMOD<*rzh>jH&ju_U6h=6k1VXBw$)GihseI3?EEf2K?+~wc)x`F zThRO3m)4L{{BKkGTpr`$$^HeUk9mFTMwDVNmr48Dg@<19TR-v8MU;OQa+%_6;x12! zfxinn@5NsC9`(uV(|63hot3%lB=x-5t*<+)=?#z9RnV{RDqxH%UGT{z!f?^7lSo{oHrO zkW-jHuYUHrUa82$WN7;Y%^zG~;{NZjBy_%vCvaXR((mVSNBP8l7KBH;bD<|Z6~p** zXLZWIIqAxNq?5Am>4fMLW->>#Q(pHw!`0K$>U!7LSuayL4}%NhwOQHtt1q~)?;Huw z^|*tNsUCNvc&*1Bvw7f8J=94B7aYzX-bcDkrcOKHmw(UO#FK+REBmkUhx|Y~;1BM| zKkx^4@D2Xp?#(~*!A>f4&Efoc^KZcN$$R|r?^W8D7IW}tHven<*>Y~Gmp{0J5AX+f z$RGT{-J5@r2Rft+0Y_iEaou%TjN|AuO*`GeeH^8Srh1tZ&x2#0e96;7U3FpR>r zcZcI>*|~$;S#EqMkB)8+cdSzi!jn&*G=idR@ zFPI_g=LcO(^-J9>H9*cMh_=%Chglhzv}7m#%$NA?#{8z76DiK>Oo<2Qd7~aEm2}lG z{aq9N;^(nnR_>KGB%*3JX#K!_vrUkIm_acOF;AUxitB!kJmK%Ep0wWWo8M@u+KH~e`^CiAi{OrbY6; zN$)aYoX7Z?`i#=+K~VP27JHQZm{N@cA?J|D`-6#V-f-40MUsD~ucQF?B*(W_8-M*| zzWITEE)YG$xI_C=pTl$SCF-|%GXIb8hP?2U(1uH-ly45BGPfuiWdez5GFcHUsZO{k;tOxkTgpsda|M-4ue(c9}y{+>vxqdL0 z+I5tDHuo23yY+r+#T2A@3#UK!f0;X4E2al2|Jc8HOKZinkk;?9z2vplifOjkjkjAX zrXNn#{(%o#E2i~$pMDn;;W6b0%ocC{T8HbGJlQ`Ml>D1d`w7*`Z}`?BRmXF?oUVk(m~uU*{5#^KHQ4|_iSrYeo`zT1` z?C#0>)0X?X(XPYv)}PaF)Or<@`_hr_9FIHnaJA?yzCQ!+AgMzRSbO`>V|p{qv8y zCGlszn5oY1L4H8);NuCI7sdV6kb6hDM=LT<&+8cy|L@XXMl-ZK_z-Vp$`9mgix&Ih z=R*aBznF}VZkbK}qsCc@`?-zWvhmkc&ar}CA>CJ{-)*+h?LdZjyf{e975ngzui02v z@R+Wrpm&Xh@95h)9`J#5^5h4?+v^$>JN0vn8q3c`AesL3jEC1 zhBBo-^zw&s0?zr#KzNZW+zoMmdy!5T@gSe73LfZzDdAy+z}E|PHpGcz862CBed6P{WyV|!%V74P;SsaGk&W~_l#AhJ$btQEu!B{=%0mu zt*n^7JX8B~8_v&wF>d?o{2hhXBWqvU_d)6Net+1Xr-YsUHD7o83;T)o5AwMC{0=ud z^%Lhi@&4i%-!C85a<^rlG1@(tyziJF5)ji66YqUuq@!v$~dzzppyVcTB;Bt-fnmBcheNNJM!b8Cw>D7h-pZ~ zFu$$-S|8>w@Vn+OPwp>!j`nX`g_()`GfycSf8C@#gWQq)aF07?9$%32n$%f~Qys6}^W=qYo^m!*-0xp3@%Pi^JAwqn1iLWD{Wf=olr_Rul)JL z{mtU3CM&soAo`~E}4NZsX<*%IdtH6gOrxN#EOS=Kh_#eix zZQb=J>S62)0Dq{5;qJ{Zr}rE_tQ!e$rgbCH(9b1u{)9LG@r{)V@x&J&M z9-l99^9{W^RMQOIcoNr`2CcD(fYlx?9VB;m|nQ9V&d&s3jT0E z_k0P7^TAPnBZ8;pd{wxEzxf3^U1PW&hZ*t$?oEU{_}eP;6W9-7A^|aBhn!BSSux+K zpF8CI{7{r$*nv_)?O&dM{(1Sk#nZ2nWYw#}Urg%H4Ds;Zmju3le_QjdF4yh5A>nV3 zcGPO7-Jyp_2l2wZaKR6E`}NNX-_dW_XXySJ^Wj{lh4C%-k@yK7MeT{KqhdS0NAPcc zFy7U+Lx=D^0(N|lfF0i>V8{0e*zx@VcJQ}Kek>95&K0VbGyh6OKj+cj*FY(PdTgyH6m3w@9;!^Eyi+ddj-{=}~e_xkZ=;4RZ=MS~s&Xn+T zJ^TAi$GW>%LAGj73TMfDMPy8N;(KUlRkpH6gDa&VhcS}yo)M>i>de1@?2lXdE9u+K z6;=B$bUkMF^UpurA3I;-vqVm|+?NafzA2V`lJ9)E;;|9@iMuK8zesrF8?6U<;%?$z zTyeL=9R|uT><8>tr}Fw9@A}<3=TiQ4z$y^pwZA`qynd1&@OP@zZ&>G|eMzpuH{8+w z9VO#lTh_}U#YFviyVhIOba%+TmDVPAe-7zn$PbtwP57p^U;V=CKl!m6Yrg(y9VnM^ z=Q>cfJJ*4--MJ2w?ap z{SwbO3wn-pO!)!#1x*)Kbe2E#U%n&UvHVJE-Pbyu=)kh^H&FB^+S5IMmLc*(zYY3x z_8Q^CbAPS(J0JL)F7x@22lxPgG5Jv}X4BJiPjm5y{kQK^nY%w(f7&6n*ynfeN ze;zeU@JfA%biMa}f1zD@ z+TA?Uzx?6;Q(`av^a|_n#>wvS!+eP!?Eq@7B9A+I^gRbiJf8k)K)z35{D=7rNnX)s zXV>%n#+xqS@@I~B^Yswtp)lWa)+N%S`_G`ZSE_3TA@6#}=R8YYa zYR8GsKjZUkphNjB>HW)+=M7D+=GL$CDLlfmxrWMvm65KBn$?bzMeiHO(R!im+Ho?r z(in#Pi<{SuQ;lg%!eU)L-Zr^wB`eNU&p*tBmF(dkQWxNaK{5Z%$9hNe|bni zOw(h|zO;USCx1b?pK9sXRDYDqNZjvd4e{p>_xmCLQr+*@XRRAA@+ooe-+o=5pjWu} zFDCc?fxkrgGj(|66WByJm`!uvJ?P|bx2z9o`62N)vQmOS^W3uWmume>t7}BB2Keh? zRNRrT&|71m4sQqp|nhqoVXi2LJGucEvnKbp&ZOy<$L{CV>a{KD+m zXaCdA{KNb;pFe24l%am8uK82v`RCscw2qM<@OQJ6Kh%@jSE-=jf;*b!B@=aiz#Ze; z71AGw3LhB~(TU)1xceM2q+`ern5#=}{?f@GzOMvcApIPkuC{%u`HQ9CkIyCK2mJjk za*u4+^KNlZ`uDi)<^y;)?{mBJH&lK;mG;4W+pW)&u9xsDv^(@!zjgTdVal9uzVz$A zM2SCsqQ7dKe9xeB{XFIegWu6UE+U%~8cyGB<>|kIU8(=lINAT{PT>)j&2wq~k`)fO?^Z{#DBkpwIJ-iihKuyJLLPu<8J*#y;C6b5NJoCheKBC@Nh@HgLG!%hnNFv9rGyj7n!Wz z!}!P|{_H-P>K3`5&a(XZyG8D&1An-$!rti~KMa(9TXeO%-{HL<))HLa`(ek3`>&pQ zDlG0WcHoDY#!Caf=kK?X%DNr_e_`gYZ>Cx+{Fx*C`CFTUKUGVYe+z)u9{24Fn?<-#Zl+?ps{!C#M`n;;)FRt|y7(bl!Q5vnwp!-tf z{?*86fBta)D)JBGqu8nL_Tjs0b@{W-*Y3c3oXmgNa;_=xVjZ`k+~dMKW&RlLAM_dd z=jHFyA!obp_XU4bh`*SFKkLGOhClm1<}dH~@RiQ`1^hio{27~*`Dc##XZVZ#$NWXs zuG;L!-)F?1<>1d4`_J%a$T>~_mVTmMfob;|+MD^aWnLp!#FDKh&Sz`!7?~FQ_LCxi1s-C+bzK(}O&)U(h&Iw)!(rzwUnKuLScy(mveu4z&;O zCfkQt3jR{I51#umQ}G8rQnn8gkC#7H&VT%ee1qBB>=|z#0y2(9`}b^fIx~pwpG@3; zJKjJ4Qu61yfAUEAGpoAmTjXD=_5pms{NT%ReK`Mu!XNZ=4WGaJTJnBPdxAfIDfP3A z{6Rleb+1Rb&9KCWah~NFAE6(OaU1k7GD5}` z@_ichNCSL-=%V$OreER@)`1mu&rs3Aa_aO&G|r)Q`aCzoPoD1XOK7Do>{c$w-#7DQ z9UsOIZ|givfi70!SB$Vfe;eL*^Jhpr7^fqlTW%9Rp3!(s@yMO2-D9%;#T0zm z5)bALdx(3G=5aJ9`hU+WlJ?+PwGW$LQe$hs(ah(3x8d}jdgJe(@766>sfzT6e8Kr{ zz=-qRU^fZB^Sd+7dxL*I%{$pACFj|2{u}(E7m#b!{|)<*&UZWPe5uBz6whe-2rf_T zBAtJjae}$-;&O`b|1%}rL>cec)AV=;@8g^-xI@30UtnX?d(X*Yioogby~o6RZ;2%d zhQy2%j*mFc$IO%UgEKwn>laVa{NejJ%s)F{82x<673c55-4Gm!^LIs0Dcj=@&KHi2 z)8iyl+f2ha6k12e?%qz88Ir)o9{?)00FDUwj@U$c3?_`b3%bzXx3ZPtqzers@ zZ(|6~1b?1&S_%I0b$x~WhF-#4u=>``PX0=SzZE0h{DlgSj6eH*jrTDA#2tKqKO?HY z2LNw^zjNI6F8H(iX!ksk2i}AEV)eF7o&1GmeOB%QUAN$T=-_mJ{;)4I`jt*cl2QNE z`SWY=z3nJ&k4-jd)LO^au(vYjzi7N?YI9;!%-rJ6~U+s|L|E5z4h7O_ zBJSv~p!TjK=M-VxFXCN@bzst-puM{43Edw;c(mX+x47gZ`p|VEEsjg^fPa|lzAhZ& z_kFF`1v-M*qq@FeKKaI>fW(Xao#th9-VM>0`>5YS{YaaBGu=z?vpqPQ&dMR`B2?f?3b?z{iJRh&%nw`qSu>^HI#Egq)NDK1$>=j9N!o2B~+!B!L>QC0b#STwJ- zV(KID2jB@v6jMLRzZm^yGU@y(){T~wWo<>WXZO8$F~PTEV!{>|W|Jx2CAJ(Bhkve%>x;kfZ2U9SoLVP-#6 zwAxSqkCy^%wbtVt-e;Rdf2jW+sG;jOvtg!Un!)n=o$lXkO!vDJ)q70iDQT3cn0C{- zomQ3d%A(&)IQKJP(3x>W&F*#M$2p)y6gSgPl%9PI?YD12;fcx<5au;X?=o$sOaSj} zdijPOe8XIJ@{i;E_#Zk%a=4wY|9PLPv;IGe#`S!@iP5fcoQ6N3?N*=0is}3z+FshU zv0^Ha@MfFFim4<^mtQrgv0}RM7AkL}DZcY5J|gvtem^j>v0^$}>_rzeR!l1-e0X$Y z#k92<&F514Q96*)BTDsvZ3&oG+1wPEbrg();oADd}S45Yeeiw0~?Z-Dgeo)Ie>w|9667 zQbV;pxQ5PsC#p<#s{-j8`7xbO>2rJ~lr~eU2Ykb9+iZTRAOBnWYX0rjlK-^-z^VVn z7LA8_;%Dt@x81uR0s9YBtTPFwv#L+)$D^xBemm(tWTKabQGQoSSJo$Vt~gPLzGSEU z3!zWRpXgMoKUm(zXLPPO5$``RX#I03{bu^CkJcBBrtJE^`NW34{h!cNT7t$|y8K_> z%gz4;!oz75QB%uwJ=H%3m4_hxW+oxsFA@Ot*rigaHq5!SO8HK?hWu%10okM4IR3XwdRH@h0e zPt+kG^+jd6ih(G!Rr`l)(*3YRv|KzM-l#-z6Qz2FZeu$b&b4QM?z z#}|B<>_n*^A-Fv7U)Bcc>ha1G{F6lpn$r0?8b#2Pk>6ZFBT-;DP8HB0D2fc%+KJ>VPWj+`!S{P;iRS{;KiM)S|> zpq=@DE@c_#N6BT)6jNUc&-T(tGsToI_M)qrDW>7ewSV;LW{T-7i}HI0?O(d0S)A(7 zv_<^=dGtO}R)6A``ZEEFn`t$0@c-Z&=GG7M zKJ??C*QdrGS(nP|Q2ok(ap$gz3HcxH+f^|k|3i6Q6%+Em=%lWS3Hcv5y{lqE{u}fz z6Y^h$x+*5*cM&bLWSbj`2UdniNJsG<*tee{KuZ}s+hokh~8xa|JG;34-xn;eY2}#0{_JnmI?fu zySmaGNZI*cS$^Qle*7<*srfe?_uKpN&pOBt_*cED??D9qV|g_d6Zp5tj|u#TdQo47 z2>jdhn+g0E_pGUyz<-G1VgmoAJ*YoL#N!L@Z-nSKQ>q8~4zpq5&b5C0e{`M1Am916 zO?CHwQU4V`LGmX8|HfL~iA4E8B#CV*-6G0v^`ppD+L?|vM$RkF- znIMmnja?NJtYfgc>3REoHn)F=*Z(C=a}^W#x9K+% z^51BYtC+yQ(Twaw34WX8(%nV9xrzz=o7uUF3H+Pn$E0>U z=J^xz`H4CE`22p0f=Qz$Uodvkg>A-7ojfTgZYwx*+K6cdt&AxJqbC%MnwE3+hzW&c zJuKwF@U*Fab(X(iYT<-w$+`T01_Q0l*yCW;a|Md?;uG9kQr7!W=<@@wH1XViBCch< z{6xN)9DdnJ(&I#*TTm!`u8*@ZJ1B~6hl0LAKHSwOW-tA3b`b9>-xu z6DH5=^7-0fc|XiY%xhDzk3ZiPNq9N$inL$h? zn9M&vcKp9mm&*EV@BIB=y?+AxRJ`|36!p;SW$YVty^<~I*1Oj&U+^d13B&9D?764L z&zFt-px?**Z3CK*G&0i?=L1J?^5=h?L}*J2kMz;;Sn|Ca39rIACZ2Nwv7ZF9i>U$lYpzee(W+UPC*`Op0GW5@q1 zRZG5$BR|DiedL+f2mjbFkMow1Kf`3dL`>GDA^*F3;x{CLJ|6c}`ELS{m|w4-u!8Hq znV$7`@6mw}RzFAnFD@JZ7thn>)2yY(JxFfN15z%e{xihm(krz)zUu<__CmKi4R7O5 zld~iqDM!f9E{omnsORLhgaLQRIrHL|&ve%RV`TsJj&`J_Q3wCGmW}_Hg&(t{p7%h) z2jyHm>vi{fq5Kho+as6m54znUmnp(0oX zT7PNPb?E<+vhkmT{Z(J-a*pJ2Zi&54*V`H5(GvBgoF5K8XA7TbM}YSS;S=Qx`Pp>0 zmKWq=B4Lk-bm9Ef?484?{8#keA8FA1wKX$S@%g@$9sSk}_vH`l(I z?3qb>Q;+@KPVVq)=D5T2^sF=fPaNTk)>KWLD;M5eO%>f=Rpk?-&hQp}x`Ew%peoo* zn2;~bJB}KDxl{kcqW`Z>pt0+KN{RDcuKO#9i(;HjseF%o97z^cAggo&2wt^Iam8|FI@$<)|uH z>d!yUpS304X0lGf=;U6nG*S4snrOLXNceLQUix{cm!?U0oL7YW`rmeu;|v`S%7ypb zPm~KuCSlB!UodxEP&;1#BS4Ap|H3Y6({s_wCH|L{jsJSjNItC7^&H~OdRV(h-q5&_ zZyCk1{&}Yk4?b&2c&zUp)lP~U%_7k~e==s(#684zjdyKfx?K~;I{v5#$ z$oj(4&BTAKlIr}9PA__gKmUBbBtLfiKlK^p9KzUkcl~c)tnr~fGbQ{@vac2HJ;eQt zIyzm{XL;g|^S5!2Vo2Okzd~M?xO)xgiywmuB#{C!r`cVJhuAnaMBK$A+ z=l{}QbwswrhyA<8Vx14-tZ?3xE$v)}czE~e2E-lwL~LD-3~@hS&M|>p8i{*I@LLi; z^hmrDM*YMu{Ufp^YXYxdi^#c_=>NArx15SO&Zms7@aG>#)7cX5KXpFk6yXzkfs%-G zE3H-TcJxwDc$6;>yNU5%u6VpNzchY-Ysna`pGwxBTECGl-%~*y^{#f0+W!0>b(@aJ zmiX4n`L5Ah-TB{E`oEEux?CXtCoItMBR`S<^~F6V`3ZiY7sgz-Uf^6P<8$|VRDqQ+ zEcul$W{Y}Dvz_&SMEDM5caaP`SP2lrNS-*z* z%#au6kJWMk|H!X%6VlKF~WcBMC$)Nn57PGlk&gP zpMO4Aksmw$pQhS-Y222y+v2Q{|JILMFOdH@Z!VIdvYv1tzVEA(uaxgh_B_=3+6EYyT|GGv3~LT`NUJFEH!7Q@PC&-|8rA zzf!~Gd>gde;;i1gO2-d(Xx6=ty4_LE*N8jTsbVC1uILN&0&-k0`0YV@+yyxzeVC^F z2#R^$;5Xy<=NaQQj+rw5Q@VwC>Ian6{@?A-e;4`AZA*M!Jr`$nHO>u{c@f~dLEOQQ zAus$t_TB?dsv>J2F7f~>4M>pW6$t|p8gyYmk!DC^02?ukg3?3>L};P|hHY2_7;p@W zqZnFU6-04VR7BBMQAbQ|#sux^D#mS$82O%a>pVSuuieV-_wM_>|Nr;a{LWO@sZ*z_ zPMxY-xf*DHj{01v_)_1wC6@E;dLJI!5xq8;(PwP(q5WOUPu%)nrupajkcr4wWJ$wJ zxWuhC|C9)Axz|w6Cxw)9lct0B9+JT#>g^iuIS<(fBl|$uXV13}g#O$ILO1t;(9L}y zbTfY1N&P|lsxwCp5dGh!`48y%<@iw4{}bz)@3lXdxGi`2%f1FNareJ59a#^jd;33^ zXuA-bVe!@Y<{?Yx1``quP$0W0BuF?7* zXFp2u%s=t|dmc4;neRXKKk>}WMN; z-1*+ho8{jL_tQDI)Hjnq(ehuDJO7i{c-wz}J{iw7I?iLd*?#Q2QOjBL$@YJdFaK=+ zpWWi6FVG0y@Zn{zK`ui%(l2u5=5M9^3w-xWy>u_ezY~~BwEuVH&i_NBy!nr7zlG-* z8Bc1Krd!uTna>hkUm!j6bFL51a_e}rmk;%*pWee2``MFqO|OusL(itrQ=xW9w1OU(iYy>!3f>+SzE*rIP=&@BXbxlac?;S^2;7 ze@6cQ^0h7h$UJZUuTXrvuI4|F0;Ij!Hy<{6CF%D6eENT49A(9{@+%`pRf8)`jq1N{;Q+w?K>3jw^(0@ z|NfDCx5)U{zy9-UFYE_u%i4(gzs}~LEdp&h-<;k5Iho&cJrB)z_VeM%nfrj*U#X9B zUTRw@q zbC*Bw|A;Gtt-5Zwf=vP%|E-3v}OGpuN-I2uRWvpKE}s-*FTE%oTB;6J3gDP{esj;`@LYZbu|i# zdYo?1!;~M6@3F3XhTvWbx9n#WnsmJ$nRS8i2fa*e?;fT%&Ofjo8PL9l07 z{Y$Ohw;@8^?08-B*%&Lg)KBg|3hj^ci-2yRclS@V>uJJ(=>66mY=iTLfGxf4{^VGP zo<`u=6*he#{1&(e36k)EmN4$3>avzH4^A$ai* zx9n~Nj+|`sCpa-DsM~yn_yCjOwm$ZMzWn3-~bM9Z1_jkpl^j%?D=Wh%*_5aHm zwmhTXVDAs0RzI7*iXU+25TNhAa3jBI_z9G0`3LY@pg!D^pQ^7dY=>why@{`C8-YgP zC+--23z!3}JA{FwzyR1^kHgiGK)w0yNZn+BbeQ@T6Sj-xcdW zVj_jMy^?oa8)xm`pN0>Zv`2waOp@o4Rm5{6(J8qu>U-rRhl_E&&?m zoA&hbBNye$|DCVe5Q+M>{@eUF&Xhm%7a!l$2vC1RryzfTN-Q*p{Ar#a41GBog**Xi z0gNBw^%wbM@6SFHQ%|XRIG+`PJOHwvQ`VIO;4M&G1~>G}fuF#P)2y5EE$M^we_zK` zO={{wzWkr{%vCq#%D=3Ci-}xgzkC0a*1;u@)E`*~7bp#Rvl7Pe=K*}uPx|5 zHCO(xTVq2wGj01P>%5H(3o>8y{2piOu&hQ+?YR zfr00MejMr>_zRd0mfn=$H$d*s5Psn!+PSbC^)Z{@HmI-E$N0#0E>Hl>H|^IJugUp- z(Kl;th)B}5|D#$;{%hL*r^8x5U+Ikd7do5$x1#)T-iB#dUt;~8S34Vlgr?WLgn|aN z#`hqF`#aL_b#_78e+e6Tp)>B4?wr}r9>i|}ejmf&CBW}v^v%vjfZs>P&+lV$YiA=s z!+g`eWY9g+a+QDZP7Tq)=6@kRTiN;N_s`VD22KFKe{uX4$oKt=)^BbEa((~gyi$0t z<}UF27b$3tcb%GNzJF2h7U1`vbY)x-#VdW6--aJY#PC?2T#JgSK?fI1gg zcLKi!KCZOx;OHhspceWwQnqpY7Wfwa(%)ive*^yVJ9rUaf01fj^d)vK- zyp^l`Q^mIZH$(LMhjrfU^8fNkXY5RY&&X?W)=lLb3_f+YB{#>Jv{`1^_f&54-HqY}U zM>s}c>ba2h1oU@CIxet0(f^ahDb)2Ogj6mV7(1&Tzhw=_CG@9V$|HJ1d1P)YpWNm-UPxQ~U|H&@>jlioN z?EF+}b$^`4?{7L!wBe)o^fvU2g+{$^1Tm~c)6bu zI8)=7G>Q3gA~Thi26iYvH#utA9;1<_qpuVif8*7f&c3Kcl6b#e>eXRjP09q{O4%-heqYjf4=+%p6X`={Q2GD)0ceZ zA4OP!KPrDrOWO7xv`N6foBt7aly1&d{#R=Go2>WY_N4uH9!Glw@aKP~PhaxoKZdXZ zf0X|oTK*}}3jDkI-*Lg_y>jJ$y0(9@WB#@BPi;hc0RH^v%P;GXKfkhUL_e|p@8z}8 z{ugQXH2+1mT4(lwoj>sYo3iic4eR?|@wxSt(ppt7+HpVw#nNuceT{m4hk>q8e5`fu z`=gzI^?vMmwjbtb1iW84b+q@~$gdi2sE(x%GC^vW`t0bhJHpxdk81ua->K&bS@qJt zm;d-Cn?ClpuGRFV>REn{#=`rh{rg>czjQ?R`?36(f9F9vKM_(s%)fK8#g{0a7Slm{ z?3*u*&ZYmU{n4R>iJfKV|K$F%#uz%Wd;^Y5Jf2l+2T{sDRO55FWJlYitj1jyvSAMy{#+!!HTQRQ|(S5oo`$;m2*+^B-|N|94zN)VC7~Oz|9@ z|9H)|SNtl_F2*{e+}|5lzH`sC^n4$H^^Wg2`QM}B{uig(wpSQtx+e3^(YY31sCb?i zBR$*qQavxpd!R!~Uorw?xbrcuyrG#1KL}7f{SV!}qE~kQx9a)77uF$9g`cluNr4v^<)5&p-WH&r5LL ziQkE5Fg%iZX||32{LkIeziY1i|MeW?>XfYfzwv)Z{xOZ@F|$UU)?MD`*`WKsxc}F| z{V%D(S^K}+1wO4(? zb_>_|??>l%ocF?1z23{D-s+Z_4~)Ih%Y@$U=GhMveg~8Dc?|0l>s$Qf4o?-dc0Ne`>3h5Br6*MLuFSSj+JJQ!~!WLD9y)KaThtb$?ta?(Ik3b-Aqvp~kj< z&U({Y%aP}Ruv+Mvzv@2A$aiti}_aX-&m!JVLj^F=+?i8d;+H^AMHO5 z3!zQuQrE1|{+@X|w|rJ8Kgy@6*5lYAw*Sfme6RPJvwz6?J#wzfVZ42<3LCl^f-0Q~lfjAw@C1 z_Tw(TD_cIipXDpaC)K7==6?OidwV7y_CpfQz50`p+ne6;8s7ouJ=Tts}+A$!p2Mb zD#fq#(Qi_OefPZljnPV{kv9I zd-FxTj{Eqq9xe3oaWsOM56^mZtlqc7^iZ#uF29{-$3;Ds?)8rQenrfuKV^e!nNZ&v z`6N<%CZBPd9_LBhZ)f}+RSu5oA={aYn6J~UzEx8n6z^=dd>l>p6z2Cy`@Jhy{L`u@ zki7+viFhKL#HK;j<0Q)T1qb^FeO;$i7lB8?0sg{TxM`)0IzZn{A&dhrhG` zu-)PdH9(o(AH@DrNby(P>6K?#@q1n1#g{7nHrC&XmVZR?`K%K4pncw!J}t846VUPH zh7iV=7uPetYI>XxbIXVK3sF8iUz+IT?LU8_@`)d8%eO$&@nsA9eMzaFIEpVl(u=3u zTAbv?vpt!q^r2!KZ;|p@F~HKt6(3T3K8xXK_kHb}f!Xp&>-ifq1mCaa^)vDb{bSGM zbJm%v&w8Gg>3Bou2iTA0IBTueFPVUmJ`v>>Xle7s@ig`AJmpXMQ*JSpkJH)82iuce z^J}q9PiTm3mncv5{*4t=4DFpu7kno2ai&>5<*Glg%)Wwv)dJ>ULb=bUy%Am9Gp@Sm|?7clq}^xw1Y$>VWue1w^Pjc%|I$;^HeqFLm z%gcBFtE1oLL`Tbq`g5?3ANhT6t?3HzzOWbVcgIoueu}4Fu^yDG{*w>u$raan^(U-+ z@>!G*!*3kBqjR==QriC1xfA2l6B?OOT7OfY=9bT>mNq8JCv$(3=8NgLO~2!@?`-=? zIq*I)wo8Q?fcKyg&-%srVb)*D=TR*e(ldW8^!_#C|42Rs8b9syad#e@YyF^U8#}@d zwY2kAk;kQe)tn#Ue)z=SyBGoPpRU^8#R$lL@I>9Z*xQWv9{~Ft0eQ=Llb`T@72tqz z)*af_1?R!Km@en5`&YOD$6(v6%=sp2;k^jJs7ek01;PVnM6G|Y9^Tskv<83KPaidS zj|0#{`G?=d`&xj5!C(AiAK<+#Kt2;!k8-uAx7a;9TYq@JVBiVxJGfEiem&=l-1@`& z^)@KKeD~{3VE<>do#zQD{ryjQ^`GT_*(!_om%Cp-OO?+Wt#_gJw!MV-T(hOh%O7I? zU4ti4J!WlU{lo6~-FN@o%B{vk{={AizGYwLmJjcrqkNi-(DZ13kCAO>yPN1j`HcPdXl=+JHK%;=MNQ6IUI7LS5KI(_D_59 zg__>(K73H|1s5s3eiw=q-^_Nyirq4-31i>Lmave@P;RB6W@l-u@E7H^ckwKBR<Ui;#C)4G(?f07U z`G?9OcAm~-Xn;2NTKVw4Lgu$r^?`Wi_s6KEkB_u+WBL2PcNI)f9-HZ+ec6n2a=za< z7Uwg>#NV;yJ?TREe$|}+<9_z=$L);(-|wjU8t-WV_KU6@coX!XYGvu&qt*|E5P?`B0sb@ z0#6@lzjsx?Abo&*CaNA0wU<9u?HRw9tNuJO7wOHqA2RiIZvEl?kQ$S9L+={z&s}Zu#*3NXm!xi1*tv8UA}E1L`sFdQJZ^ zHvN>(ygco8db*{j{3*BN`Q6m^IjH=XbKXGlAtoq~&2ppNz224yy&)goFV6YHso39S znl;RDalW(ivAssSr$9VUUxjOE@W*sc<$eL(KSu^9B0}l!h4w*T0dUeX>rUewfj~JX zB;50m@QaK8q1GM4(J+Cf^Q^lHegb?CxdOihUciE`Bj+h0c!3q5cl(#{O8^eXr$+q4 zO>ry~kk2^kLA!eSM=eEvqNm$(F*<&K{d2^#Z;gCH-&^_EU0Jf`ZVm5Wq~0d9+(ReY zc2ddA8CvfmdjBHzC+fpff4ILb*rgTDkF?6Wzo()r&ej6Bzb9G-?&`FB%_OBcF)AGs<;$+Ols?%m!hC-so^m@}=d~zL%B|RkcQk@K&dOcy*l%R}7G#3**eUH2C)I9p{Pzp9zwgnv zk1$e)PF;w9&li~L4{ZM-_CxOWN8aTVL;1|r^gHF={vpQ&iH)`&Td47WpzE9QA1wW9 z#b@qgywQ$ls}vucW#tf8{07DIUR$q%J==Z_xmI!;;k&eUoJs?l=0z%cwY;!tCy|+!D&TC;GTP}+qn+!Z2@p> z*li!2wQvJI1Al2R!fT3*z<277-BDx&YE82Ku_NFH?4@q!ScC_(Qnx8Z%>X1czR;{9 zBM`=ZeMw*He!K?;$Y&zz5mvk9vX9;SpGcq3`%h0O2c}hlxr6t={ghjO?$G<+s6US# z<1H`peaeS#tsdW$TKdqt_TD<`f3<#hhz}|Kl$%w5bl#QuxcM9}evHz`rdT}ns#Nj$ ztbosB7yOeAG90Zvvg(l{_zss zzj4qcop@LJ^e>t;CKFHqlaHh6;r{W6&Ic4K zp8Llm+Ml96*4FvCl*U`6^nNR(2-<)Bwf>@P`Lx#kKhe)90UIE&``?of(@AcWkGbDF z9;JNZiucPWvfeu$rF_W8FQ3o@mfkNP^2x~OirU@rRNaEf^PRIC-{X22{QuqW3*s$4 zJQ+CdkW&`m?Z4>!xp;9fzhODj9y@VpyIkL|lU7(Bd>>Bs8Sb66ej)8fVpz@j0CzlE zP~)Bh|Lpsgn!)W1ukn}jHre4za6bXt6|rT!8Ox%dwAkyv(8upAiEls+|5-11>7N0= zZ2q%-{3tQXh4zhq9{yM^`J|4w{hIh1I}Wt+sky)8S0Dcg@7wPu(~v-VWIXOXevk`G zr&#|8+yd@?Q^+&@#6d31MuHet?A9+L#YbYiu;CyV=77JrQ;!_v0>|s-xr2zUk#cbLgYcn{UxE0<5{r$|H0v?ym#9bC%UF za|{MzfCaZ$|Eh3zBXET;K7N-{;3e=N_(}h!YAomh`R@NqeFu6#zWe{mR8V2H8@wO* zHoN~E*7kYIfym!MHS>pwx>imcSJ0jjwEO=zC_jIHUeRU*=dW}e4fS#j=aV@f>nNV{ zAqjmK6VbRPqWeg>zb>SB?w5}z?f0@o@!wqO?H5H9&+)C4Z){E@#n!C#!yr)gu+<0C1UdxZ zd&GhHSTh1R2Y?^&QT!IzKW6EJXlMi;oq@>5qrNS$FyaL03*J#oo@wER+pW8*9B~1* zfL`*R*jd}Spz%lH78rh|`u_rd01f3rd)p7~n&*2&TF>)k@e-hae|EU;rdtl zlD0;`zg~PiIW_`^&MzWvhJT?dz88Y z^ngIZ>(BNn^jE|OVEYujsI3v;eNt5yv^4@F(a{w7(d3iQqZ>EnJYW8g^K6LN3adX> zJ~ij-rebJM-eNy>Hp;)Uu8F?1p9|^EUjJ%zII`(q_PP6_LS*|Ng!D^$6#zeh;x{4B zto8VIAxj@!gZKb%E5G2@{fxl4lWq9)?fc>W&Hc=^*l!{Hqj!NGaG1sySPT9D8tM)0 z+ZK)4mP>yw{MCktKWNua<^GYqP0jsd3HWE{C-Jn`9mV}4;ve3=zY%aIc>U%65xGBv zJSy=Ck>BZQ`x}AiV~D>$^l#<A7*iZO!`HE_LcdcrdY8-YL@=!4`3egYgfCF>710ypY7D!%)0 zBj9NGWCQpEr2i!H3?n{)uZCE+se||c8gSTrWR;K8;P>SdT{zeXP(IP(D@jAa4NW4JQRskByh4!EuKoqh9WaP6jWGVoZk3m?0jC{_7KY;Q{Aglo8 zQ!y9*fQ)=V>i{zH0dGulX5>?avmBWOSfJx^{Zz6i}fq; z*)Xg>4a>+U{oXL#=Qk`PAJJhkRjgm%4KrbY%n!Tx@No41hP(5_E}{No{$t=J!2Fxk zFjUN8=GxIVJi~0CY1_MsPKuF!ULX}Wa$GRA-#Ztpmm2oMtT4=W%?tccAu8> zCujE$lR7{D;wfnFX4Je7p4!KL$0%3Y(ytbiv{v5t!M}ajJ5R;%nRhUbvit+eXCHlM zoaio!vgw*HO0*y7TYsU83SUD1 zVt&KS`{}rZ%!o!YU$p)5;rSH*`ZC{1bE>`T?|fIyS!?@QAx&TUWUoBKiubPT_> zdz!RGKC=E5QogM?-@etmzQc2Zam73VWMK*WQNx$Z)sbCJr3?jTPMy9=INLF>XTTbq)gm+k0mEkrh39n*?xC z%?Irh4!tdqUB9;K{9&JSG5^rDu2N%7uUT&WIdH5cNh&4BOOyRb~J#0 z9XY7@z#ptHI}5#f*m8;0ALnuJxNPV=#UF0hMJ~)3-n_7ap z);za-hSjs}IOX%KuN}~6O8)GRcgO7rL+5fpE^xc$L~WvME|o#UF`F-d}90N zmXD0z#U!m|Ue$dCp+oI=Pthi-@*$q-AAg8lU*mYZLIVuB%En84rQ$!KeDuDUxZ;mi z`p`@(pVf*#QStE#T}M;=w$&;h#ow#=BAAAm9TW`D6;wT%hqwk>yG{6|u!^rWLzO~|cUebTwaDujb z#CKBqUc;5YZyx_yjW@R2$}On$rD{`Ox9!#EEU91BDxU<;cRvF8w5vJalxVqU@>w~= zribOO(V6XfemU`t&2NEvG&|qYv%R8xc5C{Hca**!_wQ+bnXkK5Pq=)Qxxy-FCDwX(i7iD`RvOCt9|y~Pw$ZT!xG78?IzRHw-(!CbX{&Q6EAFA9~k79~H z<4oPxs`YV+;!D*ItG(`vS?O%~RI7Zx>5l%-$Qu2Lw974@8S^Y7%I9yoKPsa8R5cni zxY{cR%I9dsM}}KHcQnA^x}PU;n*F{|K3$YQ+wGvz_tbrcltW1IBb5)=aZ41x;$oW~ z(o-Ik5A8Wmd~|HKe9H8E%3bYinaC%NOpgzA|4;ke^68=be<&aS_(+puO0+*ly$YyD z=_+qJDTm#Zb2mGGNja?6^$Y4@k@7hy?UjE>@nwpq94Mcv2HNk^b$ZH&>C)h)_~5k{ z=Gwmzs7C*AWJ9xoQUCiJ5TWt8dlC( zm=>+gVei$r1^>uJUbpFnbYdP-{1W@NHjie77aWF>8Ghm}_r>>Q7JUTqm1(*nYM*n! zt=qHpr%Lz#w8i|b`L3=x{Z1?A#QwSU=XA`wh)KHtjhUzWNF%en{Xo788Xso$f#t+~ zUyiZ!l&p9Cb>AKFj`DxB*y;)Ouu$<&`0ydc->3VI7%%Hhos?H^BTCP5qdn)>7rx9j zKeis{-(6G3&PPZ;c^@E{ugd1$a^d@KQbuBC4aGMv>t3oQw|U)bukePCI$n1Tq&W={n1-Bu9>Y+7aP|z3Dk>J{ko>lFE-sW&mrmWi9!(j z?YY*jmii;_G{AQ7-puR^!Dw9_vsK+^!<{<2uK7sm4@P*|*Kp3YRz4|-2jMS{66?D!M_S_!B2eK+B+mZq-#(kq`v`sC%+XS^^W$^2UhLO zrGIs?{w^l=ftB06D{4XiYS!;xZsOIKH+}B+eD3v_XA(W4SvAS)=6gqpcW^&9;2xj< zBXEm+6Ys(wP`jBoe2+`L?hTl~mGu?I_XOP8`nPj$Fa1kMpYSLBZzZP~t(IwZ9yfJy z@9g%iQu_~A9)!<&oDA#lglEwcCy^pr{RsUlO^9`vhf?hXC$NYG>7 z1ZnO>zWKWf{QRa&5o{-`_Y1t5Ex(X{AI_az%fxop+>e*)ocsI0`vH^6_dk6`Js-+3pkX zg+68Jr>t{{JKeF!r1vi}H=$jLEU9Z^2V&nc+(l@}MV~{RicFPLWR^|z^3!ND7WI$z zhog4ipRIpYdj7HfP2d}7Y@X41l}MqLUqj_Y`xzau?ofQAu=XGH{w_xBzjuWtQ+ATK zpU_$ZL>2GoIU`5$ks~Qn}DVxvo5j7 zjw30*ol&n`9i`_vzt}P>j{_8ctBz~q&)9iK$~C6zFdQE+-*x7A`E&kenbJqJ|L$)A z$(QM$@ak*xv-NL-%1`#sg`TXDUrP7Uu^!R3>o@f??<3#d*Y>BKUf%iTxR!Thy&YE< zXudzL@aBVZ`n~;m0pI?-#Miw{_WryI?AiOh{dPg@xBI>QbUQ3Cr!yMbR8~90b|&x?-XjBC*4NSp9)=rG8}t#- zNAO!fmdVAW@_+RDYZ`82f z(f!@7kw?k*Blx}51AagH--`I^)ixzMuM_E+yZtNC57G{0c<=3AePTS9JnF?unTT1W z>lLhD{C+Ib`7Pq9?=c@ezlRt4@SJxXsq^~egW;-cR`}?(88-o)KOjBzOoRPqefg1j zovL%`Uvi^{c)`j|#&7s^{bu|YzM{Sn;Cpt-%jz2ej^|>R*Ea$j&sE(}-w1F#7g&im zqW~Pw1=hn2;CL>14fp{#o-+t5!10_DuWtl6o=bz50LOC?#4V6-JePu>0LOFDI}kU3 zR;Iut7lG`ZRZ&8 zWlyO7ePi2qmg~WKe;3F5Y?qs@v-F8;?D)G-84XilI`&9M7*<$sQa{5Z;NBwh@(GQgC4DY;uJ=L4kFq=;5<@0y1{&gv~c)ri-D5IZwpPcfcKAe1y(kmX*#ID((>tOtz zQZHZEd=bz7bBW4qW2?@;+_DPo-x5rQsd4({*1yw1Cx-Gn zfcps+SbFPg%s{QbX0^pL9|!2Tfq0hhTAi06KBSCdGpw8L8kr^Kx(?Dm zxBQkA*`6HbcM8{`G=9e0R^`fk6sSkF#+%abU_kLn;*}56`(m}~nSM_lrGLkV=eVxd zLN9$sr7t|(=8JlEpyCr;7t?qP6;F%ur(L(!EYJNng*t!r2G%!X(+W)UEjIpmQEvG) zzsPc?{PKN&E41C`x*z5DlH#3C-t~=r(l%cI_cW^OTEtTyK5l2_L41*Bcx+EEKBV}V z^5MOtC5qpre0Yy3^;o?#?}IS?3*W1IQFi_1{T)S3@%{L&k(vC7#y=pp{3fsQ>fbJ{ zr~KYA-b#+k*Ldd%mY%KUGsxDvP8z_!o?WQ;lXbr)5w=0Z$_S z?DH$Fdt*F}_m>krhq@r|8Hv2A`VBP#nf>ZR;0DNjCgL9&G}H(<2rusRK=21}|9W!& zp+^5r#GfGFmV1s_IQ1ZXHX z+8ZY~U!6;SBUFB|V}DYy>F3*s5Y9K=}o( z##spf<(Igs*a%R5fwSNbp!`z!Eg^fFG}0!JPkw=)kv;(BXOI>b zRDhHl?eu~beRIig-`=+VItBK-DCbLZ)!)dE!;Ap+FI8{25#ae7sRLsAVf|3-G-w4D z>w072hhavbO6!l%h@pI9KjC}`pgYnd_+*{oMqoM42Z=kp8|Om+@$Hs>60`#T^Cy&F zwEl1-aF5bE4Thtg8E!tm&xTL^GRz44r0#U1;YNVQ;SaT6e*g3%<@;Nr{VmS_rHV2C z65}WXbzzA8{&K#Jwya;u{UcH3cQW^9Xn&5;?dQX@{7Ut^%pN2aKx9M)(v9I8N!vOQewQz$z@by3w zyMBOsj!N8dxD#-5o;Uc-K;y&*n5)3wxfbn!xNjbi>A$dFvt`xZ?X&OSaCCq8yl{=| zB;ggsR(_3aHgM9(nm@Xqg!f%gUVn7|hI5~HzccSAA>Pq=|LFb=-pj%M4euu*p8cB+ zI-kRIhLnFtAHGEK%m?juAKf!JSN$zY+5oX-s&@y=+-c4EupsuEI4HMh6lXpF|L%Og z^S9ncfb;oMC&h3+-@111{#WPo8=YqLjNv~x$Lns1{6vs``j5KY>yB-(^_l+T;LqP; zt2lpSl_`eyhxh+;m8XBL^IJFlfbmJPL1um{G~CLW^Wd~)ezmTtWsn@#Bsd?Z_bDmb zRB1ityeR8&yK8JcCf?BiU43}!S+(+K|2?Gi{&xpT6@Qb?13IVL`HP6+r`uxIN`rGIy8#dI&e!n-Y z_3H2SCwt5D>Z`r(_6VOkrA9x}L(m?h|41FU74+He`+VW!B{qCT?Jh>(8N{DW?>uhf zt7r{>z~jE~D-mAy%T%?(ec6DQeEtRaK1fcf3v)^e4KQ)yQ88`kiXp z#f46L$$28Qvu)rH$Y&^5+T&+lRX3M>Cw^%;@Lo8%XD(oB#y6+k)I-c$LWG41}G@6*-5G-{;T! zKuCijhG)N63n(Q0#NJc+KDcQAj=A*rn@?4~RsX(x6HRLNVdauzv}UZhVx}SN9gplcEr!hful#N)+Q|NjT=!n3dh{>? zy!R>{>|q3W?^V2a51iTWVR-LVyeHfM85hXCS0Vfs$an8m8es)^?^SGI4Pubf^z zi~z2-aqqoKAAmXht3bLoQnR# z#+viRu~E7Ex7^=jRG>+npW{0ejQ(}SJ9=J~<-qqToRyZpqX91R?Y}8h{FtP7+<@VL zYyA6%m~;PoriUnfK=(6oe)vy{zxh@#|9*;pL(g~fyf*vC>YcHY`YWOK`_pfFI=g>X zq~nK0(m%YlQD*-|YIJV-a{mS8%X?JgQ9GZ>h{q4J>85;JtH-yzH#2GL1LeqlAF%

      -Pd`?|+xsU!{#jjZ6l_Q3$uBr6l@!4?AHQYa<_fN4us@@rE z7rqN(LTInWBnO>)naH*E!l8swdi4o=i`zHQfci!>iS5-KlUmtg+JzH0Fi#g{1k0MhIDIjs2S zK2|=8AEWs3nx4>oR&Pobuer}y%k)>d+E;9KW@hWJ(eXw2F?>I>_HV?; zDE+>ldijSHUtjl)F#V;9?{$~be_;7U74NqS72&9T@%j@_7x|V=v*CHa!-6-V;|&{T z-X}9-t$aBzLtE~>lKUMPU%vYtuF!Q2p0A^xK2~nyWqoJ5rt7*V@ds#nKS03j{oov@ zvoFH?A?W7)5Onk2F}is_1l_zJf^OaqK{xLeqg#`ev5NE;_2-t}3%7`ToidxxLfwCP zM>niL^{br;7dbAs{&N2U^>@cS`_R}^S4eh)(>-g&Xn7g;%)3v7E$y_olw;xDxL zkn&lg_?Xg{D4y?$#6Pt3VZ~2U{{D8rfBrG5^mjgO<7Iio6z{i4U#1?@4!vk-wtP!< z{W zxgVzcx5x*>0N3oFvhTnyJ$b1@v{6j_|9Ro z->tzi7WISnahpbdnrnQF?t*I~J#7C7N3%>*%s?>R%kYD3yx7%fAVY&|#;fyCklFs1 zfnMgH5;L2*5C(m=|4JXfq>ta(K7L!_?|@(IjAkxeui?|vn;C(Wh7XmaE&ut0>vf-Lx81RUE;#bu-0!5CxZ-E=o5yax3x()k(0mmH=d0@UUhP}iB6X>pl z8!%$1^$*{N{muaHZ%$Oy$NQ7@&DSVj;TKqg{mXzb=tVxsD(qhdgb=^DgLl_=;dNwC z=)*UI7Qp?=QS3z);CWMn-vZx!W8;tB1%H6kx0Z1lVSW<71xmm_`+VTZh(C_|IwQ!N z01f3zyM1M+{c_27Mbw6fzhdWqCy(>$@3rukbu7t)n6n4i{8-oS-TOgbvi)%+&(&Z0 zU(yok#r#>~y5=tI=wib=H#9c_=fhvppI8NdKpOrb+>0ByzPSsh;rwF^l`4dd-~yx0 z_r});{)|g(_R~_J6&MG9kze9k@CTglOMeRSMY7HXMxd__=Ib1!S74W>mvQ8i?^T_4 z=Da`f#JCL+xy$Nr^}Jfp-AHWZzFMst{7wl_+D1vx&LAhtHSV{xv!>4P4VWJ7 zHGSR*{hUd&XU{y;sX;EDJ!>k^U_E`-Y0f#P97=XmrcRvV%v&^Ta_@=rXP+^Ba<5`H zq(&BVRf5rkg_FkhF%%57GN!8@C=`*JwYG+)Zey3!o zE<78z=ue%SBLPg}yy3Iv&t2pS0Qtmi`|s55KJJwNmF|B?y6-}|!T%NSe@c06Gn)C& z?;7oY{&3(?xxR0IJ;w$~^tbKr3OJjYdYS&ix6+=W{jYck=hXnu_OWiZ_Zu(}mERQ` z;Scx$5sEtvT7fI3;roI6)&(b~pq{QbjtH0#;KwnRKDMEW5!f-vxBhiFzVB#XZRp** zf70|Mo@`K$vtCtqk{1On;~Jc!?boBCRR=h-Gkpe5RO;g#whz`2@$X{+=x{1(`% z`H4T@#0b>F1`nYRRD&Pj248+M0{8u(+-VoR)h?Y&{_i7xF`+(o-nQ<+BLABG5%CR> zAJ&Vj&g$(#A^ashG}8YS|3Gt4Y+ z&SM3c`Qz9$JN|2|;b?RIxU~-G^4)JZ;|@Cxi|9Nq)7MPraXAiS@`5XszK%l)@0wDd?{Rmh+sge)@oy|2%Kz61xZgHdb3dRd+cWvUu5yd} zv%WhT!5IrxKHC0J{+as(bzP70Z>;Ay<9eS3<+)1Nshn|kzBQu!f7Wt$luw!BYaOZS zdEC;+6razkRF7q9*Du{PCtLn$mH%~X@cmp=b3QaSGq?P?zQy+cWnE|S-#_l37cS8F z{rlc1XP%4Ydak4NnRBte_YQC7yy#L}?jfaLahH`(yxQU^=W7*D{-sKv)_F(n=cAm@ z(si{+Cp+I;uJmg^QTgk-T1@fzEasc`fc^HHkgNam^9akqnQi4hq)7Td=xZrsj{gJ4 z1nQ5p?r6BZ5il};0($nB0`TW=u{mGh9M|3m zbV0<~{!P)}l=y;Uz#q^6{IdPqXne$VoMP#dqw$_M;QJk3diJL(M&kW$0OuRRC*XZ> zKqp`N79oG~zDjxs@(VZ;@)37%9MS{GXDZYqrgpEZJANkmUpCd2V};)DEb@={v+o)e**a{e!1fFS*_KhK<$qnOv(Ay zR;1_trm2##VU2Ju!`53_=WPbzefMWebAYhFTnUzev5IyU*7Agno;P&YS0Tl1h+sD z_CIISUx)q8?s^XV902EkQ_(_>Mvq2-bSpAoC_{|K~ z&Xl9<#}<8{k^R>4yK0g#0qo)A#JD_q63)f*9(5W8MD{Y2@8s@wLv|BsN<8F*cYf(|r-t=a}N()_oe0 zo|exN#m`oHw(~fi=bFwTtN*d_R$nR<&;7VgncW{#rTC_rPV(8R`0`7&9w~iF@nfm~ z+RragITp>b^hWdRDBh;(xBp{`qW#&r@%LrRzfAYH#GVD=-y4};Un>8_xxc^M-$MEG zo+0jI(df*t{GR&uv5eF4qbafDUq=H(G+&et>-!7O+4Qh~%l7n9%1!sZgp|(*aZ67= zrHZdsdg3FBZ>aCkN3=aGQ+#^5@GE?NIz*G+w@gTds2Y?hGpj z_J3Hv#w-6&Yg?~X9LnvtR)L~upB}p7*<9`aQINlw)JB`1+aa)K?g+r*XZqUro2A}0 zt2r+s_dlc#M1SIqelDy-cyUV`DhAgkns}D`HiVb{i1ppQ`wpMGKEkuVFEls6pR{7H zMD*G2`$3=WzH*}1z3gbOyY6VOTh`;V!*hHbc(b1om|f57|A;R>E2ZE5r`%~rj*Z=! zOa6bZr3HVSZ5QNzh-O*mqbUF6CfpwY$eb^K688%L@}19jo+&m0Jf9zYtk?)RPuu(? z@LPcA^HT}%1310C`Q`cZ@ZWGB0N|@3*5BM(Yy{+de!N3XdB(O_|G?8Ye-Frmu2FyLv>PHND6ZjbXrF@bvApd|0@_!lp0kwA2?yma*{&2T#o;y7{fBNiMe!?j=UM}g_`4i{Pa}cpZR`Y;4 zZQ|mobLUN%JbS^c`5<%7>ETSBJ9qZnZb(}nWr?4CZ8FE5A}KHG;pEt9@&8qVyV(RI zkq0~7#~tjZ5VFOdkbH*i3hmhw`sD22PeXkb!}B+C&IeuIO#gl<=67U$J8%K!d;lxp zmho!%l7I`Rp#LAid&H3&0xnF^@j&v{fDt%N``@YCv7QZxYWq;NCSU}v1wX03;mg4f za0cjQKVtYcxB=MG==#T32aLcx^-p6UAyCl4`lk@Tz+BMFxwkOl7Pw9MCy`zO-hUcG zUIdOsekJ`?%aIUlaH5&98}n z_WYX6v1QM%i9f%eGQTE}J-;UY+4F1SF1!`;pN3Ax*O*HKWY4#WfA)Nvxbw+>+)s^L z=90g>PbDU$?{>*MRN4Cf>04I6sz&rR0ypdU&l%s>xUkv!J9onk2&}X2^pd_tfcjQ3 ztgjLH^JmZ(^luXP^>tzAHI}~OJop0w-K;x2wXYHQN#jpffgj+>@kp!8*MOJ6{)kWN zXM9v&7hZ(FD+i?20B$(a`kSNR2D}A-cYo{AeN7P1elP2vJfg1=*j%dd7bAYaw@uVN z25vwQ`IYpi??QS2KVD$nsj+>H08K=H&~Em^X3zXirJnD+eka2JRExn(kgX(s)T323ru=6j zpy;jWrkFjw2VL$=sk-I=yn9nBR3K5c-@EMOC$r_hRnOl>M&iDTBN}A(_e3trt^a5) zTtofmIpaigJO0#Yj1#ftVsyVf<P=i{5~c$j)ssQihK zDE(PFuS9&A;uCXJKXqM-^6<~s&r$lzbw3d6b-CgP&a-@ok10N==^=iZ;w$i7&o+~m zkKgX@FZspt;r^Z`IG7*F+TWA9c+cd&-nZX^akV?&@~1p0|B8uTd_V(q@zJ+d{50Qw z6i4x4-#(i{#m`mxxR!5F@gsD<3-LvYKT+{U=K({Ce@yd5`iM3F5nsGzijOLue4>iq zq5Nq7yz-#yJo>Nu8wPekgZ^CI%>6)-OLNPg`x~hLkG*E)8P|D0jm~tuOYyp%N_j5d zSKH6`z30KMRXp1(%Hf?ZmflhNQjK7(((|4N>hqi;<*(^kru00I%XG#S{}A_`==&oZ z6n`H1Xnm6}jav z{ZcWMf5BYUXZ?OzUt>xxu=v=8cE4zWdK`bb#XA#hd*Ud5+O=9^w<{;zumgcn`DbDN}se$%;S1&X=(qFVK8BkJ$ORa;2{_mcM!1 z;$w@ta_rLR_ z(V4rh)AXnw2Grxodo7;x#f6GbJ?+I)&Y5$3S}v3)@1^CuWLWvMd|GXaM zdDTT4ukv5S4Cwr_v&PCZrubcDUV6%T_F{{7Ub5v!z}Zu!f)ml(?bSDoigY5Fx9vu32_Pke!TWaRU><A$VEc(%ii;xE_xyNNGUy#GGwpyK`aShIY$svJ`Ky$C7&3Bxtsg*H7UiocroKkIwx zEcY!Jd(%mIS86!g&rcra-v6y=L;Wv09eYbQWaBY_wI?H=WnqSn2$--t?B2V z^|IH0pUGZ+y^6j5gAeh#OW=-YjT_#@d_Z=5pTV8&KM+#|+3|OU03uoI$vC>}<|nWQ zcZ>nX_~P4z`G3i82z~-ZNMAO8Sr3RKe^K}ed|KvBPci5n%m*=z)OWwla-sdvN3H*y zt9l=FJg z^`HklKN#+#F`uxpvkQ-&?9Gqd?>>o)!+}VX0n6DEz<+r2{^8Y>N=Qe{s;Qdd${QF?&>dt@M(b>cSuYg{{ zN7o^L0IuK1)<7PBYUD@wg`e&0g1=nohL~JK`~9N_7v?IT%P@Z(+#wow_$3Y|TSLGM{C};$(20xK!s#_ly zYR^@Eg?&sCkbcs-O)m%KS1gL>mNj10{INfh4zq7d#ub=K98+Z4rA;%S@sG2|DkO<8jU5&s%b*E14Y6SjqnCf4o zt4RZHxyQPl>0OOLg8^2bLuYg~0w2An^rwLy@Fl`a`yL+M)rI;^(Vk+yUvyN=#Su$y z#&m@+yJqHdtuOB9)b!B367*7k9HdoX&6hTOytJzkn0m3M?|AqF?qzz%!VS3f2J4>~ z*VPEzr|$F#NH0LzGvOaZdIbu5S^D$@_ydmB^h8E=H3IoeiO*wu=|1lJ>48bMKgaoz zzkUPx1ZrpIr_A-Xe}>PBYiM(R3ezdBDb#tKxb8=@SYrkpW%+ZT5vOSe`|$NNKyT$k z`ud9hbiS8Q1I73A%^$ISNKa7uK6YF|{o*+}?h|aSd}2RZdg2|$Z(i!f7b<@8M_znT z@x_mM@kNTCw8o1MDV|nTf0U^`d*t$tGJYx4@~PJO!^B1qY^ph*7QbQ7$|t7tW{%2( z@h<&~O&9T$ANTumTtoR?qV#dyA5Qu4UPDL67wt5HZ^l^upwS32^79xRD`y|{*TGw09ONtfW4jJ80yHca+LuRu9h0kkUPS-V zHI21=meoS}w8-=iR(FFun%Bsq0`Bbm_{-}Q?BUJ!PYm?BD}CWd;DeJ*U*-${tS|iA z+8<_^Dj&axF6PfkvQWv)8{hHkOl@*j#Tz)| zq%V7Xbuh+f+41KqpFag}o|3D4BG^AICULNxca{EicKQ6joj*7L3X(mZ|DQUaK$++3 zZ___tf1Cb$+TUiqq5Z|KyLRU)pVdulhb+|hf6GT?oUeS6sFwo&sq#7O`Bg9EDj)ZJ z3+j)f=UVdBpHxHC0|4jW0{AU35gj7QR|*|w0nWcA@mqlPCyEZT0PBzYFbwj``M5NA z3GC^7oP&hIH@%;V- zSKvJHvi7FvzMAh-U@6WsBY~p7ViM=JH)d6x9Q!V(&YC=X3hw*rEgM98$pa)X-C@fpPMA1z!PIU! z$>%JXJ%8$yoL+8jrq1;VOtB-dgExD-X+X=D_R@=%%lgi~X1lJl>iXK{x1!z`)HXAs zR?k9r+4|E>!_$^^2Qj5uf7ow$>{4T5MRiQu0`NgUsd7K#&exQJUgmA2{d4M|=3!ky z+$Y^+>80I^0KXUsOd&kmxfj4MG@y>Dvk2jK)-ju(2R-b#@CAJv@R9gdA}tX#UVoDH z0^qwSe`(Kzue4(h)&baltw#6+Jl_HT_*ZqzF-TVg{_gLEBsxJ~~ONe|p?*QyXs z+{1(~!uOPXg8%E1u0!jXGUO)(JAm|t4y$865&p18NWKw{?H}t|yaVVFZzpZ{T%qRp zSEzDkdlmaOa&dP17u5NMr;ft;&LL=6Y3{b=hitiqw!F{Q2!CuR{P*B8_~H|_9lFfw z3B=)=C5lfK*>)wR_)pr{cG0=adp_nzA3m-0yLCM{@~UljcPYN$ER9$30nNYjR89LM zZP5L`{`ME>-;12ZPfYit;BF^Mfp^+&8DQF>f0bB=@5}q>kN<6ec@E=)c!Rno^7nz* zw>H2W0{S@U!yn+?H~3RuoDcCX9Q-TMK6;LSsg zKwQsfq$`ISfg8}Ci$14sgB!3~{gbPQ8Uem5iL_WWn? zezXIlS<3i*udRRkXn5M(9~)7<4xjA(t}`89-D2@v_eXKM=3PC9%fixj^==hNaR*>&cS;s^d+>!r?Tg%$rk_rYp^s8sPEFr7N@6IJ|a zFKT`jKS%Lv^t;3KKs{Y^FTY3aZ95cGd~B%YV;0%=W|`vsR)r$SZ+=B&XLk9;wfsg* zLA4ps&}`NIU}*iGl^@@^i+o|}8GmtwO`kK@wv*J1TQuEq-A@+K04ubdSgwxZJL)?! z%x6&X4{AB_eFl~v?~{n!Yuk|$rQf9Vd^abo_$L(~*<|Tie%Jca6H)pNsyDGy?Km~6 z_#RB>UKUSzbN?&vH;O5Jsmh1*i}}j0Oz9(PzjVYu0-BMDgo=cnMxD?k7IKO^>+E6dNnt`X1x zweQsWdYoNfVEJv;{lJtj*GHb8>Ydj{_rNv1`s?^m+c!t?`zZg2;;9E0>HgkWE1Tb- z(x*$5kLp30;zwU?(;0fmwkuJ^mz`(vDSa=C^{F{SUq{2p!b%M|aoxE>Iz zZGFa{TKq(I`Neeoq_7$0x2H6yIsg4o?(*aLZ`QxhwyB=#`E15tspqXD>ukG(DFoN7 zR=jCt)6H^9>-l)%DaW?YTmHnCD4*rNbK4Qc`_GY6j{bAxF{SUP-;4NQuND8P3(6oq;kEC=}|dE6~E;Hm5=Jpe8qpL-x21E>pU7w#&R;h?2r4q|8%yr zpB3L&zFa?+^W*WuFmaXIoAT&-XZp52y$Gtd|H?V^!~^|I_BnKe@c)y}p&O*{Up+1u>HeS+4lzxlOa}m#Wve|>0PEAi#=~-`_S8aWr zulSV8jeN>g?x9BBc0Q)~h1#wpR$D$x6tCEG6pES}U@Fm>Buc{pJ1G>Fv-67Blyx-e~4gBl}*8I(P?DC-1~ z6vIsHWpA++A!0AF#hUN^)p>v2=N?@d{xkD`zVCUy+t1sl&U?=Noqb=fYyWvqzv-B$ z`7lg`NqF>~?OsLv;QY7h2PC5Q7kToQ)BR-c{zh=@{?>kQPJbgf`f{r;yxAA)lYI@E zv9j#o!@frFv+9>Y4=kqq?1%wqR|c3*s81X{0Qw1ssyWeT$7a&`p^Q3C7>p!a3`A^mB`j6_j+YaRcaxsE^!li&EzX7 z(`lgUj|ZO}ncuEs`kr_S#)r3cX-(haxYkGC#Jc+I=YIH~sqhx7N><>SI5hHD9QDP4zr`Kiou{-{x|D z?w#jRx16?W>;B~I6YZB@ouAYC+5b+px<71ZE5A73e!pGw$#dLqtownroVJiJdh;^9 zx1}6!US>P;DhJuI{OsV_Zy?`K_pNgOYl8e?FHk=32OUE`cV^VxB>9UjwY-*VEvNf% zAF}fM(SG6JsC{&k%Fl4lFRJ|m$X`ME8V@1)O3DVFL3;R34P82S?%S2=tMdn`2Vrqu z+y3VCQ@<{KZ_x05WXrue_aNg(+fC)y(R5_{rSn2R>3L4_THk0qs2pvtH`IOXtPeH+ z6d9jtU)$@=Jo}oj-l2cgzRnNo{&VF62H;MOfBJJB@=Mj-t!+D7PyU}8F7D6Qb$Hzm zpPpgu52gJFDPQ;D4n3rOF@XKmj{51;vU>8tbqx<6ax zCOOZY-pjTxnqJy}Q2*cB0L8mJl*@3(K??2vn0^X^Pik=%sc+?go@Vn?^{R=cYHcA5jCHR zhQhVKBgX5l{*oP|`V%&d>TT-$^8YMS8LChG`S+K(tj&2QRYRUfn*7Ui|PH0;Ct$#SImzX!{sj%yGd<>$daMC~WY7b#!MyOxWI zcUt?(??n5BgQEV?^5WlHKbiJ7p+EKhi|OR=V0g9O(0JYb7(UV)lIe-eRX@~clXz=n8d+$+#>sY>P(l`{`0oj8tLY@4PoEa zFGR!Q>R)e)>R&k!<=dHG8aXzqm;EvM?{S{@>!vc|n4fUv^~U`Tu6_qk{|@B4=4tQ! zIQH+zejc@xfVr!GWn%Qa!)gPf`ul%E`E<@7?E6Vn|1I`Ux$*|$eOJF%LsY*E?z!g8 zp8t-5Ui~U+r9{?rRr81Toz(^FGaYkp*>u$YRn;`a_f@!G9Oo|kI_D~in5uN$Ir{3T zUiJm)ImzUG>zQ-zikctV6!m9vSNO!KSIrZMCysl}y!FiQJo)E&`tch^<@JWYUH@JF zSyX>w*rw0^eLeH?n{9e|FW4xmmvidwJogH0ta0TJ^4u%$x7*(4o7~*>%ubGb^4?PH z>vP}VAK`cPmwNGaxfkBFCl9d~c{F`hJ^tE!yZ1ZnHo=a6i$B?VS?XaoowfZy$Cabw(q5{1{i_1@5QfS z4z$-^%le1LiQhg;do1@6sJSMxrmL#o%xK=Mz501PzSm(NTdpgmZ+bEMS3sro4cLif^v%7G^anIOQ%jJa08P)t2biA+{ofmD1CEi1Y?DJ!2oiE}-dY zK887<_fM4YTkzjX-_u^beAo8UH~xc7-JqjQU%CIIFHXp#`Yk{IK!?O_Ki6tOJ%;_7 znxFJO5Y^}LqLlB{H@F`I(ECBuT+3_t?GPi-`#};|$Pvu<`lni+wx=%#? zr}v4dUhfl8z1}CHdM3*+)`xDqJKeFp^gZ_=zOkjPpXHvZzNW2zbt~E>l`X2CXEf5D z0{Xp`G&-yT|9dNEp}u$Duk^i@B<2+buXz2ZD`(jE1N6%TH&dU)xJyt#e@W!W@muiv zU#vdFZ-IWFC4_9jpV>bQM?nvaxHIa%>H}>3o=Jiu}2kBR@Yd&3;~gX)pbv%t5Mmq%Cx`gG+FRb$WQ z|K48uO8-ip^h-8<|DAr8`19ZCXUY5j&3=~1|8MrQME?I)KPzLCt@Z!YrOOAG?+@*0 z*DtjHJXh-5EjqT^3yLV6uyoc198nc@6??=}c{(K7UpJw+3*YSn#d7op^OZQ}FuB(#Qbno&{#*cT7 zu*C0)={|5x$6DIgdlxjlPPyC4(REvm|5dKCyv}2sK!0xM?bFh9x%+&|p+D2KAJYFi zU!m!8qwX6YY3HBMqy4q%PmPBR`M+wsah+ur`58m)5B0~3_gr+7o4yOVzpZmG6v)M^ znY*85d@gQ3eeb@=7FFRJmZ`J^NBkMc>{|B&|00GnRTsifTl6z+ z_j^pJLc6|gClfpzD9%>M4yFTp#9Ix{Fo7F|1!QHhVSRZ%wO3b z&Bb~c!Ohg?d-gDbGvOa;$70Xo`x3w_hg*H(-Ix(vK=ag~9!7B8w${AZtA`QXO?kmO zJ&fQ|+7F(G|ADLY{Q|zV0o=~_vy0$=;9a^Gdll{j`aKRK9ZNvJ$B~CD!DqBzd<*db zJWTgXE%^QgfKStv=S@lvLJ#b4BlsZeiD8c+)w|6pW=HOz^aoOAK$}2 zz)h!Fy?F-y5mb0I-Bo?y%b!NIm;QTSW(8zlYFmHkXL`4epLG5s(Sq?QP-%Qzs>k>b zs5CxK;ax$c@o^Sr0v#_E24OE6pyTBd%mg}K4qn6f6{s{`PVb8GJn)~I|46|tL8b9> z9%cd^FBjLwdZlKeKl;N z{=lpjB&$p|)s`)SNWm*6+SsaL{1 z?03u^iu1=nQNn}ui8Ou-E`WL1ANs?f2VOuhvd{-7!@s~4G|%F<;5>03?-%h~kVSu3 z-cR6N!PDJ3m?HE={1)V3F81^IEts%~@1G8HV5x*p;_rAk3~Y_|BZ2eM<`n1wnPZTA z6Q73g0hJz2cU8~0|D|@n-#qprDk13B3rj`^|7N6-U< zmPN~Fwv(MN$bYb*5!Cju=EYAoG=hULMHMrFKwiq$8e7hIWS_`XK?fZ>dfJlqzX^^T3Ntik)h z3iPMl^@FOZ+z*eqF~E)tPYz)b)Yfvoryl$1fg9;w?mL(R{jay~XTF910ezP8M}cZ- zx2aFN{rf!6|BYRa@Ne1neTn?%wjYROD?h60{d==*bzu(Xedpo*(feD*&SJlo{eJDQ z|L!F6+<()L^2h6adbHo#qCFb5KalqKQTg6@FUS2NI!>!s``$f!3G#pA_bWo)A2^2m z%$KaYDkmg=^DdUx@J=V6!3KPZk}Tz9$X`!6I-ZB`StUikEeq2KSsaV6&sy3+nl+30vv^PT^_lYsU=_0m61KIf&U z=8F?%Tlt#)A?-io&Un{=tPjAF1eS@H3nMxghf z#PM4&2?_45x5<5uay~8bY|k?Ed`s@1J&oWNm`ht9e*^CWmDbzLqMk;e>us4gdm2Hd z^|sgxJ&nL$U-Q?~bYDYhVNWB_dxA3mfPA1iVf|l%Uj@4UmVK)y#zQ?TuD=x#UV*N^ z1+VqQc(tdgwEmVZ^fUq;AI4sV|AEO!59$A;;I`m3#8(>qWAh~919)kF8-LngTID0F z51xQ~K&40Xg{r3>@#%f-f|}(EF`&@QXmt2NYme zp!Z$nVI~+2_ato#_$|19EcNhv0jPA|s|Z%~l$*88s(@f?uuH&%C!-O1K>%Coy^cHc3|YrkR@ z*1u{W(N%u-YL431cIfeOOc!^Jrcf#Y=Gml|kmg>dcIgWV_=5Ij0 znw#U-GhH`o)92yen4^!u{-~?l%u}#``anCr5ZNW@cX0NR#o_--PiD9^NpEP?SDrM3 z-TvkDx9t5)`6p0+uDM!k|04L&<`1ozRMq}Po(Zn|yz@=gzWT$z_d)Zie@}$gPlvOe z57@7+rJ(-HY(CI-So;@4JzmEn$9ZxB%4ziMYky>n$Jf*T70j36lhJjESJ*Ge_qOW< z+P`SMCxGiN+OO-Y>lq0i2yhkI$^k?u|6-^ga=RMZ(-Hmboh1MSd??06Ncj0AKt^1=BKil-y@~!HFD5$b8 zFF_aH)9>Yl(eo?m={8-%52E=-=P?ZS@Cho-W9DEcs5Fn6z#cw9rFrZU%mg}*UBaF| zfzDeNv8PX<^OhOx=@V3%$Ch#_&wp$ldl}|2flBkBN$lYh=sai~d-w!84;sfFK0$l) zn!jZqpXLiyXP)`jvF+s#*}s>V)s{a(W9O+fU#RNmkBK+2eE-J$5yKupL8bhWhnb*K z{zzgEprBIzFxUeq(EMPq2T-8-A&1|B|E>Ix!Jb1wrTmb>9zlWTha~m{3N$|?u_sWV z{njM*01E!y{Gs)?sz2YeQyH}y$jiX zYyaS`#cc1$Cusj2Jx~9EJ+C%~d|`iUKUiV+*EEyY^MCn)c0MO0f8adUqnxjrOn#?9 zoUb5%1o^&&sQoGA*CTJb+IUEj&(r_PPbWX;bSp>iSxl3keyrv7e1C@gZZ}5xS>!7z z^-SlkRNwz-VSOb3aDKG^x9G2*)pmZmxN7_P=blZiOPYW5oM_fNU)y?q`tLUW)qmZ1 z9#PLJYQCD!@k)N2O-IdFAKhld8<4M~perdy?FZzq_V{}8{yl!0-_B<|>-{lrx;XhBra}I{MS_oU7*Bn>2oy&u7#AR-T+3`CC0XbIH%~ zU;Blk`A!Y056>Rd-u}lYS}^``_dl-Ie*V$@kD7l5^1d(KU#9LX z;P^PpajK4Mi~HF8puCP>yHie<@uvA|FnLWE%~$mvuj8dhcD3@=Kbqg3{|ocsm3G{M z-c0%ViF|fDn{Na1UAbRRdChOVJU&7D=YPU*QBIQlW?J7eTp{^|hgSRnG6pwl(}3sI<>ig!#(8HxvxO{ohy*SNo#6-y6!o-2L8AvUj6# zzc&=GZ8Yxph7xNu8uxocL9a$5^V2Fn*{{*K-y16SX*9p-dqXjV_pvs4#kCsE%Dy)g z^!Vj{=9^(cMCXS>xL@hfbW?TRd82;U-u&&&S6T@n?~|8&G7x{7zW2dg!!PP(e~9WY zpM(78od3MuGauuf-~78LFOT?e-}leAKJVGjdGePb|GWMxIPoid5&J7#^N&A{x>xk< z=eCR5|H^y6jMlStZrb&m4KU%>i`-$Tf7BA|}) zwO-Qio3(qkJRzCv}~g{ux33S&vVUf5GENlRrb(Hz-HT(JP+)U1)!i z$0y03>&Y2M{sND0CjXWvXFU0LJw7C#@#Gvzex}DyCeP^pg`(}2svXw4a!Gsb*McAU z>V~#_-hYQNYyFD#Y0bmBK3&>kb0esDf(<;3cG|nu+@I6;>a6aZ@AsWc_IS zrWvUo>*Dg%QC`|v+~uS z0qtwOqw4ARZ+uOA_0Q8KD?huD%{MYn7&zYtdhulBf9yxqJbcOSHvi^VtZxMM+z*>x zzCPw{*EfBivF6FI);EI7upczQ`|&T=FQarXeB;;8o_ONU*aRPCj1KwqyK~ThZ@0F^l!W){14ni|0FvMHG=F&`+niQ^^M?G z=*#<|Kfpi`7zueHGG5A!A6mxG^iOag+ygE-#QHx8yMiABTb~qahT=Z! zp=LhaPkpq$5nK)XA?^oAe7t@c_`FOxK2x8-9KiO5a(acIu8;FM@I!@1^OdSEbv!@U zUjF)(`H_ zM$Ply{UN$;6?+|PMu4tcCGcBN>HI|oW`auVOhuRpbe$NqZk37BJr=aF<$5B3HKmCmxl#%Ke_3uM4SG%JA ziS>_iZ=gKuZ&AO7djZa8D3@XVpnBQJ>ejE*S)ZzTHO$@j&p~)y{fTft{0iqSZr-4b zrSMLvr&#}|Z`!~JB!9~J5`BN8L!qCS@M3~Ii_i_hy3e)s(*_($}?yba1ouWip8 zBp%wp2=xAam8UsP^OdTPZPjs&_VU*YQ~AacJ3g2CYi+Y?>->`LyC`P+8G+VM;dT9t zptb(Ep&z~v*w5&Ff(85*=>0}d6c-Z<|Ce2DXy zZv5{y+3F447HqJowI9ca83ga3ehd&_*$z1G1{}E>%~wVJ13ZE7X)>>q5`{zj%7)mS5ceGV`XM zN4A&0(ofhovM1Yh`ieS%z#L=y6X7OsA9(vS;n>kJO?6 zef}!u=iBW#A-|4oCwo(ns(St@K>W*d-MP_mi)D>@lk1VX4yWV5te)@TI49r>&w1xW zP+aZvsFkmB&3WZ&{L+e@#mnHKYZTXe3$g}6zsNTP?)W4tflLMpnzxDKg_10(lU_RWsWdHxG`%L}&OFOcC zQ5pXIrK7$3Mh9m#*466veIMa^LT-JQSp?>{}_lc@cFbswsK|EXp`&3CF!=)2DY z?d88a*0dQoSktzz8(iPPtmCW?jv5j5&q+B?|EV1>YZ&wYME-R8r#qgH@K&|;SL-n0 zt#(CS^Qx%%qwtSwK2F|u=0h&T1h{Ly6cxOT*Oe>4ef=%!xt@Qw+r|1f_8P|6z!e8u z`-N9~8^KMKpNE;?2ABtE-&E!Tn#UI5ec(=-hb_I0pvCjwgOsoDKkn&wfq%p-3AY7t z#!m`v3-+OT=EL4bAoJPb!RXJw(z}dd5`RwkCm_B;+y}1ig?wN2yC6N~JeKM^q3M?2 zg(V0-Fw={#8=!a7@5mL_e(DYQ4>%9$FYkwl3&F?}ZF(i&MtFcqkLF8N3sYvV(q8^d zqkPGe-`3WTRl_=%Atq?;|NX1;M++`QdAz4Byc6Qqzv5?k@&l1yJGYs4Jj9mY((k(( z!P@X(uqOJ;r*MsZ=aZU{e&RoUr_y<(BK$A#&m%p< z@ksKtu0}9oq-|dc_$|=$N-AH^D5M8y(NM8D2^d>zgMA?8k9Fyn*)bdB@sMtZC=fQ5}?@YaXDxw4We9N&R!Cl|P#NDRehY zK1n{Cq8zXPxXQCp`6=2T#Pt#LjrEWA9}m%W4a%88`=4wV?GI+jza5YA*OKqb?{{U7 zx9!_(^2=yn*O7DN|9G19r>_6rOa55KgYx&0zn$@xuCwVrmwfRnD<}Ngx|=8e2c}En zbgrk6UxnZMQoca`T*h;8KN~+Sg*0SeGBA2xrF|_!p@UvI-Wy!!@Tupk@gq7NBiWLlmC`-vgCDq`)A52 z?rz=H@o&dJTRB0}@^R*u%yRN9U%JoXC&rtGD@psSAHwprqusY0lCPR?<>-FMGFfg|!#%ZR5QM^y?bj7sU4)hS>T#bzj^FwmjGBi}%NkAoF+XPlXfjr<)$QS$Op12VlMEmAi=z(7JPrMua4CdL;Abh|j(93*K z{&vU*M#H|ONAXtV58y54kJ7n#AE@+bzEyRN{Lpdj<==)LHp8bIZT>yvmJZ0jYq#d# zW6?h^r|&6sh~GN%Bm4iQ>2*dh75!x~*Jm;N)43Dsj38JTH9y6(ANR~pr+X@|dBf=Y z7t-7uTW17Q4~UxY`esyrPtNMYX>~^MDD^7;T+ct3c>2W{kEmTyOP>BF9p4;YXEMM~ zo_W;;(f9x2g)f2dm**ehHv{Z~^bozenWTB{IK(Fq(!6+loe_ME_;&4I4gZTi3A=*l z5nj=!VOMYq+!wt$8twrdx!)x`5VC~e4Y9@F>{^LKZQ>PKB3)qmodf8*(I z@Z_VrR+gWb*53#=-ajg@$4g)N%q-hZI`qZ1EV z3&DPNTqfrT>p{i%-lVVF;v@4@2XjFc+~<5%{>)D1pec5~M#3NO($TDYGhQ5T+ds)i zecx|;KZSnvDrw{|&Zj0PbTY$XU*j%zS!a_N-KLK(?_iEvr)|D9_^yLl8rbmbJEQS_ z(A~NhUf$Wrdbpa!Z|P*V{BxUo@o#YlOc$)T(f!279ZiVvtNr{ZSSN&h^?znX2a_3z z{uRSx;Q!gsOZ@9Q%VA%Ci#q>>Hhu2Xj%Jt>egpk;t~uP_%L#veW@j@|!m|eB@8=HY z(cx|Kf-gImot^ke!#~HuzNSYC?{Dq6mq&V?jP%p+rVzhrk z#g2ah*l*drExtm`4d)Sl4R0xjeu)!**-tTdkN8#d;PVdVk{uoWXC2HRo%|&B8XWuK z_Z>`&BVWvs8tp!szg0c%k2}TNyT744fBOkCEuUaJo6k8+G^*;nuH=1r)*j3DZMJP! zEsHBrQ80>5`VSk|mOkR&|LJ^h;W*590y^KDOJV*I_Elz=dfL}Y`n>!MI0d&5%h~EO8?+qYJ zP-(t512aLTM@>}yByJN8z58QKrk=QS*an9{x1S2&S)U%~SEwMo>rl;qcK$Flr*r z*MK=N=cK5-_)}5+gPwUyoi#TdQ1Jn8Q=eZk3j3Q!89Co3{>}dkJ+NjMt1t9I_<%vw zm+D93e)!R5*|yfa^vx(ExN$98KgE|LyufFehZK4GT+*Sf{u1t(Rrr2y$O9TSj@tit z*QkA6-^z6!Z3GG0k98Vt1Y@YrAZ&sX`zyg`qm1CtjjX&R+!9pZW8I7Q9c=^;(*Kz{ zybnylfgAB>fZqcB9#*b2$_Ns>+4qY`3qg;p)rZTFp1``yFY&JsA3)Wv$S;#{|KInc z%E)YO?WbZ$PhbtkM`Bfk4S1ltHBWpAw}48I&I77?nz`!t?)-6@b6ujId=irN6V9^7k|6(B%GytyYsYm-@=Y8sg><)>{5zb#*ZJ>|{9^S# z_t{J*f1$d|`)bqV|Ezq<&If16FVyu1^0UZKqkpnz*l}Z){4MmqhIcmk-a780yE*cM zJU&l8&2%v*Tlod@I-ecvWaFoW{0sDF`XW1iE0TYP{?T+?O5UGGUrzpNb@zQcj_t}0 z!7G%b@f;(6*@MhiN7;15aHib{)oS@s^{g$n?B8DfUD(x;{=-k*wY#tfNx-)$M-Rl$HmHcBolrAB#bAE$D?15j*~$5+s017 z`+)AZE#kL8_uJ-9j2XeH@;>ex%}4`4A+)mTmDp&x_v`j9-<3e_3huhlh9`!F9>M0cAB#Z`)YE>v2ktKiwEwR1wx;`q zZip{nE4(l9lgGP)O3zXn6sZntI_4U;e?FW2^Ynd~4?V4|f1cjU*7N=Oo~qhE*ZVN8 z(f;Sjw*N`%<_`A95^GvH+P~DeVs>|4j|;a~)y>^1D)wu5)ZoUiTB}{f!OeTkqk^+5T#R{N3zVYyY{K{FmIX zr2BnB@@p_2bX+i*{3G6YAw@pR@raI7P+gRtF5RN>kS0IPi-$AFf3#QB{+Z;vas5gA z$ur1*!T8ts$&w#P{}*T2bh&~2dgK%5S^g37yJpzmCXeZY^7D7D!|D1^fqX&ZVP`9+ zh5YRkqW&+EucTX zqj??!Z9w}sdHfbs>fgk#=xzkse=ohz-3YY5lbYGx2(-TwUf$gZwErGk)E)bcySMgt z;vYaBp#7a3ehaj}6JH8*K>IrdR9u2e{hb`_3M%z?axcRiNP7KM?Y{?abT!LRMl$9_b30qxHxMxg%)Xn#I465p2uerwo(ezGL9=S}v~{Yu(L%Z^!Q%qVHx}Uhj9Tqo6_<L2=nucPZyk@?C~R z>)XS~?{-`?ekPIs<5|}KnqHI1H|-haQ{RU{5ky=xc#4i_miDjhc&VNy0)I*OOLntc1_ArRnPA&q`d$3 z`MqynvhkCB*2aV8ldpEN@u26>G@j?*LHpi3p?|I~!*H23n2zsQ`5JHj`L`VH`{w`` zl7Heu>#q8zKz?G5{-pe+G`^0#~EJagnfpg*&evyl9|Oh^4r zSdskv8H_jjbGh=9qI`_`^E1s4v|mr2$zbMU93#(csvY+@wX<73k}My)zm7WZk}C5v z(=B_jEgv=Zb)%}BJFGKZTJP_>Snu~_ex!9X=pGxddY@g42D`s*`TUi(J}8pkjP-~1 ze@o=EM_BvHFDHNK4wTPvfMGmsUbjIJN3+aD; zZzN5A%>MM}qc*?jeSfJ7ET8r6``ec5ani?#8GQc~@h`vS$*yQDfA7@la3{dajpp^H zHgoezqjAq?W}zQBwrzZ#gnkw(wEXv25BeJ4GlkwgPZ_?|Xx#IYL9x;7aD1EmZeyrlWL(YWUwgYO!Rd%iKdtkLY%(B^*r`$n@2?y36{Z|-@=%nyy`DEPNEKEG;Y zE<&6!A0S(opN^00@}OHjQvAMs;R%V)w(ryAC$`^y==W)~{TRNxO@FO7)!}h^4<5^H z9Syef?8nJ(>+xgA@96QN+TSVa?sW3IdiFEq_wxAJf@96>8MZ-Ip{JROur+eFRW}5sL8`=6)>y=sL(^IW|<+J2p zxG>7kCVzHwly9x~=^s7sFqigcsC@Rr=8^AtD&>&Rlh4q8ILG#f9wYxqg6$dYzeN7Z z`>h=9@4iBQtASDbE#y0G9OW00XL6dZ{GsYvA3ZmW`xB9I^tY%wE>}*+ z<*L_lx$1RXu6iApt6sUCVMdMy{K_8fcojP}Zhtgj_%+RBGH!scr&7pnT@ zqxJhl|K;+L!Wx~RQu#1gqZ4TP$l$l2Qu)YW4Nsuup@20zL8bB#!y27H%Y!)#?g3gJ z3ivJ1@{pZ`@&o9+RSIi%f=cBfg*7}urSg!%8lIq1c}QUmPoVQw;gKkx!2d5F=*Kzh z;Qy+8nDkY%+FPHCJ!otGV6JTkro;`tf{yPJvOz%A7+HUk{hMj5*Cj8jE<^Um$@*00 z-0CuBdFxHhkms&HO@KbYrY|kW9S^bQW>&Qk?02n|pSZl*2xPx!2>Zzk;2v;__y_Li z@mt`Z?|%mVOEk90?{qTU`=XNxFRU)(v8N#)dUZc5{&oB#=lvyo;Y`>E%T~)@1;(zF4$5fTEgQU0Qj~NI*Am7)N{Wfvr7lEuVig|br!UO1i z0hvRpj6nB~W{!j&(EX#OBj6tJ43_AMBJWR-2W*H5MG1R;N|h1l{?ZV?1$v)A9R#bo6eo_4cw?_3(Vt=VCZ&&Q!k#OtN_ePWl+^>=tRaeGgr&)b+ zG|mG8w;)N?uBa`@U#|Z6ny9`t|7~AqLclDv`BC4g1*N}5%@+{gvfp!cobLnb;UCdw zSFJ1Kl3k+q&s#kz?{%Cnb<=zAtD^cPp7}vYZ#O>BiI3=SSb_JQ^gUeihohf(VpN~< z%%`9Oq^_3kbCAdCbE(1x!M3X%O@yzKaNup1Ec2;W^f#2KDXx^3tbDippTMmO| zeT-WU!_WGdm6b#Dc^~7J!_0eq%*x7P@%=u=Er-F9KE^GFMd<&Xa+vw3k8#VP`J|6= z%VFYEgzq<$!z9A9vT_(y*BQ4QraS+8<*-odv(j>y{Gg9<%UKC}x10rtU$>lv-}NzW zIZOW7$GGJzv!ai2%US6|xbKv+7{c$CvqV*$am!hDc^~7Jv&;{Dj9bp~Kld?iIg2gs zV^&tqLYTYdEH3`>A1xTFOrXWe2KjF`&3x>`!BfM_^>Jo%UWr>DKXO?7Lbcz|c10-v_+$)!YrE z=C69@d6>KTVVZYd;SJAz->akY-to-e^~MXIc>49c_lJEJmG=bd2RHsldj0i#-i(^> zJuq56ce*QTE<+$!-a;=vp7Y#W;)UmB&wLTaAFjODJ@X}=`Ny8TZ@l<0yGG@`Y8Cxe-p-IuKD+# zdmnh=D|qRl=L=Ovt>@m>pGD=bh5AqJiu$Q1|L>mrEJnXjbX=$H(?5$d}a=>HE#JV z)zuoed=}2BHE#Jdvucf7KFy7_#x0+TYif;KK2vwp8n=8V=hPave44-38n=9AN7fp* ze1-?q8n=9gyVM%De3o{vHE#J#URZ0~@);jiYuxf_POmj?`OIxtYuxggs;M<@`7AE! zWmZ-`ll^OrTR!6pYK>bybA?*7vho?OUTfU)ncb?^{5$0{oLOt!@|oYH*0|*}du(lF zzkexKYgSf1i$~NNw|o}5*BZBc7Q59Nw|s{Gs5QT(eCF1uHE#J#9#w1H@|hS~Yuxgg z-=fyIi)cD zw4d@U;63_!Kcr>x$prGjZnnH@JN&xtw|l_u)6x3lR_+f=pJvw|;uKW)ne##0*nO4_ z<|{Xd!fAl(P%?F-z2e0qrWXNLCA)ctLgKa2bg^uO+J%aUK9@y7isv&lc2;r;>c z!^)G7rK9{KYCLdX zgzhsr$m6S+ABWRFS?*tqk)Ja=>VHf(m!HklKU-M;$H{-l_|f}Fb-&8+c~*|@{~1I3 zH@#wcP4|%eQ*<}Itqt#F@^3Jni}YuT{Pb})9unJezbyHOnV$phJIs>r$9$-~?n_~` z{z9oEqw0r`?sa^7^QY$?h4Q;swK3EoYR~lTb=fGF9=X11N>-`zhmk92uF&{hY54i_w%zA6I^*3^Vt}*UBY;i%2+4j;l z^L)3O$h@q`OrZi2Ri477HD)76Uh(Fd$UJLlW{o)(;k34KN5@SyX38qj{<_}JA$F3N z*O*|SX&s-YYie+hIrNx6&pg!4WIEQEdHdS+gPH6kGpqt6QSYxImzFhx}a^g$;bSv_Ung_Skm}<{F?Y*z#&te|#tytaY{T?DKd0$Or zT|fCojX44Ft>MYet1+h{zVv%o;rtr&PsFF{MaBz`J`eNWJG7aH$RDe2*%lvS|12l| z^GM(BFxT*ixy%ELDo+~mcR#{wb@u-ZCqLz`tuebh`7al%F}Xf%-t@I z2J#F1r}Fa8*O*z3y!`bT9PrU{qw3?M{@CvK-{v+>SN6_M|Q{hYIie`<9~As z&d&f+d}m9OVx!)Bb10@kCv*iJYv1oWVL`p#s}Ka-9{{vO{}9^!aE z4}JPLoDTvXMSO`~-`9OHi31Toz;Srr-4`MI#MG{+UwZ!Sct_N{k^a?p?wl1hf7sLO zzOryS!V7$O4%6oVqzBNtuVzogC!qUk()caVeKlq;m;*&L%<8tN4}28W*VnY=Pcg6I z{mJrMo*oQO{5+h80-o~TpN#mB?~5h(L0$pYM|w*7n&aR;aGT^W>?;W-;Jg^{G~(Mz zw*Lb!zBcysn~OYWUyAJ8ao>N+i@(=Aeag!Z=i`01{+vC)`ZvA9{C%P`|sTO!6NL-`vu4noQC`(=II^rJ}?sDbMybAmgxK2F#bxg zEBFTKFYjl^;5;2r=_$})Hr1mR4cpo6pJ!U^`1$55(Z_uTi`snh7u)u|7xk*j`GA4= z)BUA&Q*8f4`;+?qd#705R9iWSj`DNORkY83Y@Gb7|FnF_erAIFd*t)$+InjY`AhrR z{#E#*?I$P6FF)VPQTvn0cf24fKSjR#2JF8rwf)lRAPv53=N+Jb?abu>H^3ykYvLPHn7`Kd zQ+VG!?@$`tWS)2I=La>JoFhL5{W51hH@8lcDLC`t@c~Vy=*;g2Yd4vXG5@XZm6~Ag z*w3#8`Of#KN<*5=SI+yU9%m{X|Hij&G7BC1Ihd!M`Sk3%P3B?8zezMkPdfV4rcLGh z(WHJ!z13vGj!ot!#HZFbiIGhh(6;Gg+ccS<;D0sG!+q@^#oul+iOx;t{gc}2=hB8v z=1iQA(DX~AF*|FKlb-8Ceubwic~!6Ly8f~4&3{Y(U!FAk{nF3h+HBm~e{lQf;t#if zE_%0rE_%0rE_%0rE_#1G%k7_wx!XS%y}u8_?VpSJ%KGPG?)J|`AL*Z?kABy_=>JW^ z{yD`s>nXcl+z| zesiKN|B2r1uZ!O8uZwphTGp4bGN@QdbhtXdbhtXdbhtX`ioKC-0{pz=!4ba z-oPN?hBi;T({&m}bkna~3m$aQPG_!2G-;;t=)$bbSIbZRA+xfytY)`e_>`H(7=MHrq z$v<~kr2WfyZc@)j>UsM!$fvv8_(`KnEKd{9DXP0ItdI|Uo&6>Di;CnMua5R-mMZU^ zYb=rX&owS5zYXmdd9Kkgo&9r-b>!XeP^O-4Fhgdvjf?ZpyXPDW-R(I?JqH+nsv*+u zr=fSxIR<#&J?B_}xt?>BZ&1dbX^4D>GU(iB-0x7vzG^V;cPKO8G#K|gl!fID#{CXu z27340Wc>98<9>&-@J2)A9A);EhRC_e6Wq=P=&HB~!UO29@yxu^7KyKd6ko_dvdt`ZES|pt=F(ct752P#Mo)zQ*1EtmFUW6@&2o;X$VNq4xb) zk3mMDj`r}$KP4}7Niy+V9x!9Ivy^ZJIDz3e%boBXa*a>4V$BXjs9ce zoWW%b`JD}4It%xJhhQ$@kKGCPfK_{-uXZ3Rm!k%i@zJ_cF?BYDGY6M33GyX`8+S@%-g!3;1*wWJHkIeZ-iIOgVD%;zzoKZhH2YdDKCUM zkfc6+3gQMB0QV(4>64)chEBEaz7mZtsBu^{j%@IwqY*L zv-OMIgEk7~LF<<%cDL~=mj;`VZLM(>JR)Doc1i@YkSm3 zZw)Qu&)3`dDjhY<2tGQ{=D*bYLye&O@2z=an_)(9CFc)IZwxhpsfSqe*t^3_8TX@p zgMTuw4lQFT{3HHMt~1OCE{6M}&#r)ffG!#?oh#nyiDufvR> zu)Q_U{biUDtPgqR{^pXQCJzii_(h-YIIN7U#Gm*Vdcj@P$MIY6DD^?7VK~B;#0zB#t*}HC5D+TC@}VEv=i(C@A3U`G|Yih8Gp&GkX}Gfv|ke5)H}!zz$myc z`7PBM{s#uaT>O`Kd8iR2>A%>z@INq==CMnl2Re7Q`K!1V;ve{$?ibI49{3#bBi{o~ zA?^fQzH8;juEzU79o`rBa#taIKn>at(Z`n}{{ug1{4Rojfi38Mdx*zk%%-UNZpl1$-uVvOnsnK6ux{)7DGq%|KRA}9dKQ}rq(0Xh#*Uf_q?EGOJUwD=4u;F2LzBC{|s@cvf>ivNA z>c9%h_wHNl^|IylJ5lI1m7h0totNwKW5}QF`EzITlMkgFe(x(u{wA*D>o^F}R(|%W zwf@w3=8*jL+~=VD1oE>eU-^mT4dX}ePe3=W{G84G82NSVy8I;achf%s_g73NKa=|b zblpEiUhgN;dw*t-|J%Bpzb)GM&yvsR{uA-v5#(bjr0mZ2NJmaNTf_y;xiG?!;w`MtP*K>4m6t$!|JK1{4>_Z4KxpSib@^ifWR>yMx9rKUIb3pz9+7I=dn)B<6RUb7y<~qi1)q7Se~?dPeq7?tm5I7~eZ=66Ld0J4R*y^KKTcN44D;(HafX5g+-`<=T)^?L3t`%*6>(C?)b z=JhfHTpdszujO9oWdy77{nRtPj9{tfpKdfSJ=qKUEdbA4zo(*Ms1H$p57QBQ8G$}3QCR*(8; z3(x*m)SHj6G6|eh6}69{aM}IbL&y&R4ogSE_lOtXW!qZw!t;n9U1Xwm|2*GgY-lP=6!bp9J|`kiUS07heZ>StkQP>=^Wd?Lb8`1RrUN~$o|z0m)iP2`;lG$ZS}`l?O*+PLe#$Ym&Ve*%1P3J0{x@>Wb$LjQvSYq()JDVlHpU2N8zcJ4_tDGG9(6g`olh^4_wV$W`Q*NO@=`NDF{2VwY$`{BV?#XW< zf8OY*{UZ52G#)5_DfudXg6F)AO~yZqF8azRZy`U`lT#vp@e5HohV?-=renZy zM;-Z#m|ogn?Mwa=%1`&S{hWaOn)HwIaq@jA-<)FWhXi@OA31o?@>)OH)NlJ=!n&F~ z(}!Di&i9vp=+<9L-?r;#y{BNlHs86m{z}~Q>*}v36EvgCU*p2OE{ zxN_v@s=IgFa4jT1koL3t+IuM$*4O~=#rRB5wdr2K{E0lL?!oxE%bQV=s>Ubdp`QGvhuQIMVz^D;IQa`SJ{Q<>(m?+BAsi2HX8oTa{|N7;4k>>O`E%6% zJ~kebRgjS^I~Q4?=6-ylLZSGWjcM zKcBbpJez!s@-_eD$nU%b!^?2ZC4V`?rS|jWKm5SDtNcRpr?5WKdaXcysOA&OZy|pm z-Bme7@^9^B<);VO@Gd3KSZY-==r_ufrh464_n+d{Um4yn{D+^>|I|zL(<4Xzp_i?H!dqL|BJFR)d4=#jTdtOppVpiCmAv7+ z!k}9iKjd}(W8mMdKa1q!w7>e;sC}K!xb{TyoPP>wzr(H!FZl`N_hrnr|7(62L;j7!qxmYS za>%RwX7a^9MeT>=m(ZVTe=_-LS48cn$mca*EwSl4o%}+US1q@nzdxbMtv~B|Kb5Rc zCc&cHJpB-r1zXtLP+3!r(S^sN2eBnbZ*Zdw(lJ>78UnJj5e&*UX zo`bQre-M)2`#CEoBtMz_yEjli`4suj$QQ{^C;tw|qlph}`(sW_Fwv_xB#zR2<6Y_6*_DkeH_xP{K z-^=i-oaN-FZp!>X`9G5HFeu6!mbU{ne;#A=b64_bsGNIkIgOEj=>~?Eq;zlx}GzG_AjLW6M-GKP@+|pl)t|IKoBXq!M=HK#(~_qx?M2bkTBkH~BeBth>tJ zLq7N+%HK*S?$Nk&-C~P@_Dw?!CqEQg8bEL|9Q)gAwO5+hxsrh|J5EgJ`)?+ z{_bS*kE%Zzt`zyITN(eXH?;jo47cfJ*0AOJ_q2br`iK5Zlb@mfInUakL0;!qvh!>? z()K~;+k%HJKa2Lea=u6N?OgKB%s(2RdGbvDU##yx@%oY@+gsl+upkEo+wM$>8*>C! z`C=6GMAztgqkIq9U2oR)_2l)qA04>QTW?*lSM>dxHjBPLX>wG59Q1Pkxvmesv~AQp zh4pmT{jdKN)lc`#@ATcncvIG6RsOA*7nJ>Es+aTaqAwvVf{uq+`QZ)KMlcuh)UK$H zczU@n-Zhu|9)cs<+>`s`UGrxyjOw>Uhut-o`{P}`+#m1i<^FhAe;2}|=PHDM2=%2r*`ERXavn|XobTE1bV>C6j3@t@)1u~=dGE`9h^&*}KJ(J^Tj<^Lw!q7e zv*4ckO;p_?M5Ay4k} zSNn?)URS^Bc2V~Ogx5U}@}ifXAISSodHKqVzt>>jO}{=S9oF09DvKK$q=m@y+ zdCFkBpH}@}ME&lX&t4^J-UI3Fn&;s^SKr@@@3+114ebz(kAHaSc?Z^?)GwmOy!hJ> z^U(+^j*?oX4pGc~{J zH?^PHN2|<#vi(ecRAt=uvk3VsYd@2(R+*Kxp9N&@Nc*{KwEfI1sxof-nH_7tx1#x_ z_WhExA1->EYHPWzeKwA#4sXKrzoaof+rmes~>KTGdb8MpmR zFRe0e`x$&(WmeXHra!4NZu^=34Bss2XWLh4JM+-H?PsuBwEav&@3x=$y{pX1+Ryxf zRp#GmKQrB;?Pt1XfNJBmpW&L-=C`z;@wKXr+kTpZtIW#U&*IwE#%(`~c;9V56P>D! z+kR#TRhyNypNab4)_xY(uQqP`ncuM5tgQXa;X4{DYd^zb)y8cSpA64fwRQhd{#83p+}XZv zRMq)OL%BV-we4+|<5^la^NzE;&J+G0_TD`1hVl;|9~83GktEs17Rqw0Nzo)lmO4e! zYSK>SNF=1GR1`WPRAf{nDMv~wG;NZUW6Kg6kuA%i&EEH!x!&*R=Uh2G`tvEQ)e=dI1e``sfI$8YB!+kg= z>EDRHDd$T1N_yRv(D%n+o!XJ~mmG=bEvz#nCB2ZGlhS-=OM1N#qA%-&o}~Yjl5{E8 z0!c4pAzjZ~r6hfou2;x8tW}a;oX%(YlCI~xbbVl}q+cNM=srYR(x*tdT&ag&Bz>0D zo1W9#C+XiyJnE-#&U`QU+f3=jB)t{o8#GdGS|)KYrRSTu|&V5^apJhT?cz? zlk_)#=28yN#7>*rtAE+r0aUPu9xb1T1w)y%3{4MF8X`L zkFK9Pl0IG9*UI^UfFMcN$9ie~NO=d#xs!pEK2*|&XnJ|%n~?O))Gn^1my&w6$6%jg zilmPcKentZ>N%J>5~tA=`>*>%e~pyam;R#<5+kJkeTl!YJYf9R75%}N>nz7g z>6^sA*1w*o(RD(5EaEpse}cv@>$iFiW-6uYIhbAIU)x2`!R(cKGZvt{j`&Z@IIQc9 zn!b3B;@tAUcqM?l2UUR7jNk4cW`oGsf z+E>!wm3q+o$ST=KtEbnUw3jdGp6W~g+$!l6<$BR`ri1l9nzQj4^kcJ0VW4n3XX7(W z&$-|N^v`J)V&pua8wHwzZXIw>>8%{PX9WH^C4hV(3@X7Oi%SidZHiD5dFAd>a}x1J>&ATL$uETI`x3Y z1(IF|=(hqUI*7cj@XEkwBVfESFnxZ_(64tPFl7O)i-1W%vjw<)f#?ZZ%|uVoY!2=V z#>8)8GScH0Mo{i@!02bEgxtCYJTb0V$kT7t4KXPgxvp`@V~+w8@une9{CYu%@%=zo z(Afx{5}q6;`ED&5>N^t(h3MxD>_NMw9!GlQF<^QqF!6}sKw#`)p!*Ck@{phdOo@H+ zN$}{?z(mg4Nsy2C1kfD}j0^{+#7|273_`j+0_cqdn$nLgL0|i$^gFW#`hDyrl+Sw- zm=tbExs4}~?g*NyCzuxf*cT_DzDgEEJzb4{pLh)R_LV1w>FGzo;VMj zPK-x-Drdtd;PyCh_k6K`1l(^ST>SfwBRzRP{KV!Xo_I&ZlgJr30)J_%K#0kwg-d#L z2zcx%prz?E;Lj1B5V<`RdWnXJ!+aI_81=v{LAwEXRN_qKOdNtZT(M6-Bl+e$7zF7_ z!N{}VQNfsCTreS+6if-G)vxf#2=OBr6O3#6NXcI?E*Kpp>59X^0aP zQZONPtX@Mo`=3E zXbHx}uPr<&XuJUZn4l||7L2?Ic}nb~((VaCORft``ic8B`dzXJ`cJY8`g7CJ@gC~BG^hrQ(A28ir^zN4Y?g85O0;AuFzMy>((qq+t zj`)vCoW=yHr`OAc@g{OUs2q-if`0PMkjI3ZuR(541}1MR6UwbNz<67rBj^ey1wFy^ zQ_%Apl@0CVje%}0pfCOt2f+Zw! z3`~^)#;=0Dy#e{UJtY4H2wZu|ta&p~=B4W8a3SPSWi zU%->U0-ZWYkL?4G?+2zNe(xZ-e+U@cDSEqr$)>P({s4Cka7*&@P6GFf08_PrvEsn^ z$-qcmpdSGmrvj5_15;9Ov4Y_7LcrK*!b^$XLE&El?S;U^AHd`{KzA`P{T0w(B=RG` z_!6MK6qsHH^p^vZhlH;Jrd9)E-vO<)KyMu|xgHqxf#wEa{9B;CQgABzk(*EO2c#!9 z3g$<;a~M3i1?X-Cn%jYqpMZ%SKxZe=&G}W5VEnOu1dnb88oPmM!FY8^7fd$;cjiey z*jqpJWA6vX4*|VO4Z`$fTX5$v&^-m|sh!~FB=FcS@buH*hG49p$R7kI?+2!P0i(kN zhXdo!0PSZ56TsNRK&wA6@w}vu0!E$#rUVnC!F{na9|4a(CVGQ_@h575dli^CBJ~>)y?XN8)g8}W>Fwu- z?GYJT80{q(|4N=yF3K0CyN|aBF)>r{SD;tzV%YDJ=apMfc9QsRQ%b8z~k4UT+!=+$BoV|!N9~2p!X>-GF$L{U~)3hnIL=|&=c;x3~oH!2=O)s#=dM4@<`4%ZG&;g z>(Da9bVs1w37EJB=ye80t_8-sO1fZrEBd8^U`*`xT@=-i>y*^MSiv&@Uo3&=E`vn&+Z_cuyg}$kV{YMM(Drlh>lX z-6im!nvCl()Cnb7j}*NP!2(#(98$9qAgs}yroZQufM0O`Kn*_ z$M#MY#On%rg1(?pRmv}D3EF~2bL@W@(|U#Z+k~2)i{5}xZkj*YU%*R?exXI+T7O%8 z@KPe*Fblkd@L#Wm|4PDtYkFDOe(i-PP6KZ)yi6hRrov~BfxnZ5PbmwzC43jvZ^1i| zUuBW^_yhK52tRQmxb~+z_u?FYj&tts;5vRX_wtbYBu^7(e|d4g9j-r9_H|t0I-c3H zu|K5mi5a_lhxM!DPi{H%{mmKhXPt-Z+5I2$LR-;3Imc(izv}J5P2o4w^)PD?+AHUC zY2n{m>Yux*|Nrzc^mC4HhJV+b2mgBg_c{apC+Bm-;osNOAwOIAGn9XwQ=#8XC@)z6dE9_fowKNZD+BiD=O zmpUNVkIXNar}L0U4rbb$#Mxh7d{_y@tK;k9_s}17JSuc2c+PR&@Nd8o=r<8wa{%Nz z{@r>2avkp%Q+<_nA=mrO7gT?3laOowN}P}WqvPL2Qy|yz{e|nmb-XN87(C~7f$(oQ zjc?b_hWs3nU!Dfn@%)m{z-xU%E9 z50gAe^}nDs{9P^nrc(aj(EY7D^_P*vcg;h*wZvb(b>Q`cKSu5Q6Se2Ivk*^9(ceP- zaVf<=ArAjKpQzIkT(9@`#P?N&yqx%7FdDqN@Cl!weRTZ2bT+tNe-+vwzD}ZF;d ze~*@dT*v3lRG-6WelY1e==TtRo9e=!&IfBY1=sQ4ErI)^qA@|{+mgPrCj4C@{#H_d zyu2*@>HO*J9hv>J?P_qHZ*}_(T<1?cXTV;^gHL-wUPSV1b}8gq|2sB<*BALa^}w}! zKMV)g{@wWn_|y4P^$L({ye){|NW4)i=xhFKJ_pzFqfs+(t4wSJOv|I+8y zL_T?*lDKEnd@w0;yl&y$aQ=!G#^~s@3r=bSC0D_*KGpV@$^lq@7>fNc2fDfH9~nVlLEAV z75;R7{n&JHeZKO_puYW1n3qHfWODr-bNx=aab~8R?PFQ&jYaTp%Xhv#;o3jVuSKrk zEB^}Il;0=U@1ZNV$zJ=nUzp}w?chh-b7}(hul=vn$KZOsJW9MD)!%mwps&}vy%qCK zqoq9G6Myn5=$jHilR4lzKNz|PT;~TLQh(Xl1#%sa({w#`t_iu0|7Sl8uGepwY2bSO zbtwR@&tKJSaP>cEH~NR(-^-SQT<33%h(AF7O1uMoy&g8yhrbi0{7aUA>-E~5;+q;p z|7|7uj~9bKop1RsNI#MB%a{y*+P~|pfxbT9CvFDU@}1iVT-)!1A+Rqd`E90n=AHxj z2_mm}0_?T^7S4fO@2A5qgj~ntPc4)uCicctvK}P7`*!H-^H=`j;9A~kG(KN{5c%o- z%l}QDM=wSH`(JZ@{;+>XJdVWkzvg;h(CXIvit_SpP``RV9sDz%cl7x^QdsUkvL4Ai znuk0_a+^5&%Zs--9sQ@d6ktLRwEs!Mt5})+ZG;1^*S{;}v*mi3BHR_u>n#i9eyi)t zNwt^rzy2RG-nEwgM!f9nh)=J_A5Fxg^PMdn!A*&O7R7t8E982;CU1j3y`PWy26A1W z%eN46o!^?5OaJ>G>%H>^LtpQ|rM>{y`|peOGsm08l_1x6Q^g?H`N0Ywa-9$PPh+1% z*O6mI(0`PB12TD>^E)<=Tk=Xg2)-{}5Wa6@MOpSl@b=i}20qrG&! zatV#E#y!y2^~mY#(SP*$!0etmKI?j&bD7-V+`?^L%{WVygNVa_4#8iU4Q#1zgC@Kuj9uLw}9(- zv54BYFU7aM1M<6B;*H!3d+iU;Q~&yy;$2AcP9tHj^T~cC;9u7}KBxnJspQA==gs7Q z{de%E^OrxUf1Xqta-ENLKNJ4-`MlT`$n|=-U&qhY4Z&MWeR!2+yto*4UrW+&+Ya_RU-M{wv4!F* zw+->>^YbO&g6s3fda}Qi^q(FL{o+zzJ4ydBs-HsVB0hbdSU&;wy54h$?2Ar?T<1sk z(EMdAO9rS^T8?9U|slTLxXK2Ovn`8<+8PW91~#+!jupH0YLE8@$j|Lvgq z=|uXIsQedE{WkYdfBL*Noa*BU^{1Q2eiD_Z)itOeQ`-9@k}sPKx!%7{d=FfoZ*PAT zT<>?cQF+ckf_U|M+D_NYMyj6=AAmny|9xd4>~(&-lGReo_Qn`_~;*p9iV_?x*@`Iv4i39ui#%URT=V=hEPMzti8j zb2`X;O!oW!S3FMl*L-~upSIT*RQ~E`WXAso-M{L-2f6mArRRd{c*6I`>&aj07d*f6 zIS{EnBb}H0bh#hWxsrV1pnVy{qvN-x$F4=X_5)3Sr3un?{X^4Nw?Mj%(tiT%yoLTkIMS(ab~c_she+%Jml^tdE~$BujOVQa(8JS_Ib%=eT(Z|xw|EEJl1qY zbHHEc?>_X`a=#$PAKu4M|3;y|mV0u}IGcT3?0H{8{U`E}n{s|Ro4uV!`OPc-y8Ln3 zFW`LxjW2eRl%Lk!Rc_1rszd9pDt9H_qjgx7`;u{Ojw-eC4m@&PdG9bK{}^*f0OJy_tvHm3)8oQ z)+-9*{OWI**Vwbr-V-)Ay*BWb?ouK{ZgxWbUbn8qgg~DB@f64dlJgfSjq<0nJa-zJ z&wH5P_bgXyQ(%{T`yBZ35r=sLutBBv;Zl3@WV|nFh};qRHLFH02<-hzbu#RIkvE_5 z?8rcFklgKvdU!DBQyqageoCf)^J>V?_`Y+vlx;>JcO-si0Oo1#{BPb3?A;P#ujQMI zdR*S`^tzwY{O*$@?Rf9m!=4G`?q~Qukp3=| z*#&;yJ$L+|KpsnF%ANWsf2)BlZVBX8&JVJO{apOJ(tfr3#lx);^FnDqiO*YtdGv)Z zyzp~ipNwY8EgSjo_h;M_$i4Zs;9u;`ijd!PR^zRK+&UxE-tC9@P8!%}SRjx5D*aR2 zpW4@7kM=c0Zrlw2XLT|!3GCzV*9`MFHX_}T{M+nF%?jjx$;|#|zK8yMH2;`CC z@_xPM-xTo~?_3yeCB=)1T*~LXfc{|@h1+t-mePTVqMPat<^X4a1{@vT{U zOPfHRDwA11mWgsS-d6IyKyIIzDK|SI{ujONeFM2C^{e&ccZL1073;SQBG>wR8};{5iQ7}5 zye|5m=I?xf{{P_2*B1ryNSVy`cix5ktJ@2PORKRGnfB&~V!va^%)mZf7x}AydmgU8 zx=Tuj^%Hwk`oFZFy%hbsdpR>)sL9;^oml_rcDS_=_z_jSu8@9f|)Z$n|&R9+|Z~TnaUdp?<6(ne#tg=L>uU zf65hg9tY|FC-<8mANN7bPgKv6^|x&6d^-NQl~BI3mQDU3@a-SWygtme=%4w=7i}NN zQ@c;j7$2Nn$baSy-P;B7xQF+{9qB*LZMctC+`jnUKpq_!LH&u`y%X|N+ukuaw0{ut z-1y!`{+*sV@_8Wl=bjSUyHdVv>x^pe>_&XGPXG3BU>|8G?Xw^0e4qF8Oa2lc%e@WA zU;C%~4&s~o?ZEwk|MW2U&&~g0^xtxuXIvP_;||Fm#Pzq+y#nLY+agaRK4TgBcdwqa zUk>d%H%9%de6Fc4O{TrI9R7Pws~p}x43TU3%r%IA;L0&* z|04K~incGy?Ls1#_`Ex$95qYc5$4|t`P=Uz-CYX*^%}Q)DJ#LQyC}-PpwuhD zw8e;*pz&os{1+&_ZB8KfucY`y-oN~q2Lic8aT-z%p8MDH`>yU=DAN9xNBbZ89)RwH%Nhq#trM7 z`NIzwPZXUf`kBgIkt>?@GUd8|t*G&+y}us%x=*91a&3R>EVSR}mv*^2kVPIv|5dpw z^8U`P;r-ja7xOQb8`WXof85D01oqJ$GCwOX{d+Lvi+(H?KHtSAWsW~?7wFY1+Ob<; z@1^mbGDGZbv480CC%zBl@t0w*a!=$*KgMMhCuHBm}&2>K>3<{cKgae zZp_TIx4wq`=37emfjIR+rri7%_8)z+c6K07&k%VO>FzkhH(<~=;qzbIlkvA6%d;+j@TO_@7KTNz+=fB@w0PwJ40^wh1}Hdo1EJ}Y;WGjjLH6{pGB_sU*}Ae|A&)?j|k$kXUY6b?muP? zv`@ZGjL{| z6_PJS{q8bv8Xw5L_iAL=TXKINy|a7RztXca3f3V#-zXbA> z%H{fVeb^6gTt2-1-EYOd9Mavcz|FA_uMO;t;#i+>MD8p@{GAqF@pvGP6wZ|UtI?i6 zJUzTXAa_pAlv^+1{y3#k`S8`I_$jjfA>)txB;x;g=)Bhhd*ijt`Zs?-e7E0Jwss&+ zx0C)S<#Wz~|NIB$jtu11-YDu<$Daw1&o3}9TqpHPL$3Ry`rR7+?t9=P_|yGSegDFw z{Zic@HRb&beP0vSIoBE87xjLra@`*_^?eQUulu9=ysOX2YOnjFzRctOuW=o!T=z$9 ziO;9~T-_hl_i0R$>;9-M_g!1clj~oeKlC|;=f|$>f9m@wHtmP%{-`P6NAhXEQ};)G zsUMrG(zZ#A&L2+MX)gN*Cb75N`6YlrJ!u{HHG&?X|uRj#yw)PuE_3w#)uNn0CeI!fv zN3+Sbee4%8zFgL^RL{V-)fM|7MnlxA_X^^v-MIfxfjsWX{aNJBtB^Nu*fQh(t^S=Y z7~jUHtF8&`oi|Po%c*kjY}h~Gy!2!sce`ZH-_1J^hq?E|3W40TA-Ctj&Ke0^^UT}f z_!qmOLg?QUxhwMiQ|}F*@2pOcn;*f>7zKQF@3rChX19erH@@#sKhY0sZV&R0@$<(7 z$SVx`@`*t1+(hx;iTF1(7_c^wyAr>l`;J-mVI7g%S@ubz#nJ9Ay_aGu*XPG`P`(?+ zef&+3e`I3j{MV`l`9l?Ew-4mWIhk@-F^^o?F z=aa1Gz^X{U&9aZ1yMMl{1=>^I%g}vvy8_;BnYHz!+Z@Tg8aQ!YdtYL=SuLJp}0^P#> zA**(i47pVo^08l^5w4G=RBoZ)TAOkG-tW$Z%hQgG?sH;pWQh0 zZ;0Ib3GzOBz3|nS$onLh=e#}5rgabO{dpvxiuRda;9V<_n3jft zNAh=CAkHg6EZFaP?AqpmfA^!z{9P&E+U>zFf#!^Vb2H_>l<&&g6T%&ZYuO{qgu72{VK<-KXY5Tj55#@DG#}xqwz(qXjgz-->-BUq20{8fTeGEE}Xw6`(^fjU;5|Gg?+4_Pdz=O{9ews za&TYW)L}@@oh@g4TURRNo}3@Zc8);n&t2Ci)IWd82PXyg)~_@^Rz?5LU%2D6KyIFm z@ll_jjBC(;H?5fN2l8l189$|ex-$@8$A@c94dihT*Oz;hl>ZgrLuD?Xf3%$ST+zFH z*q32Dt6VYH->dNV`j{op2mTTVuwH2$1gf4ZdNUTE6yBHBkD}_Cli;uCo;%O_%lJg^ zlPY_D{3|_kGW`Ai@V-y}O3!)+^*+19jU_|9eTYA{A7~Di@tMx^>-zzLP4MSli~MY( zPuR|5PD<4X(v!uoj}k2oR6XYa+OzhyNgoD!iF>gh7wHOAJ!1pf^|Q8H%|OpRAN!86 z^MJW}KS0lYy3x6TUTk5lFb?AjpxXiQnNxwgXFdYGRSnM#+aq!qa^sIoJuiWLd%xS>3gU}Y zk+`Z+eBy7>q`NBxdeH;o=Medm_5 zj0d$lox48p7d=P(D2hK<^g7kv(In7IYCkzEGhbsX^8K#eGvU68Q4?}UQ0v*)2EEJY zF8nt1Cw?rcNAm`>t2-a~!@NQmuNs~dURR!=spWkZ?YsPo4m$#WhKYQQ%0SgK>!4o^ zsy3o?pys5}pS-=&ujE_^>&2Sle1|XSik?IHx>rCi8k6%PK_*B4)sp$UoFCBj6UC!d zkM)169qhex{xd(WoPXf=my~OsW@ps9FY9>YE?f3=Ad7pr&w7W8h3%mFxhVUS{Qi;h zT)iy+(eGROat_~=-<@Q2Q?4)Fe~uNs!wGaE1)7C%IfAOE`_Q*7zj|Px=j4N4T2S?L zKYG@goRU*Y_`78tBC;K+h9YJ>93Svhb~N zevvE#J@ZUKDX;D~ul#09xGtWq47pte=!%}P2jfJU&gX{nbE6d6D|R|CS8p)%PCdNa z3F1qi3b}Qf=v|L~;K+V$lV^Sp*YlI(FkjIA;EJ9p*K5TAb#Ds%MMlfKVhm9Aj6(2x zo3$sLccouCwm(Po2Ax!@MBp#(X6glLNB>RH_lNSyJVw_$-@|xwwC=I~?}@!9_PWk# z%+9oTWqfjSw#S3}e2u2phxa`rb!y0CGk~gRJTK$Z*gc(sd{YY{x1P<^^F~AOvd^lI z3H0J)AopGoz1yWde!#dr{M!=Ye9Bpi^@HeopeuU*2I#Gro~|7Dvo}E=*$gz*Umf`E z)U!r7Z%BU+dEC#`Geoa(x69`Q{!&{YkL66)f_iXogdgK%VC~`k@%*-|D(YngQ1u+q zJMD$_w+8;AA3^SWnR>=4@OQB91L5bbV^>1%bj{TBq}^_KqBr&tszRQsnW<+);BVGzFI^M(GvlJyJ5$dQy#gl}bOJr+ zTgd%YnR-SE_-o^~3;RoQ4CL`~nR<@seZOyCI1f(Eg4}qY^iGAp`JH-v9OUcGggo_b zrk+s}dX<9@I|X_lLmvGyQ_m5-PTlR(0zLNw$n6g^^$f|k>8KSqhI%4T&dtN%o!^<8t?271l_$gPJm^$f{(ekCW| z$96<+Jq*3T_UOOd_c!xer#sr{sQ>$FC*K*={raO+{_?-Je2>t5r)PLQ`B~lvGG%|= zdJ*Hv62DV8U-TcwKC9^nik^7_=0zJe-j4axU65OX>d!b4dbe&rEu7z3b)n}7=IV_@ zzQ4Wt8}>iTm&N!Xn6;2iFmCg{Yc3ZZL&FC-L&Xd~< zaW2P{{YG;=^h;EpUpnv?{itLZcVaG3^_+?*-+hhjaR1tRA9Cx1Og&5XS?m7T9OLRN z(R&XVAtYMihgg@uQL?&VhjViGCwq5 z!2F>?t((Jnm492~&^~rM(7jdk-;(v?U+r)nY462(Lh~1(#^B4ojB_92Fk1Ht{pIe{ zsA3khhDraCeKvjn>UihZuGr_kN7V-TE7xpY*`F|XqI@q@i`5Ba=^kiTGY(WeHx0ct zBYs{K=(#swJu4-ct0(@PDzs)!>SC8H|il2^tnCH+?91}<6PuFqVgTz1uBtg zr-$Q!t0;Po=tZ^^YZK@t@WFD{tcJ$lim;1^M-1p_g}Lho-ewu zdV6aii?nVM)?eacp!o*kbsy^!rjKfIB-}4aEyH;m>l-KOOq3AMR`g`u=Iqi;RcnDla> zxeEH$`zYrZpH-R=_>VOg|DLRel$3Q&@z3wiBrcbAYs)ePs(mAmp>WPSzxeDmHa z9_V|gV4h?b2eQ5^`d>wNh3k2dGohC*LHax3*I9@9EHUlo+JS$oG45Z{CcwDxKz8(> ze&5C3i21LcnrJIn73*W#bt===)8{gf2W(+>+dHK z9?RzFG`6?b_6f_Y*WuB+$NIk~@tbl!MlqYcE7yy=3*}3$7%(>Q>%UVz%-5d{jJykU z_d?J7S@7Ey;q{fcu~MjS2}W)LSAAFXH}o45t|K^CKpqwJVww8pFYv#+_1A9&@kE+I z?p**(2oGdO|2gt~PyIbB_Z!q7&u5e$Z5#Z5pY#{CS3O16cMl*=`&Q)h*6$xo33QS* z%7pb1tqIirs`|!l(Enol+HjvLDSFYfNnfr{=Th{mceXEH8OCs5qtL$-2U^0-{TR0t z{TSvOMr+vTq7)?edRvI=t<9LRzXu|XH?g{Ln2+*Y{rS-U@P%)}@k{02hAjGDK>u*n z32z+j-(H_Ze*yHnm+evSX#LoCS@geze%DUT!~2`Y!n7+Qcq-cTX#eh_OntW;#!<_~`vU#0Ipcz(^`l#5pGVMD9w;5- zPrnbX?~nTJF%ReWNZHht^YZqSeZuyB@8E#&+>lun_wPg%U`#MAXjVY{_K%o1RO@wf zxPEVb4SjzR&=pL4BV6p9XOQ3Zi{0?P6JK&_n7_MJa2e2^EnMt)9XqxFa$V1kKM(GV z&a`v#p@A`-S2+wPzKZRZD zGl}nW;q!rNXBB|mfaw+X{GB-cO0er$;Db8?JA0Aj^EEL3jo@OSDesv$U!omveRfRP z?x}-VpXB=RcF6i>W#}6d(SBzYORo;{OKipbDz*dY2~P`Ze#R=;Rh*Y|5HzrRGjkrN z`KI1Nx-0pa>yhtuCzTB!^_=fzKDQB=6z&TKzK{O%-^A}D`@)b#MVI5A)LhZX=m;b}p)iu6-CFE+SWmvDY#-idjHqj(p%FQ|6*_psl% zBZFpncuKh*gom{ zz-V1yyfM&d1a#$lEc{-*FYn#!`}Ofj=$Dc0z*I}z54_cg)1`G>Ew_=zI&SP|U|QC7 zRi68v=ZHRGysZ{392&%*-idaN?E)r*$9ID#CEZ^j`HOv_0c*qk;OGYEIh%mC@U);O zsP@)Kw$6M<~s0{aC?R1FW*l@*EfuMbRy^x!i zAl((N_WJ$CE_dA?&O3~Yp%+!W1@^XZ>o(z%zkXja{=>`RI(kgh1`UAgaj$#*N2 zXR|leUh7TlT*7Sjme}iiJ+{~}X0x}&-j;ed#hx*ny(9Ln)W3d@lQEmUtNF`&U-~{8 zV>WwF?Df60-1pVQpYm+>zUHs*sb#@z_J)2RQ~R6P>w9mC+3ZcV*Lbxb5@xe^<^5d8 z#Qjmf_sf{g-dFoQy)aJ8_jpahZ1!e3^nYhB?Dc!UjM?lx$={Ip^?SsO+3XF;-;n%m ziJLK-y`}a)BYt1(8ME2j(tb`Qss8~zQICXK?dAPDqq591#ZJF_s+i4Q=MnZ^%rl?q z_E5MFk}Oamj3bdB=m<|20{4aMJjSYu=i!dG^~+eV)%i*`)cp1PqjR5X65dB0`R=H{ z66f&rJEZn6;7O6IJ-^=&J58RC1k>`qgK-Md_5BC6*Zsoz>sqf1>MAbZ?TlQD{B)nu zu)$rC=h{Dk`YT)dv@wCbv#@+vfAO5pl?3ydnDE46@TBlu`x{YzqpI$?KCq8XL_SGD zN6>v8>Csn#x%NYm|H}ogSQOYB*OWrOoq(=j@@nvON1!S1pO{@>uix8b41FH!AF+3y z#Cnc?&y(?3ra_uh1=qhP`-w&~nWr;mao~!*(HwUAy;8<3=7uft+pi;j{az?zHv6%s z8(}@?Y@>$g2`(4hDtJgRQW|gnhjp8ToLBRNYyVL{d7WQN_k*8QH=y5N)`Pr!VgFMw zTfr_;4;X8m#ZMmR-y&7ZhWREd0F7!uEthvK>L=TME|m}WwY=_kM>SpeU;VvF=M9|O ziM$4MUj)X-0%yxUizleRzi2hXxX*rbxttHmJ!d56gi>F_ukQcpexL6D>HCja_x&UT zJ^!QUi1Zwgb#mr;pj8sLulq&$u#TngIp@Yp|Izb3dQQlab3T!aGSB;L6~Adgeg9J5 zleVsr_DkVD)nVo0%Y&>UZE+vdc1{Vm+R1(IGGMF?FxSr#_%W9C^+P|c$&YYL?A=Sn zPb>1X6n;K>YJIp*61jx@2)D%Ey;%ITBtOgGr(vmOWy5${kRRce*t?eaxhT_*`xyMZ zoc#Kaz>ixl(~o%uc=~i;qBbycHqg8Y^=w>#b+ab^BjLJ|)~}-5S=M*tdQV=T$<>cD z8GcS&cxR^|9<^6=TV&d~Z8Ev~v0j58d)Wtf9m`L&ai*PhekNBx?iTo2+-g^NzEI;( zw7O;5xy0=*eK5XV2tOZRQKd={k9#)kqUQjUb%0)Npdslg(NjN;1wSvf81-V{$1tIv z5KLABcPasGNskKZxaMY=e@4H=d^4|ks43&4I~e_^={qm(2*QchtR9xv7BmDS^^xw^ z14aaMe;>#@!a>wu5DpF`OgjG$!)I!nLJK%jVIglfqCZfJtwH2 zY|ja?&X|wq^}LYlM}BXCpLb$A;U}->o?Jg!=KX$WT+gw*=KtF6!%@#C{(i|lK|Q;T znuPW2Hw4Con-_won*%Mu+<3D1F`NFiKlKyjee_?sRDm##)`EitJ;8l~CoF+pR4^_$ zPH=(X(Y}NK55BKZ=zqCjq!;+zf;$8o-jDRof<|xf0mRwAf3ZB*pV~Lf#}w3bw?ywS zU6JjXdvZS9sS1DZ4*%n;Kqqww`vmr3*)I@uj(|u00J?&faekPu`m?LSpEqPk&XY=x zzkT9wzxWe$4v4>l;!n_$`~%yg|J-Z(qulcS7_Xf?r(K5i68l`Brt7(#+;iq4*Yu-( z2mklQzbpQ&_VBO2&uqxPTW&i2j)!}(tUF~n?_^yr{^VSZp0Ck#{oPtcjxR6niGNdm zw?k3W^>=R-^YX`X_w^IP`kx|L;|=hr;2c4F8q$?Fk@T40VA9ik?(cx>V36Pd!J&el zV2ZfvtDd6jseey?FEORRpCR0-hJI!I+Al0$M9>tBD$nx$1y}aty$I&t?_7OixPRm{ zs2lo=Hv}dd0n?3vktV>{dB8+d!3%)u*MAXl?dcOcFDOg=&B~!)*96912SzFZ9l=Ot z(GyIK2G{yvO#Y61Qi5@P-?B97r?2pc{*I#PnZl!j{2h1ACn0h}&JiSqoATauO1LkW zR(<*1#cc0KtAAhgZ1Hc%?=c#+W!w-R6|@9ns+Z;c=v@D*C%=<8Sn9))?@}j}i#(;{!;S$W3H@|r-hr%&_5#b{X0`IDrjkXmiNEl zJ*Qqp&yaO=N4PEiUExVVPcS8z?fo$IZ_4k7S%L|9zI7$PvBDjZM^sPH73A;mssCs( z)PpDIe`CU(3y~gIE|?H>1+%^1rT&wuC->Ks+Kd0Ra6`TW7ZEfCv%UYN{yq79B}dj_ zec{F>h~JQLKcc@+Bp4MmvbA70}0Jx&2b6AmyxWCpAv;;c~#szD=0zJh6S<+QLTjVK0&R4nnjFe+0p2zh2lKPzp z=FV`e3uTkL?Xkb5{_{dJA@wTx+w^+~%zYR6>-Q;GZi;!=*Y9KG&V%*$8sxma%FV}-zjD^M+y1@!cO`%Q?gsx}1anu)pG}{C zAA-xv+#G@O>-RkV^m`QYd&nv`x_0`yXX-pg2b@-D(W zPcy=E=ru{gI_0r|Y_# z&Zl+0tnce9&(-rWUsbMX%K31O!`Xp(xOF?$0Tnr&x#}shT>a;T-cDKn9VYP#ayoN2 z5B%35r)0wNDBFoi(UTE)<=OX!iM19ZuPwCn8)Q;qN<*RZlEze>1VqWYE zayoO>Q)IdN&kJ37E_CY4y0{>xGtWyuuY6VRPeZ@6KbCe7a;T{)aN|U5Mu%SCG^HF3&4pm0OzsT-oOl+=b14SoHeC$PXD|7II}nG z_a%S%KDaN)>3^3Wcm6+P{Bg?2{YTKIbmn>KA8-D~FUa4z0s9AvoX%YJ6j^?}`MZ+8 z+Z*kli=56p5B=lK-}+VVKMzR$f}GCW%|riq^Y=CXev-c+r!#l+&_CY%?R_Y}?w>1i zI&;-iWcl&t@BAkHPxj$;U!T*NtDYjuk2imP9?|C$MNVg~dWtMR-ux}uhtTr{ik!|| z^%Plty!pHPQU7}0L6Os$tDYjuk2ilq^4D`0ik!||^%Plty!kr^<@!G?^AABzXYS^q zf4up-g(ZLeZcl&A!>r!8FS*?$F2yYRs+Vggdba%Ti|#|X;-B@8H(u6@%YMBhXt&2Y zf-mO@%v*3@(eI#}@1Q*T9rSFd-%DrY{QoJ}@7JaaAa19ltb^$9X3BSM^*gm@bF5S7 zcWSete$STipT^7f`u)VTzJIUZBa(elU6;}CBpMA7zkVk%8|wEI89D!d%4-eH7p^-E z5L_f!ZWz+<7MvqkY&gNU+^AkdG7GA$UOo=|crS6KwY^(*G_V5__+b^zWa5 zmsgz7EvS=Nzouci{3n4<0%$x6j0^&rj|1Z#;;{RI$DWq-KAG}pFYvVZOWqIeDE0<7 zhX7qcU(gb{FX$V>@2BZ|1IbH~uJ04*`vvA(xPFcoZ8>+(sP7$U z`rqZpYsY%rpY{C={e3xoFT*V<^&;PG)%Q2d=~DjVL|fipVAS_IH2v@LyBl-h;3&!W~7pKMnT*uY14n`Y@dF;rD-Ze2+~o z8m1>k12vt|m;$-=8Zh=E&=X{Rd;GEe*^`c)uJ+C-$P;5kZ^B>e+s{KDbu;zSYA^RO z^`8yX4;2aPA@VRVF;@Iaz1YuzCwf8d3I3_tC*yi^1l=dVjTZ#-kXyGv&y#aw-Wy^k z`(XNABlWM}J5v6q{37B{_PKb!Oy^_z+-%8nucmv)X~)mIYOl|uikhzbbn0K_9EWn% zQ#(!PeAy4Tk23-Fp=isw-)vmd6?J`E=iRxe?{mm}T+?|zo~OO~(f2}lJ)ZolzpVL? zpR9V>{Br&pUp9R?&z74H+2^MJ&2w+uj@h^~McP-;lIIRhXRhgrxzF!YFm7r)W=rSt zWYg1h#y_nSWXU&MKI%{XWYaUU_*FagqnJ&f{j>d_-^B%a`1>V` z+@$twN1Wp*G8pq6J;zk)bMRB8Kb3nC{AA(vKLigyW|xz;;uY{yMBZZ)c=#jLIcXP@ z{wC7*_CY`AGacdIJ1Ow+#}ji>z97Dact`Tzra|j)-cersl^g+o;YZ5&;*DrlBv%FO%f@}M4d^MBb zG#p&(|6Jm!YLJH?U(JcHdrxqke>du#$x9}|wf^!`{m(6m@|ThFZ+{H>+P@=oUa%6K zuj@$VD@F3}+ryteUo1HrT%U&y%k!1;ZnGfQ>!mxDfBitni%PsLN$y<_xt_bbkm{ow zUB4EUZ&jB}`)!opXQaQA>VGqpcPX{kYSQml9r@|=e@5I;ise@peXX$k!6cr}Zzm(n94*Zx0?{J%o+ zJbn)Jwf~fQ7+m{DH!9DA#0L|fL-EX{{C=tr|N6YYkm~$c2!=(7n zAzr*Y{ONl`V<`SzxHsT^8OSHNGPxH|TedejquQFF)y@K)fLFt>mxs^2~S& zlfFUm79n{t;wKZ25I>dpX~YL_&Wxv)#H;mnI_aN5{7m9C$bJ)*zZ~grCOP*P?hhPq z(fiOp_5RtB&gGAfLax{Q^(1dkJWk_Pok_6Q@w6H7IU^v~@$P=QK4TR#=TAfFezBCU zw=c=xx5UTNc+=|*-b%V?iUB? ze)=Hk*Cc;F-M>Ge`%#+W-ADRwQ2iVx{TnI2tz`cKjlbW0j`HdA!94Q6vOeV6zw*=l z_$1;*=zcJj>bF0Q-`~>w?jxFCJx=-$QT;wc{p}WNf9|jUwEuJee(fsse^cgr_tyk3 zCpG8)jc*Up^}2$dxBAj}^APdXq`!{%2I4;w-$r~V@kc4YC#XI5kp8d4_Y;4T z{2eB_L-mo5#NIsAJ-$n9!i1#GEYg^|1t?~=F|5ca!{vOSL%0=CBqr1(Fec&pHSh4W)xw*cx( z%YOmQFGlu6y!yP5CqEDVbUn1eG}!BW+wTUh^*fUEU!(k*+>xojjqI84%|qV8g+F~h z$*Vk{QvF^*^QA+L(7u;R`*Qm|PV?Ug-Oso^rjI~;`h4_2LDZ+NSKdMG&z$vtqW(E^ zD*S7E9Hjc{N&bgWdu;w0_S*j|Qh8R<`ZV)a)ZgB$i2A!o>W}?1??LV7Etmbrmw<^s zaPETB4cUkG2SLxC1w39o-nZ6#)UWzcbR-^?bH3_N^;xcVdC6TW@A2yA6`%T1J?7cs zbEKYGKexUv!#=Me==8;TVCA{{zp~%0` z_-yHHpI1D8ii`3&UVr~I9<2xV!(7|zc;m|ESN*7*>q+xmNc^AX0A(6?p_l6_V^I#;3jsJ`Z>=tw*&|5Lu=PxV=@ zc6rH7D(~^?=NTW>i~40dP1pDxJ%>W}T3>b>j6aHo{4QNC=W`qKUZlQfqwl*Muf9v~ z*XVfe?0QQaNJ9nkLme>G3&r}KY#85a9xk>y9HeLLtmK*uJgg4 zMuF@6GqD_8_b(?u4X*3mi^=~TCuBZPY#{mMd9c_0!8a)0nH0~@WZ$JP?Dcu%J@U7J z_}dh3zDHrN`=yW5dEz0&&D)@_`|Hb_g6sPAYU26ZK(6N@)|31$ihm=?3zPj;lJ_F} zog^Pd@$V)1vn2nWhfU&n~k6m3S$#Z$kc~oWV>J{rHK()f7dbI{lEZ8phc zlwT*}MJT@##LpmJkvQ+aCS^ZaZv(s^+h6v7^}Gzri_`ub@85c~U(ND!`=dT|Jmme} zYUH2gBcrg_@sRh2AEEeJ{v55BvV3eF@)z@vzm$i3P#*D3BzxZP=*hxfzT zp7+OD&ijun=lwvI^L``CdH;{)yx-1p-hXE~@5i&8_vcy8`}Hj6{d<=4em={2f1l;N z-_LU1|7SU$2Vgm$4`4Z;7hpM`A7DA3Ctx|BFJL+Ehq9c{AF!OyBe0y$C$OCNS6R;I z7g)~c8CcHe8(7Zg9azr$vn=QH5G?2O5iIBP5-jKQ6D;TR6fEcS6)flT7A)uU7cA%f zVV3jx43_hG4VLry4VLqH4whF+;`!xly&?Z!iM6c%c33Cq0XA|R6|T>diZw{@U;4kT zfd;EE@6z`8-{$^rZvWQ6zcujxQVkSohw(<&b^c!}`@d!Vw+8;Lfq!e@-x~P02L7#q ze{1018u)*&1|Gc-^IzT9T|(!Ox6yk`Y2t&)eg)aDCjL9w4=4Lk#MhDi3nag#LFPV9 zzj5GtZonn|J4yct#dG2nna>0Fkp9hmAlH5R`$%4l>^D&Sg>Qzv?z`7;z;&PM0rK}F z*$*K3WGdeyBri$vJVElOiJwXO+bI9Zn-Q;`vxrc6Dv^B+;?pSJGsr$c@t7p#9Na8w@5yZ;%!U% z`zhYT#6KhZe67P6oay{2mgZkrO8gFJ&`A(#G zuA=fSr24&z`qxNm?@y_JEF=CQU7w>VzM^z4sXg`Y6xmm#@>ihxdzJjx`vUc)=dvy) zKAy@mbR_ik+(MM{dyVufQv6qw|JoGa9VG9y4EgD~uZ>iHPmnxH?fpE(JA>kz-2nde z+`zTe-X~FiC{Ela{X2*+r2bxl?B`PcrAU4+`D;SuOOgMJs6Bq9{_!p8e?s|NdIUHyVGxAb*R9m!a}4A$e~q@8pr0{jEINS0er(^`ATG`uvvi8$kJ8M& zsv|x<7xM$v*JI@WDdNu(-%9q?sC++C{xwOyoZ{I|`ZGsn*5_5!Uv43O0bQT@pMt&K zkDsRc_Q?Nk%6}!rHyi9x%KsP2zb%z#KglOhJZs3`hctd1A^QUq zUx9|GFCAYdlYhg4T<7zRs62(q{ydVuN&ePQ{T3wu9jSk}rt7^K`Cmr&yDd~7*HL}m zMZ6g0U!2NwD)G|9-=XrIO8&}`{uv~{h{|&b@k(TW7V!@${|e;)9MX>xuS)u#kiW|) zp7z8Wk-w(IFC@N>+W$++FGaj1*>`c!ANBd>GLo+(`}M@Hr1iw3ioYLCuzJ>En4+a!OD`u81F-kxM%V-)h&>pR~A;JSWv%9hOd9PYn#eH118r%C@} z>R)LpZwHd!LcA))b0?L*5tZi;^525w^{M}jqW1Zn+HW@1?^M!1kK!9b&+jL{hWga! z`{tCtNB+K~{B}`&@1yJgBzkYB;CSSx>y70p|GTMw6sG>Ztvc*={5snL*ZJEiq#q@D zZ|ZNSlm3GwFHiEuq>S{+7#8-rW94`CUl;;|Yql$2!>S_3#A6 zGl%m3nE0DiKMzxUBgo&WcOyT&9{N!KyoSm%h~#C-eg@_LF7c|QKZ5){LGfNk?PC+a zo%npJkM}A6xx|N2exrzgO!}V_uSxg6yD6RqB)^a3pE#(0y+1ui{o!kpe?{eMM*dSI zf04@bGVv9pU;FON{?M1=eVyzFlKe}mpCsvjP4f3hK8XA^rg&CSeI!O9ULEg>(|hAj zk-t_{UkQ@0q52q1^NEd=e+A0#CAz*`>ffU&zg^@nLHSK3f3H&ic!kEd?u&PBgCus>q5jgkp98y(AWECG14zV{B+`FiJQdNP~;|mv}?s8z}#+#CKAD=aKzPx*nR7d=J@QO!C&mcT@hq5kErh@hkcFsQ%^? z-%t9BNS?1oW_uqd{lgTGOV{^O^0$ikdg7ai=c|qU^*q6e#80>qa$Ub_PxW`<-H_{i z;wqA#MEO`o zzk%xK1nM8fsXoh4ekDkLGx@unxJmZUQ+e`Vg!a|-n(ky@it;N=`m?FL)hWL?`Fol2 zKbidXCjB=^{}Z}jTuJwTkK(zW%M#SHt{Q6Nmb4h+0#b1W%>r9egK>018cvHkp zvcH(@AEx*Q5no0A%2Rx8$e&O8SCV`y$>&pj+(z}inB-})pGotbg>*k(MfRO3o(&}L zLh`9JpZJFQ&nn9A7MgGLCf;p1t`~hCJnN#&>!%j+`oxLp(;j6Y-Ih{|zMXO8idZ_Y%LKct7F}@h6CnrFe#td<5~a#9t!*D)Fhr@2C1q zl6)5NImAC9KAz%VK=N;hFDJf+_;%|5`))>m)bqJNliVl!&BS*Q-%I>uihm!;j}Skh zMdtNUgm{Gb>BRd}{g)&8qa=Tg;;T&h(@0)} z{}cJ!O8R?AzLVtpNj`we^CK|3e|0lG*uD#1#DaCUU*?&v+Yl)Yl`nZ$)7kL`>q33gdAp1)wzc|@%CH>1t zzdgmjnVu&)lKf1H_j;0dC4Lw2ie%rO;@L&>&c?~TNlbdPUU-mcvUKIP2zQk40enJ<-`M!cQx4;C;f?(-?gMah2#;k z?@9G_BiY|fd^-87K=D>3-jDpxBKvk!A9G3m8S&dFo-4`zY|6hA$*(8=75R^ny-oUq zssA-5{iWnDLHZYv{+V>YJe|hN)#T47-h%v%rTiYF`fpA8mlMB@%G;6T-AH~HwZ}cg zdyxM9#2+Mn9pzV<>f=3HPx^(%`<|5l7OJmZ#BIv&SCaQ8f47tVK#KovlHW)CG14DQ z{1D|ojO2aE-_Uz9?=J;9fa`p+2=Nlc&mdlr_*ukj6K_cTeBv#LUq(De{2Jmn5xH#79v5m89|SL2BQ-$^TR2uNTQ5BKv+MPmuj1q(6q@JDuWtob-nfA4m4j-ILiL zhLQegj)&rPY5aJJ{0%1kXUTsVivKy1kE8r2QvBt}{&}(=PkbWrNyI0U|JUxxte@9O z{|(ZAnc|&7JW2X*k^Ehfe?a^l(*J;XMXHaF$lfFU`NW^0_L@TNJCWv-qe*`}@i$1n z8r{E={CV34i zPg#ohG}2#A`Bf(Uxm15ONxqKkHxu7Y+@tGj2bJecif<3eeL7s{MDoW`OyQ= z*Z1`zbU*+3ZOC=Kt^&!A(EYyn6zJ>wB?V??+CRAfT)&_4*g9}M|6Y#lH&FfjNIXX6 zD?;VpM*1VDK9^8^?xXrFN&Z%mew5~y|A)QzfRn1q`n7j;&NR6RO&M@cG7zY!S2{E^h0rN4AGtMB!Aqah+U1uNYS^~cB zym!9)-QS(9Yya2UE9|wyiB(;wDgJnZ_v>G>u`$@##BJ2+ceZm-jK7;oK1I7IPEXFrpqQ9wPJn3To z^2Gki75e%@J}BnP68^J9fAfUgM8x|*6HJ0#*I4e-Ys+|TzB@k)d|LddPedYvZpmx}%~ zM1Q$L?jqJJEaKM__E(7bR}1-iA$Jw=(#3jB5c!`ej-MGqj);7x3jec&oGtomEXGqJ zj>nq9zOIl@5dIB>eu3!!93eYGZYAPfD)d(gIU?rsW-;HckpCe3*9rM26Un=w? z#rPf&^Ye(1w~Kss2zj9B?{VSZROCNY*!L6jKT_yl6a9@9`mthsZwvbmh5WgYZQYo6!X(w#NR36cM|&7gno&Lf4-34687Chyyas5 zHxv8+J>kDn#9uAso+AELLjPB>ULT40p9#5-hogyR|xrQ zk>8(}`sbJ6`Q`>;KS1QaM~vSU`P?JqdxhLxoR1z7`hSY}gGK*`g#KGGo{z4;AA*Md;JT{N@OGx9IOwF<(Ck{YVkNwuqM} z`s)|mFOL!Z=Zko@h&N8yr-*nHg#H8(FH6|h5^_|`f1c2niTF)~zPXThig+zWJ~PDl z+6sMpA-56n!$KY*_D5%-pCH}m-znrvg#T9}{xZ@3--Z5i z;eT0?zy87dsvm{@l|o-3{Qn^2{lfnyp`R$$BUjA#1tR}Ep}$SUTP5u868g~T{`i9X z$u+`$qp(jC_7%eZUa=nc3;*kd{W>An5b^I2`iDildcuB#u(!ng+%NR`!oRtYPZDym zkXwoP-Gu%T(O*R9pAh=wW&U~u&pT0}-y!5dBHnNzzbfp*BHyk;9wYqE6!Kdl-d3?5 zSBvA}X`zpZ{&tCYQ$&By3jY^{Tq5E227f;U&xe!6^UV^W?E1{wE8)E#^P5o4?g#5Jd|3&EQi+s)%@f!=hBlJy${t}_TLdY}4dX)?L8ezXc%*R2I z|F>fPP89jvAmTkE=Hnz`pETCrKf(Ro3&K7u>@$UZC!wz;^fi|G@q_!7?!x|7k?&nX z-X!D(BK}WeJ~oQ$#TMaj3IBt_{}JK;l9-Q{!oNt!y~X$*6aDuW`cA^XhmiXTd9d(* zO2l6%uFtc@^TM;j{xvba;UfMJ(f=r+UncgmBjlZ;zt@GlTG&?z`Bc$=%KZ52YlCI+ z`>UCdw~O^0E82lVSl&Kzc1GNJh2}43j2qJ{IT$Ng#Q!5{xf0! zjL`R47C*l~i2U1#_1G!=uM)>c2Vwt)u-_};|4X62 zSj^WNA%7+2>s#UfgOJw>e^2a>>x6!v@XrCa91;H^p>HMnt1Ik_g#NE$|8x}k#=^h5&^HtMe~5T(ggzqt2MT$pklPD? zTdYr4p&u#y#|rs-k>5n2|5G=AJ%Z<(y<&gdB+egKiT!%r2H!u}-%~~Wr$qeOLa(Oz z{=xfwPh2m0i}B79^D$89%SHSpLViZ%bH30I6Y+Kk`<23ewUA#C_Gw~#l|uiHkgpQ) zt`qX;asGS-=Ywy>d@T_3^NY}*A^dL=@yCes(+48I$-@6U(cdZ|Un|aMe-P(`pT+)k zMLzq4ewOI}9${ZD^h<^OX}9?Oeo(}}SH$~L*gqunTZQ~rVV^73f19wsK;-wl&|fU{ zR|q-O&L25d~uN3-Zk>9&Q|B;Yqw2II7 zbD{r6$O+x!*E3bfyM=w0(BCA+f4h)>68`&zTvNo`Ap9Q?vKs8?8{99|6aJ40`=^E6 zNZ6-{cmc2=ZknFh5mFQ&u$gJKeNRApDFBX34NK+=LvmNkxvUDHxc%8MLx}ie!A$djnKCi z@mrnfk1xUed*NYWf0l^XS?CKzyfz|U4`JU|$mJq_iO>%h@@OHq7yWk@O7d z<~02u_|FXdX9oU1oB?ZHf^wfpP~MgVWvxh1_MOmD_?u`4?ak;k-b)+2wG5h%4BDXc zCU#n04$|hGg?=S;9r87xrfcCLPupnSrPxC*$Vbb z2nacU%21Z(2g84rr0nS#${UfSybJmCuvWUVX}8ha;RAXaA?rT+23;^ZpD{wtT-JXkdkWs2$5>|(uN;ItbSfcPMb3st zj-Yqp-5laUR&!!C!*?A0!beL}Rg`t{XmeN77keqPnsr3yoQ}<@tnmoe7duO@6Z7qs zFgF^9lP6?NVjYK}gLgqow}b8&+WyMeK#Mi;))Du9j+rN*$CH)w9eMr2v9^bt;jKIA z`%KzS!;djVXR>dePF5a$*;9xIS?HoKlK)QTT~kQEIVJD2@P8~>+0$s7%$_fUqT~Tt z&)~1=LXO*?h+l^_m`Xl2I?x3p)0kV(o5Kz%8nG68L(0;Wo2lG?hLi_I7I92WVf>n=F|X61sqm16?DS)tkjtL8 z+7q*aP97k?4JY;D~L0-e zAXSsKnuINL=z(@Scuiy2H|xj;J__&6MbA0gU4#wS5btc}{$=(W=TMvTrfp+?D><@$ z)@b5#e)7&E&PCWmuBMH&f!?3sSD?EKehvH%_$Q$AvDF0cg6yMy%6kacMa9b)f6_5t?ZzL1JGA@66{yH&J75sUqOCu4X#O+`Lt zj|?aN{t)M9=I%an#@EHpd4gjWU$+_di`jRyx!pL977$C3XA9!epEZv;;yCacBj1iZ zpZ#2bA2FkiK;7S|X(~F5+;4$zKpS~^y~!UwdI$OM;uzY1yqlb!w6o0+{&Eju`cA8U!t#f*r0Rqv417UndEZn8n8)Vuh$KJCtW)`xyA zY#lA@n0F&Ho+!4S9zSzu&EnW3zP*U?9wZ;e>e23K+h^%}Gx-oRVrMERLjUv;9mv`e zSD~}@*mWOw(Ldw0W)lx|?xDX85a^bZUth*~2RwR5x09d3$GH#OgfH{x?nI~O7rRJ4 zd617aCs{?#;TXJ|aWUVPUT<=+FJMh?CmuHL$;>7GiusGMjy7!`whm);iQ{Z!%zIdO zy+@i8dl2#fVhx0@W6ePavO6Rw=R<5hf?vZPxD3+gkJaF%^f3|s3i!*ROORhB=9Qec znsEN=K|ZrsKW%>|>yXWU&jKL}-sRlu)c`p*>@*PaQn78L$By4p){}FarF9y$PLn?0 zfz}d^fj=>x#T@4)?1cwei|2_k4;#pZEbeimr!b}-9HXCMyPmllLVVh6-3GeIYB=ME zoB^Cybo<*J51`ePSdcXoJJ10m!|=t{L-zE!0@V+-jG{{hqv#@!I<7gdmHj<~l zUUg|G*r8kt?~+dy%C9AjsuasLgzOWU>NvkQOhJ?w34)fMCcTGz8z zf5nd2_Ij=-=W`4^kM9SJ=?vO7f*WWfhIKRfUxh#CLr=$ekJvj{`*g13?=zok$%P!O zLUiQmX#JGWGh|1+2)c<&a*&Hi;$ zi9ZSd!PuXH?|9}HQfHvQn|Z32shs=qZN_!zTWmt;7qG8R#0QGpm#QM!0E$(%l+1S9lld+#dj3cheLxXp7gV%)pp`*8*)vN0^IekXN!-p9gcXd5S(5uWJ$WN#?W`ZRl*qs-6Y& z$jf10*QYPYu8saV`o4&LhL6{fcH*fg$-6y1e`3E9*VFdPvB5X;IC1OYOCHYC^jDXB zuytNwU5m(rKCSZ^R~>xLB^EZ0?mLWaBVyG=kH58oc*Iq@9UuEb);`MIVdJjk_H7>9a+KCpKfzjqPG!^Om_;<#DGc!=wgn++-E-KPI2@jS-v>aprE z<)hO%FJ>+r&hZ7bLpEd)-`4$s5psiHm^rRPcK?WL>8ZjNcz z&}+!ECG+7t!(P+#qJ2+cjo_^&#D-kRgQBdRbsqCS4AlKIM#b1Y@^tAh(vJC}9}hm7 z$@m`P+&Tox=e#}?97dn7F}@ktp90S_k~@|@Ag>)c3}&8~FFTXAB^-ZC8S}-g;ST2c zMRbsL32WRGTiR^UW8XSZq!V-Y1o^yA?5(ul2A{}$Jw%=l6AyAB53(LXhODz`yOcaL zINs8khZB%{ktcmP6S>B`#Mp*2FH!Ex$RpaBKC!XhPviLpyc~LqV|^HLhvNG_=aAQE zy8`}AV(et@b3kluY(4U^nxUspmpP2+*u?W7`wYltoRACeOkq#LTV=?cM^zgAoXMCz z=Ujo_-A3N05DT)q5Ti5LiFxOK#9|&T-G*#+#1`@(Tl2aNTjyiqc0eA)m`cbKQjm?# zh14g^E97Rg2Kac|mYB|H=A|$5ox*t(w3l&yd5L|-+&H5+2Qp>_@9MSD>(m|FuIOHY z-p0NgdU&@5xxzbTdOY}Pz6-V|llzI}2=6rqv9pNbfgWuxv0U`dYsBe+Z5ze~sWytRh&+9>8l+vz^^cxiLU&ssy@uR=ZClOe~|Gd5Cd`-vzHe#h9%6$B4`zDkOx^8>wJ+R4~k%8 zVXL%HOLA*X>{iSvnnT5?Ww9kfgJF<$PyPbG< zfW&sT(+)+6<*Xrx3HX#ki;!LX&O!Gs@+0sQ@fl3}0_-3)4&Ax%*hQ{_RwGwJPs5jE zuZcEAUp5r|Gq&%64n!Yn9_@@vkz<4$Eu9N`??U+V(9Hxpq1S!i4F5KEpaWX3(EbEA zkcGWV|1NXp>;$J0|2A~Qckp*MV)G=ve?$jG-a&sFbP?^Vh_e=3C<^g{OF1RT5%{yv zSJ1BeVGgWQ(JclaAkISC7*FI@>@GqEBP-$G$Np?^5p8dP>pEL65kzLpl z$7QUJo*&jNs^b&K!{1`RczVyAkL^?Nov>r>6>%e1(+)+*-*e%|Vm}`0h0Oe_<=B#k zbviK_r}YBJSe!TEA%}K#4R|laygT?h+Lt}!+(JD1v-Lb_VvRgKr+0#kCBnR_bFrC$ zZYFKSvaW?E??`9-h#Q3><74xDxp; zVtt5AyW+gB$iby=hxpzfp&j`D8N3!d(0&R%WL*M*9x=QpX}<=%8jKP{&nt5s)$>C> z-e!Ct4;z~}-gZdmqG=)IVE-Wa5c(|;bMEQ6JPTY5>3N{dT@IZM(Pl58jd_U@->pEt z3VAKIniz|B9c{#Q$J%L+~!Vi{8b~#m^>BhdK8i zfoCpk#^*6Mmo@UB$UEqvDCDu$9@iX?IF?I32-Y)J@a6#0Ux6sK1yCTaa>J0wvLI;#>NI+`f>HV(zi>SbqoAl zh;_4QcXZs_@gomc@6X4P>Dz<1o`aZsYXSX#2<||~p7bDB=R&)u=Z`#Hd|d5Id}|}T z-pd-1UHVh+lIxqa@f_f?x7<7N)x>;SOF-{*vR zYqMW1cuVtFLwc?>u`k>Uku~W(#~$?9uNHgMCMT~J=e-QhX{nswazV(-gokX%Lub_n zbz6Pf^58)av>HGfo1w$bt&3jAIDxi#2`bW$b1mmo^#{(OoSUtzB;IY(c0YDcV>cY# z4G?V>=XwuPw5$G!yqm{o0&V)b!8Ic?5Wmf|{fxepc69C;v|kL4Al`-CCk@3mnfs?C zjZkyiAs6x>s|h^gv^7E=WEFr-ks(|2A^0qad9k!@9ry(J#-OHVw54O04??a+-JSw5 zPj)kOIoLNs*6|v`GhY_y)dO`uke3GGV{6ntx)0qiv2A!e2|kf_$ko2+tZWF`LT78F zZ%g~ppRILz{)uVnoUw`4;C}LgB>G5F5$+|un|Wrtj94p>x%ahdVzUQZ*3rd3`V(`z zn0X|pDD$W?;WMB_>_Ly~sN$X>!o1rxh(kZtV%qj2>%PyWEf+t9PZcuggy=IlnP)%l zXQ2qZ#r?O-{CM>5UQUdy*s>2CQ2mL%wSO5n85{0jJZx?FNH=VCeC};*)+Wlh+-&{4 zOdDh|UiVk**=Laicqqyk9Ax)Le9nW%->$@_7k%lucoLdUZ1S+z5fid*few%lU>Z9Gtom9<8&aqA$s4cPaP-}Y-4z+MK#Mk8@10uY3`Ka49m)?!v6}A?0 zrO46IInE-+!;n5Nu!a`njOaD{0hu|n_rrI?o^h%!=+4KF{ch2Z%`xI#N?UJ`wTUn{ ziZzb*N2hb4Ph024m@UZR__A3CH3S`gQN16oz!r)^)|JFzKUpd0`_j(*D#&GSEPY%t z4~q4&nUg5wvbGj|sIly|K^#BrphEUs5poxv5xatCf)hZ zuS=d*Cv51)A-<#Y>Whu09_Z;$F%HFCI6a|J@V!CE)$_^t9qbhI=n_Y18{(@GAf!q` zNSz8oY9t6L9Y^QLd`CO;oZgA|Mj!H?;iEL(m!&EDlQb3i6xs#<9@vj}a(O8nUn%s5 zU47oY4di_Y$9^P@7*He~gd!Orr1Y^RiaX#u#ix&Ir@=i2^9K6u5rZ=gRv6rBFt3Gg z*VW)ygRa4-LC>H%(YLn@Mhw~p(+2r^$H=b1s6o%5YH8vaj2H|Xf7{58LDyi^;MhUF z|FYFSdZt~qGI0$$#x7#yWpjM}2Gd??&<^Ykh9~%TdyU>I@#PYOV zedTH&-Bvz!HSJL&dj?f&UvC+-P5%`Jx0<{ofj+>&zTawtTMX_psD}9ZsEO0c$WCj& z-8C3BSZegk47vt)8r&1$G~Yk(6dxl7JrhT@@!R*9ek~(M4B7@AgVscokCCGWJ%ck% z{8D45PV((5O#4=YmT8X|^h|r&P~YA*?T$g$V5F_DPdmrh8QC$oY`Wj>8aZn4o1uQY zXXGs=KdaDhj~KKKItE>XQG=dARpk3w1|tS-gO0(pYkj-Db9`Jq%*QPTU1PV)$ZEK+ zZ)LF5;4*{JB46(rw8Fj|F=!jy63m0~+iB1>`qGDezo?NtgQ~sXZW)Xi+++OnMwtE# z&NOHnJICNRrhjXOZ$H*xg~6Q$)l6TXR_bF{BZrMV)}U+RMuUD#`v!xR2KO5D%=+d| z^5c5OPZj&Jb*hgg2FnfJU@&U%8-uwcji2%FYGm8sYJ=q_|1Cz|Wl)Xs{UgOb+6G&h zcE`x2Ms|%HHRu^!7U&J`G^je5{0w%TYx*&@z4{=NUWO#|k6wGH9Lew?~XVV*G4_jzO!du`_5J%$x1EuQv0s z#h_#KuEBB>-!-_)*s0Te|5gSojXrApJcFv6Z)X{d7_<#K23>$w{wks#R^}pH1aMZTaMqZruaD1 z$Xg7SnmDTs?ltYvKsFdP{YEY{@%s2^8{A^zdj=iTzS`JV8gxy&TI&0MGv3GCGklC1 zeeP6W_5%C9zFcnFEhFcx^xGpwwhcN4-2jbW)X1Je)z9~@G;2S79;O6sLu5LTNx}hxXhqu{9Gej15AGg z?UlZ48+n6~_ZaMYk*{}*KF!=8I;MT6LGhULAMrmk@Shp@&kX!$2L3Yx|66CE${IA^ zn!I?{oT;udq1WzDu}sxLY{fp;NeH;k4ooojXmPK6OgRvT*v$ z_TBsU={KZo$&x-LGs`9~7#QxlWNf(Ki0M;C^c^yC=J>92#!Mc0()iN{FAR_CG^3~N zap{zqWecX9yZ9{nF4X*@c1w!WmlPK}g#W z_AQ&ebm_vyOG;-A88UXtm?=Ytb{=42$A(Zef5D7)%i7JFTQ(y$iuPTLVyVs^bnf7? zvra8*H-7Bk_JhL%mn|tP>vnpVb4rUljXryH=P4zFOXi)_x!>7KMxE-1J8Sm*Ic6F% zdiF{$Dry(||Huqx#8xT2Fb2%>w4T$JO$!>C)ACt!rY-0>V@l98W6Jb7WiuA`JfUpP zoSuclt-?7c7*)SPBPI~GqJ_K#~CG@{SQekDE27R>G3(RdCTF=ABDsbve6&YE|)rO(J=ojdki!pxbbB~upm zWV0NRiWW>;GHcbZg(fONTBUIu=iz zHYMC~%H-l|zKdqfoz}BBT->=Z+@-L6htc6q-8*&dUfgYbH5=x0*7RA^ruJO4VDYq! zeZ~FSUy^4nP%Hc9_Nlk)hxkJxPKq5r(`S`0n=@Kjej8h zK-Q2BJ>I=LZ_)Lo?Y{Y7$cd5X&W}BZl=kcy!^#5xcV<-k*yv6eB5rv88vu~ z8K-M7Z_{P5IF`Z4)oT)T++*R^&j!cr6Tk9NMdrukoh$wRtQP*fS0v1dwZB^6>s1T? z{@kAxKX*N{$R)ntI=-^2OMuaP{q~!ULx8^3zg~MwmdEm1XhH<|UyT^#|6jE~mR%?{ z6zZOFa;QpWXLPrE^y$&JM`_<-*?byPMd?w}UiIiZQdRA$(y|)dzk@2cJWb6l@2FI6 zQ-b#BKlrpBO$!TAszZ>*szVy9)OSyA$3kbCpc)SN^iIu=7(IH#qD51tFC8&(AXHp> zN@9}Y3NxL{M0Q4YhPKu{>!Nv0`Y(TV704>RRwGrjpnYOuQevofLhX5r=gjdv==A+* z0ecubbm&l}$rRP2Wc0A1gzQl=pih5|14j%Wt+DTj{^P)yotAqqn>z<=QQCiCVYT)V zGiHoJROfy7^gln*Om@STML_?uMbo-l_>I=*UU1ataWNb{c(lerg9mo)Qs!efP-W$} zFPY4^7(*ie(05{O&C%{v@t25{T~(iIY-P2wG`6-{$I!j!pZCP{t*TmSjMN`hKPI=G z)K;Tazhg|UysPRiEj#tr)zetoctvB4kqt{XXjB{8#?VQ9Ff}IMeNrs$fW!fbT3(m< zRH6kwss<$Tl^cq`CQ7Y{twoPf{YDNh9j$r{9yqekumNgh*@C7G`FgT0mz545l%3Hq zBbfAIqi0T~ImNdj`pY++tnFfJtC?x9>oj-Y+-qA7rqG|IM6^`aEP0M;-tK+~CBZq0Z&)|UrtG5SsBTajs(*|3|)1Thw zG>!oNe5>ZSHUCkwzRFV#w5Zxe!_kwXZKKViEu*o9!bSduRwuZ(JrKZfC5=1h13Y>uuQ+{&|#T= zPKFN4;gA~Bv6`G5QZ1oC@6p#U)%pvw(}zHTzEAjiBHR+bjXG8~7H$lwb{pGK>$0VQ z(LsT|!&uf;8&7G?kXix-dap@H?S%q4l6FQ~NKH(eNUcj`UP#>p1$rkvq;7)(*=9E9 zK!IHOWk~IV0y&zxpL5Z{)GGgsq#UjYw?Tovl(C&#ZG4Kcx2!gP8`~At>{V7sl|X@i zIkuNowpwtK6sZ+PPdVeGP-SzfT$4Xiu-r=-fX8g{E7dC{{ z>l@yu*2Q7&KCL!?rL6smYU}?Qx}U1)!{j!uT7ISEa!0j%oJQN(Ez!m=#?It)P`@tc z`hxle{uMx#HkjKWq{Df&o_2H&ZsdWkEbms_)kczm*121Ra>9eg7`g}_8-x2^tjRimVXfr&LbN2 z5g(jSP9M;>lv`M(YUj5s?lWTil=F6 zWjaG%0?5tv>N`bbyd2`~IO&LaYQ3eP;h`>Vd*eMnH>PnALXK1=H~S%v`aNc0`BPgF+UZFV$%e{6X(ULXE*ylf5XALn2Ca^E;Pa!&ksD;5lh(}%B%m({QR z;`FLKe*L{gV*QrI%l6`Uc}q^OxOiTt_eHj^97diunA>Z;zL)KEl3t z{CZk{h@anzNc?%iaUSB`o(F@AvEu21WLE(UTQ+P)-Z-!pLYUOVU-*PvU+`e7= z5Z@i$P90y|+CSIkj-mEJ>hjIoH%tBJiQjRz;{mG37Qx9uABDm@wHt;t6!j(O``5*MWXY;<_^sjPn%jFkaHXb6f zy=jHH3pnh~ZxhVn&S75ta_R;37n-|>Bl>XRjKYwbUsz7PqHqPZEc#h+MQBARq}nuX z(^Tq{(h`$W(~{Ft(n3k0_2R@J#XW^`HgxIs)FEwNP)#-5LIv3b!eMOny z?wk{^FC979YQw$C=+bt@MPdDhVia#jviYO5rKu)d+mC}`VW8M zW1#as@!u~6-+T=)&}-EGd-yFfJ-1s*ebnti(RzEepLgW?`24kv)|dD9?-#t4KI-KIT5qGtUoI+(&Ntdq_Q~Pl~3rPd<&Om2t^ysIN?3 zOI`aw{R7o@NoGiOf^-i{7gBQ}-Le+cbVN&IdTBaOXz5d^r>C!= z_BK?Rd;eIBY@Sab?GpyO89t_?ityYp2GaV|!AXV>^fvRcz|6@qaD|wk2=W-yHWr*D z^bSY=vyhJe8mOsy{$I{Vx;&&B^YSDFzH>#q-l_jF=LE0*U#a)h->3NoRp!|umSe4u zstM_swZT4y5AxrF{5R9K2izz07Bkij(*C_cP1W;@W`xw&kZ$`H{KfD=eDzI8Jr8O9 zi{QJ4Kdk3Dt-pERECt6IKF~X9A$2RH{nvvJ82+%n!DdFgrNK+ol?^_i{-nXD)yH2a zq|Sh}{{*ni@PYql%y0RF?3+IP$uM}}A>TI8E3OXB%=2s^*v{~Q-bH@SwCx1n5&A7W zOa9qBPwoN_7(VcKkZ&<4;JACBp}LhxK^TtVt#KzE~fJ`Mkx<>208ObUQEBI$#0)CwLW*Pf4{cJU^RFD`cdlNZ&i#sa^IzG^r>E74E1|Wc^^#E;rEw) z;H%$PYn?8^`%SIaFBr?9=}`5e^NX6#)9k)I{c#!tuhPGMI&b}b?>U)ReBwtR1K_& z1^HHYD_AjH2wKM3rCEv?vL^rCiX%1g;hP^ozh;H|u6)K1~TWYmdG5L>eVp#e^+Zd7^xrM9*E73}_lC2ag)k?F{$yDd5 z!f!OaZ_!sbmDSvqe?>x*XFg+= z`*-H~&ud$*^U;0$$n%@lSN`ljKkPB6^8I~UeGEEu>?Jfw{hn01% z*gt;k?mk*$eAHpIzI3xMd-wSmeZj}-`(Ga)lMI!C`uVdd)DG$nMW8bv8#)it@Be?# zUye`jSzUsg@MGzN8{A{*gY(s~^m@#?97`Xp$FcP0W29sH2j|mc`3JY4$I=JuuXEJ7 zT7&)bO2nXd){*m!)|bEM%M}J46~DgT`My59+{entkNE38j$MY99$WWc(FC899Nl)a z%CqJcG_o37T-&W~RzsCgl*Cyqy(o*bSmPr78*;}hzdgUTihT+x&T_{N@z;<#1=7cH zDLBsX6TwM_KejU(?l>Dl+CLvW$?#!tpy7|}&;7_Sb5Al7Tx|Fipe7yncqI}FsjDDu z=Yr}j&c>CTm%stg@A-S&>-=EuDSrZgHv9pw%J9eQUva;aYwme!f!z(?3mj+oNO z?PBwm`=@XW_e^XbLvN#xaSqi4C*Xq%S#aTt1d8KhaGgCC9^d=Oebc|{ulI^B!FsLo z#lv;e!`#uC-}4XF_vqfgy?>PbH#?T2X%D777=Lj8*y4Bm0`&`_S3-&EhtTSR>+>%w zSj!pvhJxFuHxxWT{ZzrL1-a_if?wf}UUt{p!xORHbY;_!y140T>eO)4a6@%MxOJFs zGK9NRe|^t)v1gg1Mo3!4^UtM8?RYQdG+xaa`=tD3`NR0Vohkj(R*3IZwWj|4yO@)r?f7;|IJ)uG4X>t0YezGpb)xIkE!>lL zQnjKPN`G&qhf0msj0QU-J`e2|#Q0bId9v!Q_~m+j0iiEX1pWDu=7Fm8xk0M=qQTDf zd8b%UZ5!I^ta-!tCDc9oeIyeTI@aXGbRkN7&c~LF?QiV4CdA5bJ=uJ*!lgb|_}PZ{UX7Y_I%h zZq1rCFYH}1Mwb`1%OE#5yu=;6f5X$sy@#K7%kHMVcARqW1tTuFX4}vGcjCXl*VQAQ zsW<1D)3%=y^S_(97A1i*Kr#o9MqT){RV61S#!$=2{P<3Ca#FG>x~Y26_m7JpJ-j}= zThian(btSO!Nc$Jn)3+^bkr%}h)py1Ss7qw!*>M-7`_yoWBBTQ$9Rh)rkROdt)FuE zMW#;&?APMx{d<4m`~vCRz5%~A{6E0mhTj7oGQ8~H&3z%4H*mSH<)*00-2L#s=2lTx zG=74NpKiRJS{1e^@iXQRg4%%;#5K5A>k! zbs%yeLG?M%kGlVXfz*QzjHv$UmU=$4Bb1S-5zEAmFFz%o|@K3E#zo2EiF1=H7 z>NPpBsB^F6?7I0a3On^o%Bs^ilwPwz)7I^~C1liUctV@v?unVT8#Ozr!^zFtcI*-O zE8a0BoA*pxEIke^}iRSQU5zK8Y3_Gn7hMA>wj2w-J1N&gj=3`CH0;2JGW_l)8zUe zmxsrP#$DZQT+Tmt{k>h?_L+_f5?%%KGrG5&O60mpnSC zP_0Rxki0Ef)#;m)l9y{`q}8YN;c&PPzi-$6(ABRM z9~yh;L^b75cGV`vbi8t5&Pv`wt;)G1CqZ4Bvj+Z(oI9!S&RI{(hMcG2qdCu0@5tFn z%S$=0!&m0KPyJEOr_{ew{0E!k)d?Z}U+k|;5)zY=Q$ndJJRl^eCZwk(rzK|SA5lDZ zxsQ)xM)AEU+*IR~k5iuEv+|0x3qx0@eV%rz%E`;L4yI;VHJGtBRuQ#rO{Jc0&8Mz9 zw6AKv+Fx~`>e!=rn!6qSoezEf33ue!hP1WIF?y#tP8Yt(cj_VC&a=9*ApO3qDYybU zc65G{{$0LZ4mHI709f}upYH^YF#LS*GQ)2KpELZP-F&tW9WTC}A5zmGZ8HO$Y53XT zRfewsuQvR(;0=a%!HtH;{ix-_?2EEFLu6l1eN*;>)DLGrN&R$olwTEnCVL0`%h_*a zC#%Zrx8dK--j$u8-p~FN{_E`TsDH@*iTYS2&;;kx;0Y&qZx~$fgX@F-^DkY3?+xgA zJzn{}>&rCb9P}S-#y}4IkJU$@5Au`OuVcjz{DSfSyW$7^{JY`@^K`8E!T18ZV10x3 z;C?i~;Qk=65A6P3@qcfAg8qYi{=4}He*doggZ=vNiXW`Yzbk$)pZ~7-!G8L8#h3Tf zvY-Fy{t3>5GHxLMtMLQB0E2iE1AVZMgY^p9gZ&X;FyCPlD6o@p13A$DtMPyD_-(H4 z;Cmoc%zd$ed&#~eM>l*k6e~0|PD}GNCD2N}RjIScJ1XN9_?E~sxtz93ldaMyh>ow|P z=}I?<;-p{1KD;>n3hK4#71Yas^vC$U??0tK4*yj8^VBb<@1%Yu{dMa1 z(m&$Yp+8RlG@XCHA^i(lzD_?xUAPIsk zr+zBq1?m?wUZQ>_<2CBa3@;;BeU|YB{MQ-ZQ}4^DqK+#yt7`HIS-2g~neE$O)gEne zlVa|}i!adi#`8DQa_^no(QbKf2lXrO9iVorwsAB)TlFIK%T;eszg6`f^#@fSQCBZ} z9tf!)A>H~jc);)n!9#{uTX_HcAcRp<@B~QPj{&Db`ZMWi;0)7VJ-%KP{g;f|UVjp% zzum9-R@B`M-viX&R?_XgsfQW96r5mq2i$M?xcJ;(r9O#kRpL$Sc z3H2$N!>Gq(o=$yc<^<|VnNz5zXD+3#URGvaM9amQYpAcvtf0Oo^AFTFX5K`-F7wvR z1a({Ho&4(xcV%v%-k7CWq7?+Wz#%G)fKQUuE{EUnx z@CwpB=ZQJem*7~(pZ5K><-rjz*_G4)1Bz3?PQC0GdQv4+8chM(~!-%)~e z`+49>!(R+uZum{$eTL@`y481(wm(`)5;t(kLQWBKD7avmV0_*XS3F@k+hhq88eEu@Q=gsk5%ni2Rn(=aD|mNao^}LO?^Y! zXVhP$>F>0b9(b0|K>vK8=Rw}>9$ZU(&A}I`-#EDEU{m$|!7BLjLyI_LE;;n;G0vMu z(oEysWuCJ5rh7z{Dx1Fya8!kI)fN?1mC93lIGI|ZNXQO3AvY8adE9735}br+f=YA} zRg%N^Gn{0V!fW(2mCir;p5Z&}afzwbmB76&OjaoTv=%$nEN>?S$5V{+q zY-e_?%OeTJajm&S>Zq2hlWT0t=~-i4y-BG9tqZKK>MAR}*?9?>&Du08P_tStZkeEV zwERoUrs}UPzk^@Z`i9oLMQr^c^}*K7icU;wQPjF9L7i4~CUttaCZBNB4L7205-#8> z)9YZ~p$}B&L;VjWsFFkD57km<9-0WBUe&Xzqnc1Pg@1MF=w%`^#(Qw}0K;N-xxNM8OV-~V(SQG^+x0b2-|J^bl=>e0y?g%Z ze|OsDvm@VI`Swfy`}DRMU@QJ2qyv8q(!Iv^oE|l9X8$#`nppgOk+qy%c%_xbF3f1w znq4@vjFP?E|0(@H4$yFWH8C8?2lGNm?$!3*< zc^%be^}3HzejIS&le7MI=L5s{USwUmtoWoC9(!)h(x*><@s3}kci+5f(MKiox;4ME z_S+M#$yz>q)Z}jOp8RY2WlJXf?X09XSN^(f<}k18pZ~h>o|J|6He0x)^oR56Z%^x1 z5YBw6s@?a!dwo#nk$TN0eloB2^&@UQIOl`$Z*TAM+67nK`pf69ytj7oh`+tv;_f=% zEzCJL_lbtRCvX4dz0=?OW$%@C%Dq8;!9JR57XBNvVS?ZNaxd{MBYpiH;#_}&Z~58J z{?;?UXQsZ)939(R-z+JKT|08`e)}73=`I+ar#Elp+}t0>gU*h-F5utC;uDnlKU~rb zTr*+WfGKn`b^XJSd2G{fE=y|m;+lul!|b2O)l=N(Jgv6D|CGKjUH?t6ev;Xf`2+Q` ztP6PeF*bW5pF@;qFQaZ#qeBhuBWs_}9jE_SyB{e8l@nsT%@ zwVS_}P}cnB=KP&*^D62kEw63K(cSi%_J2saw*4R4b6gj<=2^F-cm(yS#gnL=;>)NX zEZ$BX-q2}7FpCUB7Bb*>?Z}(w2QbUvo(}2r#sqMRX`c?xF?>0=$nY}lKrT;Q$n(SE#HG~dCN8I5!5K1{e}Zmx zVgmoL-Wpo2NW2PuZQ||lcP4&Dy(h7X`o#P;`8+}Amr+m8*PmEz&sPO~LZO1XoH_Ff z@~N$Y0n{Z0!>CIOPNyDMFp0CSU9cS9DR_kXv4ZERcNF}Y`rU#LsXvaLfqy9Y3I3PZ zdHBSp(>C{B6J#xMkNI9>^N6n*=VN58kE@^aarWLAI;)EMC`x6mDKT92-XCK)?X}l5 zT9e#_z92iii^e;yYd9B-e6=oo2UyYM`KR6mJD&LSSy}y*<8?Xbxjy~)M};pwz2lO8 zYUl77bD!DVPxZXo{&MVR{UTR9x-9>Jy8TPP`~2N68=lhtns0W_VWqQtET^w^6Gm zRZX~uu~t|)s=``laf~!QiTz*Pba>Ooe7{+qy#T+n*1OcZ zYUyL9R_(gfd9}w=Plz4kPVF1voxD4SK1RK@a2s{Ba0m6y!q=%Q z3*V*QRrm>YXmbkrr*F=ouDQ7$wYB*~>QPxANI(b{fzPWN|uzcb*SQ{QnvNcB$eT6ll?%isU< z-CwHylC;~}-E4QO-5qv!-Q9h6$?hS$hwd)jJ!<#Z-Q#zkxqISnd-s&xXYF3Nd)e;g zyI1U9v-_^yn|4R{RPNcf|Jnn={ZoL!whS<64=}iI3iN>-=w*AL4=^DxFc`>zK2Qhk z5)U6Y#xRfryTCta-;(eQ$Nr9lHxHi&{+_U#yV*sF=kh}{JJrIXiM3zLor5{SQ<6<*jcxHDOufP`h3$%>d?TrSxUDJbiUH z`XXuHT?g;t>UYnIdlss7_uRrRt-rp2GfDaS)$8*(tNaANcl|!c>q#ZPMqNNgRo@HkVhWj=r_(wj<{jCc|oaLbK*ATAX-d%a*NLwQAkEb(@n;YO4$1 zrlu58+Qkaru4&)Cn4iHlrQ_k!sZ(c47hSp@Dcug2?y+*RC_O~!sY|aTrT5_yIcn*1 zw9@xT>GwM&*a!i}-V_AF5e)Xpk(U3*xS?76P5Gp(p+kpGny_L;AM^7Qz=#Q1ld>ZH z{Du`rDOvoe!;07s!d6usMZJQF)b#)J!UawjUJ_`o+6yI)ZTFXoO`(o)m1YiH-A)JW#5dD84zhT2VwXxK%`WiKA znAf0oU5$eg-8uraUx>g3hIL%TOC`M(68f9=<1;tvW5Qv`CURXKMz4t6)w6` zB0W{GJh-6`MNx_KE)_)N5o(D7B&jE_g@+&E7oqCGYBVTyERf%8slg`yl!V*;BOW@R zKco1%Y)zq6X@e-wG1{|RWGKi_Xr&-=If6V*2Vd&nR7e?UI&4_s)d#9IDZ z9I@6DSQh8kT7kT))*k3fb=K8!tDoxx>YyFhU0biWv98`*_3*o>w-0)_UI3~ZjBddC zX@i~6T@A{iryB$sGS_U>sS&HvjV^^YD8J!!E6Yu%Z)SbK6NnE~QZ)iK(R}*_`eQ}@ zBCtQ;P~Qd)oS_T<*$+MA)U>Fd&TIJ0re!TI;jJ@}MGUb{nYcrQ#(?8$iVzKpJxm%qpu z?9V%~qU6hr$-(yaW;9(er|#&n`!e30&~=)+^{b3NjvhM_F8Mm+&g|76y6S(EvBgwX zzf$`%UWn>->f;ahXM9j4=eV=r+l)_|Tsi&G5#ME8nYZVu`Rxy6JnpP}M~3ZS#_h*5 zO6G1lm~rQ=H>}t&;ZVkv_HC2PI)AV2K4JUM*}u?pYO-aj+I|1%kho%E%&YRedyci z8xt`uVsgadi2R845gQ}6MO+*?C-U{kEs-0dx!No?SE`&-^^TZf zF%i`gVh2Ppz_Z92Ugvc0OxU6F#ugrp(Z-s?{{^`Jon$$CzTV(1xk5A8c}-!LLZ2 zGanUW3RaA7c{7%rp+LTP#khbHgEIq2c`5v3Emw>U*^ABKeL=7eJRGyHV*JL6u>vI) zP%9wy%UBoRuh+&a`pL*1X|WJVor=Cj7551AN)YR7s7}_czr~7KiyV$CSaA=}Ry@4| zK-#RhpZM?>zr_qZycZb+kGr4tfyjrk7XAW6{O{)H?+aXjvV?t`4N!22aqk zAAX^hYs2dSS!HMdZ=%ba!dqy$6}%0Qf43vNE0Bx38~id|-UHqf$gz6EFV}J(_|-t# z?+YIYq@5e!H)(k={8k{Jy&XPW%Ol_;wR|u90WCiS&jHd-E_|XcpA3IO%ZuPoYxx;? zk(Nu~uW9*w_Lgu69ya#ld(f7uq5CvM<7tfsauvGCjp#DBqQl&crjes2s41*E&r**P z`(Y95sn4e|HHnm-SfK~cabpVU>3DE}#c5FAChTHHOkw&yp#fUMg8#RsE zMkAxC(cEZdv@yCE-HmIE>x_ZMU}Ly(w{eegpYee45Ubb^8(`QDSmCb5qbu-@d zoAt~FW+OA%OgEdGEzQ4FG@hf3E7&W&p63RhZ}IIm@!ZUFqwzK| zRNi6l^t(t$jH5h{@jPO5w#>E6vMjeeW?5;OV|kfZuUO_;UbRTxqCCr5)??OLp0>PU z$+v8<6j?S?vy__0skxn+s}o+e9H!<|(9@|Y#s+QeGL+SFRp+TQB7cCcP(?PzUi?M`V2Dmb-*0+$JNM3~As^neziyiI+4u)C zn)QFRo7bHAPkr@Z<%E?#S5d77zH!S{FGk*b zr;EmM=zE$H`L#6JRpVGSH)~?fT ztNep)Hb&xZ2|L>Rek|yD|AJFnUgD;|tJO^JKW;h{xo=$H_|;q^%i8zawx{fd=E=Ep zXN#}Q>lqjQ_)F4#i(Qw!JT};my1adR)y@PpUk8@k{Wuc#)`~tJNm;j(SghqCUq* zWv}{19U`!~$M6}IjSJ`vVvRVXhLK?S=@aT14U8nCv5`){kZE)?E-`u-z33TkHbxku zjahiL6maLS!nfrO?u|{{3tNm*0?>VE>@+^62l$$Mq1-r44`4OzrpJshE71d7V8)oS zW`cQPun$P({%>n`;?D17US(d(z2D!=GH)<%F>f>PFo&AM=mG9GM{)O0P8;r%j6` z(o)4z!&1vq-;!iWvos^0*cFz6cw!D?HT5pby_Wke4_PK!CUXyk)|bv+<^J;(r_dVs z+3QZBRq?NatKy;6r_kDXXbmc~LVj~_h5TGAQL<)UaV09WejbXzR51efnQK!L3GRH> zrm_=9BwE#7XRN@7qB>1vwv}~`6?jLg+Y;XAEODM#kxygh^{1=xp%t)DM5xfp{9joO z3*7@}Q0srA|KtaTiUo2bH-%rO35>Kh^(E|J3UI_UZcf?*Z?l<*VR>wLBXBgqB}~zoO;W;I9Mu-&e!m)aC2p z+qC>G+@gQan(!7{z8rp=mLG;M)bgwF_qBWo?$E#Ih4407z6w56%ah>GX!#BJCtBVG z-=pP|@GAN@uL_UTa&veOE%$<7spV|=1T9a3PuFrW{0%L?1>daYciqrC zX7}11D$br@x2jAm2n*B~&YN7L)gV_!#3$AdBR`^7Esy%H>S5b~st2ob<}uA<_#dlT zn5EgOy&u2Tx+i{ryiECO2hi26d*`e;l(sXyD$Dp$t z1)z#Z1X!sWmp4XEwbJL>Q=NFexl$96Q&U?&+oonfLw=8WspYBHsgtQQ(jHYa(-zV@ zuTA?h*hh<()Tk!gpn)dWr1w>QNkPiHmjy1P<)EMBgrJ{fYGEt9r&5Zx6)pPJXR`gN z_j_lYiaNbrRXQDu{VVnK<vCAg3LEKlnpT(Luz4&IZe{mH8qNs2$6|FkOrMt>A{L+35otOji2m)iyF4}(;qbUQ zhRx}Va!eO|5%Ibj z$8NQlyc_BEL>Laca{8>OYmsmZzpu^Br&Sy?i2V}DaLgi`lw}<+)~2- z70OH%^id1t-#Le;+PS(1MS5tJ4y5ls_VC0BoZt7bs+WE!p{{qI@68kB#=4}!XMJ|0(dxQsN{?hzqH`_ zcsL&*a>ZOa6=Nw^jLTfn_Ev*YtS*qx_J;S-@_KkU->bwI9|WXM#k`)a8SmNvDgTyH zFPtyrTE@6=+(yZB@&S-K6=MVC3^CN>K+4y?hrR+tE`uM_a@PC&FF?vSe#37CL>_j4 z(Hw~U9DIqEm%(4qvT=}oXh7;ThPTr)Vd|6@Nco>WxUa+en=0yLwL{lyU06T7I%_r@0Pw{jC-}ajauVgi@e$W z4*Oo;b(@~%%HnD7X`?bdUD>O9vF8$xMP15HVGsLx*U&qxJ7ZVxyOiwo7~Y1;^fK71 z4#BttqrGF0S9{lbO|>o<17V|%f$$FHp%@6qyrvID#Mj=}MrHUieZNIMz7+Xt-)LVW zHHOGSml9cMJ0%|lV+tMh9Yby(nL)oYDzZ`3vnnYnEy|`^Mzx8usJ2m8MO9ZJI3bsIk!TQB$DPqvrAM6H)V#FCY_qf_gD#b&ON3iCIq{v@vEAv{r0g ztQHM)R+=>A^jO(xEN&>wO{!mA-Bbgs-w3^_`W@9>YDo3rlw0GP#igk>aqZ$v)jqBR zzPA^}b%KtLTNIa|^5Y7Si{rkIYp1@AJAiyB?r5A<9gC|SpQh@>H=?&|8s7}M2kpM9 z-cw(zuy!GudtpvtUzJ<F;uzbhW14i$e-$?@VZOAe{MC0~`8>g$sI&~Hl)K+pBaXU@Zl z7uI}JjkZp;d5mec2z!o-w0~~jruN%U*{i72_8%SC^pSdDVct&~0sh+-j zePr8-wD4b5j=Ug}CELgtt$G`BXh!s8FfZebpx^c#RWoDX zH$M;NRT~(0E5F=`xCfxhk9km8{C23*?}AqGS4Go^@z?Y_RD!=2C3Tqdm@38J+V53u z{N4SL>QX)PndEPyCi@@ryVc|VxzwERUkF{~e+s(T{|vOi{~UCQe+#tKza9F%|3g~a z;Xj6~YB^ZX_tr{)URbL>v{9}5p%2!Y2YsQ|r_e8I{WhnXUwc0@D^=&kI(VGdSqpum z&QDNPcSv0{kh+6e`G2(D8mOuts1I$_xDnb>qb|_P8vTAIwlC@1BrGT?y;IPF&WZsT znxR=!qf;YPW#(o+)jT*iYag7O%}ATc9PIH5^RZCOhK5bLHlfWXSxutUz$T-RCpB3L zUEAchxmhUlb^XFdT!YOETR>YCjx26(-cx)pS61e!o~IaJPn|lIqD}|*G42g~!+xiO z!CBVHbI!7yc-+*%%RC7$n)dj%^uY7w1}w<;;H@!U%~tvNYpiAs>0|7~2i0j@Sfa2C zCmSuW2Ddjl7@b%ty4<+l7-ZaL3}c<>e%6Ra8xxGF#vJ1*qtJLIxLUFed+_eyO3+c` zgyA-;V*9OSHa6RsUCo|mAJ%z>n-8+SGnsXrxvc1jZMOtneg(GORpwi)=Ik(KAH~<^ zLGy@tENIIuH<C*+u-$4KX3Mcnwav6WX)Cam;J^QdZHsM(ZI^AY?V#-!+euQ8 zdhAu~G4^e)|ObWA>-*#rBoA*iznTu4!|8}{RB_aBBsyw2>N-*!>5jIJ3`ZwN569(>s~mkD z{Tx}2p^p36B|FwJ(J{?2%Q4%L=Xl0Z3G$#*0I4+>e%7f?fAm6&#~We&~e1^ zljD?wNv!h%XS_4fSM~R{Un@Qv0@(1iaAHF zr1uKvrhgcDB9P;DWuyt`*m(_k6_E1P@O4_wti)&mq_@_WtYCePS z*5xgu(My4RR$^;jQpHeD@#0c=Pax&j!Yk%s+`#L9P`>U0#%~~XI$(Xe2#A~ozg^3c zf3Pj1;uy-?!P^6=(+2&q6Qd$O9r@aRi@)&&at7n!_0-9PcL7p=9(=x*pM*c9Wkp}^ z0#c^~<6mbWvgFnorsbb%;{Ok%{37N7J@s5b@*PU7_F)*6hrz=!+mAG69s#6&#auSW zZ^iC;n}JWAQZ3@x`JgMWBLEqP!*{Q{_#%(S;u&sRU%2l6E%zft5 zmHS(+y!hC4Z(P+Xw$%3GkxEDUKG8FF$>Px&v#RCZ@yUn%<4Zc4mZ#?wJ3d-HG`q8L z-I(Yp%lGzJJua>G7cT@peDgu?l|v`qe{{t4tA{UpylR`%%RbL(7QL}ffqmB#kJkOi zwh>33SodD{BTugT#}j+MtkbjQ!(CT@zw*N=lQ%3_7ddGDvm@VKM9y_A@2jv}J-&M4<-^wd0jrnB4FL#&hzWLDQz1z=;YVtzz9UIaLGyLUqHr2B% z-5c@!>W!oNu6bj6VY_3VvJG_#+>dmfS@7Y|(U!8_H@}z?&=Ql2y+~-dBpu*)N+rH+$_3p2pKiD;8 z^BcKsnvJe9E@}9zn=D5zUG&YGr;OB&t1h{@dg093KbK}tzT}P6)qU(w_r85&wadTX z5&O-o?NLR8uB>gJyQ5*^u&c*4i}>N??XNY-&bu{gQ|WszS6#O__KK1Yy`8tWs5$q$ zX}d2Sd2zkMi=WuDa@EqNH(tAW{R(e>fd=Yz*z9U3#dc<^C+{+vxut$*-F_w&AAR$J#}REp~wU%8oQSlrkLt+kGi{Ivcf zwKrzoU-EX7RjW5&;9mV?+e>{>^WPd=BUk$*CNMm}LQ!Iil+dLm=2*&f=# zyoi!ccnM)$GkYL+wq#oxso|EpEmn3vpKa%z$tut+z5BTY{bQTuBa2IYVmU+!9vYoY6`TcD-Z6q~6+cHxQ^;gA*h49joLM{AmR4xNTN6CxQK zL%XQ!Cp1QGnUDbu?WGRwqP`_zC?yll%DeP(g4lmIk$s7IcW_7bH$iLf&%sPgb+PAK zvFA2nmNf>8Ew;s^#>_^tl5R*c)s0CvArDTv19?bNHuCVKyOJ!}b90bKCw)QrcS#4K zN0T!1d)(VG|90XW<>b$UURaRAPU0p7L!kE-JP3WL;9=4IhRlCMd-?=WkIrs~Dqng~he)zH4?b(HiovrMZRXbwWY8UHF%{R0n6ya@2IGSzVN zE?RgHUrUP`ZH}RQyg3Cr%Uoc3)RSgsOMwzEDN~KaOUkMq2(GR@YgxiIyv(u{T8dAi z_gjDMt{F@0bYni|QrntWghH)|lfh z*V^7UuEQ?DEZMf!)VvAHU&aS9JDB}`6!QsG zRkJYzc2si*=fN@qu30^SIc;9`d}v`X1NpUaS?t25ovw3vrPEdM z*N8oxdOAjRKHUYm+v!W8y|hoq)yM-*4}{)w`qtB?!n-5zIG!Dr0NybH2h<&iz}F)( zP(9#Lae)M^jfsJ_fp|4Aa1&9#1_k{-DqOI?6T{c9WQ9-S+LfrUZJ-%kyW;mF@m&Yt z`4f+q`yy4FE4hU0I&>|I50I7Xc|7Cowfb6?_?)Y`qKQlL|KW;m9a)!1YwftY$3>P# zUZS@D>D8^O45>QAe4^@n>^t98@I5;78vpmN?x@6emP-1%mTS4QzLw=GelX~(G&Sg} z0#pHg#*zOUckzv74*d8;FEf55z$e zwBJ%Y|T+7!JHH^{YT-P!^mMP%69t~d#QjnLymjkg?y##+*%SqS_I|Iq@+XX%v zNHU}q@RdO7uYs@C@>X~fHpTvwC&N>;ov{f#UCYhjWuSyQd*EN_a+4l39NVfrat4t0 zJHY>0d@6}ebpw!ibrPGZ8TQKekekC>0BI)^-a*Tq;Y-17lrMuX*X6IkUjy>{tb(uB zD3e@)A);i=pk!>N-7Zvy1FZQyOS+#dcc7()5;@FlwZMR+1( z#I2P3;dO!R8%koVNCDDLOL!`y#?Q#I#(1u{#_cH21ehgNNBDLy9r-=@`#{>+1>ddZ zz3^6yK37tHHT)VNb!NjGGuF)EMSHm9ClCHs@E3rzKM7BvaLyRX6Z0sL&pr-6UXy;1 z7eB%+35*4lH-$F?Qb+Qw%j{C*4)ESX(S>>`bvZnole}Vl+dzVp*G406CA@d9^_*LU|bm7%O&#n#V zzm_xf-^1v?mS6Q>(R`bltrT_ls6?V4XI>Yj;C0;#u9(wCZORBZ0O8ZmoHRLn) zN7}18%PY(X>adU3T)=<2@H}+bQ2e!uI_%k58kg#bY%g&QoasNdk&>|g*iPiKgs-7t z|FNHt-Tnx_RYl@IX2nmemEWe?`rG+gKhPdx=hlmdCEbZGJOb^QIYH2KETkjvO*)X| zREO{!N%E@Pd1g&(xQvQ9iTa5$K}@kMV9uYhF^Y5>5G~Gj!*V zsqwG z7`c6vx2LaE-RsMU*zmWk?tdCH#K?^OJoZU?u>k#7#Wnu(iLrY2&i%Z^wTbjBeuJy$ zT>b&oD6i>1+dm+aYc90kzxx?p0y8L|=?|^M_SNB{Vj8+?7=|6cYS)B^5^xts$CiL?`K`-o3=9G$Y z2}03rL(vJ!DtKO>+b7_+A)p2Qbq0`e;$HYfEl+_@)A9`Xd@bj}OF=62x5H2B@{vw_ z0D-i#$xWM#$0G@T`yu_#E+FN5;77FFmi534y*4QM2_Bo}Jp5ZNtM|}pfV9~euHKiu1{lrZSApQMKElKO zs_t2jlU~Lw~D&-)bIxMk{X&>GQNIR+UN3@&= ze_qSW;A^zJ4!%vx+u_Hx>^nm2eIV_81vig|EoZ_n)^aa+Z!KrR2WeRy!}boO z9Srhn=Z_(I7yN*h55rGt8FRh58%X{8;U8PNx5YPlD@ zua>jm|FWS^RS>50XdKV?LN#E zV>0|J{>*(!Y=A5cZuupLh-x{i{`N<}*P4-}8y{@bCCz zZ{0~>2IN?o^iAQM^M4d0qN4wHul?MsKtB6-`Evh0?nEM9Xp68l-^Z%TSj$zmzP3qt zQEjwI#&gMcZnyg!QI778%ZP@$)^P$KrDSKS^EzjLe32yn{~YHOm*jPN#3i|$UU5kl zC-KLX3{E?F?jmnfFl!STY9v2RWwOw;CHsuzo{`Kmy?OR^OU9YI-MQpxT1952Ql4dG zWs;mszqr{2MBbmuNQl2|`N?smCcCohP6T6Z;V%PJ`B8Qml6dp-FvsGj;6W`s>$XoUm`O1{9r>~Fi zM&He32c74WjG!BQZ}Z%Sr>^WD4rcz0XdRIeaa}|%nP%4#(N=QGs>s_Theduu@U4we zTX>d6T^8Moc)wZEQ=?}P-}hxA`fiH8pt3~pmH539y;s&c#TKus%&(eP^=CqLT@aJN zPPxpOD`K)@?u^Na`7B2EAWJlFMQq%}YWGyjsa9NVX|>~o^lB8F8rvo|lV_*cJ7TkA zN5tmDmc%ZN-5gsQ`w5z7T=kmOAE-Wx2)Z+>&#j(^vH%_|jKZFb@?_BPK? z6s=S;?l(?`(8;qhm?GB-INBBuz~ooIEr+J9!kbiu01MPst&(v*dLS zdUU2fo;o)*kZNNO-Qlz;i^UhSbaA8nOl+|V>wPH^n2#1D70RBuOf0iGh3gBq66?3D z@Cxj)4;1AP>-Y1b=Ea%CmlaE_-+sk!6n|R$W3faymiWdJ-8ix2Hmv>!OC$=gKaz{n?@$N{pB{D3=_>q9;be z{wL~*|IrQk!~Q@w%=+Mg;P_Y;=B1(6Iom^g?Jpr7wJpS#z8B)z`u)=PL$8(oTrXX3 z?aoknnSPzBd5-2Y!tLw!vh?S(%0i#Z()G%8J5e9%v}{$1979x6}#QlFpZnVR>~^|He}{Jr+*^Va2wx}6+d zzEqbh{r$@HdCkz}Yr|ZZ=jqo=_3Oi$=jh}0(!4bM|Afy&^Bn#A9@g*Y==P%Y`-$Ot z`$OlQ8Gc{aSNiwL41Yd+zM8A>{}ygfe?C+Ho@@2zqI7wx=1TwWYs0_$*3j|GG>_8l zC+g2<>(^^P)90y=r!-I1JWul(y4_NJyu-RYQ~w`Ix0k2u<>})r)qIAouXO!9{XI)H zU#t0y@b}l}m91ar=ytQi=b?Go?$G&X>Eq<+-}l!+kU3e{KfU5yt>U;?(Y_(Jjj&B) z4;JU}zS4^M>d)6k5w^dJjUt@i{(Ni{Yu`KfK1;Dxgl!aA$l*Pg|5x@ChWGVVoYTm> zq~c!EU-yqPp8g&77TJed(cTi^HN&*Rk@4TMz5HiP{o^sU;v7+SV|y2a30FVU+ zf*Zh%;3hB#+zbYTTY&6Mk+oAZHC zQWr}3s8BxUTF9c;)&{Z;TL;ty^?)6W0C$1obcP+!Bp0q-M!06qjCb6xC!e**s$>;j*G&jJ6x z+70I#VE0@=?WA5Auelb8Tq4)gD00P(QhUL!KmylT206+{(PoDF3jQ_VnxX9s+DuUU zIrgW>yTCWRw;y~?`M2=TDEl06eR0eLkiqfg*rPaR0>?{$XK>5}&Sey@GdK@ve-xjO zq&$Oj$>3b1jZvJ3oI{2>f?O5|SoVPLsCOjb;Jh-_QOdu8^W6;Y3k&y!h5N$tc_84} z4Y)rnT<7w=jiY?#OODI^VxcVuZ8^AaEPT$veZVmjI9>wn1uWb@7VaIn&m6QT?Klo_ zT<#Ovilhzs9pt}|`U#ZF`O9~e?-MZiy$tRr#r;Hi!14p{^FLTPHthr~oR5WLJ2;ku zV>zhf;C%=8qTH(v-gnTBgLWMJmLgk1`E|!wCt@$1X?vaZw>7qPcn7^F3H{Yy_9^-&N|iy><6Kh9I1{3m4>~^Q2CCf(C-|_pr;&F zov|v$8OsVsoU<0R4m;%VrEw-h`(lrh43rC@Z|gji78mOVuC~zj!TsXBT~{OD;JOi- z8{9j-%C*{Msx@b19pA#cJ6&JkVfQ7O#^Z=#V__}jk8>txyA#wf_g!wQ3gsbR#g22@ zJS)@q7r`9kCxY3d{!R+Nw2Y>_?X@(>t+ZHBg4v>gC+L z?Y*=U+?C$Ndod;5v2NiX;k^oa1J*6RZ*aHzD(`A)t_ki|-=KG^Z{gk0ZuKv)c@a?p zn-?CJJ_~!$+xXhbPIO-cm+PykM*GH4A{H?lyVyTK-r@Vm zM`p_kd)d<>ni8U?8Fn&OAtHJ}mqoll$;yaT$eSXzLaRl_GWl*6*@_+0p}p_JBF9ql zaO8OC)X3S;xsj`&8`u*+h&}P`qtL~o`a=6hWkGMKup53@)CfvOM@@x>cf&70zP|E+ z%4E;NvWBk>h{ZoaE)1h3`-zObOqW$Eu z=;8b$P_xipXjPuVT7}hA?ZSG6_&8xL>+|al`}LHR6&`^G3hNftQ}v3Hi}-hfd+u|J z#vrc~5?}m#foXn1;@q-58&-KYaxAcaO1-{~y-BnDi9VznH3n z>tf`~T)kaZb@>^+%qmwKwJzAdY@tuN;MYFIbW5MofoNJ{2e%Q!<`OqCD0Ck7ihasx zYOZpxqs|+;Pm#6VE$%PewB|nHj#1^hPiad;iwsW(`jn2rK1D3#PIZ;%29H@F3>%~ z+rIaFPW8U-3(_L4Q%%qN&L0-}5O;XaAKv-NQG-=VR4R9Jlc*NZR#B~??Sg&5H5K}T z@cloIh#3#l3pmt*sOu}QHT&!PzY6zxlbCeqnfL!nN?wY29l9ZAbBsm3{ZD#?3+W5$ z#ny*5iES0@P_41SOYcyP9wDy!Rn^h-;19Hm+lwU4?s)TuPpbdj?tYw&9r?5AaVQ2V~PUvpdgYN^p~(K9EoSui&-0N7^%~r~|JDq@5B*x@UpN6=S(~;i~Tiq|Sw}*ECa-O^4-|BM3C>-{iZG$ZNT!Z!D zf7NgHW@(G|2gA>m*H!##yJ(--{&4Z3y`1{uL;I#K7eCpR+9y{0W7leV7yL6Vi=S*J zkn=2ozog|F^cIbPl#B0cYap`ty`Ib8ReFf_K~O$J!r0cHVxh!NITE7o^}98 ze{vB1J&^JPdy#?2rQa|Y03vtV&)flstc(ctJqXJ3`hWd{-QMhLwyD%KQpz=Pr8nhv z^E7MjRV`YQD$BI+R`9{QF6FNL7r$?tw(WfFGcr4Lyr@&>%r0Fo?$oXOC6|&Kt7os? zmtWE6%BzAIv97&N%u^vFRE74jM-32b)IiE^xbdbz5jPLM1-p}&og$+uMOP-XTnzT7 z+sV{5G`m{tFtIoN$wSOg@(88!3dw3@^|<(Zw2|ok2Xx`z!5(}FYZGG{L(u3kW5+4= z@OWNMm^f+jl&RCE|1V)PWKMH_tBmXC-f)U19x(jig)nmmZtd+bVQk@4TxU z*z&uEwi2A{pFT?eX^nraLY=zx>XXwqNo=y`^I*EiLo_!G_1xtmRCq92o%#5mtp5@S zEvWal;FMb-pO5~Vt99NL@E5iG3jBO@;YO80V^lIctQY@Y7k-iVnsGia!B^}06?I|J zgBzpgW>F^5f4`f+QmBe#QR0BKWnXwjc#-Qzj(MN=wY6-= zzn44Pb`+Xu&#*I7w|9pQAr>Oh=Irl7KeQjR$Exq`CkQ29Za+y$z#iowpRA)XYciJ+ z&k$R_<84Q*ddKlCvLbdN|D;oV=Ckk*X0^vT9y$>}VMFCPH$kngRxWIIu3oOn>KfNT z>jU&BjTOR5k2*x4LzyQCZ2R?Gd!00 zrg$kQup4Cnmf0-NKuU&r#(1LDIDD3w4SQxlXW_d{&)}H{o$q;)n&QW7RpQBPRYiC+ zvquGgW>yS5Hg7X!_j<9$MtGy3(cb#dhIln|EblemIMo-=X4X3JY__O@-W+d&8t0ut z$u#c_=qzs`wAi}>x)Psfz8C(^iRyE28LLBkyhprI>ZsT1i&i$D7rRx2FA5s%YYlDZ z>*1@U`uMIw9^e}Yz0WraIu8G6A`1GJL09-*gNm=TMXkeMnjR}66`NO+h;(RXL}zGj z#AxW)h=)l_Fg{`u@|1|Dq0dAVP*NDN6nS~X3aI#0(@w-&$l_VeH5Qo}nW;KNc8#Rp z!q1wWCy`U2Dyku)d`46+RG!{ZS0Y~+6DJD?v$M=>%-SH1u$zTH^SDo=+RRV32n(5j=LxmD*u^QwLeJ%XP%XC70Du`D4b z4VoF#8=4h!J9J1)HZ&(@1$0+TVzo}nU#%mfTPHlfDX%sbI=)&VRJ_3LY8js3v=&>F z(X1C<;M{%qfm0JtaK;XN!FjiORmPyi>V2TLxOD8ro$&!@CskY?^!d0Y&{yO3K~;P$ zMwZLsdqS^`9|_%mMt+tbDLE0}%-_b^+~3lVodCaXj)hk@-!3^HTA2JibZPR7(3g`} zL)Rv6fNo0O3N20E0sScXbErMFZEADX0q<{Y7^#cMxAIi#31smEw<~*E<23ZBv}w@1 zv^CJfX#uEey5=%yk1BbFs+u=tF>NmX396p)zY%mueqMePwJ3id^7MkA z3T{#51q9AjmO>lUQRs$x3onFb7TyURUAO{zwD2crdEu!-Q=Kk!7kQPZs7?{zw5SU- z3x9L2;iBcxvZB4vuZzBio+vsERmJs-X|1>;v{UgV(5&L2&|$@QL+>kosF+A<#Y>Qv z6|Y2ovG|o@i+Z*AbxPLawQj0Ui+3TH6@LpoiU)h7GVx+3jwpWYtdrx(&i`0a7h1n0 z1-iE63#fRs^PA(-PE;ej+9|=Woht#)c66%pgmP0Qme()mmnm-!ZCTzH+P*xK@($$} zK|7Uqfp#rlM)~{Y?M`tmoth36KX`umQ{~X?(<4r^8%;dn)y;vS0lrsY0W=T4c(g}6 z<5?5NH=dn$c*m0`3IBM`!^kw*HU&Dvw#n8~ zZMJPg{?2v?dfXO(MmR2Uv{RQlmOE}%D;#SWfyx~xp()PBPWl38KW7bfJ^74@s^T0< z$#mx|r$s&DoQ*uzHPz)((_AxM7B!1($1!S|YXz%$FSu5^xCdOXLD#!BKsUSIhHi81 zfPUoq6#BVqugk9XxdJY{h1^zF|2^&qH~)$|8Y&r+ovNw3HEVip$eV1ci`-o(@8<3f z?cwePz1)2b^m_LI-pz6kLLTYPfl7vDw~`#ooDW%+xhCANQNF>wm7{EPZ>Roy?%kB^ zb<1kQQTNYK$-`__K2L;)bMQn%B`Y)M;A!o#t2Um_9=Gb^=|-IU?w%gh?CI%4oohVT zLHm1dqRt@CJ)X+yUQaG1V?C3Ji$BFP6?vxTaZ>oq_RK++?9Qgj^E`$8jHduv;&~4G zs^@j+o1XR1&7Q5)-{#p)&G$SzDEY{<4_fXCKqWJ@RW$cKGLpvOrN#L8zxduYFi9H`{3Ce9Ywt7BDu#OjD@Y7JSe?Mm`k zJJlx6li|thFqBkIKBtJGoTIH&hZ7Qbn zb(K4*ew81r>{ky}9>oYWuku3ZkClIdo~|5#E~vVYvFDen0ch12nPs(zkv+qGVg^7Z z%eGaGh#7_adCYF;w=v&CPs9YE)vF~i(%f5Z6ttw;66lZB0?>rmq*$Lyj&00H(>68( z+96ivTti}qLhp(l1${Pl3H0sQZO~6+KZC|sufb?Ep!$Q=YpRE;Ppa-!ldDgsWM1`! z(C4c!fo`iFfL<2YGmh1+xF6!~Qpe-Ukz2;MW*q7se<^fg{B-DR@vESl;i+LOq$d5P4nVHt3PW0Cb9fI^$ox+8MQpOkH~bbVQ@O8WF{_(GN-ejpIo_ zCox-3uAgkG2FXdu^iIi*p|>OtfeuT42s%4?A+&&8`d#Yt`|T0P>E; z-#13bZ5)7Rrp`{iTFpsSX}2gN&B`b!nau~Ny=mVgCp4M5c*yW+i>EURZd|+#nv|cx znD=vj0QyeBwgP%&a-f^)lY%42$%Ty>;aV4FK<_CW1>I1%1^P+hZfKvP{zb$uDjEgd zTJ#Cy-={^NAqR?D6t`3@i!+M(C5wAPuPwd~`eyMb(4UG4HliFQPH1FF6f~wJ0V+Ay zo$B_Ip~#0yzK5PD2|yR`T(Xn1-T5~3j z>IXJMO9R`X9|b;!eiqmb{W|b{z=?m~&&YVZK|_xO#WjaO@rRLPYh7D~yNA`si;OF;4wN)E#J zfcS!mA6PTc5{M6&_W+UbgK%yb#Y{!=!t??X z*FfnvJZ_h<{XHuvB9$T;c@; zz}#BYtIh8Ua==A((5V~qeSu149kVI-7Z5)x)rs%f1%3e!l6yuCrC$I&fy7UgHK2u{4D1ErSc)o}ImLMDPoTe;0-wq~ z4Gu3ME7>ya${M}kmxC)cZh{X6*`RzmpIb$&N{|g606Aa+m;vSjiGL+|aKxuee7RDA z_;H2znyOO17a-`CstXzbiRmb7O%mHm;#x^OtMJ~@GGximsooFm8O?&reo@&gDmf-4 zzhpSaWInRwu9qD2l7GGnkUa8|%Te+;%Dzk4b1Aub#Lr87yCesAO;86k1mfo3#%#LSxU1#@k%7W@JvW`dw}FRww_*JJ?xhI{nX zNW(F^!tuH!R+q%&3hxj7>Imc2QTiAlak#=UxWe(b!m+m`?w0KR49D3D$Jh$T*9ynh z3dhxwm|EeuS`tqy3Umd%fW*-X$IzOAEb+6J0*Rd!j+>QrA`~+#94{+}*AgpB;$*D{ z;ka03$PyDP91lz49Z3AE@Lo*Wp}3o<=Ze{TtCvib32MA-szk78E3rL6*>}AEGvy~_ zB^GO6WefePMJ=ht3cL2Z`@Iej$`3J+J%03A`21j9!>z}z)}4_BdYy@Fz}ya%9C4Bb z{tz)iv&sL)Xb{W-ec!*71-h>-%jO^|z2t(Hh(o`vNS?hGxz8S@zG6kv`4?6se{dW} z7hoT#)2@u*>ST3iZKqq+cV;@PsSba*Qn}fAu9eDR|5>U0KeSTWCE{OQsoX#msH*C- zzj?hfFDhCsidr8o?(7i;wWs)Gl-?dXy!kkZ1b)B%x!cIm~O~t=9&Mq4D+EC z+o8!h$(2;@zqD@KIK`H_!?35Or8ZJcQk$hR^0Jc4d?2`zyC8KT@}l5M?n$D0F(3OU zE4iUH+*6DBwV(0kpSgycnLmV*QTYp?dBK(3n1X}?bijfM(8)vxV+1MK4t>AiL&nG* z#0o=`{ae?0w-uEYRZ@F`tG!?SlhxkyU+4X-m{C=)^ZtM=(aQdKoj0}QTHftf@(*bC zd93+LJTqopL^S)aS^xD1vrmQMJ>UET0<@ytS6w!rN&%11|Oo zu907D79xl37C{*eMQjoxhwTy~i%lW{h%9!AOf7eWchj=iDels;*eVuiIS(#&3;C?r zF1Bg8mo;R+2)2*@BDM;V!}f|`xjkg75IJnG5IJnK2-ZR45POBlVzY1q(c(PtX1cru zTx=OqN9-A5%MjnmO!$?$JPUremUG}@>yY|o@S|G(0WLO=;Bj4Km;xdv!o~I>a@g)6 z@@mS~=yK)ez7$Yi30@gUoeSVGT8@Q_ZA8k&4)TDObKvu}EOwENTHXxbtL3nLL_VA8 z3E4=3?I4StMC2T}*h)kW+ed=351SJR)?xH60wRZPBEdS5tik}1!}bx0d67n0XI(C~ zl3Xo|z2q$|hixYESxXcvQb6Qk@Znk(8_F0ELAm5)U!u#y_LSgfD{-9zkvqY~t|I@V z*j9$?aT_hUO z`rws;lwSa^s^w~MStpnB&`NpezX;opq+D!BrMk`@_?IB~UstEk6i~+tZvv!#Yq;2# zB)&~Q_(Wa4050|>`JI=+#qK2a#pdJ$BD>)!TF!(I2Tdry6E1eBV14u;I}q6kcWK!J zPt|f4xY(p5j?O^%AYDEfev6iGg-_J7*sjE8buo?Zfgc6ZzKQl^1@e7u@F*bV(eQLF zi%m-<@|`I+;9}2`I$>Lu$YRer3`7pwv_$UEl>ZR~%R3==(ef=J`<9f8jjKNpIUBxO z%cXF!bp=0r8~-B^`9`?dx32xF1D>;oe3fPR#2WAvT+6F zr6D_)$YSdfJ6BEQ-f*#ZNx9g(#NH+Q00+Uv?j_}6+gGriRU!LVupC)zU?PX@U?PWY zVIsSCL$M3}2s7YfJCbs-7m2N?BQIvcp94}ZcBAjKEH9vNl50uqPhxwL zeE{9ym+A5z@SZ@9)f;}fmcuqGX}>RJ1A(-216=G@B8%|NaXM;GZ%1kFu0Cc-;;pvKUDMiPy!3QX-7q6dVZ{ z3y3myb5LU#OpGyhda~71J{S7bZ(k$)S?==SnDE;>f4_7a(ar8a8yZ4nvuvW84JVqJ zY#_}h>exskjEx||*nLD7dw~3Nidf{M(ByN~Xf;NSRpZpdD!A!WO;nTAWHm)it#E>} zQ~r-1(}Qo#2-2C*S-R>Y>QVKWdYry;wwj~ns(HckC)9j2T6Q+@dsHEQ9O1XwB^Apk zwt$^kvavFbh;WP8Lisei?`x{X>KWZ03oR-!81>=TfyJ`C6=k$st&WF<*J^J-PVwpZ6wAd3tHn~7Leda{s)m2BWJB7OdX$4WVoGEXVoJW*G%4;iLmF|0<9GwS{;FM2Y&z@&4= z?`1a}zf+H#zkB`rBVjxd!^wF(dJ~;S_J02U(Fel_E+6DQ#K7^lJtF?bw$6Q0SE*ox z3Uw{HX8Yk`L`;gm^+71aU)%HjDn%fXeuEMH&mU)Phd)PkE6R9bp~_vdMCHElg35jQ z<(cSIwJy$EbmhfMma4p$2$8_gm^TX*1D-o)fn6f*j8S>x$E&=_lU3f-sb966G2>{+^v$EJ32jg?AVmt zapNL#X^-FTD*8#t7o2>*D60>bhD=d~I=TFx)Ol^p-E$I^2jpP!z)@TrvCr=L#GUA#Cwx1ca3x41Yxx8&KB z+~-hQyectw=FIfmrAt$Cmn}=rUA`iP-zq(K<%=n~FTIkU`|7JHxv#BC&wc&%l-$*; z({tCXA&)cXmXnj7o12?LgpZWmvEx#5A0D5QJ7Hpa?xaZ)&6f6;rQ|MOo}Rmc_FhMM zkg~_;rsqDvc|22)o?FDRv0LQMB^HK-_vXwIIX!p&!eDgUyu!lR%%UQdw{)pLbJ;SL zw_-(u%okp;%w4t0i3V-UojNt0^G?Z~H7h;$kw?;VAAR)tE_3)ST66BIRch|))lSY+ z{+kbzCr^?3YVPdW3%bl-@LZRL3)A^7a@-HQtXT0`mlt1@&p3H4^;UM7`^1(m{8yY` zuq}A-^Acs3_6{abn6NK-^5o;mQ*^tJ&)(N%{``Yo7A%l9<@Z08{OF@{4#5b%c@K}b zrA(T1LCWOGzLfB1X3sXNaed}J{BT<4gbC8VKlic6e?9-aHESfIZ;cfG*SYeaKKyW< zl=0(}QzlH9nL24wY~#t3L*FU%85{pm#p5;Oc%3<3y9&o!ajQew=JNl{ojzUV&7IpS zbKbnUsq^R8ZoFW@WhqYvf4f?_FTY~rKmUL1eFt0=$+mv?1SaQhN5i{nT6DsDgW>G=qe`=;tci-N-d*8eFzVLVY zcltY1T~%FOU0vNhbI$qDv3JzOtVHeU^g~)_T^a?>+qyIh&CZ=LMs{`8RKibod~B9U zRMbL~RjVRRl9N}Mq^2gCtY1IHWb0NF7+0n+77qKvIfSuw+JEQH_t589WaTcqk?foh3i2D<0{i+_3F(g8#WY}^-zs4)G;Q<%Er)`1$MHmr@P^HaC^)udD=gr8QE67j!>@AK1~}K7EzsN(8Chr% zMI8UOZ5En>0+pt42WkgZlfO+rMsjnhaIK;=biBlTk&MH2V4+zH*I9ao1zbxiXcw-@ zfos07P^G)BD=I0_UUO=M27~rvy6b=g?M+O=HOc5YO2swn(&0LVc_TX;*KE#(IU~

      gc?5DW;8y>EgU%1)4*Z&T(;=cH>5S=S`d4oYDMNT}^}bZgtjX zUvSRZ_{BNDkOIdXP2CDFU+{YxTz3dnn&R#H{z3hZzH4>op&QI~O3k)y*3gIDp${xI zC{hj?y8~nKj{nZ`JN{L={CE5lHllKvrUf4z>zv{u(v3(Yp&97u)v3*{%n zT#1m1>V|$pef)hs-ciPhyjaZF6fcdC)Z87$sqy($o-jco&djS1iyDATR0Qbq-t&k4KUKBP-P1}JzfNQ08XG?kl_5k{;HfbC70FJk|uqAyt_8=w( zt6i}Xd$4H}R=XL}p$}^#zNH($Zy)D8H*AnXUwib-%ChR2zs<(0pupLyuyBQE(e^yg z(z3mtJIhaaR#aT^tla(5v%31dXHAU(TsKXg5gJ<0sHKXY(JP#L#>Q59u3VYz85j4& zbJZ$QPyPA9G@CYK#QDH985^+3OyYb)d!bJ;xW{6VrEuM&F@ORlp?i`x*FuvA*9{so z6i8nY2X(+0K+h88a11D~CQgq#VZNcjxXR4By>~Z>YLC1)cZJFg?IEq074| zPmd`4lddjZU!(i5N)r=n0b^68iHn1}5~;dliPX(G==nlFU!gHsQiAIKDuZ(l_k;N! z>FJm@BO}TK#t_V>t30-C)6b&@uy2?r)AI6mS`-!SwSea-?eO%8qWF#4`7r2HpJ4}Re zod)Ao3v+#1Rn;Sl-MepDRPT9hf$pnlUnnm;e?gyNX{b#Vl}#2^Rn+dgckBBMwEz}!(FdyjCDl5sldmWrx-F|lNHv6T1EW1-pa@ zc-377g7Pm1L^1i1UJ8i(EOhn2>+et71?Uu(-nRqwi5uw1zXRzb0sqW)p~b%g z-NS15?g3@j03u%>ln43y+$HpTfXFtY4W$1S+X&AeAr$<n&FFRw^hJ+2^7U6Mox;w_W(BLjT_m zvesy^Z-KY`Zy)%DfcVgL_8elJJx5F0KNo*%ErP5>+JG48tU~lQ938=m1X*w(`wcVT z-TTpcqvc=mKWY>DryS<1KiFgkY2W`p2c8Z1?uxm=`uG2$qyNy+$6vSB{l-CP2zr4f zeQyl?!>Rw*aRB_g7zlzE{l9htzx{8gPt~u3bvZ`BdgQm-&=zEu^gSQ4OBzUQ9}5@? zqPI($2+@D_`H*c8;ys*7tIj0j|prT-wSEci?B zFMQU6ZrC5tS6S8R9g;juMIs8Zq)=c^jvI;?;JsAAl2X;;SbT&=8B;D#DtPg?c?Rr|$ zk76k9JcgZUN%%W>^6zZ>pStN3cKT17b_P3(o%_>V|BMXh{~4A1lj~@)F8W?AvNO5@ zSHV?X(m=w}===5`HNE{2vON0z=Qef+yZigZzw^Bwww(d_@qFF;X1&x>@Ij06A5edF zJ%lUi(YGt?w^tsrd0G!vPx@5-obc>h-sf<{zhW;S#{4VnwXXIzy7l+_$RBBMq0~E& z_h1c#EP#+*Ov|FT214JEMbO{>eEs{I|K(f%eE-P87yYM=K5X3@t-e14eM|a7MfiuQ z-xL4)w>N{u7Fwvf1;bmu|GV&eU;L5w=lvu3qhjCE{=EFRtbeHdS@}OK^baQ@+aW4p zP0k_gpk?qB+aBu(Pp#;Q)dG08eze_mg6BH1AcD|>g6R1dM|*c-Thzrx=nOq`EP@z%I8 zZi-vrwzxCyh4;b(@WFU6J_er%KM2jhXW?`3dH4c+5gv|5;2Jy z5Fh^leh9C{kK)JillW=;EPfuph+oF9;@9z;cpZKRugCA>5Aa9$6Z{$eEB+FHjlad; z;~(%(coY5wCy{6*Hc3E|l3J14kvfsgN!>}-Bzuwz$%EuW`h^rg8blgK8bt~vO(IPr z%_c1%g_9yl%SkIp@ubzHR8j^>OWI7zCl!;nlgdfEN&83#NJmIVNv9y{#wF5q(jC$h z(o51uQX}az=_|bSu*n=Um&_yc$pW&FEFz1^60(#mBP+6kDE^ebl!25W$_UCB$^=RnWhP}F zWicfZ7+&KjNt6^y21QHROv$GdQ_3jSltYwbl+%<8l&h3mlzPe|%5%zVN&}?{1}v4z zr1Gd@s)A}n?Lal9cB3k(wp1r-52_c{pW2r?kQziCK^;S#KnZM~)KY30wVYZ(t)f;_YpDBx z&-y6!B=s!yBK0cuCiM>WKJ^L2qJB$#PyImsLS-084B8u*8>oRx!N*{b!DxfY2D1&q z4Pp&a46+Qi7!(=oGB{{(#^92{eS-!ADve8PL+eVjqxAr;>;AM6v@qHNS`;mgww9Jb z%ckYg3TfpK8T2&m3hf^44XufW(`j@m-I#7gccA;y`#|K9QNXY;lfH-^Lr;Q;)>`^j zdMUkzeuRFOevST^{*K;AXE1n-Rtyt{C2%gdGkP-yForWGFs3rX8Os?f83~Nlj8sMj zBa5+-k;mA^C}xxa%R&v~Amb?G6yrSO3gaelEIed9W4vO#XEZWC10y!ZBtg7u111|H zUCWt9Omk*erUkGpD4Ev4uVBYSOxbQsccv#qy!L^3*S(l1-gN+T05cFGUI#(E>#@wq zz_>7nIgh!3xriAKQLiJJOPSHk7-lRp4x(QtGEJFNSx$E@e9 zSFCrekF3w|Qw4=h2c`x-Tg;ZTTeI7-I|5fjSGFbFnyqHrK@@Dn-R;J92kvgf!RyEF z1<|nkvI8I*b|5f01hG*p?2+sch=m=>9?zc0p3Dw|h}bjOvmhe&JoWc$3p?T1Y%`Zu&deo*oW9h*(cd&AyW2Lh?9K>qGUg2KZhvU z@7N#NpWz1;3Wp9{4}6Z8Bj>c{wBvN-m~y&uEIHO3JKz9!1CC!GPA^Vh&H&C}&M?kM z&KS;k&ScIs&MeM6&LR$qr5(eG<0Nv{aMp3wbF`dIoGqLJP6?-sQvtEH_i+w!j&e?N z5I^`;&P~o8&V9~f&U4Ny&O6RW&S!X(p>XM3HkZ#8bLHGNTw|^Yw=36*s|Ma+7p^X-c?<4OkkHTm2`FttAHQ$(T%D3QK17EQl-;3XiAHW~X4+h5a ziNHuPhrfs)$&ca3^Vjgx`C5K1zkpxLui)445Al!l&+;$xZ}RK;kNGe7@A!>i(rh4L z3xoo>z(~+hU@ou}s0B^}cY%+fw_t!ENH9_mDwr&oA($tK5X1-)1?vP_!4^S@pj>c8 z@KEqV@KW$f@LKRj@K*3n@Ltd$_#pTw_#|i)GzmTnz6ibwn!yPQ7gB``Ax9_>N`wkw zD`6X9TVZ=)2Vp0niO@{gMc7T)U1%j#32lV7LVKa3&{^mz>>>0J_7r*xeTDwOrqM^( zPuO2L5Tch45h5;)5yH{Jal%Q$slsW(>B1SpnZjAZ*}}QP`ND<5#lj^*jW9~MOt>5( zoW}{{g^9vs;TmD8Fin^t+#t*nW(zk8Hw*KGTZP+%g~DQCsjv*rfp|C$ zK@9X`!V|(%!n4Bj!i&JhaaDL-cvDy>d?t3-*SWYHQ?ifElEU9?`5Dbk8^M4Lpp zqAj9)QGuvPR3a)Bm5Itl6{0FpwP>$szv!Uou;_^BnCOJ)l<17;oaln+vgoSly6C2; zPIO09FS;*!D0(b#&EhTMZQ>&Fc5#__m$*v2N4!sbP+TiM zCO#=XBR(&_B)%%XA+8hO72g*>5f(p6$3agp?pcuKq_ev)4# zeI@-Rfs!GTVUiJ&5Xo4{c*!J5m}I(SmSnDEfn>2HLJ}p3maLG(NfIQKODR&Clquy%`BIToDpg2ZOWR6~rJbav(k@a9sg=}PYAbb+I!oQ8 z9#Su(irJVX}mN^ zx<;A`Of4IvTIohQNOwzXr2D0Zq(`L3rKhB4r5B`^rPri4rMIQ^ z(g)JV(r3~a($~^=(ht%`=@)P$B+CqB3>jO-lL=)KnOxQiqV2brb(ERN%w^qVmcT=< zmf6dkAo{+$tf$OJ<}d3FEHDFPgJeOn;j)pk(Xvq41Ym@jDw`pjEt@A>C<~WqWJ_hs zWwEkVvP9WxS&A%8wqBMc%aLuCZINx070I^C%4EA_RlsGwPj*m-*vwDL&dAQoF3GOS zZpi9ncV+iwk7Q3}zsg?8-pU$epJbmQvOh^qmDA-cIae-_i{&zincPO+PToP@S#Bop zD(@~=%5CI!a!0v~yocOV?k)F||03@z?=KIO50MX(kC2DR$I8dcC&|O))8(_|bL9)< zi{%mWD0#Geg*;B4AWxRBm9LX$$TQ{H@=fwQdA__5m}_>(%jK2wYWZII0r_G1QTYk^ zY56(%Mfnx^b@?s%9r-=^L-`Z=bNNg88(_HkC~uN~mE#JEf~H_9I10W(q>w5Uiq?v@ z3S&hlU}Nv1uuxbjtQEEj2Zgi34HyW#6uydHiav?}#X!Yi#ZX1CVw7TxVw_?ku;ffr z%v8)#%vUS|c7jO7GDVDHr6OLDq*$X!RirC6D71==id@B31>!9zRqRw$D0VAq6#Es2 z6h{=t6{i$u6&Dnj71tCu6}J`jiU*3vif4)!ir0#FiVuoL#TRfPB^w$TG7Q;^Kj4Y}jCnYqe=uc6J_?v#|mP z``e#>D?j~KkY7aF{}sO#GS<&z$BzH#yF$i7A^p4m3K>KGD}%u=Wd!(>p#Rjql97${ zf8CeG##`^p;^zIY_hlhbz!o1_BmDGf0o#1!t5#7-g5O#_u!4efSYcsLtfJ|`n>WX`&dr6$M8*4I z%-EQfl^r!HFLyQDwJTjwU7hbyQ-kL7k%r5c4>yd7*`Qdl;;=dRaA8?l?O|SCjcwm< zhLu&yU@i})?%wSP`xIb%YBs?BNHE{F$0An9u-MpO>dKXlSX`U{TNNLLB_^)Kl9IBp zeX%WHEWWvwQEzcl(cLtJv|T0SbxkA{4!v_{~7-r8u*2j7$d)$?|wIb=9jYo zV$J@EU(P1v8-RRs&X^PwUN$K%?r(-{^#8V>4*H*e5EhXD$Gf#X+y~LvJ#QWt7YcD` zt6P_q1sU!vM`?Or9umZOsIHy@=L@Cj{d!1XOI=*tV$%*L# zuw-dOWWF>i>VS0Vvh&jD6%VDcagEYdt4Ol=c&02NQ7TJX-B||yQL?pb(LEK$K*S&T z2NhX@y?YV0ygZUoQDp%63@F>TGbyE|i@;}yODQXh1iv96W!Ek#rJ}-+Qdt?V^C3e1 z87)3QWb7(w{rWo6h7G^<1p<35SxJcj{ATM7&jF*cva(xPMa2_%2GIK>{A>J#*swnb z+4>EA@XSmXEO{H;7j^Yb!XlPM zVbNJ0;7}EXRY4jVEIT4rdthq{qp%`fo;)mKxd#@L9fjrW_Q0xjdHk`6wNY3~u?JSN zmkjqZCsIU2AXTGrB}JwOP%|?8VXhkhb6pTAGc%l&l{J;5)lMd5XMezRO4+0xJIqOC zRe^9%bR|_oc@E}JidYjsUAxwwl#()ll$shuTDLBol$JJ?l%77Bl#%fPUtho`6&9M4 zipm11J9oO0%5~+2lOo~+s0j)Fq{PGlq@<)EQgU)QY4z%JgCT(#;|>-hLO!-Rw_hWYv1 z47Y77GDJS1z!_nfm}m<3nKZMAh~Z`$%{a5j$c1K6OP84~i=J+_e0hRdOw2@fVq!fb zDGAMW@Vo){3-q5d_#T0@0^JeN1q9h3_Xg|(g6vg;VZDUVn*f^$os2^~KoFG28c z34j|w;3)vh1k57RvjNW#`d7duBz@TpfLVl&V$9zr^v{6Jgx(S2t#&11uKEM^A@qfS zO9(v^@DNC6*zaM$BSiXTK=^M;*Un7v$I1dhZO#WQCiIJdR|x$xU^Ahcg0EC}!e43( zU>Kn<1Y8Nihk8~6rhuS+%K3;pnW+2x)8b>;1WWw07P7=D9>5IbA(QTa3?enR3{yf1%mR30p%bR z&=DiIEs^dB=tAhefPDyk2;c}p*8=V(^hbbC3H<|LGoh=&*UAnA?JE#)5TVZmoJ;7* zfa?f-1K<`yF9Ae6rKqeg1Y21Gf^@`{y_eA60)8TNQ}E5|4ubL^e(Vuky}kr69|WDd zBEVuIy%g{>p_}rcEC?za1UQw@V*!f^{UqRRLjM4Wm_kwh-h3Q5uJ!sHz;Hs}19%Vw zp2o04fQUyF<$nVBlF%Cgn+e@U0C6`#M3Bc9un!2zKNoNbq2B>~4}$C*8UUM#bRooo zbqBG8bPvEKL~PjQfGa?dk3u|PCJ4Gl@&SuMQ2oyUUlMvFU^AgpApR={1b(T)xPSr> zG=7ADW*{=qtpKfwbO*qmAjmq#3(%KH_XF$=g2q@Mzj0Yxy{8oV83dIL z0vti;QvjC`dKKVaLO%}JOz5p-;KKoe%60|pPUzl%h?fxo4QNm34uIYu97y*8>;s}}Ghh~>Zvos&=vM)+5&8qbW9w91VP7T3uq65(j5U^h;$#oK16yD;0Qtw1)Kna$|e9N6M7n876_^* zAMiF2tM(IMGocG0CaoigIplEybOu5Bg8+*OeLLV@LVpAJmC(~WKs_KR|J05Uha3cr zw>f}IKv248Cy2+}U9Z0dM69qV-O?KFDIiD>1Z?)u>)u|VkJIb+6Cn=>$}<9RA_%&6 zCIL<%()R)$C(=&$1y05%i)$K{}dpt6_aKnFoOV-@5t*6Z&8KZBt5 zGy`_n4)JIpQ%6865R_j9*oV;j0}decK)}(2J|1u?p?@xgeeKqlom36!AgG?jfJ+E{ z1z-Z9rvqjXx)!kcv_8MZ8MuByP+4!lK7@V6j^2`TpCiH<9;h7D@2hz2G*&ry-M!-#ko(H&v z&pK+yb94R{Cy^|Qex7*ilr(Aj_z5Hz2+0dxRCzJ0EMJwede_6GC?LHp_ln0p!g zrr}E-;K?h%Zw2}(z_{yhY%qzh0!#-%`L%#0An5+G9k97hpWgO1oM#Y}rwd>+q0{c* zm;wY@)foaBgP=Bd0_*~U+S3)VI|wQp1{hE1iGa<7-t8{r0YQ0O09^^)5AYX4?+chv zug_BqxR=ly0lyMDb`P$v`}#bMfVUs%^+$luK~NvQ1Z)OD$9VWLurPt3{ayiVCiGrU zVEllf^dP|Dggz2*+H-ySPC)Eez3u|oOz4ysIMxoNHI(fD*a-yPD?0<461ob|4g|Hw z0nmv^cLwYMg7)hH=tby0fW1IaJ$(WDgP^%|AYdQ}%0C!zBnZkg8gMM3hXPIlLHn8s zxR}tF0LFr#`D#6&76jF^2{0c7ox5tlmqhv-z~-0wJY8SG`2s=t*8pY_dNE)Lq3;7c z3xfK&0kD}!FM5q*4?s{^@*B9%fFRuo(3Q}A0s9bo0N@Bh4+U%{^s5aJe;x#t{T1*f zp??8vCiJ-<;JOAud9DNACiLfkFA4oMU^Ah!KSFyzP<|i4K7<|wID*h)022tk2(XyY zO97h+eLy4R2SN3O0V4iwq%Q_sLg*_169~NquoeVeJ4XOd5$QJpZxi|xz?X#n39y;a zS2uz0CJ6FjItlm^1nsL45OHoJ{Z1|kYX(8O1Mr-=f*{=pxX#*wAUy~8&Wb^heiwMp znm-VEfcvbuS+Dy;OzS>GT9KQk4G{{65{>%-88Z-+%Re{`37;KS%w1|J9F& z|Bdgz=-u}u2)f2k1O9yf{rUd;^Zob#kN4l7@4WhX?|<4m@1}p!JMYi;+@J5cKi_kI zzUTgY&;9fFTolV4Jp+>f+Y)*N;BVi5^?ANF^Wa^Wr_28p-ice@i=nvg^R#*0GnLQmOlfd(hs&tG}$cJ65BFm0p2x^2Ha-+_H|jeY0-I(=BTrz2{!hHV({f&1BS+vCcz zPM$DC)i{kbG52)uCVo-ux$2c$tFt~7L~OL!e)2U zn|#u}c6`L!K3UPm+3oC$O#~aaZ%)~8V9%#bw4u?RG-ghz<`eG*EckFkwP|AJu~^5j z_G_XRr48+Ocx%Ls2_H_pefj1fnccqmh1LC?x$pa%rCIks%6)Qo@8 z`+NG$x0_?vD{b89qKtu~E=ss_wdbE4O4+;TZM*9eqeJ?X>`lGlCB2^5e!*I$+-dpr zzW#~V6%KtJT}+o9d9yj@o@(ynvx)-Nk(wE=T78^0p%WIprB8!6_S}bFGcT6S`xLe* zKF`Ez(ChB=a-U^fVz%mtbszeq?GWF?*X_IYih0wxcGPg|mnD0;tPeD*kLzncawTi` zd7A;#=15+Cxcd4%GcmZ0?ZqXF<=qmE=0CfWuxO$2l6AYE;UV1lcGK?~&o7AAc)DG< z-uLk3!3OCmGfu9l*t>L(*^YZX`Yp@zdQ`PNP_kpa@6_?1D2ZC93CsJ2PZ9TJPdgU0 zy7{WjsjCAd`DOBTb=vEyF<-*p{t|enlv?;C>AjiD#~Z9?<798r0{SP<=veWrS8z~j z&xciA4mu8#%zOGg>~X=M{=sIw>AMU2q)$v-d2F<2!$f-DFP|?fz7#AY7iKw}ySw?~ z!`XxjFE0$8>qrpp}cV28c0|!TSF6 zb>jx~D}6EKbA>oJZRyJ9gtx{4&JK^dD47Fa%JDTkKM-~$>P6fyB;3)y0GOnc1Eyn7npR&>+kBhP(KdtN4W=)9wI-(3rv&QjW@ z7q@mk+x|&WHRIE(&8+y=8-87s@AauXWI<-$)z4zr$JNv`ha3*sYU$efhkKqC&JT!> z>F*|6m}Oe3P55|y52@Yo;--E}y^jmGknhL#-IS%Y%?anw-;|T~Qe01{ezlKv8Iy8E zF=ptM%qz)X3LXzGJ=%VJd#fj23!5FBpG@qs>vP<)67@Ji^P?=M;G)e3THCKZ_|AOJ zoM%&MUk*K-`RG@xrkyYQ7Ja@kMAdQ0lp8#*wcDfB)01!2ZkpNleM0Eg){SBQ{nzy1 zTxr*H#>9QeRH0&z^pxez%U#)nC-q$Q(roEOPIbtzVEZQ(TYJy)xm&b!Sfu!++`4|c z!!D(f-#*iTLnc#S@UripzvF1p+lxN(ZsfahyE~Z7?D)9HP66*qvH4>5r^Q8v_Fcs( z@9qwm<=)t-f$P>rlzEyTnqrW4{p9{D)x$2d<) ziquXuIFfxfAS?S-T+`%G^D$9{qf6SX+Ysj$UOsqK&h62+4?KUS{_1qPc})M!U7p=9 zKPQ{Z$&{U+dc)gTy(?#WrQ>1#rA}ua+!z%wb7r9_Z}rM&ODOoQwLw8;gJ-&JFSLx} z_nJ4yyKITU0NS&6kK47nw(m%}+X$1JCcK5Yw?1~8x$NlDL&dh8%dHw#M)^h`8#Q=| ziRFv72Db-_3%XH_FRXo1H1B>i<-&rV=T7^zH6Ev|2({@-rLFU>)Q0Ev?N8crVZHS8 zfp9~2EYGZ8iG#_YHy&Bjn?BsH^4VMQc+l0Mt%tmwK0&_b(sl7P_w|Lb{aodd@h2+| zdi2_LJ9%ngRoit1`)mdr&M%-PRG+Zp$CQkiSyeN6;7*S>7qcEYT4sqy&+a(Atw&vc zga3gO<%2e#?=_=t!v5J4s@q#@=CI$zeK?*a5&DJPa(eB;v2R5=JM)sk<3h)4E1yny zGwRel=i-%vj%^sf#9^ykWfM@dr*+@FZkTX;Mx5uAp=DNYLXU@zCEvH*RsW=4X2qHD z8LbB__nLOh)@=Aj)7z#yOFSpcF8#W4eeVtjJbD~3OE4g<>NEe#yTuPAx5vLqq%!uc z+E%!(@V>#OHJZrn1ADm6YQAV<>2qeb4q&kCR zVp;iuyOXE+z0RNJ=1{lx*a>f&5rL1NT&p03SQp%ABY)}}+v9Y9)5_|+{ti>Ky*i2V zb3#my`Hv3We|frgb@l0q&B^_qPTm@!bX(9dC{&Z+C=VKQf8Y6tUR{iH9jXTZ;+(l` z^n>mvRz&4g-v26GTfxqW+QZ&4swC<12}V}I+mBWDF%^f-{knsEdpP6Q$PNeOhgcP-Ih*8ONJYV@%4 z$Da*%+;+nz^>R~TFEPu+TcTrqUKiTIaYN%7|= zgKeM#hdaM%f0CfQRmGkQ-t?QSG1Yd8t9J#%GV{T66uk)K44&PjG zF7VQkji!@6F-$&8JiW^O)r4*Xr3aGJYsz-7AKv=i@rEMXKI^t#ImH)vTsYq5ihMg!esXY1g_fixZqrzwRqVid-BUjQ5mVOeP@jUd)r0yg0cBwlp`P4c4QnXC9 z`o@f?X{WXxyWX$k09w$aE0mrwvMOD-Hz;=|oi@4pdgwJ%(%y{GJMMN`c-N|^Q|02dneIVF-ILA9A{#}G{#8dYo!P`^byJYcEja#_}_?@MnPY#Xin^!RU z6UB9@Hh<&h3(p>J`r!L%^6eg9>Lx8WUX=Ne)@Me?{bjj9&Tly0dn*#(r?shLtuFbrzv2G8C|33JN%Z(5pQr9i?KeB~ zBjt_t3+lLzy*f)TMb1t>;w18#y=mdy9rb1T!&(VkHwJg|5KH5obJlCldhRfN?ej~! zZT3yZ=O*W?6FThWn+>bV7;%SRP?UJw{64Rwe87eir+5qO#w0vusJ-zK?Sc+&Nt+LPYs8%94{ zdU48=E!ol`A0xjwN91_*8gs>yY3LA=AFy+!ypy3|PrF+AHkZbZsKwYKFQNof#S4vtfR#BqRBnIICgWOZQYI({m%N2j*2Z1+Sey z`$|de*@k0tO+31WHXLZrGq28w?pa+HeZcp8*wO8w_0EUg8IR+=Q>d+q9$Ks%bz$n< zr^8(wXmr=&>0xcode7s2&2KtXtZ947?btk8?eviKa_vr`w`AL} zT}>wCG6&2KI@--rT6aH?Iqibm(dMCNKa=|}zZ}!)-e!YeYqmK|9R0EL*x1>2?H)e9 zzMuwYzB@GZNKM(XgZs0Xrzb49IVS%G(`lLOr}9ho@nb7|YL=a#y^T4k3ZUHg8W$M% zPLnJUxODIG=;0-m$HL)-_rikjdG2L?eCF8IHpQ&bxsS4s*@dN-Fh=fC*_{it)E#GR z-vlxl=bSEh3?KR6$b!3#3eQ6BRQ|rBH6zUzlDF($v3Ovv&}m)TgnpwxUtCf8+{}1Y z4E>->@0)pnf<P|_U-tg>D!~Ekh{+DT9kOu@m(*}Gv)Q;L?aeZ2=;#&tR9%$W6hNMpRY}(xWGbQ&?vG~N-~H#KtpzQyzd_O%zvyQELsvdD{Br@me`X}5d*9P%-v z{w4EAe(;drTz4jpy1z(J0#5l$TaCH(s?V*u=gP;v9ZZ+o#x*^DB#qhq>e9OdS9v~t z%a=`I&FM2Uzvp5x{e1sr?jb`CJsPjjcHz2VBR_1cRD{#m(h^B45VF78n8Wb)w2OL&kXa%9+*qZbeVeVmbY*8 z!1=>Qe_a)l@yYd~y~{XblK1SYzj1q8X4`Z7 zcfOf;ypPhX)zE-|?E6Ewvu3Yio=aMEb?xyb4*eIMysU^y%l^OYE6QYk@#s2m?A`k^EAikC1wO*vhX+R;X5Nd~Gq)i>VacmaCNt7L_q|)P ze)vhBEj=>sml#cFj+tkFyp4A6=P^r**5HSoa2B znOeGbP5Z30|rqYNz^WS$gZ8y~J z$<7Dt+L9rDMpaF;(tNYQW9zn9*sVOWic)v?%IyUwQ-b=>a(op$Gb4LYcx|VBRt`+9 zear7(Kk>i62Y`VFe#>l$3XM3yX;=(cAEDTYE5IU59}`;75RM{4uhKDjqlmMKKa`_E zDgA;t9cjAKEUX>Y9+nPR$A8gbCg~zjCqu;BA6doqaiWcMT;y$aZAbyW?-oY#4iNix zJ+!FPH}-Ko^LR_tT7AsgmWZ{v5Xtt(rC7%r-V(R=d(2ur|2E>@*2k#*k$3wT5uZ8+ zB2=Ro)n*W#_QyEYCm{Zx5<3a}=P0sk4lHMM>l}#Ts%LdZX@6xw+{!uF1(1u_C0JjE zDA#5X<@$<_TlsrjQ+*s$#1mbQp?IVZbbQf>MOn`ojiQRWVs5`V@*jKQf2W@Fzw&qx zqjgJvKgUoE@?XDkdACG%eS_)woAvQpzcV(sl>1kpjt%<1dR?Qx)&CDHIKhbR4P;{m zxDUau-V37vTXstfcsh=_r}a_bTUeVJ5SKF-L)_Cjz&y>>^#l(hbqa7H4q>Zs32c?( zGF*-$erF86=@$iVh!2PFtstUj8{7zQ3nkm(?IF5n2fQO540hd}@e#1y1fqSK;pTXk zZ++Yq?*{QdyW^I)6|TfpxHWErt05k!9d3_1;EuQxLyeU02!z z_r!Zb)KG8S2lvJObZP#u?uGw?hhV+&K6qceA4C-Gj}O4X#$2}q;)5WCe`hNeB_W#%) zdR^b||41GG%DlgC-vE3(J^`Z1PQoYSQ~t2$!tkk(o(n`o(;?#Q@5}#V-)H{C^0V;S zf7q6PWzYPTy61dr|6GW>`~BGG|I=EVi!Hzx{?lsvE64QL@+`s^!?hg_f|e!Uq7CO@ zOQE&PAU#^wYQ%Ce7GfTMXSP6`7KqV8&t>uZXCi&1;y-UgEYT-3A(HY+&{1ULmQpCf zaf`0U#NT~y*_s6ND_WBA+1Tp8k!KA=O2+UMV(T0Xu}!3Y%exMaG!0M35${9>z8+r) zp53VS-yhd+zh}bsED$Z84Uv~O{wDt>d^1F1M)~s~9&<}e{}z59bN`68^@p+gkCgl8 z<;^EruY zDE^oC9`wPVeDv?$=&hRxZ{0NTtz+umcw63f^>5t2T|-brh&MsgaV61oTuDqQ^*?h# zk>b%vDAg@H{vAF3n|=IOd&T%)+^>H!JpT7?)?#QuAHDXs*MF2lSCCl!?UMQ}e^&m- zy8i8YiRDhqW8PJkSG{j}W7bxvi0{0dYJNtY+)_$5GkK=A->`#}{hMwo%QtJ#Beib;0ts%HL{`bziGt z);FylTi><%)jC?4YO_+g-e#+^%BD!U*QT{fscx^bRUc7awYj5g(AAn@m8Yw-rO_9> z$M`gP$N6X-x;rg~@b?Oze4jK2Q>SGrEu8B={;1NvEt+qdK24)SDJ_y_4e?m@i?ya} zT8nO>F^9z>O~06@nSbAc()3%P9FU3Vmv7slW>{YOz4KG0eex^yw}pM_Yt?T-I>Zmq zGkQCc8 zTVL02V?+x@S_D+xM+<8t=%dxG0q5Cnv32#mYCFOAsqOYZDIa1N2Cllpkh?CF^wT4# znRd~3CFq+LM8DR84okA#_dV&hwQT=AYIR$`uZi+f``?zIW%u#hUUemYv+8Si(Js*L zx-Q3fyXR=%+KKkl>=)R5wTrN$=>Ervv*X*Zvuka?$<7qjt({}P$o{llfPKE5g?+i5 zgMGD~oBaVhFJ0cFcD??=|9&iVBLJP-7Ond??YE-?jgs&Ax@(m1%|Jub&@~JVQ^V4* zH5?6B!-Ivd5om-k3Pi+6_~DRIe`#eJxkjNe)U?vH*0j+W>8=bkn!k^*mOcGY@(yBtZ!w@5vVm?;8@Im=<}BC|5=2o92N^r zH>lG_*H0FjtCsgw^_DMGk1XG+o?CuYaU9k=Qmq8mJgZjLMpow5Vykx63ad`mmJWLz zZ5?VIgRDZWM_5g=?&)yRag5b8>zP(dtdp!ZSZl2ctW&IVtT$V2x6ZdJw|-^y*}9j* z4aY_+mJLNIvEeG)+E9H`eEK`oJDMo%Y>bsEo32V{8!M%|jaun#IGe9}kX0&pa zO|WvR%^U}+(^3bK(@Fd z_qpv5=Je2Ew$rZ;i=56W>uqi*U)#J?Qq@nDn7WIqhuT5aS8b#6SHE+Ja%ysjb#he= zRC}s|)V`__>fWj`>fx%H>cOfob%<)QdYmd!Jz2F}9jn@`-l#gLE>)dZ?^0b+@3wwq zGf!Ox_Y&c^sk7dDrq3bEv#LsaAIDPr9*#%s10DC-_i=2tk9WLeKgRL2{cy*7_A?xB z+D~#ca9Hcu;Jw_Zht)6E-K^}bTRG%AiXApOnmJTB8ar%vba6Q4c;2ec`k~buYg3;} zpSj8yn^6w09D^L5I8Jr=>NwuvgX3|BAx=dO&Q5s_YNu)kf2W-eo=yiH0-QRloYZuc zk-C#(nUj%Yp_9t-fKyk;-A)dU$DF3C;?!xXO7$95u{uJP@tb>LPhWrE5q@+1#`!Jr zo9egR@0rhQpEJIXe6RSv^u6u-!FQ1FaNkcZ3|HJ$;EG252cIuKW-j(FRxUkU(D$jn zvwai%^88Z$iv6xOaDN zmZ;!Da z{XC|6>~}flvcf&jeYN{`_YLm5-D_?4*`9MbX?qP?+t2s4i`v%Gwxex#PbXVUGl+y` zW17cmg=?K{dpNR%zV@!}wlY|lDfajJ7_uzh9Q!?lwaYU^j)ey%fYC)ZiBYu6A~xp#EdN z0=IBmZ_gszA)ZyXsUEO*_;@?RO558R-4zGIdKmhSK3d)SPgc2>a6i=5@caCuowF^s zSx$GJhicX?agNsED(5viL}{q%4Cfr(_g&64Iy~%rvSt4*dnR(WeEkE|{*b26t-b5~ z*!iV%gT5}5_UE-=`WETx()zk#+I}EIKt_Q~0GSRlA4CJP0wf6}4J6wQ%4oNOwjHDr zeQWt>_q!c~v~zCPV13u^39MhceS$UKgVCcU(_g_JZY{YeX_PeGv$|IB`x>+@c`$AJ z9+=h)#0tb7qz8yENI#GvAfrGgfJ_IOkLuBCKwANl^kc2sv>w@zwzbE0SXcJg59?z+ z&cXUxkGntS`?llXDcY8vSLkv->G8V9C-^%}mrKh4oFQ)DoEE2x19%T<*BPBJ zDHmQB8M2vNAy3LTmiW=@>Ae}zoCVxk-c$YzVKgx891uU1WJ;@~oq@&3Na!M(BdL{o zi4QQ-`2=uhd%0%KvIC|?pHHs*wJ z1H^A=!K`?;IX|Bt#!w4_=rh>oX%D%X9H#I9qlnqS4;HD#rQA2-IA31b&iQNj_UhpFs}+4zheWiW*)me}+gXF_P7BG9?xabKu2d^4xh| z{2acqz(A;$=F`8jizFfRT$VZSx;TVg%68$J^UEbd;A~4~o#q$?bNPfL|tV_uE0R8S+R7YO<3ykM~fy|YNlFkl$4J9AzL zdb7TApK|KO^`cyfk=U3WNe@KCq*y+zucIJf*c-YbzmD%N2o{70<_H=j4+Rq;&{nJn z;#G>#c9O(Gf)K;}q`iTQr(D_@7=HrjbLg>jFGc_(nc>9@VNL|Tw^C+2@UCUDYuTsS z5826_1DtwJ09VRW0uNU??=sJiZ!YixzAHaLfFKY!ufl-uDn*blsD(426gmid3+DhI zR3j`QA||jX1p-4-CNLj0ib;~o5<{s{n!@&%*XhVLuhZ)2nRG9DG_dEnGlHQFO5m>x z2FAH6=2s?@)tRMc8L>M9BikHyF1vjYAvxzGz*YYv=LwIZ(A z5L)XX?k#qKHV26PpxvR+?m977;w1@{ltSwpBuuHHv@;w-w6wFVUUo~ylapxXGz(gi zyhg582xZ1HeJ}rW)(x~5w6C;TGIx3aJ&+zu4+Yl2IrK1kkwJ_smL5+}rWeuY%SsK> z=~eV7*>U=Lx{`jKUPljBG}1|oDxkhGVsvJhGinUn8R#qrGeQ`lj4(z#obPl-KBJUT zu3J)N@x0@}I=Eg|2b_a17*b#wIGQ*e# zjN{B?;0#O$?!X-23@m46%MdGI9rG#k4U@~t1wJH0-~lvdNm=Hs0|vDQN|pmGC9*)^ z{|g50znwC~{pZJCz&dUa4dX5c`2P0F@>z#u<*ZWR`8&=!%{pyR$9l+m%6h>%Z*WX@ z83+)$Y$4l_ov2WJ2j4S7kZu za&{Grpepup7(;dJ%k1mydKgJh*$wPQwvc1UG3U5&9?2Xy791~5Z%zp3xojdQm=nl( zYA}PdfD_4?!+Bwl%t`0Gmeq0^IhQ$&2KAf^aJ#-oQIrTVK5DiMIpB{*NDrM ze>HI6S^#@q09Pyz1SY*;E{Ue+&zr+l$iuk?v{r2}goV$ACxuacR{FLS%e z>$y+4*SQT`1D=$}WcH!$Pb$}M;kc}~Cu6~>E%5x;;Zq($>m zfEzE97cMK}dC9AIedVWt6Ym9Ypq#`v;0FOmlrdk)m(tXHLz*G2H}K#E0T13pz7Z{w zKSrL(pCHfYpO#he!{jsN^W?^~&a^lDNMMm#4*XG#{I9SW2rOt!fs&@CrO1s0o#9Gy zpk>Gd1zP!L`5ZyKz=f6~NEc)Z^5w;_lndNxW%A>K(*iGArTnSDkJbp>cO>CKxuLK( zt+UWV=pqcDos$1Q*1kNPs_*;%ARJ1Ha8*h)Xui26rE)78G$+j>G|^l_lWU&md7kHa zo+(PAC?!b)m5PLBQTeWQ?z!)LJkRgH-+rFey03ND*?XV8*IsMweQr)8W4CZKW4FX} zhJnOsSdZ=S&M9Y!j|^{#L7Dx+$r9-j2Ey4A3r6?B8>k3)OI9PiVXkMwQDJ_`zwmCk zR6D0>2((s-+Wl0rD1$fikR!IZN1(IvvjdNO(LktmkXO*$AF}!u|lBAsM zWy!I!r-jc8OUg22F9`=j?2Cps%Von`<%;2ra@CUMl9iIRl9z=W;SF-vh2OzD;}m3n zNDfF^3kyxi7n&tIPu5=8Sy&l-#L)?tCM=S5p5Q(qenR#HHCZ>Aa(Js-^#pI3M(`YL zSxwm~Qgft~rL<&K;0V=L>g9f06zn{a0E@W~_{#?EeoBglWlsx*~a+9|nFIsBLIy2t~;AfFr%V}Ns8UbsIRJJXq2~k`e#1bO`?Q`5VE8kw zQ2y2D4j2i`HZCLJ*9{aQtfgh}3kL!TOC6UHUVyzR*}wXH03%`Hwd)HQ2@AgK9t-^D zfuh4)NFaybKv0CDN3=WuWJp*Zav2c_IEa${Yd07$QVgwwJQOez7G8bu>k0e?1y!23 z4E{zw{+)b+u%4|Mlz)0jfRV89^il!C z6L={9^wI$%Vd3e)b7mrQgdRK_#u7-{&m_W?f#8a~c103&6=#rO?!`17?y?+CrmfRV89`V4c7Fgy!V*EZ{Sz<}mKs{t4|pmzILtQW0V83#PU|TEW{uEW z4j2i`T>L}WP}Bgg7@@ZkFcKDBy1rF_k+3My*Qx_%1F7>c@YR6VP# zMp{j`f&2_$q~Z0Q1B~>Cz83j;z({lHc9EL`Mw&y*kY59g^q#&JIR`M(Oj-}QHDIK* zbYGC$07e?F=KvUK4y}jW5irtlJtx3OC3G9eodLT5&7x(&E%(K6)TfRSdx*Nfa`&7(lX=?fRV6}Tt++qj8sYM zA%6%M=?*PJ-UJxwAuU7x1Ta!9EkoW67^$C@A%6C{eg)+)V0)kk^tH$%;g62r#y>m` zMIZkVJCr+sk+AS&_W>gfmpuRsZ-pmrjONPm-#>uiPkH^1EE3M)dV#P!2;lNQz~5;Z z&vyF({{b3qYaHkklJ|RVu7cbOFp>`~Lv9TiDU_BWw*hPm6i&;K+W|%jqh-kL0VBoI zGUN_`ky>dPa!0^Ol}_AyK<){+7zhjd8@G>TfGbAGEaYI%1~kf^V5E0rxiaML zfRR*bJ&I3({Q}VN`3(V#beo<_?Es84{64e+ zBMq1707e=v+XEPBxNIL_q~T+505H;UnJ!?Y;W9nINW*3NfR6zUZ{s-NGb8lQ0zL<% z#l4*3=K-4n?WSeOF99|KGNNV3%>i2gacCLx%Yd%{ouy^SuL8aXbe)zV=Kyv98s0xg zz#c$Ycy{0kIADZcAmE4*dXaz=M(8C1&KRMW2{>znUJhU+5pL5IF9ci!goW3aV!$P| zET6XhQou-9e$ujXz(}ochK5j%yb3VV@HT1y*8ySS#jbmRk+AUUdjR+$(D1Q(3b=*V z;5AAS_HSBbb2ofH3}{2)RDs!<62?HVgnGVG()4)inf+gk>TGU*txBk+8_pdPe{w zH8pW{kRJt%^put%KL+?D&~V>=3NR9ux3unQz(`mG=r+y(M#9og>zxIRgyl6YI}i8* zCHr@8rhqSvkX;9CNy#Ahps(cseltSvBjBD9vM+$Yj*#KY0cQY3(rXa;EWk*^W%B_e z4VSUwVGMwVj|&HI$OxH20?aSaa6M(fXGX{@0AC#;y9O8u%WqTeJY5IuFhb7-u2EM(8C2M#54`*Ovkq2}>3&O9hOCC6AV+0Y<`7 zLCewsBVpmymkAgNOAoD=1sDm-6IzxH7zxWqT9yMC2}>lMGv@-XqGbQ<>K0%mEWGt~ z8!!@8xR#RrtM38eha+T90Jn^geFywwgiJdHaseRy-`x2@eim>A z5c4=!hI|^V;^ovzhBGFrN8sN8?*|&5-xH(YeWgHHlxRIAz}tYH(!KR-s~0e=CyLAQZCk^%3S0>UCs{R?`4UjYptKlW*O*AEaDdFo%78^D%8 z!}W+xctQ0q|O&mvp;aE=&lvbNm@ZK!9L-VE9ycmpw^D<}-+b0+J}KAmD!n zk?@Xmxi%{+lCZX3B4A^)MZnhfh=84)Sev~)NjNx&wK+PHgp-q4o3k@XxVVV5xw?{s zo10jhyE{pEKpms8j*KKCGxM52R#p~~on1uaqP!NL%#y-P$qS%i8 zB0dKPl5lin5Khi)!o`(AxOuP%PfwENRmLF8%Sl!R=#C~BB!@$?tgIQNjSb1NwPTQQ zKP(3aHsR<&lAg(IA|;(9GjiEP9_S0edr&zJi z1Z7U7sB<#OO35L~+&l)n3z|U|7qf|yQj%4MeFr@lOOoS9viyTcGB}uIg~X6#Y%Ix& zOCZU_M3R-1#wOA;7-VKSo51@N#C|)Hq>~fLa*kq?(a|I;2IM66-Fi3Xxw)|kcMlTAl}&j0lgxks zHW3&{67d-fA`|-z*HdGJ*W>uwl7yWr8|;E4-0>POlJHJs6G=%VkqkfTD*o3t3)_ad zWO1xWrZx6&>x!X`qYA7k)4TQ*^5N5cEMp+62J z%h8=p>#;$P58kaU0`Jx);eFxI7hc~v48n?9Z!2NFfsF@{tU%scNMaDlxg;wOZ782) z6%;UVZLx}q7(_8Ww?YI1-UUvw?ClwZ12w)3!abNxgmA~6;3Shwuwxe3F%#~Mm0dtG zp$@eov=g+)a+10?m}7X)HG^=*`|=~1{!~9;+`~v#cqBAYLs$I>t!ZNPS zQ}@gv2`jh;{29SXWe{oU@J4y6ZfXq?R>2IYpG|}fuP2#7q-2srRw0}6&y=6Vwcl>_+p)@Y$A=a18QtQpH1Xa?Sozp zo0XeKGAWy-?G)B2lWV778;&H)$%|C;_9j_AJ`BRwpM*8aAOb^3B9yWbdOniaL^Apz z^ea%eC}ry~&h`v`2L}e>=zN3af^+JAgT=KmYTWp7ZSfN%KZm|gYM!`u$?t%^HHqX; z#<-BdjYXhKaBz&_I%*xGjYW{G$Y_!o6Hl@d5=mxK3Y$pHAerDhSm1}4Ik*nd7r`~c z*e|pL8wO#E>!0%7Q1`!>LvXm))3FcQb7FJXT96VEjJAO5f~pI?^Cwvl6PZC67tp^@ zYldr|;L8b)FUjQkHuTrvFSz|xi;N_huufSJ8<;T|OHxT@S~khbLHqhIUJh>?#|!K) zo+J_y7(^ns->l3s28$P8VQg3&^kdLBumKjwhGbHH8U14}$;`_mS^58B4ioJd)*SOc ze_%tZ{ueVSKL9?HijClZ>2(D9+!$d^5;nYhh$ETt2_!2qiBwHaCe>0>NLDJ^8@GOf zio58GxH`;a^l@nB74chJ-{iNkxyx^B_mJP-z6EUWnxG^42#+v9PmGbJVS;$y zUYn=JreK=qrpI}ZlS6MYoONbCc~d5pKV48qQF2jmRk*In3zEBY4D zq3ktfADNnZm`qD!5b5bB$c&70WM(FVszVU#h~N;Bkqja#je~gzWw)bHp7=r}Dd~?$ zGWrszi}FSBY$5?Z3*h%Ivqh*l2AHZR=la;(TxF5GyzsI4n2+-GLY9eyhBAmS9!CE` z`*f-vym!oJ;rmfkuJ~QRGooxPFMp)gbR7KUG0Jw?L}Drl{s?m>UVaI4o&fT6)3yxk zKaNj1sfM`}HOAkcTl{BE#{JlJ$ho@b2EJ7{~Z| zISPEH`h$8Sz5z0gneVT3jM3up)OBPRGh zHSlFDJB;;ikY{0^ab7W2VBU!NSuqK@3-}$(YiXZL-4E^)aIH~eh-(n$2KOmmBopGG zs*exE)o=z8fxa5rqkJvqQ@D=Nhx7ba5y_--Y&x!jEvs@kkV8^&5cX-yQn|D>$)ehHAz85hWB!+uVZ9*?A{5sQu4Bq){kPX( z!d`>&n`i|boFmLLFjiuYh`B573Cl=oPe9EX2li~#UKD&)Fv*R7SU2XYTwl+m{0@#Q zH_oW#)BU9P34|5e4enVnK6#R`fBAo`X}C8k55)Bs5~dLvnx_#Kwpt`S{8SsYPfq+L znS{AE6{GKK;Qn+J@kxW@A*SgWF<&z>LrfE8RBphtDPDZS+yH%H3du}OCDs1(L9~5Q z_D-#xVLlZ5?aUxt==^~X*Cw^rw`d|4AhvAb_=;`v^ZT^TpOVkl;mYUha%|mp+u7aM zwFfywD-({#mQ$XdZl}Cb_$H*LemYCFPx&&jbD5wcNQhnFq@6mFo_^mvBhT$jetw!o z0jyO4VuuXJdbNy=%?TM>z~Y3J9LFX|&ekqU&fXzO&XL+{ru+$>rsBPRTD3nOa){Rp-luyDKgE2Io_Nf>fOGu)$4DwcbpFyn!v{hU? zVO;-6}LXe68RbE9zlP>%ZqM*HSi&YYOcXV<+w_vA8+-`UD&}{b%5OWEPnBfwMF^BpN)(h5ybx`^4442FTF&Ff0 z|8pJs2i!l<{if~@;~VWys4=A12h}%h8|y?Js0-|$0%5lg{`n-wC z3()SNerl}oUgAkIfm^R=CZ1d6kfIpFAXbP%4nV>g1{yD1<=;VfYcoF$0DS;82I0iw9}C|kq( zv?9mAxsNF1p`@K7V+`b>qR!3?5f}6mludEt4y+p{j0?sCCY&J=_}Z zgD*gz;l&`lsWTi>jfyWA7csuze9?3LKYIz>ub~d+*?8tbosU7zk9JPy8dNS!e%N^SNO)3l z8*&QNqt_Z{p9Y0;GB!vr>Ro=G|W#h2GhQn@*&i?vk7bNctcJCYYY7s+OreM zJu`8Kydn&J9h?m$GT^Ka_vPF?oAQ<6Bnx~X6ZXrjm?TmynYXtd9s@Ck)ALH@QdXoI z%ry(ni;<#Z<#Bt-DtKog(`4hGq#U`Smk5mrBo7X~;$(>WkL+D%!Y@B=6$*Ujd z#f|}I2E*nB?H%f(`i{8}<|$mi!7Rk{OU$ikdji{p`XCmd?+qbYp*RjB`@uU)8+ILK zH+UUo7jP~}-50cru?BNcsDsK$a9#843iq#=JLQq8-19y-YeGLnk0a&daV_$$4d$I8 z!Pw)zA9E74Q)<6VomYSz!&xEdQ`h3$!e{Efc{aj359F;4I=)bT1<&h2AAB^y!Tbn) z8ErdI2d-I+k+^0dXN0p4tem*+d*%L+#hlPVt$hl<6a5Rmw5HzIXZRT4d*9;q#E`70ryatJ4dsLm<+CcQ{zUTBT;)gdi<$;hqp%1 zhH&0+jiZhKuN}bI5ZD36UY>39_8^$sLVqYbpyC~z#i8HEoHB`ICG*Z~G4~&qr&D9d zTc_9`92d;zv3+VDsk{s9n994T=OmOb#r+F)KK{+ zT_nqs>tC2Yz9b9IpP2ssq#B$*anDhC`3u~S5Ea89_u%?xW*+8n^cYg>lgj()y$$bt zl()aZxJ~bEC|}7TRl&xK+PMy&Z#{nl@mh_PWwyh zd(0=Gzm%{v3SI(r)tT4u4?4a`?k~fF{)+38rkJK3`_gNQpf7lORALucm zadNAKC4sSkqnDS%XvodN7|FaV~ z-}-O9;B!3eb1)vlbz=#@VHS$v;Z}+f5l)JckzR^XQ9+8)(NT&qF-eNCu?%KhJcE^h zel(Q<=dx^poMHwGb7Xji2{{JXw=IKZ=fWUd;Z1tUXh+3aiX|mQilwDD70b%*DwdZ& zRKz?%fM`*qd`2WSARcyuq>O$^3DT3^IB>QumMR6MZP91LJ|u z6VTt#=W&!zrJnsk{g}Jqxipo3kgOjx?4c9}Q6NPghmaQ{6n#x;o&w=(7#vpmm z@hJb1$sqCk73_uN{CDmTec~`kt1{l66xRayAUb!ad=~ZxWpFLE_vOtQ_V2&*SgIbv z3fH(NgYcqlkeYW7ky(@sZJ25wbn%=FK8q7hN*s=tl9g4ElC^b|l8sH0lC5o)lAT?V zlD+*+B?pJQO5Ahohf1EFElOVK-_bTO7Qpq?o*QE{t{q;?qSqJIcZ@g1+%t4a7smy! z=iSqA-;8#Hdt%;wQaLhU-Zi}Tcyek@{u?W*e%{#dzN7m>jT`zKtiKFn-mqK%*8`r_ z;rpUh|%%FNsdXIQi0dGI3G*LDi!=6)8+%ljpi zpU)>;P#_{)SU6tze{wV0cT&CyZ4>IF;z=02zvp4};b^~rDcwl!IR>SRZKECYzWZ-| zp$)JFtgIkck6;U6UIynz0=WN#-=I*xv*1Tg>l6P|9Qh}ckxd>0+HdvmpQurm@v|B) zXxkAKn(Ka0eodL>*nxH(p^ig0st#vgNc2vfy3>6B$MxZtGQa%__uN?!knqlh@wHn) zt0(ZFVX#kQxsqr4%Y}(4&u3S#esfeEdXz8jf1>97MEhHhx>}Ub>}2)v{YQ>WI-0xJ zPx$uq*nPEkv@TVwineS|FW&fLzF1$Wg|7CQdgoU``#YasuoyRQ-qUZsf;aQ$Mn3gA z@nMs5$RuHlU+d1rs?==Fw|)Kcr1k3!0R@3>TQn}eelsIPnpB)L>Cbsf^GsvcQ|>?I z$98=0WB%P1;eXJsm&{(0wBrzKep#8~`qG@Eb6s9qOTJseF`t)qDOHClKPc_8=w8OO z?R9FKePm2ld?&(h?j~$Mub+BEH z&f5$55p}L^catg^Q+H(i8GC#~@r^&deQJ-tygWK%Qkew*sf&Ss{Vv7X?%AaOlbOGX z&(Ukub+yO!aq|zUE-8x%U){B&URTR$O+%5Xy>;qlp`F?7k(cZJoUD9Ad>?-7U3+2b z#Er6R20upikN$Q0-Ny;z;`Ku!BnFPw{@7|});4qE;|HqN>jMgjKe-Azeu0_tPS%E5 zu7@tjhi5L)(bYSht7B05Vxfv>;%zybuI)N2bfdP_XpjAz z`~FIM4jFq3jZ!U@SoLX^DW~*H_xDjtNx^E90Jjh4ydys@IL@lp(6av-bA9h3hXWcu za?{!djeBw~Zw^oYbNswiq0#K8#e!Y>`(9~ITq)2n@m(3qeYV5&qBAKbOd*4t4?K3a z^;;{h&i7B&ZFUW6mcA7M@Grmu()wHl}jlE~R<&$Skgj>t@ z6#)T9BI3uPie;R{>Ko8^1d;(~WzJzK1o5*CeFsWtw{S`rh3c0@6YZk9Q2r;w)eyFp->NTcFx0czn~VClS{p# zrdAe-kmD5R4-R=~thdW^PEb}FBlHKf~l` z*Ak@-N7ddQN^zf@*3ctJ99gUUjI9->vOC-GskN~%d)4D|&*NJaUYl-P<=_=P>O;JS z*?#`l$@{h6h$X4i2}VDVk~(J-tg}ez;EqQEs~l=I4(u26;xtVOYLT$5wD}A6lYZu)hwFm#|jQ1LFjM!V+f`Os~%L zf4O(@LKmHzo1$0Du<@RhSt5OgZ}3xcR(PFDkD{4EXxH=Fn-)n@ht}!Im|k-Bi}JoZ zMYh}N{=jGzU5N>w1~wL4IXd-NH|JNq?KkOti58PPCbHjiX0;bsH||YeDspd;$2dpN z%);*Mhr+!4wg~cY6!2fO^RAHX zDRZmuPn#`sl5Nx;#a|&iYM!(!H{93LZ!!{f^bFRTGC1?TWmKEmK|4z!o#4oxF9*-u zcy;%wR!;ns4P7@jBrp8tlDX%%yPW=mna`$we&(z8c~5=5u7$)3>%C;b6LRJ4OP{Q! z=gG*_MW3!U8nemu(yrstr=njxzg8#m=URjALf<6*(ITUzcIp1zd{uYt6188C+T%NB zy6qYW&p0(vi|_W8TfyTZ&SrKNR!%^dTg>g{D)7io2`=;&55n!aRrMSrZy!$awk>%@J7 z%2nF^%qBV5+WiO$l#wh_KW)43iq31Lj+qy4Tz|3WeS=fS!e?C*S=$0PsGjNa_ndaA zSGT6IPu;M5ztHHo(%d9%6VuDWpTq}GeZI4${$snZQnkdsjUOJBz5Nl|r_XXb*iw?x zJpY_gci7@v^OkWka~hKUw^+E99lO2yyV?54=aDu#zayLby7eb*{FOZKt&_(2ys%sL z(%+UDgcLL_)lF@xSGaAeGLm>@GIDSevN$C>vfYH9Ge*{86HPz#;+u&>`LQ zk7Zl(>`Cp!-+yfQZ7jdH9GxF!kXU=H@yeg+Rfez5KhQ6YU77TfV{>ZC&wb%_>(`in z6m!#-J{(KFyVz$}-m-J|(H&<$9I&|WGS&O!tOcIOe!Nm%cdo^Rlds(x^K^1C@im|# z;C_RBWUNx-y|J+$IDOYL{@k!htht{p#F4nKaQLL|q?K8*jRRJCr2HO^iG|_BMb$m= zRiT+`f)`boZ|Z*QmzgDdeya*~78fSzmn~P4(sS);j8v{Ex-BmxU8vAgr&^^UnW;R1!4KHS` zixD!sLRQS1tz%@FzoscmW^;|&#M&OS3&ty_zV*=xm(we*m0$IJj-!FSk9%m3_4zBg z*LS&PFPSrVOf`FLvf{Sj!{MEardECXWmWz1v2XWlVnER7`qy8oE5@&I8TI0k8@trz z<)O2x>s_Qqr)xgmkhMK!y8k6tA=#d1ZY_I6LS9UNlBRZ7Cbr>mV!y+a4vuJZ+~$r_ zIX3~(M?aD_Pn~vub3??Txkt|0-gCJ4cJ)|DvuMceIm&jMV12G4sLAK`)Kn{`4tvAX&7Z3m5_PJr zvt**L8gJh}HZrYH?ZzLW#?PU(lkML2jVD{;wU}j&>lSGIF^rcxC9UP*xnR{LsqRp% z@V^eqqqe&53ogF@XyPo57q|b+R<~>a+{;$F>DbQn+x7G6H}`k@dgeYXGXL(n>V}@-AR}P4pjLMn4_npL!IpbsEa>qP>SNU3e;!ls1^Tl0u z@B7yKL|$n1Y5SJ5Tl~b4W79tED|Fo6SjhO&Hcz{1)y)&fnHO}<+g#Wd;5sO|{0?Ky z>M0FfTaC6WmSqeClE1>eA9mQp8C;uwGPQMCg;v43pPH}EC+ODuS8Z~#DR5VIEp{>4 zHvYTS)!gtDqa(`d3zJR@MeCf84moW9r0nnCu~)Q3YwS!NH2MBW+NC{Qa4p z*xsWlF~uL-8XxGdx|#E^U|f&7|GmVSLBfK++!jr(?(pqwC>h#$)^g)Iv(JAXg^2(8 ze7Grs72o^Gr7Qn$jkWgG)5W!SZg`kn2JROTImM*kH?7@1s&vI+`Q>Kgh_{{3@2uG}FJY+-pDmkkHY3@)9~Ar z0d=?99GgG+{w5c)vae>v_j@qQBHxx8U0wI!#miRR2S0MIroJ8fqg-rWw6jUl@->(H z?wf>p=PVdspp{mweYY|2$^5i$?-@}?$&_HRkM=fS6=q5SMK^d+dyIE1&6}fjz{lJw$j_FzW>@1Au@61 z;yIil!>FG#8#13)3fJyr-dwCdRC+hBkN<^Fj??dBS3j>-RiF3!b?Vy3=JKf}H$JJ% zwn+#H6Wg3@yUBM`)1oBXuZCXyx5vMFeB_WtxahStu>So;v*=GG80Xk~QcN&C5l_LYa;I-aevz8rn6Z}a}GC9^JE($$$+?B!~= z)&ETYxTbz#oQucuH=o3(6h@08cSu^C8z5}%95XlIe6~tkP?&|XDqtrUVc|n<*tD}9`h9? zw5-=9MHn5~^|iBqe$KBH|K|#UKI_Y_&ptcd?ANQGyGwoMUN_&T(kokiscX<>f4-+FRk>r(1T8e*40Uo_*@pbXQ5y>kQF0{qvJQ*KtDbM+Sdg z>v*fg#@~4Y?a8uHGb1X?c0P&TDSS0XBdAGlW8XT~srQ@Wd~D~xtF^RioxghwJNE1u z_ri|Ch_YAlJBv)jx8L7fmpyZ8f^b^EgM@^2lCgyR^@ZjaYNp>iWL={)#`P%i*j;V6 z=fHf+AJGHK;tM&1)A?GH#TLJ&Yw9PA7HpS*7R!qhP?LH z6CuSD+gFum*x#MRAENMVr$*)R!$I|F2R;l&SFTR+Jl6E3sz`lJ(D~N`ak3&N#rn4c zCO$rPH^Slmb8-DT!Op_`GWokVOB_0hU6QJ+)+-*H{^__{c5@CSoua(+h5X6UO0P59-Kq?qRnO4VcJ@^i-sd(pO?ChE z4WWCMen_?G-jI>G<7stY*nXS&8VZcSS(93yA93$Lsk!KFzloH1MSmaZJhXR`QC+zE zq}$ILdsODTq^d7eSb2Tj`PXJ%4#~FtY0cs##`ol&jy=#-?Ax`ok2h$`&UN2k zklf`O+dN-z#hR)_z5GRsj_AzDyuZals7~UW_tNndtMqha+&K?Mzb$upTJrkI>9GZK z!m=W7jSWjruQxv6BHCzVI_hPO=}wLP`>i#8qV*R!;*N|fx>72C_Wp|6v1?q%5VNzI+{x#Lbx=_^bY6HYOhc5bHkhqJY# zB>i)0AJ*uUoDj>*R}lMiJK&1`Nd$Q1Psg$!P1(0JTeVLoX6XViy$^h^9FH!%{c_z&lj_%{#cGQVyGTW@RNIuQ zsAx9nWRml>W$6=1G0{T--6=W>ceFn}ztb{J%hPp9*?WIe(}TMvbWL{LwcwfA>L=T; zH+o+<5j1^za%a(lriY_DUO1RNsH&Ks_Sooy#-{46hx~H244wt7=(b%oesr(e=lx}e zUkp4b+cYcQz3G0Jb6Qq+vF|d?v?*B)U$m^^J~3V%`}TY7rg=H_R?YQi9ef+QIE#Ky zIP_C*O|%>TmLv%*;vb58!5T>?P(FQTEgZ_p2MHt+K!CVVYMzBuD5v= zJiHiwZLv;+QS>3RXJLCU%@C5P4zrpg@K;O4Z^!MPN9hj!KSwEiw<&vJvwWwTsmA>Y z<-u!~Se*Aa_P#aC+1rl@K6TT_T1I?@V1a4Yyr0D!;_hcv!xs`R)zh_mt~|TAJyI?} z;85*H>EAydbxj=aZA5mI+I}yMpIq|IG48Nm{xz*B-5ts&AH3;YG*?(x&fC4m+ovI7 zt-%82q2(KMV^x%s%?c|W9uE}#Ef+b^zU5ZAuiv|zBqxjGgWwqW}CnnRc-%<4V zqTlt0ZO5D4OIdlfSY@tQ<)6|umpht#E1qngbYj#cPvw<)Cr)MvmMygx&$?N;F<3ob z(RTf$^{KZLwB^pTo^u++=N^%Ly;r8-VPfo7w&dZeM{2LOxdoh-u<4w+h)kWl-$=AM z=Il!Nhx_l@mG?#z`Y@OCKZm*m5jg_ajKBl`i`k+7i?>((FP{GGe=x^C@PDv;Y5D(P zC6k{2!N2(ZhGTZY+T!7OT-@Ui!||N=wqC<9=bQYyykR(UQIg)9VR%%<-AV4l@a+Yq z(OLg68#21lFaO~WPNNj>IRC>2skc9xr~QXHmt_iOHb4Cjd#0XNHn(^959jU?RhK@V z^dFA;bgzC=Bw($41@1`{gc;WBnDZG}%|r{HF1iu)MQ#6Vq;oaj|@#;G4}V60%Eg zbFtFN>Pc-?yIGn8Iw!6**GEcdyh3+@SEdh)wdX8%ictmi1Bi zvHg^9j$(P+gD&|a=4eciT=a4K>sa*(rHCVST4esr=$PofP4**VGNnPcd}+gj!iT-y zh&yVd_NNI72+pcbDFDb0U#az3_RiYs%mV)ozz+oPhn_lfuGeFBMAAlrShYjG+*+^g{_?CN)U_hDSVr$`NVJSSV6bh z8SuZ6E$3#P_1}Eu@s4$UU!M`|@p_kDj9DRmfBM(Cm!3KjHO7M{L>=R_iJsnkpRp;# zWzEZ@#Jb#%b2?LERU4Z)PoD&8dd8k#-FNQeQNtL!?d$C==RS*HzvJZAc=n1h3DaAS z>E(NR1|1Q8-LQRA!-G=|tAD=9{WcV#@ySZU!^%2#n$zX6pZhEB_#Ibh{xU5_%y_Qs z&iOwxmX+{-bUo8m=c#ciBEJ7y2x(k3mR6m;n!3MmYF$gTZHEk-+5~c zn)#k2bHaN26z+V#UR2Pye9Ib_rZ(HTX&?KuUnU%JaB6Ebvm3*LrxYOzKRQNy)46BZ z6yGqkajJRc;0%*H=S(VAID1xEPM#(G^>VM~vaRcSU3M>j)^P6Wr-0PFx;K3;rUBhG z57xSG?JSdtDWCkQXXnaUgSQ?piZ=Z8VpES{VsgUf{>g*W^)wIp8uwmYl~nt|L*?zV zp8O}KMH+J@+_nF_&e71VNiy2}=)H8l|GC7{R(-AIa$V)(Z$0lX`n#@E$Eoy%V{B}? zq+H(W^0Gj~loXQ*DfhPo?=^b;aQ>(3EByVdyPYG?>K9yhi(av-p+j!U@5HnkSJfjg zGwU|ZUaJ>3LrtP(AjAHz)Qj@)uaX60dpD-s`8|I^#eC#hx~L@>O}ps*8SaJ(4ofoxEc+&}Q+h`q)g1o$9-zvT6%sRrfKx z3i;0Nnc0vca_G;y`}SuJ<;~>Z{K@?A=<5B4GC8?|2NvzM+P3S-GIz7jrq3g%-N{;+ ze%SED=9+U&r+g&ucB)RfFT1={KyP`y)<*NagNk>Kup>95jJopnM*aLvGGUiO)s>9I zJ{kneom=xuPWP6t%{Jw-2XSh|5iuXLBNxA07`?gPt>IBCulJ$ExZ-$F-IT2jk}g5l zKU{iktl3*xaXo%o)zeSv;n5R9ZcC@+^iCPq^>u4!!|jf4j#`h_13w9^^LrnDjw+d| zbhtK2SED50xqG_iY3DgJ&;MF6!BncN%tv`*v&j7Kd*4rrpLb%5_wG==vomL|*teiP zy1}ffE&rsA*_h0QE@v(Wxm4+V3w*oY$WJ_U@YLvT^`*gifv?ocO$*? z^Re{t$uS(EeNVeP-Of%l>fw9l=X+0n!0;Qz8F<)((qb9bI7EE8KfOQ zS<1d(olUE)^w7HAtCk-c41t>)%6?t>K@nYwrw=)4GxMq6&=>6 zD$Y7o{${dH3Lj^TNZsvu!jCGxryVq$Bh4SVt?ti{pEY+DUTC>+{n-}2TjL|b2ZCQb z|MUKslH86cz9moARTuI}?fTPhm3<^mWKE^Z)1NcfOia4EUty}A@VXQG_Ph_?dm^*b z&D@l=)G459;rytZ={A#%vYzZDY)!7^UNIN>5*({ort5m_hO%M(_AMVZ1KQT9_!k$j z`-cYk;^dFYlm$MmQcLRCor|CtK!>d-Sfu>!Q@Y8)EU^l5g)!>{{!&u=RM_(!d%AGsX*x zsJFXv2gg?hYL*wz_C2)g>0LSF_RCMc{(W+4_BXkb#k0b9zIGjRbgy3g+aSi)2{!>F0lTha{Noe zlnKqp%~DUg4;d+DXz=$woY^vFtzWaS^3}GzE@Rz`SR>Hg2r^llfA}Bxz3M$+CiR z$sw&@R_glK+}2)Fb0@XK*Vo$njO(|O(zdEt>$t3)L&&;9b1`RKa-VUa|qZecRt?)ytG_ed1pQ^-y6TAm|%Q>V=!HCg7J z<=iOgd=dREi%bHq?C}kIrFUs#=$p}nk$>#2@BehI^5bA<+G=;<3%2Ew9(yND&Uts) zNVYMn#$!hM)9lmx-snXJl|`(3S@Jc##a*xVOpn?q&J)FM=UscnHWXcXIipicQ2yS$ zgf!#yalr`_cW1}HnJ;HY)Z9t-3ZpEBf|DKAkh*=18iSrnb2ax=toBRN z*1DJ~EWLcm7gOo^3%v&(eK_b9;1uGxra)xDRo#%Qw&R}_|6Ov}@5Bt(Wvz=VL*o2A zPh7Vt8d$raS6HGlo4=vto4}#B$A0-<`>wI6DC4lzck{~Pp0-JH&y}Ua6DAc$Da%|q zF{j1A$fqL2&MR7}_V4os0aK4F*UU5c-!G}l{=MpPmB!8s&km-f9nR#d=nYFS8Zef0 zB$rFeUY=Z;ZgTs|O>s_fT zmMa=Ol9cLhyhxDFon*YnHez(u*GFIe^fm3692Ko`>d4yn`^;|@g!|9P$%^gJGK!dR z_^f~4k#(g#Q(uZj=&p3wXEElt!qA?NT?sl5h4RKEJ*{(iVLBx3^Tn}g&GgR+BK75+ zyR<8w7cBhftbOX!_%T)srq5C8ebg}!cPg>wxU|Q(u-y|aOk+Jt9W+i{<2(IJN26Q6 z+1o8AHOa5)xz*jJ#yYc>x&1ubCNts6H|^IYb_RZhYYT(dxw?1XGrxGs&!?m~e%H~} zdo!|U5djZtE~^@!c+gp~V?k^9q8q;juLKFbUajy&=Id`qfvNpvZ@Q;y>~Bo&d9iRs zO4ZCuX_G(9YWi%iW89=R`pL!2M^6=BpL5=Q(bV9G;2pb-TWyc+p6~GEkErz4zJ_C(QT`rxkmc@mKaYy z-Cxc8eY4`s4?YU1m%sOIb?#3$f$l~1{;Zlc{IiG7?Tj)#H|p5+)vM&oPDEKm*gvxE ztTrITA8t85@0Q5kJIBd)G3Hlp?9@DLy>!W#1;4DFU)|dsd^Vx(YSx;lJEb9B`J>sF z^y3}>w(9yg{Yt4^5fn z=c}G1cJ9mkJgNNP<^}t1Ft%MBBWZMYa!>T93$HBB^u06~|K4R)^~1+@zKL^FHFwv& zaBg2vzf?#op~zcBrg`ovzf(cQH*Y&k9{*wKs2BJ0-3DqRCj_-V&Jy*CRuE--2ZqYk z?6Z{6IT448dHV}lv!6;^B^Ewhcz4B{A^)AuXOe?k&YF~2Ul|aeZ$ zJ^Fr1Q{A_wMU&1JUbkM)np0H#CH`~t-a6;*=DhE%Sr?C;$QYM?M5f}&*Lbg>*}aKv zQKxEC)nA;xmpSf7#n(BH_KJ%9k#YBR9(wNkwKwy-aPQ_#zhAV3=1&z}+3)B6%SdWm zMwynlMr^|7&6i3(FD;+=c;cxrNgcO`daty*KHWYw&FOHB?L3|S*C8esy>mm}=6+xC zN7>9czt!4)d_h#DoC3?WR9#9i)?4vI(_1Z8T$g%Aiuin+cs1!PL65QQgf9+T>Sp&V zde$D0yOS+3ZbxsY{HlvT<}EJEerx_pde;n-=}B9>CWf-}d)-r9+;{z~%y)V)QNHRy zOv-ux^sL!=7pAA$Mt%5t%XPQ-if2s9=9qm885xiyy-s@Gizo~Dv?cJlP*$6}AP2gm*$$CqsL$W`%^P}~Q@3A%T~ zli6Czqf}MCZK!{Jbzkn4>ZS+JR|!_H&3a}v>G_$ciT$F2zV7w~zAuy(d3AQgjtiM- zGg&tG%hlTR*S;H0t$%#8FUD}{;f0g`G(7*ZB7slqOSkKaW6RVGOZjSL?8()q10AKDd-u51|H zs&}Z=nD6<4;Pb(8=J(i9t1lJLHk{O+Q{)sTT4z}^sxxW! zH#LJ6d8Jg1`(+UWnufbrpKFW7XDc`RvD4OD$Xrdj@ud85(mqRj-3|BdrMQ3Ec-FON z;{@i^#EbifDt3Q4e$aKH@j=<&GaJV*8amUxz~(}MZe@#y?p~Xe>qED-|17GR@m=}B z*NY2cbq-k;Bwk%rd?s7{7E@yR{f|rZIvOX{E7>(9Tt2i(gOg)*puzAV$Kq(!4q25$ zI+0Til&eYw+nd>o<0Go_jB64G{(haizQt|(O%I2~hIRuxivITf2;7#{__XLTamXk1 z5i4SMaK*#Z!rMNGSS=~6sv*{Qa~9f*))*LUZeJ7sZQ#bJj~V)ckN((Poi6`sd*=!HIbRnPR zdcIk1z18F$3)biF?Cei_t1j8r5g29I@$2cEctx|87vhY)9zz<37KR>k-*Blbp-V)3 z&js}-OVn)mvY$zI>^O3-ao)CuO#-5CtzJIddno?8rEtI3VevKg3&y)x{~VZ=kuhrU z$1Aj#s)!~$!G4=JLE}?7W48^@CdGs zd81`fnWWIVWxJ{B$L!UGuAyNvtj8aB9FFxCiq}*6+H6(X6Jg7GR2o0&)}7X`y;~G6 zblr&~$djH5c|{VvChc9~9m^UBQHRAQ3dfsG-`x8$d!elr`{-lBMk?x^_GHePZ_7KP z9$1Rpe6xR}{&7Wpmn^44wYOev$_mXopt@$BYLDE!AHVaO!(Rx5pI?_W=}oS8t8Dng zbvDM8(ZVNvUQaSG+ZlP=jxk;Ef{Vx<)z;|cQpd=j2~$p0Z|kWm6u29waf*E;Scx_2 z`R9w47c|rw{2V?1-uR*}sJ&pP-gYU`wI#`mSAFjFsD58G)68hgJCVGuwrc1{Tc5oBI^US4wLYUykFPt9HxpRVx#=<#8X>%#++-@Z?-TO7A^mCwG<`9BSc zyxgPw{#v=;7Awq5i_I&UrE*?G?YhDjmGSQ;w}{0gXI0g|d+V;Vr?S=~E8#<&=(gq4 zriOo+^XYt9PS`_(ZTDY0CM9TQm?k!)wh7v+#c(El^l@}?+jy7nq-zyR@F?^1`BLMa zz7REjhm2f~z2((3kN;!uUErd)&W7>X`+Z@r>=kwwSlH#dH(JcErNBb1iZ^=3`(=Rgu+_Yfrc2+h?Q1Pt z>>DiGaoJ;*PwXF9{%rr)(qsR-U8anVt0 zm*bDt^N#GIlSN-yzjd6kevQjbE;?H@wdnIAnoXG|utledZSiTTw#jKfvX!SjVcVAW zjBS_gSlTPLkJI+sPNuz#nZ}Ql6h}%{$_uL9stom8sw1k!YH#Xk+gZz(u<7z?0>vNWuahpU9U=N`w4;6ho zWkXR@W=i&oOn$bqXkSrdW_4(zY zlYFxjHj4z%r{$+%GAYe(kHpkrI)*}q_^IKzQ_H7o1LM{c*~9LVe=q0l{&59 zM+GaXzoPm)+(j~*`WO}4|AbGS>eDudSecixI0JTx0feKem`EYJE2Adk4Xo4zNY=Xv zN==(H0yV{XB!6hygmVLDTpMYUJ45w zb9u&{j8z$QCnmfhBiy+?L*slYBObHew9NUWvnykUb6-ZX^KeF{^WBU*=kbimxa`Ln zKfu!vC;mcxq(AG=1a_Mzb1C=;42(8%bP^+z-2XiV_G-6zm>!mg?csR19-fEq5qN~2 zFo1B6$Rmc)Edd;IG(owE*!5oJQF}BVttS${GO?>E*e909u8^^hD8Iy^$b9`%`sMnu zPo7Ix&_$-^!;$H7Q)qrQT(2UWe$zO8zwv|flFD7 zNGNBKSV|p|K(SDAD3d8}$`2@!jNemcQVfhvN*QG?nkKes$; zFUYQ;X5VJnZQo;QwePbWwtr*!kNpRkpJm;$@Emlj%ptT! zIT%ITihh)NF)PlR;V@WjjznvY!(v4pY1S!@V(U*G4_fCterf%!W3Kfv$FfXD_UcSY z_S2cF?9G|_>`m5YM}u{*;|1#*4r|c|Mdvaf&VJkKbsV?;$>AzGRrHt4#o3oLmu6qh zd@{S+deQNjb-?itDY46zo>UccuP+GWF zQ9urji&K76^kM3!wsvPx)-WxCS?@c4nDt-h#;nuMhqAhybF#j4F3I}b`Dhk1 zvmxu|l(j`J%QSnE#c5Y(?#q&9zL;god^^jK*_xG`c{1yi<%0dP<+?q-sJ-ZS)^(1u z%x|)0XZB}3mU$=Zk<5Q(b!L`kAIQwfemOHO``yf`*=?Bx*&k%i$Tr%t)7ZAiwAide z*^ycMvu#<&vlFx4$?rYq&3>w)3(}PPg`YsF63UM&^^`t^WxtXKV1A&@ngkn zi~n9UQ1prWukN$%f4KkR{+Ij5?m6zkT+SrQB+(?S&i^X9U1Z92=2~)Hxmfuz_fq#W z#V;2>Tl{+Q3&n30)7%{Qf87zqtm3HRu;RGlweC81>7N68bC9DdEQ&JZm&kk^ zu+k^0e{0SGeJSL#VQ$6JA0v{2LVV}Gr;(}1G@$$x=5RKRM-$RSv@KBnSo15Gt8Y_c zsIwVR#1A(<_isTONCKYDjb0cX88bP$GkQk!r_q0l{%7=0qHje%6n!lkiDAZkt^Ed6=_hf(l#P% z!QXS>V@eL3nx^N#rx7v}&OgJ-*wKWa$2sjyh5I4g!ch5N<}|0inp%Y-=50-kCSH@MN!8dj8JcWOo~A%kr1^p70nLM&pJ;xj`Gw{o z%_Ev$X@0Hwt>$sflbThU)tYshd;}YnZhTDs5JvcqkeSF4)&*ZbKUFY56QTfSyD?gK;%b(1j&Y#O)&cDuQ z3b=yxf{lXRg1v$Rg2RGif=gdYs=3O^NoCcHQNTDVvw7pX+KqLrd5 z(QeT}(GgLv=#B^#7mMeL7mAmNmy1`5tHe9RyTnJt$HkrEE^)8;qWH4-iuk(trg)oV zpX7q%BJ67|mqtpB(q!pE>0;Q)dbxC^bf5Hq^suy3+9kary)L~eRmn1C(`7Scvt>21 z^|BqZW3oYky7+VdZV@=x&Ubsxh}<#R6K3+mzwl0q{#$m0dxYo0NsEkfTe(C zfaQP{fR$JzO&-YA0@eq|)zs)}23m`&70&Ih4mf*V-Ei)4^##lM9S_MgkypMFm+p5B zxCUJm6qjn^po4L<>5+5;-AG?dH`9~pR(cvelb%aQ>67Wj^y&0F#q_D%so_)QQ#Df! zQ{$&5Pqk0YoSHXv^3)$poiX(%Q|C^7XzIeLzn;2m>S6i}`Yd`c{Q~_W{WARu{Tlr` zeJ=eb{T6*5eF1$TeF=RTeK~z4y^3B#Ur*mi-%Q^|-$CC+-%a03zeA@o_R$Z}57Lj& zkI|3QPtZH*UG!7*GjyUhM_6+93Dz=hC+i}si?uPF%09z7#=6B_&o#4$)c3B7tM%*k zoAlfC&+B*VU(p}XAJQMuzpp=`|D*nteop*?_{ZWOkN3o{kKYpieEgpHx8mQA_r{-! z|1ADM{FjL_iLkGY{u})zeTLztUTV0Y7aFeUb%qBFiw%z$erDKb$Tbuj<{4%gRv8iv zzcuVK)EHET|LCoT0>g3x)$o$RXxLz28#WuZ8_e80yxoH1qM;S|r{;{ZNBOz(FUpI` zuatjN{#|)Z`7h-yL7SxR|IMM`CgC#5!}KBYOO zC8af`J*6YXn<7p9Jf$%Of%%VUTNQgB`#5Vao5`-?P_elNW+Awqxt)T^LZ)!C=qBe* zSe10PD3`Ndv@KlBqZPIO=Yg~?s zuL@I%RcckFO0SAh#i`7yBvq=)rb<&yQr*-tBBhbhk=968&1#%0D8#x=%u#!bd8#vKNg$z*bwLZ+B0XGSs&Oe53GOlDe{Y0OM! zE)!)=W)?H2GiNYoF=sR9GUqWDGM6xyGgmUJm^IAx%#F;=%x%ma%w0@#e176z%s)ze z%M_d1VfurqJoRhyY13a!{U%9*E@9BjOt_Mgl#rQlBk}KX>?C#4FB7LEBqzC&9!&Tj z({0ngQ_2#4lbDvuGK!=DY84c85K4BTjW zv>`esQ;r%)TV0dR2lJ;<1O)%;v*85tLLdV zX^Yj->TRk$s--HOwkmRkdcJzAwn;lnov2=|`hoTf%^x-Y(Y&NBRS&9C)IxQI`W5ZZ z)ZeJA>R)MNv<2!1wZGQJYp1AxqE*Bs#+*<+puME|RP(rYTKuK>TJ>+$uW5g-UZs9S zy zb(T6;{R^#2{Uh}w+TUv5SFMfwTJwQwgZi}Ul1d!Ij~UP+kztXMkx7x+ky9gQN0vt( zHhgU8HGFOOw}BoV9<7OvkG4nuI{L}zb5@>Ta@k_xE#cm<-0;~FRJK^oWgp;F z2|L3!N{-17@Ro$Fl!&E~g2UooiHgq^io@jL23axtB6~WgMzCCXBJ4`|5^;@Wm*lwg zifotsh}{N|wn^$R|sWbJO@|MBBu-!jeUsr59z#xa)aKgvPMhVM1}5c(<&W zvs-+PeTBVQWDw7i?32xt8U%}lGo;s9b9o#2=J0*ti#chc+3Y3!Q>@FvT>`H7IOhQO zX82r5n)IOXy7Yq3Dv(QN2=;~>*}K`7+0%tLMc2frbe3!uhYR;DX8sYuvan3iX4x`% zr~IPa%DE=kCA=)X$vefr#$PE|5Oy$ZUU-ejEZ!(SBV8c5BV8`za?&`F+}&Z6P^-9hNrQYbLaAo^EUG{!)Jvr5Z8$3$}Y&R$;|TU?B$|j*$LS`zL>p)J&#w# z+XuBc7Iq?hi9{@mjJP1!B}?X*g=s==7#cP?e0R7(#1yB=_p$Hr56I@R_wvkPz0!I7 zgZx~fIsC9p%(=zc%D3~FXhgrksg&ht% z6IL8<7EKmS7ZrEdPL6XII{^CVoUK{`u1Te?fS zTY5`Mm7S5Put2a_uuae_;0lF81Kf`ugr1odHXWi|32_QVy!t_GNT6g*e(a>4$BHw)e?_z1qW|DoV)!TEwO3;qH58-U*yPzvF< z@CpTRRu)DT#ug?N<`lLUG#B(2ND5z%+(6qvYw*E#8Ued#1Z<`e@EnbRXJ`Z*rxEZG zjewVE1T@nKc$r4PJ{kdU(%z)K0dN>#Kft>H?EoM9po>PppJ@bi(+D_AJ4@^J!Rv*u z7k)t_;5?0hZ)xAsS_)gBX7_vifkr?-t)F%o;A?=V^w(+EXoxWo zVd*JO3E%)o2FM1;$3Yi|!3`P#ea62T=}?Y~YmYn@`9b8V$iB$Sk$;c;Ch|rkJxUU# zh|)$SMrB3iMHNOBN0mm+jan47Bmqa-U4kxE z=g<}C+`6CW=IG|>9@hOzSD{;`dqTHLw??;K_l$0#phkNB3{tZ5>t5(#!R+db2)7Z`V8Zx%wjgH2n;Hnf}-MrTVhMhYNQW z{+ z5k)UVz}Jhww;K1pv+&3IpMlo}xL>Tb{sDf({?_{3-&R7f9cZKA7WyotjfS@n);fW9 zA=~5+{uUuyLx;CTeIeNrkLs~VPDOqWHN?E9L4Ujubv)|#QCOW$=;V4GMESVpnsLRw%(oNU>NcU1yOVl5ux}$y>^+?nYqaKWUGRhNmCF&nh0-acQAnMJix53KM zsD`L7qG-B%)g$e^0P$#a#CRcS*eG!qx+ip9xMF4j%!zp@rZQ$#%-WcJ04HNk#9WN| zbIfNkcL4qs!-!?XrT|Qhl>qQ#q2prX0cOPh0^nhQ#j#6cpNy>rSRcDRc5mzpvHJmz z$9iLL#j=eQ<5#g?#fBNfj4<&U^NdrB(~U7kt8u3BXGZMGO)$P;e9Ks8+-iIr;3;E^ zakuf00GTmAj46s)67y(GL(ImQw_~1|*R@U{-&JJb~=XCjirV z3c>tqfs>9nz&{PiWCYt`!LJg^kO)MLIFTGA3*;){cP)8HU}@m*`HKp_$%oGxz+3sh zDg1AKWg)%bsX|V{nnGd0(}gD54-0=-I1}JmfS&@q=z~OBA}z%SR+^RO@IeNRfGipT zxikV?Gy)1}1+*yu#Q@U)9`M1BXavln5l~7a;Ab=feoiA`9*uzcGy)!>5%4IDfW$5wL=`0zL~?(W-smN^zyQ0ZIT4>JI9lvEcB)v&S{~TJY0I9r6rP z4=ctE@Z7Nx)`oY&s&zB+B0ODu8GrJ)A9)>VMczc(pdZ_zCyyeF8B1VvU_H2!u@}Bi z9%pniPBD5J7a0qfi-j$B_w@~SH?w`}d$8`pq;u&{P8HItrmmYRrpsY1U?coc z#*V2?Q}<4NZR*(TJ471 zpp40kV#ajF0>(moOcQdWp9d)ar2H8?!mjcn)2G{05$2+{=jg z5}`o+@O+GNi*lQSP-#>ql|$uI!>D4ajH;ljsgYDYHHI1oG&3~`-YKzB)2L2(R=t|K zmO6tm72Y$M4bQG0gSSl9Q|s`j)Ouw2>iTz03!T4$-#rNB1WH&f10^g+l!K|53~_9t zZlP|YHd3FbzChhg-9vqa`YQDRwUzo7^$7JS^?m9G)Du)M^^ep~sHdo>sh?5%sF$c| z5mee0>QyR(Hc0(1bz}>e{`(=i=Ro^^s8^_erG7)bNwr4&XF^ZKjuGFe|Y_U0Yfsp{q9D8ukuA@i}Iv$Kq*r>Rj8^+HC^=}{+yBU z@UHrO^@r+@)qhlfs{XV3oceS17wSvuzp1}gf201V`rqpRs1Xfa!`ARM;Tow%q0wk` znwjxa;HoZH^?{v{p85P3o@o9QnS=ZsDMQZ3U5~pn#yrIppu8>)V~U)8g=?1H;u_ee z1pC7F2@ISC{3Gmx0wG5%hNmy^OHNGg+%UNS6&zumU@>K9co$h$IB9|dQlVg>Xs_rx zCpU~KqzX5O8#yz$xxSSG*pHiajdh3h+X$3BgFTBqm%V_!5LOHpvkx%WMXYCUWN&64 zU{^*QWbR-eVOK|VvQM$C>|XW-_FUyHHkEUPsp3R(j2tuP7!&1Ss|<5F^EeAQi#Z!% zyZ~Yz*ttmae;H0bB!bCQn^B|n5*I%xJGU=H;tPKfO3nu)48*` zD`BOgio1Zjn9JmJayN6gad&Vxa(8ogaSwBwBTjM8a4&GLaIbTPyuA^xMyPm^JOfY8 zGxLr!PcW^#On^5cX7Oh8=JFQs+9DS7mhg)C%Xyv58d&$(&D+I$FJd3>!-&JYgS;cW zPF@$Ui+O=}nRkVEjdzOajX1;P@`ZdcU&Y^~wDSKH@u!GWVw8{adzm*QK32@&&*ooX zF6OV~SMk^LcknMWFEV%W&qeI!ALbu{6^tYNPFTaZz(2$9 zas_{l$P^?CCJUwu<_W%zSSXk)m?gNvTq0O5s1hs_Tw`t)><|n@oDkd+oDtk&UKHG9 zUS}R-A7|eYTo&vV&t+k2A!4CX7%Ai`?l3cj$--jc453spONa{R3aPAl!Ue*G!ev6G zVx^GDS}%-LY!q@?JA`{-_2jTHT5%*IUU5d4q_`-&BJ3636f(o)Vcalbm?|tX%&MS< zrG;gN30c#_io?vFD{N)Nfw0MnBVi9Hy25(H zu7%B1P{WzwvlTyA7{aaLa#mWnilt&r51#?6GjqcihDWlh!XHxX3NKge3-5|J624gR z8^z-a1Ix&|9$uwbp;)Wfptu!&2Y@L`W^qMURvK%YB2r|8m7Gl0bBbA_CdD4bGSNm+ zE^C`;hiI2*pW=0Z!y=S*NYN?k5=~~cE3Sx&S+_*jMO5(z3YB;|%P3A3=Za^rPAX0* zX0gsHW{E#n%o8t$^`Jh*WyN~&-xZt1-$u-4?Gqmm&tn}FC-c5h+)yA2hT@d?jQE;# z0gEcRBW6l6Ib4ZQB9^Emw-jv3hmLHJsV;x`}ls~CF$nq#_lus+q z$Pcrw$gj(9%J0aT5yFTDWnd1z_Z*Kr*eo`OMHYyZ#R3|aOQ+Mh+)Oi<#-uTsRR6)` z;>YN&XTxN|#TQXWmcjVEky#U`;*k!CJGd51EPRL`0)f>|tTI$8mgQ2h)2QK%5jGy% zc>M7z;CGFO;XlEiHX#S$jU)|W0-686d|>hTLx=r$eC7LZ58Tp3Pa*DnEih5t(d57; z3=hg(wI_uS^7tR+9uEe7aJd3HT>$Tc1ox-lE{_o-C+uTqI)ecQ`FCmb-o$;OFnrYk zw|qP+5csDL>L`}S32?+p62wsqei!5*uS3k;MYsEnP$<~-44VAWv@y}ZNW^kPX*Br} z=$H;1LE+*;LFJLM6b6H^g++iJBMFU6Bjksl8N*4Tl+iB8ap-*5F$@mU7M>53u_AHs zaWS$qEFGIWOgxz2_fHZ>v^CT}-S<`t0x2jAWs|lhkox>%l9&}}2`o3Z;xHM!{d`f3 zs5>M;GJ4D%9OL;LD;g|j+zcs1`VVm#QXnORQc@|1bQjqW?U2H#Mu-n%I`J8VsZ305 zxIMh`I2mt9>_i;?3|0&&_yqiS3I6ivk|XPrieqz0sS#5`6(0mXJ{fiL=GO!H92 z1j=Mf5h>A@N?w22GZKM)-z(xTa zBo`k81SvqJkMzMZw0{C+>;{|Xw@6x^P#Oqibn$z$j8zn~8RWrd$j89O&qT-C=)sM~ z32L2DvZH8X@!n&NF^ho?hMfNcBT#dwJa*iJ4?=O&^C;CBolJx=I)5aNuXer$ns77u zgATSCG%$k6L3tuVkb_JR`L42OL^2P~T*_&3v$E)@<77QTf-CbpV}FQ)|wF?XyFDurY@#9ADt zO60JIa>N<{jmF)v-j~NHL^&irDB%9?;uO;MBNc`?fEL064w-`j%}Ue-mboy%q6yL_ z+7_3@{b0VkuU}_3r(Ic^prBe2I}QjDM9+yrm~J9EdP5QJ4{Z8otmbq(8b4X>C-Ak*45a z+Q=;wOeOn1m^MzH91o$Nej~;>x}}Nt!RR(d<^%^azC^He=*Yo1@O%#c;2>KG8I2j5)f%P=&iLX9Nt)1jdZc*O6Ld9hJj3E0QoV^5zniLl|LuoeL_yE!#%mw{Z2R5R53CHe zIDP|9%=NI2oR}IGkq^mlHzO!Q&{&+o9~S~k zdp#kq|P|$-O6L; zd|%;x5kPVmMgn2qg_6Gxp<~WZo=67V;U4eSZSVtP8u46qyz|J}biOEmg zY{0>IIp08;$R!wDufY3I<2fMs0r?Sg6Ei|cefONQK{bT`Jr^us_dGApY^~a2l;~#SoG8^2xPfQc<=HSL3 z*BstbmR`>|%ZhOL+Oa8v}S~ zzJWE|`FBDIseMRc!sdxeW8&XSsN|%BJ+~(F{xmd5-w+tq+o4k5T`5rWd$Z{abTs7= zNAzgIBhWGPBarWh#J%^y4Y6R~cgOPXYmW&g{;PPX{8%o&3tn)ul3(G;82mwv?FbVe zTVhP^D2ovI3eJ6e$@gDYp_ws5nIQAtqx%1?=CCD>aS7xgy2}*ng1b}+8h%5@;gBNP zy}13MUPvaH`hplLh7I)qi^!5H_mPeg=>#oe0Syriej#ZHYj|-4efZUi(8E{hP~teH zd(j!kbG+oyrj#B)B2V<&;@b!@qbamicBdry6z9TQH5dRm2iU%*D# zU>iFRg;0--zPpED3q!3>q#V$nSU-J#QhCVz0T+QE{0IUu;5ifQE0KvX zAkRin*uS9!a;5OwJ>`%JzF>c^SOGpAu!jlhhmB~#V-6seRssZ$;%eLL1i6{a(+cp&5A4VA}Fvm?<;+X3~@Ta{7|`@{seiJY*4l4QP!$JMN_K1RK~n6hd2Y>{1wv zjgjG_FWTrQ=|{h~@x|>gc7D+Ya%6obntnxJ(^uCABbk04dI%f8r~5EnHX>sr0gUW- z;?#-8F_s*R6n{S}Yzo_0vfni?Z`A7>yYBD4y}#@D?$=%(LjF?p$Y~xs0Qj}a_Mh=w zpl5<}3U(e(!N!2iWwY6QA8;WhkP9gW0S-wSlHwMEX_y6Wu&;6Q;C|=V53X>eVD3UTs7BgupI387$Nz&H+~V%A^`4FkeECeI}z9r+A% z6A$-F$Op$pQUdiLb7T*Y_3~d?A+ZLigdAy))F!P3Qi6lUfa_xOCX50ES`!-s1Ym81 z_c=MM0zVM-SUIdM@Uav!9{6Af8=pbH&U7@c}R=D{y29?4M=|@-2>qF2R2*_^FO5i zq!-M>Se8i-!Rbi#Z-rRdNIQP^Sp?sK`uqJsEdH3X2r5A#CGwCCikH$2_0B_jz+Nx} zN8!(7wIkXEW`p#!p5FXOFG)EloMISOne)j!xi7J;ukM*T@&L>k-@L>{8TBN#qU z27Cn~pGc0>3zZF~;&BK1A8Q4?--$>-l4zHq{g2B8>Vw($Sskr%KO{gH%`bJVD$)XA)jTx+<4`o7J}rVr3WcwE%7u9 zKL^GSBBGM=fhd%In%6j9LzPKS1kO5alcw zffzkdDJ!^|Y@Tjj$U}3#}FQ*%5&qH_$Lj2TmEiR$j1r|IkhAq4mLD zIu*15+8~WW=g>uTC0$Ry%`nj|^c8(hx{L0nm(WY;W%P1-1-+8)q1V#uVe3m7vzgvP zZ>6`>JLq0|H~oIUU;S_DlkJwooW{iRJ-#)K`-y?HiKW;TQ}{&yuyQb;kSY8ElOk~_ zKcG$I*hn8l*$+4XI0#6AH3tr$h=JKxGV}}+!@_VfTnsm(gfX;S$|z%$Gb$LB3=gB0 zQO_7!Ze%nwS{SX2c18!o%jjkdEo1TZz!FYBc!L-iSXA?wee^!YO6DMA7xNgC3R|d& zm`Wzb*E7#E`{_5B19TDW$Y_P#7>WA1fJ?LmrY~R(!kSMp?9Vvc$1n4xY-pLnFJf67 z#4FxLzgG!>q;a*E4fi6o!l;VtAOdSj$*>2=UV#L(lKiXs}mG9u2-_BZ4mi zbNDt^ARn5;;=^VXJf(pq4&>@|BeR*QKw6lsa3iH{sOTPIp?rC4V4HjGucLV53LZs%P)XE=E`A>Y!4foEeUY3 zL@>KykJ}Z9iRQ*_J831XcGy3q9dF4})<^6zptsT$NVzXn(kfW})E=-k2(#$`M5>25 zw36jv)w1frq5}Df-N?fBGHYZpIAlBn_}q)l(j*1@{BLHpuv%H|tPYl!)y?W*^|AU{ z1FS(7h0S4$*h;pDre|w8CU!l|!p`A1*)BGR;%3j`P$)gL0jeIN*Rxmn_&fdlqkcZ= zD>M!2%RsM=m>b@Em23~YmR-+oWH+;0*sbh#b_d(bj^yUTu6--HyST^TxA*UGBYCG_ zAApOnE97<9qngU$a>N`J$H1AW=Un)0{*~}c{Kt3~cz0k2z+BjqdL@4s{C@rg{vCcK z{8Ij0!Aij{*pvE#;Eo_tmwq!mgZs*y)Z~!z7+#1gy6r^|TUBDd&DZJA!pX zzvbjWRQUQSey@bd1^P9#{xaC#Zf4xlxQ4j4xYKbr;$-oT_?hub;~V1J;!nrlh?kih zrkSRtrUp}+DPZHf%V9HQ8Ga2CZ4(;Zy_Lv2Jw+;j|7unsv3&~UwCRRPW)6HSoSCpR zp&_9y;dH_c9At?EI1(|KnYa|7!Q5cR)5M05@=V~j0h|Vab>2i-k^^97($b`cq_(8f zNjH*Y$&Tci085h_0NRpIL+(bhEae8Ij+B`xOH&$B+EQdmHxf^$+(?n7I#Oq*E=_Gn zZA(3!dLvb4A?{HfmYJ5NmIh0k<+SC7MP_waXIht9mRcLEZPvhuy0=^vZ#{1_>@|Pd zdc!KSIbe+>6lU6*c`dwFUOTUY=jC)y)?Tmx*@wQ+r+o)KJ1J+Y`5?^@$36P1f9M3o|sXpgH_R4-~2edPMe)huG5v1lRMBASo3irPhk;cL)6 z=tt;RXotuv>K65g82Npoe$jv^Hh)k=5f6$uVv)EoUn$m$mE!sNYx46Dlh`75ie2J7 z#4Ronmx{~8<>Cr)qo`8s5!Z_Mw%5MY-MnSWZ;Dk+ncODZIl5|5--QZH$gG)r0}t&(<0ha|Qj zcndqyoN^_DJ+#p-<8;G12Fb=quRH4O%6A zMZpU2i^UiCe8Xh0Zyp$u@&WF|a&XTB_pF#*xL05eNP=5LFh6PjwE2tX*UjHQ|K$9u z^92i%7ED{PXhGeA{R=R;lW@L@=L8QYJv{BOMSIY$plNL@}xM*SB!u<@MzMb(;i*) z=*i_*mkXXqdScoWi=L=^V*e8-pSb#j;K`&Xr#-po$+{;wQjt_C-T&mtC$B!Kmzty& zsbEFYiiy>FVp2}2OX`+RTd`xDl|a4}uuN7C=L%UR zoISEyS-q@L)+}q0waVIM9Wt-18=%JreKG?2Wdsb!2pE(R0NW1Yz>yOmk`thm69Ajy z;$V^!V38Bxlsn}v05?DhKq){OK)DYpwVBDZLRA(~sd7b>M|f1Vs@jNpReeNbM5C%%)gIBJ>WJ`0 zw5r-wJrNzMzKH&aZbgq`KryJGDD_H{(xPXmKQI|z<)D;nx5uS+J2$8xuq9vj=qCG;X?ui(P7>uAOI0}(MuP`Yr3McHoUwpfx>?<#ZdJFd zJJeovx4K8&r|wq|s0Y;)4M!u=C^dSGNn_EJs+}5_#;qyQ+^ZgGrv&2h_*#RYd7uqS zHKm&IKJ74mnWh||LQ|>nXlga}nnr+TO^c>g)2`{zcmcXKJpg?G{h9%QK@CMq(Q*Jp zS|xxUz@)Wkomv-wTU(+n)s|_?0V=eWS`+MN?TivdIko*7SCl)79PvaNSpN^DPrOtD zdw!Qil}A-XRl*+8wNdp^jZwR!_C>Wu5w(BcHZ~lIs)PCVc$9(C8FeaZ|B91CX5ZlZ znUV5&$ki2smAz5DQP_IVMcAb}Y2~z)i&iGBtXsJs@Z`#?D+NzoU77S07SHvlTT#=W zTKv?;rw%-Y>GVb&i8}cdR$Bw*IQZ|3y80Ap=OpM*bzIo-TE$Z83_7#U0PAU1*drU& z73;_r60R!IC9h($r?1LG7OyJRZCq8RJFu!;*R`rbcWqUr&ZDaZs0U~SXa;EUL94D+ z*Y1N3U5C!=gKixGJvsvVbOiLn?&lZ`01N_9^b|b@0B);sfQt(Uz3(vT39#r1aKbL> z7`S}k))P>oC!kbMKpE@_jzPH(D)aIv}Z38>ZA>ap3dUQa-yzER%{&;rm3fVB{| zYS$TcL{G(AjjKDZ$66O_(IZhxT^XlSKhpXfHX01j+GgFUsAAo{tdLxfvg&R{oznM4 zEn(h^{>7+X{gtSTdVwd&Q^uL*ndVvKsq^gjob+7v2&$5*rd2Jfs;k;xb+YPem7qGQ zdRq0O>bmOv)hDa3Rtr`qt)8~}s%O#ay4BOF_OCv<`s!-Inxr+;)+}06w??pLKj2A# zs{n$UX={>drqv|XEP`_#zh7{9J|f9?Kt z1O+Rfti4)$vX;>8*AM6i^}_WO1ILiG9&D{&w7w2-|N4{buR?hQAXaC6oZx%G`^k^s z2RtZ{oTq0#y$EoPFU@&+=hJOZLmlvR=hHcT)B5HBuJENfeJA_Q_vInC@$@9TjfwH| z5R6Z(zz>gdG&(6cluwk2h~YVeL22lt>J26X+?^Sm2A9EYC^3{8$_(X(3PYvAW2iOM z8yXERR5OdJM4}`V9Ss0YeFE&``L+&7nkdqD9flXnnLP z+7j)I&O=<$?&y-}(&)12^5}}_`5V@32(*^}-6`xnC3s^Af6oldvDuuUcc;iVmN+5u z1eK7+-^(KHD!4uXd%-~R11bK#7V(Z0`6d{VlJ9!~FCdNONPD5wKuN*(0Tx5ZyITR7 zKo0-RAfCR%cZguXWUw-s2J^I%Aw5>%LaND8uPP<%X4gwIgB-i8KRy!{A2@wULo^}(La-P`k&U_XJk67t}k1kCTycDr{!{~OPG?zIj6Uu^d_cK&Z| zx4!6p_@sxC9o>k(7c&@5iQ&X_(+3%%7-ft;#uQ_TamF;VI%wT=SByKRB&HSKoGFbd zXO+c_uj7gd)hUk|jP9n3z(xl=LmprM|M?ufKmPA)+lrWq7;G$!^xf;brUmX#upHc9 z`0rmv%VCj)@`!RU6_X*LGR70rLamKyrPjwZ#x%#Y#I(k=$8^NBQ@t_WF&$JdwI`-8 zraxvNW-x{l%ZU}mDr5DrrdUg?Gu9RBjxC8D*#f5D5u)2o<;0ePURi8;Y(;EktS6R? zVXPEeQgr}e=~95;@{PV5A?2a`Jsb9HXrs5$gYL=6`}7H?*cw9*tQf$j9;_Ag=`8SV z9s6!y0pI3Duo6%Ls|BU7lAzRkVcnr0))h>!M&Q=h#=_cbY$MbW(}%TV{QG<#t$2G<^$F;<@#8CHgKYk$o=!U^~iiu+qnUt_7W-?h!PSg1f zE|c3-Vk$M=-cV*LH#Np->nco@CXcDsRBy_uYcw^RT1>5`c2h-shskT|HuaeLO#P+- z)1ZlB=9oohrCDz_nJqZXsdJiLX194oU5UBWTxKpeSC}i!9&@d^-rQ(zHn*5t0ou(S zX0N&1++*%D_nQaIgJwzsCqa~;OwcEo5-bVM1Xse&I(I@zLTN%tTvQ3rO>PzZR8b}&Uq9k*YMajzKozLi#P05yIXR<5V zom`S!np~D#o?MY!ne0ifO|DOFOm0qYNj~~aYjS&XN3u7$JNf)GJ;{B^{mBE#gUOT> zPKqc+@RTw|pJGb6{fs5Wnc_-ur)}@|22{$`nsZZAyJgV@h*M zOG<0X&Q0wp9Vyl{r&gq{sNY#%nd(WcO|4ID1ZYleNo`GSPwhzcrgo9BY$-IgAUc59!d-!fns zv{0-ZYtGg=TSe9tTb0(GTlH3x)nYxm_54<+_4ZbmRomdUmRL)zW!7?Qg*B&PPQ!|Z zoej;2l~#|n)>?0Ev^HB?tgY5|YlqcqJ=)N1?XmV*`>g}kK`X_^v59O-o8D%!oo~3^ zpxtJ%Ic+YR+m^Gf#5QMJsjbYmV%yGb<+ci2rOjijwbk1iZOyh8TdS?z)?xG7@^sy{ z9$TNS-!@=7x^2)#v2*MqyV8Ds+wE<7yUA{`JMAvJ+pc}K#9nGIvzOa*o}Ke-g}u`5 zv9EZx)?RO)_Q=j>8|}^Z7W>g>TkY-k4!hUhZSS%7+0Q@QZy&G^+HXHgac~?Whtjd= z3GH^h!{o3ya<)4ibGEx2E{EH(Vta|B)KTUrcT_kk9UjNd?X`}2N28?EYGF(nqrYp;p?aFcGx+b~uTrL;t%6ApOTQZYfQ(Q$Z zx2xDS)%63{G}m<34_yzqN?bEsKXN_jn(3P5`myULu2R=**H2wPbIozhb^YA+3s;$I zp6i#chu|HX1+Ir(kGRTR3tf-8e&t%^TI_nv^=ns!Yl-VOuHU+rx|X?q=X%^#>00i3 z!u6zUg=-~xd^dXhMfCU{^!Q%%_-p9#x6lu2&=2;aAH0En@HYD4Ui8D4(GOeEkDf+9 z+Jc_gh@RMlo_H1g{VMeL9`yHB=*PR!kKaPQn^12(>fMZbx1ipwsJ8+2ZbQA#qTcPO zw-NO|hkBn!y}MBF3#hjV^){p4-Kh6P)cX?Z-Gh4fqTZKL?<=Uc1@-Pjy|1F)*HG_% z)O!H+zK(j|K)tP~_aN$h6ZIZKy=|!XFzN-5Z=>FJ)O!T=zJq#?qTXX@=PI<*gLYP- zoz-aPYP545+F6Tsu17ncMmsm4oposEMzr%8v~v^MS&w#ZMmrnO&h2PtBii{K+W9=% zxfAVt0qtx?J9ndn*hFZM3T$?K*;Xy@PhWi*_AFyN;n< z@1dWpLO=1KpH!irRHL7)Mn74Deo}*evKIYh9r{Tv`pNU?Cp*zk-#|ZYML#`=e)=Z* z=^^yfHuTfO=%;U?pT3QLdIbIS9rV+8(NB+}pB_U$eGlzkg?4+;?kcpq8tq<dpp|w0(z<*J@qPj>UH!~EBdEr&_6Yz ze`-O`ZbHx2qh~jxXSbkdx1wjCL(e{sp52L_-Ho1o1wFeDJ=ct$dl^0V3VN;uJqN{C z(Q~h%=k}xL4xr~=N6)>1o@+(V9YoK)iJm)zo@+zT9Y)W+g`RsGJ=cz&JA(Fj(4H!^ zryA{9jrOcTduq_0wP?>ew5JyBS&#M{Kzm+Cds@++cC-hC-$8qhp*`=Ry{pjPYP5GX z+FOJ6u0?y-p}iZ>-a52*BidV!_HIXeo6+8v(B8dhZwuPHAMJe|?QKPS-$Z+lpuO*) zy~ohcJm_a@(9den&(@-!twTSnML&BQ{cHpJ*(UU}&G}!v`*eO^_4E0Ct5*Sf0ILA2 z0apXA0jvRB3%Cxj7H~Zv=&arVSO>Tf@EO2Ofc1cz0k;A+0PX<9Z0`iz1=s}G47eNc zMZlKw*%AKC^8{6i4)A>bd{ zli%0&PJZ8E@Nu|4|Kh4Dz-quvfLj2!=3lI8$-h_wW$=Fy{9mjA`Z|zXw-yj+>wvZu z%G;XqFFyNp{>8m(0BiCuwzlS9Y-`T{a+L?L3UD1@E#P{{RUrd=c;^z&(I_0bd4u1+WEhAK&4-K&}ORyb5u= z2K9NZG5^c`(B=nr=70GH#NG<^IRw5AL%SXUxg&4qfB7!d=e>9HFG2rYTD2XpJ^zxY zCjU~^w){&_r%NzaFF}7_TK97PrS(numo|6+59ME~Ys|m&OamaKo1V_URR3!JrLBMs zI{}*kA^+^NfM9QXTmGdT$MP>dw>JOMUeI}YZ~mp01AvF~FYP;+f9bV1^Dn)=G5^w= z814srJO5G}_jLtgiq6JI_2b$xNV% z)w-Z0;06jv!mgn5OcDsPL{=3QBl{9iSrl3ovL}QkkN{zaY>+@88zCVCtF5*gP-_*a zwW5$ssYP40Dv>=trbOapr zovopK4YD=ZRZBZ+lL76k%>>ziHr3_>?5VBwojpvQhsirkS{-HUvV3QcAX86zJ>}}D zzaH88!{Df|k+I#lti;#2yw=y4kn3w?yfh|m0!6;Yq+);!bG$J*8LR}^ARiO}WRiD- zJpdia`#`m?F$MV)^rj%soNG+U0qemAKpiQRPeDFqFQ@{PNlgctU<=p=b^!9y(3O@5 zQUT@DwgT!)!``&RzQ*(vKt1W@06iJ#$=D3?Kn1AuHLjrS3es0#%L;U_p#Bx;UQq+k zlS$h$(UXatnbeU<`!f##^k>rkmCHdAKyD>^R%QYGuoAhI*t-&YRvrMZ&o26Q7j@-r1eDFA?z~cfjy&Y^=&O9{&!_Hu{F0B&`IKiZXw1i^e8yHjel4I4 z1+=*U`wH-R0eJ=JEkbV*b?nB@-N^1CeNUmUu^9ieb~NtAhQ0N^#(nr@ANKDfuM`_g z>BCau`{|SY=-5x${n)i1o%`|ge){bIHXXp12he$dv;(A-?Eu8f7&~S3TN!28BO1%` zK?Qm%@o^P8tEjJvwpNi}Rp)CwNLvrq`WmaTvw9~$M>XZEv8S5y)%0IAcCrpMGUpp> zXmbr^YVdCjMOG z*Tj5pVvlc1J?Lv&HVv7y&7c%i0`k&VfOTN2uPGx3l=+&N*G(%{1JYMu%ZfTs z?`z7$rpzP0rj_VfiR?=1UwPQqv?>u`&#FDXrq$TFIvHTg8rrmGm#-;{_GOWmRSnRy zb`zk!b;xF8Z#K3t&zf@9gT3I8uZcOUu~Z*R+$i?V`_iA+w9J%+sd)Y+qABg0HC%`-+g+O?Wpt zi^(g2mr&nc+P)W?_fqdZl&-PUV+FD8-rSw%P^_Eg^DYopVzxJ;Ll-Z9S z=2X)G!UrmSP3+}OWktTGa@tmY)YnwOSgAm^0v}aSH)p-3O3GByu1e%9>5D3CucB|N zu(OJKtMCtJzou&HsivQ*Nw3D1Lxc~}S2fsEi~nlzEqi0rVfyJXvWM~aVRYAFPaXC! zKbq=j&k^L0;{T&1px)QKY%|yfYJAPhGe8MA0IIobIKN9Gw0go)HS|l#&a{{xjAh&CeK&cf9ITM7>W$`+xQJ*T;dx_0BEJ=nB|v^~h} z!QMU8Q%w0{d|HB?C6q0p@0d5urO50@em_3lPyGkb$9~dWhW%yOS&qNTNvnWYU{?jc zsGyz9gJ#Z>&6Sj`#O6xcTuJ{|;may~P=(w<^cbrfpT99chi<6@=`Z~Jg^%S1M*YRlUnC%Nke~H5(IXr8?)E@T5|GzEgMz>e8L&2 zWh44GqIVe+~>IBMOI49MSs-8+!oaoE?&IlPtqy)}^|cly0DM?f?`z$I&o~3LmY}nQ@_W~U0)URa*tr)y`!)gM zW%#9RgRhmnyR`!USE279eyy(cwI0Hb8vMc;wzU?ST6EPSSBs5@@x@{Mc9{NSPi{So ze-2Zg^J{AzZK@-kJ-U@MY-=61*3ovxO6w8I9ieZIU{gKi>yfLcFY3`we#7+gABL+gt7XY~NZ?2#O-lZ>>ubk}M=eNScrgA=@I)??~DO$=)KQ z0Ftu;vauGjgJL`KL}d3~$iBSD^E=n&LpJS(Y%Ycrp=#&ejgU%;?W~sE>cYtLyHXN` zY=>l)K{jVYcA{_BPU_vYHxsg-jJ#z;^D+)WRwA6YYMl^l$y<$rywy37tbLG8RGzns z#^e>Rgp^=kUU?m)68rKFXF-lgsD4%C`TTT*^H-EYR+T_DVr2f7D##AZ$UkrpQoa^a zzf%a67c9rLg2Zwm6_BJ{AreYYhpgEO*+{brHf@4z#*+mFR9;YwK?SAMQBb}NQn3b7 zkBbXaktnT-b?$6+ ze!%M4)9TgT>ebTJY-o32e;a2Ymt9Ng!cOR>FU#oXN zt9O5^_W-N+K&wx8t4~j>PcN%axYZ}Z>eJim)5q%5*Xq;H>eJuqGr;OI(CXXW>f6)m z+so?L-RjrV>fhb!-_sh<-5Su-8ra<$*wY$3*m|I|^}qwxknxuFtmTWeB8OX%k6DpR zt)Z4Rbcr=A)*3d!8aBfkw$zG=v0{c>G2^Y630BM_)m zXN`=sMvk#YPOwH!v_=iLM$NWH&9`EQS+QfR*f?v<0&8rfHFl&mcC0mau{Ca_H6g~D z=(8q1W=(wBdL+i0GR2xQ)tVA-O|`74an{ti)>Ohvt!Wdi>C>(0v#jZJt?BXB%s6Y- zENj+mYt}q#)?#bc3)Y+=)|?5}oQc+)8P=S+)|_~2&O&SMY-?`3HFush_XR6H!iw*0 z#SgLKCs^?lt@x*{_!(CGTq{1_ieF&O8)D6iw&qQ+=1sKb&9>&nTk{rJ^Cwu(46&Yx zww@s{(RyZz^~?fm!E@Gvh1TL()(f+IUBkQix<-KBpbzK^`hosn02l~{01Nm)B!~jh zU?>;{V!&|l5EubQf>B^Jhy@RWF<>kh2gZX5U?O+~JPIBIao}k%1xy9gz;rMJ%mlN* zY%mAR1@T}Wm=B%-&w}T`0%dBit#*izrn*f?KIOpI^DxJciKSF3#^NgGMp$m4r_ zv9Tk;1Yhj9DBrlK5x#NcO+fY$5O>cMu)r7hX1(v}xaWLR?wJo3`KH9p^-YP70KI)v z;Zxz$o}1yDK7AIL>zhITO!Uv1HOn^#eRBxUL2eFmbEtFf{29Kv*bzT#t}mYSc+%tN z&-FbQH`TY8GB1Ev5BNZ|@6Eb-zTIMlH5+S6wkUm2C z3h5`LzmNe!20|hz(W^P3CNlg}*4%L32_Re2BEuyuLZT58jgV+>iT0LgZ;AGiXdj98 zk!W9u_LXQ~iT0CdKZ*8}Xn%?JmuP>94v^>oi4KtHK#2~N=s=0$_n64Ip7A{+=iuVV zXC#C_W<|bV@IgZ4`<3q(2q_V=PsqW@_v;}i)|}W9d9vtKW#q}-C-(~3C!|zJnUHeG zsbnE3LQ;jK3(1H)Su7=rr9`omD3%h%QleN&6ibO>DN!sXilsz}lqeCo5|Jwrxe}2p z5xEkPD-pT9qI9q1?v=E?lD1FE?vu2AlD1FMN+qpSgi9r(R5D5>qe3z&B%?x1tB@)y zM5ID0st~yfk*gHBN|CD+xk{0%6uC-~s}#9Pk*gAsDiNs?ktz|XlH4lEJt$fZipW6` zIVd6rMdYA}92Aji$*q>OYDue>v_lfDk+L;9BpEf5Q7dV+l2$8ewWOU|P8wvNkWvV_ zkaQvBCP+qtq$NmNf}|y$ED}PoM9EE*Vu`1cgdmqFa)~0BByve2mn3pYB9|m0N%#PQ zT$0Eoi(InEC5v3L$R&$hvWO&$NQ&g9NN$Scrr-!jIYi`A=xGQ_Q=~+Slt`5lsgj#2 zX{nNy#&A59AsHE>DnnFdh^h=xl_A0zqAEjFWk|6MDV9O84^vN7Ms?-q*KR@+G)>er zS<@6vQ#DQ3bcLpwny%7xwWez{&C+x&l%Iz*6>a=HB(!F$&{`?Wk2^vS=LxM_uBnve zhZaru3C*Y!x>9oaK|<)7l|r-Xgl^s}bjx<3`wF2_~~7kW)AgqH6VS|J|bLe(v*7i(DWsPJA?CUi?0l=UPkT-G(A zk|HZxRJbf{LM25Ox2SMg-Jm)wOIuX9ENfBWvaUgOSQfRYa9Plz!evE+>aZ+lQQ@+b zMTN^+2GwEgiHMSw6|10qH0`TtKTZ2>J0rB6 z5!%iOZD)kGGeTP!p>2!MRz+xgBD4)c`$qNFwe;5dduywNk`5gZ)klZ>Li*pAX-`!-Yc5lv2*6kh}LNl(X!~C$`HoV6@8Lb^;ELW(ru;_S^gx( z0w|2-&SqM~E+=!7M46p7E7k0jh{*JemSt69!X#!(!gQi7LN$^{HIgWd7^|u1gh?XH zs#L_nYR7c#EUr4y)=5kZWObF|tgm)VSIhEx63bwc$igbBVIo;2%Z+9qt`(+5SXd=d z7$U5&QjVom%EA0G$zv^*7^`W3QBGpyv7AbxFcO7jM9Wf2qAaEoOE{H8wX%$&TA1Vs zBabyxV#0{ATGCo!k|<0kN;8Rxxti%jT|<(s6DE?lN@@^Rs+p7{X6K1_Mchu5MiXPF z)67m3my1EdSaU@gO!9E3;X-W?I>)>{BUrEY)UdHlub5*fnH-Xp4Mki+pH{e7Hu7e3%n` zx@P6+L*>z@YfDbo=Gts$^y$MZPuG%oWZCKZDp(|<` zEjHU}vqGDd2>WzdIsd_`_%Hg?v=aVbs(@N5XcGy*6M)YtcYPJi#SzqP?SIt|4SWqvW#<8+NmT0A7)DGFqzXb2ZuqD z==RiM_SinTf7q!sgqadCw$Gu2#O?eSV|yM-NSx1qG5CS47fA(IP@p$7(x-+4~96N`DDjN#mu&e%qE2 zm-~ajh|3*8V1yQ>g*kjBMP#>bIPp3nD5g!!iHge++_6nZ#CB<>9YF?%N|}AS%!)uH zvEXvfew{*qf(wus|G$p_Dml zM<{~@YcEHnr-^LVVl+<5XlH6Wh-?p7L`xHQ+IqD)(kyAF9igZ;f|hb-Yph#+wr&&0 zvr)`m=HVVb?)xOUwA*Nw+@vredKRUQ);_-6lr%ezC+&XUMO@aM%e_Us${uUlkR7A7 zA9Mp{p(!Cw$^GIg-Q&b*8KcS`=jfO5L7S`jii`m9oq^7jwTw6o!KwIA#_YqF&1VfM z_#~yI+n7KZOo$V<71YhmrI@`Pyw2I*AGs4og9?ao-r-Al6n?GH)9C!#`Tt(aC3XP-L40&7@UV4(^NtWWOK zMX9F?>m8aGZGi7fJ-t`r@O|t3T+&O|p58Bff6D1n$%otVR6AaN^mIiI=@lve!=-#x z%IQjxhgV7Ys#H5(oqM`^yTkp-vVu>RmBRNXf3mkqc&eYL`}qn#U+L#reqQV6b$(v& z=SOY6FF|*8zi*01{}B?s=XXKBBAw%z1FCrr!Ysfqn8M##GRH1TkDmt~!&$InJrzYCo`W$fC z`Gm{HCtUVD;j--smt9Y|Y62Q!v&&62~Ulkwky1SX%o z$M_TM*)EF|gIOf(N$VfFxgD4%yJhU7K&sUh*;9b^$iLW1K?WNCB{))Sr#qa38V%LWcZ|5 zq=X{v5OR?XMSCFoBt(fQsWM86MM;%W4Jkq>5!H|;gvz6&Y?M?UC6z}>y-}hds^LJ5 zGg^d)ih`k1?@+OMsAw5#XHa&iR5?s?he_Hn(L79)4im$N*}0`P&KR*JMpVU!aEurf zBl==QUyPKE5rbl+Y>XHbBL>BYmKd=rMhqG*WgikP4~g7ElKYU<@sPB4gk+46j1iJH zLfSDxGDb?qNU39_lo%zpjFPlbV#X-R7$wC<*}0S*C1poR+0i0AT7*Z7rK82j(G4qv zP-3)LI$A7^6_Hp`HAX^X><}VjL}ZMJj1jBGh|;mrjWQ>#OI8i!I%oryb zY z%O^M(J}M%Q+9KHUs1$ol z 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

        m&utU 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�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%0A|grx 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%0D4%5*@yXAdMhT6 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 Teyr!;h$=sSn^A}#g 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

        T=+Wmbk~LI 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

        !d~-C^-D3F;(a_B;mhVu_PFIWN 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ឤH4uvBiqib-QgBnKt>ZPH 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�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 z

        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ͻ~PgGswN4P6uLzf(UJ8GLD?U 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

      1. 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 XMQ%wX=uZT9U=Z8&%fDR#Qvm-10a-R{ diff --git a/go/cmd/examples/go-wasm-web/wwwroot/app.css b/go/cmd/examples/go-wasm-web/wwwroot/app.css deleted file mode 100644 index b0465f65..00000000 --- a/go/cmd/examples/go-wasm-web/wwwroot/app.css +++ /dev/null @@ -1,144 +0,0 @@ -@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:"Lora", ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-serif:"Lora", ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', - monospace;--color-red-50:oklch(97.1% 0.013 17.38);--color-red-100:oklch(93.6% 0.032 17.717);--color-red-200:oklch(88.5% 0.062 18.334);--color-red-300:oklch(80.8% 0.114 19.571);--color-red-400:oklch(70.4% 0.191 22.216);--color-red-500:oklch(63.7% 0.237 25.331);--color-red-600:oklch(57.7% 0.245 27.325);--color-red-700:oklch(50.5% 0.213 27.518);--color-red-800:oklch(44.4% 0.177 26.899);--color-red-900:oklch(39.6% 0.141 25.723);--color-red-950:oklch(25.8% 0.092 26.042);--color-orange-50:oklch(98% 0.016 73.684);--color-orange-100:oklch(95.4% 0.038 75.164);--color-orange-200:oklch(90.1% 0.076 70.697);--color-orange-300:oklch(83.7% 0.128 66.29);--color-orange-400:oklch(75% 0.183 55.934);--color-orange-500:oklch(70.5% 0.213 47.604);--color-orange-600:oklch(64.6% 0.222 41.116);--color-orange-700:oklch(55.3% 0.195 38.402);--color-orange-800:oklch(47% 0.157 37.304);--color-orange-900:oklch(40.8% 0.123 38.172);--color-orange-950:oklch(26.6% 0.079 36.259);--color-amber-50:oklch(98.7% 0.022 95.277);--color-amber-100:oklch(96.2% 0.059 95.617);--color-amber-200:oklch(92.4% 0.12 95.746);--color-amber-300:oklch(87.9% 0.169 91.605);--color-amber-400:oklch(82.8% 0.189 84.429);--color-amber-500:oklch(76.9% 0.188 70.08);--color-amber-600:oklch(66.6% 0.179 58.318);--color-amber-700:oklch(55.5% 0.163 48.998);--color-amber-800:oklch(47.3% 0.137 46.201);--color-amber-900:oklch(41.4% 0.112 45.904);--color-amber-950:oklch(27.9% 0.077 45.635);--color-yellow-50:oklch(98.7% 0.026 102.212);--color-yellow-100:oklch(97.3% 0.071 103.193);--color-yellow-200:oklch(94.5% 0.129 101.54);--color-yellow-300:oklch(90.5% 0.182 98.111);--color-yellow-400:oklch(85.2% 0.199 91.936);--color-yellow-500:oklch(79.5% 0.184 86.047);--color-yellow-600:oklch(68.1% 0.162 75.834);--color-yellow-700:oklch(55.4% 0.135 66.442);--color-yellow-800:oklch(47.6% 0.114 61.907);--color-yellow-900:oklch(42.1% 0.095 57.708);--color-yellow-950:oklch(28.6% 0.066 53.813);--color-lime-50:oklch(98.6% 0.031 120.757);--color-lime-100:oklch(96.7% 0.067 122.328);--color-lime-200:oklch(93.8% 0.127 124.321);--color-lime-300:oklch(89.7% 0.196 126.665);--color-lime-400:oklch(84.1% 0.238 128.85);--color-lime-500:oklch(76.8% 0.233 130.85);--color-lime-600:oklch(64.8% 0.2 131.684);--color-lime-700:oklch(53.2% 0.157 131.589);--color-lime-800:oklch(45.3% 0.124 130.933);--color-lime-900:oklch(40.5% 0.101 131.063);--color-lime-950:oklch(27.4% 0.072 132.109);--color-green-50:oklch(98.2% 0.018 155.826);--color-green-100:oklch(96.2% 0.044 156.743);--color-green-200:oklch(92.5% 0.084 155.995);--color-green-300:oklch(87.1% 0.15 154.449);--color-green-400:oklch(79.2% 0.209 151.711);--color-green-500:oklch(72.3% 0.219 149.579);--color-green-600:oklch(62.7% 0.194 149.214);--color-green-700:oklch(52.7% 0.154 150.069);--color-green-800:oklch(44.8% 0.119 151.328);--color-green-900:oklch(39.3% 0.095 152.535);--color-green-950:oklch(26.6% 0.065 152.934);--color-emerald-50:oklch(97.9% 0.021 166.113);--color-emerald-100:oklch(95% 0.052 163.051);--color-emerald-200:oklch(90.5% 0.093 164.15);--color-emerald-300:oklch(84.5% 0.143 164.978);--color-emerald-400:oklch(76.5% 0.177 163.223);--color-emerald-500:oklch(69.6% 0.17 162.48);--color-emerald-600:oklch(59.6% 0.145 163.225);--color-emerald-700:oklch(50.8% 0.118 165.612);--color-emerald-800:oklch(43.2% 0.095 166.913);--color-emerald-900:oklch(37.8% 0.077 168.94);--color-emerald-950:oklch(26.2% 0.051 172.552);--color-teal-50:oklch(98.4% 0.014 180.72);--color-teal-100:oklch(95.3% 0.051 180.801);--color-teal-200:oklch(91% 0.096 180.426);--color-teal-300:oklch(85.5% 0.138 181.071);--color-teal-400:oklch(77.7% 0.152 181.912);--color-teal-500:oklch(70.4% 0.14 182.503);--color-teal-600:oklch(60% 0.118 184.704);--color-teal-700:oklch(51.1% 0.096 186.391);--color-teal-800:oklch(43.7% 0.078 188.216);--color-teal-900:oklch(38.6% 0.063 188.416);--color-teal-950:oklch(27.7% 0.046 192.524);--color-cyan-50:oklch(98.4% 0.019 200.873);--color-cyan-100:oklch(95.6% 0.045 203.388);--color-cyan-200:oklch(91.7% 0.08 205.041);--color-cyan-300:oklch(86.5% 0.127 207.078);--color-cyan-400:oklch(78.9% 0.154 211.53);--color-cyan-500:oklch(71.5% 0.143 215.221);--color-cyan-600:oklch(60.9% 0.126 221.723);--color-cyan-700:oklch(52% 0.105 223.128);--color-cyan-800:oklch(45% 0.085 224.283);--color-cyan-900:oklch(39.8% 0.07 227.392);--color-cyan-950:oklch(30.2% 0.056 229.695);--color-sky-50:oklch(97.7% 0.013 236.62);--color-sky-100:oklch(95.1% 0.026 236.824);--color-sky-200:oklch(90.1% 0.058 230.902);--color-sky-300:oklch(82.8% 0.111 230.318);--color-sky-400:oklch(74.6% 0.16 232.661);--color-sky-500:oklch(68.5% 0.169 237.323);--color-sky-600:oklch(58.8% 0.158 241.966);--color-sky-700:oklch(50% 0.134 242.749);--color-sky-800:oklch(44.3% 0.11 240.79);--color-sky-900:oklch(39.1% 0.09 240.876);--color-sky-950:oklch(29.3% 0.066 243.157);--color-blue-50:oklch(97% 0.014 254.604);--color-blue-100:oklch(93.2% 0.032 255.585);--color-blue-200:oklch(88.2% 0.059 254.128);--color-blue-300:oklch(80.9% 0.105 251.813);--color-blue-400:oklch(70.7% 0.165 254.624);--color-blue-500:oklch(62.3% 0.214 259.815);--color-blue-600:oklch(54.6% 0.245 262.881);--color-blue-700:oklch(48.8% 0.243 264.376);--color-blue-800:oklch(42.4% 0.199 265.638);--color-blue-900:oklch(37.9% 0.146 265.522);--color-blue-950:oklch(28.2% 0.091 267.935);--color-indigo-50:oklch(96.2% 0.018 272.314);--color-indigo-100:oklch(93% 0.034 272.788);--color-indigo-200:oklch(87% 0.065 274.039);--color-indigo-300:oklch(78.5% 0.115 274.713);--color-indigo-400:oklch(67.3% 0.182 276.935);--color-indigo-500:oklch(58.5% 0.233 277.117);--color-indigo-600:oklch(51.1% 0.262 276.966);--color-indigo-700:oklch(45.7% 0.24 277.023);--color-indigo-800:oklch(39.8% 0.195 277.366);--color-indigo-900:oklch(35.9% 0.144 278.697);--color-indigo-950:oklch(25.7% 0.09 281.288);--color-violet-50:oklch(96.9% 0.016 293.756);--color-violet-100:oklch(94.3% 0.029 294.588);--color-violet-200:oklch(89.4% 0.057 293.283);--color-violet-300:oklch(81.1% 0.111 293.571);--color-violet-400:oklch(70.2% 0.183 293.541);--color-violet-500:oklch(60.6% 0.25 292.717);--color-violet-600:oklch(54.1% 0.281 293.009);--color-violet-700:oklch(49.1% 0.27 292.581);--color-violet-800:oklch(43.2% 0.232 292.759);--color-violet-900:oklch(38% 0.189 293.745);--color-violet-950:oklch(28.3% 0.141 291.089);--color-purple-50:oklch(97.7% 0.014 308.299);--color-purple-100:oklch(94.6% 0.033 307.174);--color-purple-200:oklch(90.2% 0.063 306.703);--color-purple-300:oklch(82.7% 0.119 306.383);--color-purple-400:oklch(71.4% 0.203 305.504);--color-purple-500:oklch(62.7% 0.265 303.9);--color-purple-600:oklch(55.8% 0.288 302.321);--color-purple-700:oklch(49.6% 0.265 301.924);--color-purple-800:oklch(43.8% 0.218 303.724);--color-purple-900:oklch(38.1% 0.176 304.987);--color-purple-950:oklch(29.1% 0.149 302.717);--color-fuchsia-50:oklch(97.7% 0.017 320.058);--color-fuchsia-100:oklch(95.2% 0.037 318.852);--color-fuchsia-200:oklch(90.3% 0.076 319.62);--color-fuchsia-300:oklch(83.3% 0.145 321.434);--color-fuchsia-400:oklch(74% 0.238 322.16);--color-fuchsia-500:oklch(66.7% 0.295 322.15);--color-fuchsia-600:oklch(59.1% 0.293 322.896);--color-fuchsia-700:oklch(51.8% 0.253 323.949);--color-fuchsia-800:oklch(45.2% 0.211 324.591);--color-fuchsia-900:oklch(40.1% 0.17 325.612);--color-fuchsia-950:oklch(29.3% 0.136 325.661);--color-pink-50:oklch(97.1% 0.014 343.198);--color-pink-100:oklch(94.8% 0.028 342.258);--color-pink-200:oklch(89.9% 0.061 343.231);--color-pink-300:oklch(82.3% 0.12 346.018);--color-pink-400:oklch(71.8% 0.202 349.761);--color-pink-500:oklch(65.6% 0.241 354.308);--color-pink-600:oklch(59.2% 0.249 0.584);--color-pink-700:oklch(52.5% 0.223 3.958);--color-pink-800:oklch(45.9% 0.187 3.815);--color-pink-900:oklch(40.8% 0.153 2.432);--color-pink-950:oklch(28.4% 0.109 3.907);--color-rose-50:oklch(96.9% 0.015 12.422);--color-rose-100:oklch(94.1% 0.03 12.58);--color-rose-200:oklch(89.2% 0.058 10.001);--color-rose-300:oklch(81% 0.117 11.638);--color-rose-400:oklch(71.2% 0.194 13.428);--color-rose-500:oklch(64.5% 0.246 16.439);--color-rose-600:oklch(58.6% 0.253 17.585);--color-rose-700:oklch(51.4% 0.222 16.935);--color-rose-800:oklch(45.5% 0.188 13.697);--color-rose-900:oklch(41% 0.159 10.272);--color-rose-950:oklch(27.1% 0.105 12.094);--color-slate-50:oklch(98.4% 0.003 247.858);--color-slate-100:oklch(96.8% 0.007 247.896);--color-slate-200:oklch(92.9% 0.013 255.508);--color-slate-300:oklch(86.9% 0.022 252.894);--color-slate-400:oklch(70.4% 0.04 256.788);--color-slate-500:oklch(55.4% 0.046 257.417);--color-slate-600:oklch(44.6% 0.043 257.281);--color-slate-700:oklch(37.2% 0.044 257.287);--color-slate-800:oklch(27.9% 0.041 260.031);--color-slate-900:oklch(20.8% 0.042 265.755);--color-slate-950:oklch(12.9% 0.042 264.695);--color-gray-50:oklch(98.5% 0.002 247.839);--color-gray-100:oklch(96.7% 0.003 264.542);--color-gray-200:oklch(92.8% 0.006 264.531);--color-gray-300:oklch(87.2% 0.01 258.338);--color-gray-400:oklch(70.7% 0.022 261.325);--color-gray-500:oklch(55.1% 0.027 264.364);--color-gray-600:oklch(44.6% 0.03 256.802);--color-gray-700:oklch(37.3% 0.034 259.733);--color-gray-800:oklch(27.8% 0.033 256.848);--color-gray-900:oklch(21% 0.034 264.665);--color-gray-950:oklch(13% 0.028 261.692);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% 0.001 286.375);--color-zinc-200:oklch(92% 0.004 286.32);--color-zinc-300:oklch(87.1% 0.006 286.286);--color-zinc-400:oklch(70.5% 0.015 286.067);--color-zinc-500:oklch(55.2% 0.016 285.938);--color-zinc-600:oklch(44.2% 0.017 285.786);--color-zinc-700:oklch(37% 0.013 285.805);--color-zinc-800:oklch(27.4% 0.006 286.033);--color-zinc-900:oklch(21% 0.006 285.885);--color-zinc-950:oklch(14.1% 0.005 285.823);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-stone-50:oklch(98.5% 0.001 106.423);--color-stone-100:oklch(97% 0.001 106.424);--color-stone-200:oklch(92.3% 0.003 48.717);--color-stone-300:oklch(86.9% 0.005 56.366);--color-stone-400:oklch(70.9% 0.01 56.259);--color-stone-500:oklch(55.3% 0.013 58.071);--color-stone-600:oklch(44.4% 0.011 73.639);--color-stone-700:oklch(37.4% 0.01 67.558);--color-stone-800:oklch(26.8% 0.007 34.298);--color-stone-900:oklch(21.6% 0.006 56.043);--color-stone-950:oklch(14.7% 0.004 49.25);--color-mauve-50:oklch(98.5% 0 0);--color-mauve-100:oklch(96% 0.003 325.6);--color-mauve-200:oklch(92.2% 0.005 325.62);--color-mauve-300:oklch(86.5% 0.012 325.68);--color-mauve-400:oklch(71.1% 0.019 323.02);--color-mauve-500:oklch(54.2% 0.034 322.5);--color-mauve-600:oklch(43.5% 0.029 321.78);--color-mauve-700:oklch(36.4% 0.029 323.89);--color-mauve-800:oklch(26.3% 0.024 320.12);--color-mauve-900:oklch(21.2% 0.019 322.12);--color-mauve-950:oklch(14.5% 0.008 326);--color-olive-50:oklch(98.8% 0.003 106.5);--color-olive-100:oklch(96.6% 0.005 106.5);--color-olive-200:oklch(93% 0.007 106.5);--color-olive-300:oklch(88% 0.011 106.6);--color-olive-400:oklch(73.7% 0.021 106.9);--color-olive-500:oklch(58% 0.031 107.3);--color-olive-600:oklch(46.6% 0.025 107.3);--color-olive-700:oklch(39.4% 0.023 107.4);--color-olive-800:oklch(28.6% 0.016 107.4);--color-olive-900:oklch(22.8% 0.013 107.4);--color-olive-950:oklch(15.3% 0.006 107.1);--color-mist-50:oklch(98.7% 0.002 197.1);--color-mist-100:oklch(96.3% 0.002 197.1);--color-mist-200:oklch(92.5% 0.005 214.3);--color-mist-300:oklch(87.2% 0.007 219.6);--color-mist-400:oklch(72.3% 0.014 214.4);--color-mist-500:oklch(56% 0.021 213.5);--color-mist-600:oklch(45% 0.017 213.2);--color-mist-700:oklch(37.8% 0.015 216);--color-mist-800:oklch(27.5% 0.011 216.9);--color-mist-900:oklch(21.8% 0.008 223.9);--color-mist-950:oklch(14.8% 0.004 228.8);--color-taupe-50:oklch(98.6% 0.002 67.8);--color-taupe-100:oklch(96% 0.002 17.2);--color-taupe-200:oklch(92.2% 0.005 34.3);--color-taupe-300:oklch(86.8% 0.007 39.5);--color-taupe-400:oklch(71.4% 0.014 41.2);--color-taupe-500:oklch(54.7% 0.021 43.1);--color-taupe-600:oklch(43.8% 0.017 39.3);--color-taupe-700:oklch(36.7% 0.016 35.7);--color-taupe-800:oklch(26.8% 0.011 36.5);--color-taupe-900:oklch(21.4% 0.009 43.1);--color-taupe-950:oklch(14.7% 0.004 49.3);--color-black:#000;--color-white:#fff;--spacing:0.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0em;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:0.125rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px rgb(0 0 0 / 0.05);--shadow-xs:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-sm:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 0.25);--inset-shadow-2xs:inset 0 1px rgb(0 0 0 / 0.05);--inset-shadow-xs:inset 0 1px 1px rgb(0 0 0 / 0.05);--inset-shadow-sm:inset 0 2px 4px rgb(0 0 0 / 0.05);--drop-shadow-xs:0 1px 1px rgb(0 0 0 / 0.05);--drop-shadow-sm:0 1px 2px rgb(0 0 0 / 0.15);--drop-shadow-md:0 3px 3px rgb(0 0 0 / 0.12);--drop-shadow-lg:0 4px 4px rgb(0 0 0 / 0.15);--drop-shadow-xl:0 9px 7px rgb(0 0 0 / 0.1);--drop-shadow-2xl:0 25px 25px rgb(0 0 0 / 0.15);--text-shadow-2xs:0px 1px 0px rgb(0 0 0 / 0.15);--text-shadow-xs:0px 1px 1px rgb(0 0 0 / 0.2);--text-shadow-sm:0px 1px 0px rgb(0 0 0 / 0.075), 0px 1px 1px rgb(0 0 0 / 0.075), 0px 2px 2px rgb(0 0 0 / 0.075);--text-shadow-md:0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1);--text-shadow-lg:0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1);--ease-in:cubic-bezier(0.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, 0.2, 1);--ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16 / 9;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);--default-font-family:var(--font-sans);--default-font-feature-settings:initial;--default-font-variation-settings:initial;--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:initial;--default-mono-font-variation-settings:initial;--radius-default:0.375rem;--color-primary:#0284c7;--color-primary-hover:#0369a1;--color-primary-subtle:#f0f9ff;--color-primary-border:#bae6fd;--color-accent:#0369a1;--color-surface:#ffffff;--color-surface-muted:#fafafa;--color-surface-raised:#f5f5f5;--color-surface-strong:#e5e5e5;--color-line:#e5e5e5;--color-line-strong:#d4d4d4;--color-ink:#171717;--color-ink-soft:#525252;--color-ink-muted:#737373;--color-ink-faint:#a3a3a3;--color-text-heading:#111827;--color-text-on-dark:#f9fafb;--color-text-on-dark-muted:#9ca3af}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}@layer base{*,::after,::before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family);font-feature-settings:var(--default-font-feature-settings);font-variation-settings:var(--default-font-variation-settings);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family);font-feature-settings:var(--default-mono-font-feature-settings);font-variation-settings:var(--default-mono-font-variation-settings);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:initial;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports(not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@font-face{font-family:lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin-ext-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin-ext-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--grid-line:rgba(15, 23, 42, 0.055)}.dark{--color-surface:#101013;--color-surface-muted:#17171b;--color-surface-raised:#1f1f24;--color-surface-strong:#2c2c33;--color-line:#2a2a30;--color-line-strong:#3d3d45;--color-ink:#f2f2f3;--color-ink-soft:#c6c6cc;--color-ink-muted:#9a9aa3;--color-ink-faint:#71717a;--color-accent:#7dd3fc;--color-primary-subtle:#0b2c3f;--color-primary-border:#0e4966;--color-text-heading:#f5f5f5;--grid-line:rgba(226, 232, 240, 0.05)}html{background-color:var(--color-surface);color:var(--color-ink)}.bg-grid{background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;background-position:50% 0}.grid-fade{-webkit-mask-image:linear-gradient(to bottom,#000,#000 35%,transparent 100%);mask-image:linear-gradient(to bottom,#000,#000 35%,transparent 100%)}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:calc(1/2 * 100%)}.top-20{top:calc(var(--spacing) * 20)}.top-4{top:calc(var(--spacing) * 4)}.top-\[3\.75rem\]{top:3.75rem}.top-full{top:100%}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-8{right:calc(var(--spacing) * 8)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.left-1\/2{left:calc(1/2 * 100%)}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-150{z-index:150}.z-20{z-index:20}.z-200{z-index:200}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[1\]{z-index:1}.z-\[200\]{z-index:200}.col-span-1{grid-column:span 1/span 1}.-m-1\.5{margin:calc(var(--spacing) * -1.5)}.m-0{margin:0}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-\[0\.15rem\]{margin-inline:.15rem}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1/1}.h-0{height:0}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-72{height:calc(var(--spacing) * 72)}.h-8{height:calc(var(--spacing) * 8)}.h-\[30px\]{height:30px}.h-\[38px\]{height:38px}.h-\[calc\(100vh-3\.75rem\)\]{height:calc(100vh - 3.75rem)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[34rem\]{max-height:34rem}.max-h-\[calc\(100dvh_-_5rem\)\]{max-height:calc(100dvh - 5rem)}.max-h-\[calc\(100vh_-_7rem\)\]{max-height:calc(100vh - 7rem)}.max-h-dvh{max-height:100dvh}.min-h-0{min-height:0}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-\[6\.5rem\]{min-height:6.5rem}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:var(--spacing)}.w-10{width:calc(var(--spacing) * 10)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-40{width:calc(var(--spacing) * 40)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-6{width:calc(var(--spacing) * 6)}.w-64{width:calc(var(--spacing) * 64)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-\[26rem\]{width:26rem}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-\[110rem\]{max-width:110rem}.max-w-\[11rem\]{max-width:11rem}.max-w-\[14rem\]{max-width:14rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[20rem\]{max-width:20rem}.max-w-\[90rem\]{max-width:90rem}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-screen{max-width:100vw}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-72{min-width:calc(var(--spacing) * 72)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-\[10rem\]{min-width:10rem}.min-w-\[16rem\]{min-width:16rem}.min-w-\[240px\]{min-width:240px}.min-w-\[7rem\]{min-width:7rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[9rem\]{min-width:9rem}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * 0.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[2px\]{gap:2px}.space-y-0\.5{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-1\.5{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-2{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-4{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }}.self-end{align-self:flex-end}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-default{border-radius:var(--radius-default)}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-l-default{border-top-left-radius:var(--radius-default);border-bottom-left-radius:var(--radius-default)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-b-default{border-bottom-right-radius:var(--radius-default);border-bottom-left-radius:var(--radius-default)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-emerald-300{border-color:var(--color-emerald-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-neutral-700{border-color:var(--color-neutral-700)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-primary{border-color:var(--color-primary)}.border-primary-border{border-color:var(--color-primary-border)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-sky-200{border-color:var(--color-sky-200)}.border-sky-700{border-color:var(--color-sky-700)}.border-transparent{border-color:transparent}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-sky-700{border-top-color:var(--color-sky-700)}.border-t-transparent{border-top-color:transparent}.border-l-green-700{border-left-color:var(--color-green-700)}.border-l-neutral-300{border-left-color:var(--color-neutral-300)}.border-l-neutral-400{border-left-color:var(--color-neutral-400)}.border-l-red-700{border-left-color:var(--color-red-700)}.border-l-sky-800{border-left-color:var(--color-sky-800)}.border-l-yellow-500{border-left-color:var(--color-yellow-500)}.\!bg-primary{background-color:var(--color-primary)!important}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-700{background-color:var(--color-amber-700)}.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-700{background-color:var(--color-green-700)}.bg-green-900{background-color:var(--color-green-900)}.bg-ink{background-color:var(--color-ink)}.bg-neutral-500{background-color:var(--color-neutral-500)}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-primary{background-color:var(--color-primary)}.bg-primary-subtle{background-color:var(--color-primary-subtle)}.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-700{background-color:var(--color-red-700)}.bg-red-900{background-color:var(--color-red-900)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-sky-700{background-color:var(--color-sky-700)}.bg-sky-800{background-color:var(--color-sky-800)}.bg-sky-900{background-color:var(--color-sky-900)}.bg-surface{background-color:var(--color-surface)}.bg-surface-muted{background-color:var(--color-surface-muted)}.bg-surface-raised{background-color:var(--color-surface-raised)}.bg-surface-strong{background-color:var(--color-surface-strong)}.bg-surface\/90{background-color:color-mix(in oklab,var(--color-surface) 90%,transparent)}.bg-transparent{background-color:initial}.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-700{background-color:var(--color-yellow-700)}.fill-current{fill:currentcolor}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-px{padding-block:1px}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-14{padding-right:calc(var(--spacing) * 14)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[calc\(1rem_\+_env\(safe-area-inset-bottom\,0px\)\)\]{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-\[inherit\]{font-family:inherit}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5rem\]{font-size:.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-white{color:var(--color-white)!important}.text-accent{color:var(--color-accent)}.text-amber-300{color:var(--color-amber-300)}.text-amber-600{color:var(--color-amber-600)}.text-current{color:currentcolor}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-ink{color:var(--color-ink)}.text-ink-faint{color:var(--color-ink-faint)}.text-ink-muted{color:var(--color-ink-muted)}.text-ink-soft{color:var(--color-ink-soft)}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-orange-600{color:var(--color-orange-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-900{color:var(--color-red-900)}.text-sky-300{color:var(--color-sky-300)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-sky-900{color:var(--color-sky-900)}.text-surface{color:var(--color-surface)}.text-text-heading{color:var(--color-text-heading)}.text-text-on-dark{color:var(--color-text-on-dark)}.text-text-on-dark-muted{color:var(--color-text-on-dark-muted)}.text-transparent{color:transparent}.text-violet-300{color:var(--color-violet-300)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-neutral-800{caret-color:var(--color-neutral-800)}.opacity-0{opacity:0%}.opacity-50{opacity:50%}.opacity-60{opacity:60%}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color, rgba(0,0,0,0.15));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_currentColor\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color, currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_3px_0_0_0_theme\(colors\.amber\.500\)\]{--tw-shadow:inset 3px 0 0 0 var(--tw-shadow-color, theme(colors.amber.500));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none;@media(forced-colors:active){outline: 2px solid transparent; outline-offset: 2px;}}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-sky-500{outline-color:var(--color-sky-500)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,border-color\]{transition-property:color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:150ms;transition-duration:150ms}.duration-200{--tw-duration:200ms;transition-duration:200ms}.duration-300{--tw-duration:300ms;transition-duration:300ms}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-hover\:text-accent{&:is(:where(.group):hover *){@media(hover:hover){color: var(--color-accent);}}}.group-hover\/th\:opacity-50{&:is(:where(.group\/th):hover *){@media(hover:hover){opacity: 50%;}}}.file\:mr-2{&::file-selector-button{margin-right:calc(var(--spacing) * 2)}}.file\:ml-1{&::file-selector-button{margin-left:var(--spacing)}}.file\:cursor-pointer{&::file-selector-button{cursor:pointer}}.file\:rounded-default{&::file-selector-button{border-radius:var(--radius-default)}}.file\:border{&::file-selector-button{border-style:var(--tw-border-style);border-width:1px}}.file\:border-line-strong{&::file-selector-button{border-color:var(--color-line-strong)}}.file\:bg-surface-raised{&::file-selector-button{background-color:var(--color-surface-raised)}}.file\:px-3{&::file-selector-button{padding-inline:calc(var(--spacing) * 3)}}.file\:px-4{&::file-selector-button{padding-inline:calc(var(--spacing) * 4)}}.file\:py-\[2px\]{&::file-selector-button{padding-block:2px}}.file\:py-\[3px\]{&::file-selector-button{padding-block:3px}}.file\:text-sm{&::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.file\:shadow-xs{&::file-selector-button{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.placeholder\:text-ink-faint{&::placeholder{color:var(--color-ink-faint)}}.before\:absolute{&::before{content:var(--tw-content);position:absolute}}.before\:inset-0{&::before{content:var(--tw-content);inset:0}}.before\:-z-20{&::before{content:var(--tw-content);z-index:calc(20 * -1)}}.before\:bg-surface-strong{&::before{content:var(--tw-content);background-color:var(--color-surface-strong)}}.before\:content-\[\'\'\]{&::before{--tw-content:'';content:var(--tw-content)}}.before\:\[clip-path\:polygon\(16px_0\,100\%_0\,100\%_calc\(100\%_-_16px\)\,calc\(100\%_-_16px\)_100\%\,0_100\%\,0_16px\)\]{&::before{content:var(--tw-content);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}}.after\:absolute{&::after{content:var(--tw-content);position:absolute}}.after\:inset-\[1px\]{&::after{content:var(--tw-content);inset:1px}}.after\:-z-10{&::after{content:var(--tw-content);z-index:calc(10 * -1)}}.after\:bg-white{&::after{content:var(--tw-content);background-color:var(--color-white)}}.after\:content-\[\'\'\]{&::after{--tw-content:'';content:var(--tw-content)}}.after\:\[clip-path\:polygon\(15px_0\,100\%_0\,100\%_calc\(100\%_-_15px\)\,calc\(100\%_-_15px\)_100\%\,0_100\%\,0_15px\)\]{&::after{content:var(--tw-content);clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}}.last\:border-r-0{&:last-child{border-right-style:var(--tw-border-style);border-right-width:0}}.last\:border-b-0{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.odd\:bg-surface{&:nth-child(odd){background-color:var(--color-surface)}}.even\:bg-surface-raised{&:nth-child(even){background-color:var(--color-surface-raised)}}.hover\:border-primary-border{&:hover{@media(hover:hover){border-color: var(--color-primary-border);}}}.hover\:bg-green-100{&:hover{@media(hover:hover){background-color: var(--color-green-100);}}}.hover\:bg-green-800{&:hover{@media(hover:hover){background-color: var(--color-green-800);}}}.hover\:bg-green-950{&:hover{@media(hover:hover){background-color: var(--color-green-950);}}}.hover\:bg-neutral-500{&:hover{@media(hover:hover){background-color: var(--color-neutral-500);}}}.hover\:bg-neutral-800{&:hover{@media(hover:hover){background-color: var(--color-neutral-800);}}}.hover\:bg-orange-700{&:hover{@media(hover:hover){background-color: var(--color-orange-700);}}}.hover\:bg-primary-hover{&:hover{@media(hover:hover){background-color: var(--color-primary-hover);}}}.hover\:bg-red-700{&:hover{@media(hover:hover){background-color: var(--color-red-700);}}}.hover\:bg-red-800{&:hover{@media(hover:hover){background-color: var(--color-red-800);}}}.hover\:bg-red-950{&:hover{@media(hover:hover){background-color: var(--color-red-950);}}}.hover\:bg-sky-100{&:hover{@media(hover:hover){background-color: var(--color-sky-100);}}}.hover\:bg-sky-500{&:hover{@media(hover:hover){background-color: var(--color-sky-500);}}}.hover\:bg-sky-500\/50{&:hover{@media(hover:hover){background-color: color-mix(in oklab,var(--color-sky-500) 50%,transparent);}}}.hover\:bg-sky-800{&:hover{@media(hover:hover){background-color: var(--color-sky-800);}}}.hover\:bg-sky-950{&:hover{@media(hover:hover){background-color: var(--color-sky-950);}}}.hover\:bg-surface-muted{&:hover{@media(hover:hover){background-color: var(--color-surface-muted);}}}.hover\:bg-surface-raised{&:hover{@media(hover:hover){background-color: var(--color-surface-raised);}}}.hover\:bg-surface-strong{&:hover{@media(hover:hover){background-color: var(--color-surface-strong);}}}.hover\:bg-white\/5{&:hover{@media(hover:hover){background-color: color-mix(in oklab,var(--color-white) 5%,transparent);}}}.hover\:bg-yellow-800{&:hover{@media(hover:hover){background-color: var(--color-yellow-800);}}}.hover\:text-ink{&:hover{@media(hover:hover){color: var(--color-ink);}}}.hover\:text-ink-soft{&:hover{@media(hover:hover){color: var(--color-ink-soft);}}}.hover\:text-sky-800{&:hover{@media(hover:hover){color: var(--color-sky-800);}}}.hover\:text-text-on-dark{&:hover{@media(hover:hover){color: var(--color-text-on-dark);}}}.hover\:text-white{&:hover{@media(hover:hover){color: var(--color-white);}}}.hover\:underline{&:hover{@media(hover:hover){text-decoration-line: underline;}}}.hover\:decoration-1{&:hover{@media(hover:hover){text-decoration-thickness: 1px;}}}.hover\:shadow-\[inset_0_0_0_2px_currentColor\]{&:hover{@media(hover:hover){--tw-shadow: inset 0 0 0 2px var(--tw-shadow-color,currentColor); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);}}}.hover\:shadow-sm{&:hover{@media(hover:hover){--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--tw-shadow-color,rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);}}}.file\:hover\:bg-surface-strong{&::file-selector-button{&:hover{@media(hover:hover){background-color: var(--color-surface-strong);}}}}.focus\:border-primary{&:focus{border-color:var(--color-primary)}}.focus\:border-sky-500{&:focus{border-color:var(--color-sky-500)}}.focus\:bg-red-50{&:focus{background-color:var(--color-red-50)}}.focus\:bg-surface-raised{&:focus{background-color:var(--color-surface-raised)}}.focus\:shadow-\[inset_0_0_0_2px_var\(--color-red-500\)\]{&:focus{--tw-shadow:inset 0 0 0 2px var(--tw-shadow-color, var(--color-red-500));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:outline-hidden{&:focus{--tw-outline-style:none;outline-style:none;@media(forced-colors:active){outline: 2px solid transparent; outline-offset: 2px;}}}.focus\:outline-2{&:focus{outline-style:var(--tw-outline-style);outline-width:2px}}.focus\:outline-offset-1{&:focus{outline-offset:1px}}.focus\:outline-green-500{&:focus{outline-color:var(--color-green-500)}}.focus\:outline-red-500{&:focus{outline-color:var(--color-red-500)}}.focus\:outline-sky-500{&:focus{outline-color:var(--color-sky-500)}}.focus-visible\:outline-2{&:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}}.focus-visible\:outline-offset-2{&:focus-visible{outline-offset:2px}}.focus-visible\:outline-current{&:focus-visible{outline-color:currentcolor}}.focus-visible\:outline-primary{&:focus-visible{outline-color:var(--color-primary)}}.focus-visible\:outline-none{&:focus-visible{--tw-outline-style:none;outline-style:none}}.active\:bg-surface-strong{&:active{background-color:var(--color-surface-strong)}}.enabled\:hover\:bg-neutral-900{&:enabled{&:hover{@media(hover:hover){background-color: var(--color-neutral-900);}}}}.enabled\:hover\:bg-red-700{&:enabled{&:hover{@media(hover:hover){background-color: var(--color-red-700);}}}}.enabled\:hover\:bg-surface-muted{&:enabled{&:hover{@media(hover:hover){background-color: var(--color-surface-muted);}}}}.disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.disabled\:bg-surface-muted{&:disabled{background-color:var(--color-surface-muted)}}.disabled\:bg-surface-raised{&:disabled{background-color:var(--color-surface-raised)}}.disabled\:text-ink-faint{&:disabled{color:var(--color-ink-faint)}}.disabled\:opacity-40{&:disabled{opacity:40%}}.disabled\:opacity-50{&:disabled{opacity:50%}}.disabled\:hover\:bg-transparent{&:disabled{&:hover{@media(hover:hover){background-color: transparent;}}}}.sm\:block{@media(width >= 40rem){display: block;}}.sm\:flex{@media(width >= 40rem){display: flex;}}.sm\:grid{@media(width >= 40rem){display: grid;}}.sm\:hidden{@media(width >= 40rem){display: none;}}.sm\:w-48{@media(width >= 40rem){width: calc(var(--spacing) * 48);}}.sm\:w-64{@media(width >= 40rem){width: calc(var(--spacing) * 64);}}.sm\:grow-0{@media(width >= 40rem){flex-grow: 0;}}.sm\:grid-cols-2{@media(width >= 40rem){grid-template-columns: repeat(2,minmax(0,1fr));}}.sm\:grid-cols-3{@media(width >= 40rem){grid-template-columns: repeat(3,minmax(0,1fr));}}.sm\:flex-row{@media(width >= 40rem){flex-direction: row;}}.sm\:border-r{@media(width >= 40rem){border-right-style: var(--tw-border-style); border-right-width: 1px;}}.sm\:border-b-0{@media(width >= 40rem){border-bottom-style: var(--tw-border-style); border-bottom-width: 0px;}}.md\:flex-initial{@media(width >= 48rem){flex: 0 auto;}}.md\:justify-start{@media(width >= 48rem){justify-content: flex-start;}}.lg\:col-span-10{@media(width >= 64rem){grid-column: span 10 / span 10;}}.lg\:col-span-2{@media(width >= 64rem){grid-column: span 2 / span 2;}}.lg\:col-span-5{@media(width >= 64rem){grid-column: span 5 / span 5;}}.lg\:col-span-7{@media(width >= 64rem){grid-column: span 7 / span 7;}}.lg\:block{@media(width >= 64rem){display: block;}}.lg\:h-full{@media(width >= 64rem){height: 100%;}}.lg\:grid-cols-12{@media(width >= 64rem){grid-template-columns: repeat(12,minmax(0,1fr));}}.lg\:self-start{@media(width >= 64rem){align-self: flex-start;}}.lg\:pr-8{@media(width >= 64rem){padding-right: calc(var(--spacing) * 8);}}.dark\:border-green-900{&:where(.dark, .dark *){border-color:var(--color-green-900)}}.dark\:border-red-900{&:where(.dark, .dark *){border-color:var(--color-red-900)}}.dark\:border-sky-900{&:where(.dark, .dark *){border-color:var(--color-sky-900)}}.dark\:border-yellow-900{&:where(.dark, .dark *){border-color:var(--color-yellow-900)}}.dark\:bg-amber-900{&:where(.dark, .dark *){background-color:var(--color-amber-900)}}.dark\:bg-amber-900\!{&:where(.dark, .dark *){background-color:var(--color-amber-900)!important}}.dark\:bg-emerald-900{&:where(.dark, .dark *){background-color:var(--color-emerald-900)}}.dark\:bg-green-900{&:where(.dark, .dark *){background-color:var(--color-green-900)}}.dark\:bg-green-950{&:where(.dark, .dark *){background-color:var(--color-green-950)}}.dark\:bg-red-950{&:where(.dark, .dark *){background-color:var(--color-red-950)}}.dark\:bg-sky-900{&:where(.dark, .dark *){background-color:var(--color-sky-900)}}.dark\:bg-sky-950{&:where(.dark, .dark *){background-color:var(--color-sky-950)}}.dark\:bg-yellow-950{&:where(.dark, .dark *){background-color:var(--color-yellow-950)}}.dark\:text-amber-400{&:where(.dark, .dark *){color:var(--color-amber-400)}}.dark\:text-emerald-400{&:where(.dark, .dark *){color:var(--color-emerald-400)}}.dark\:text-green-400{&:where(.dark, .dark *){color:var(--color-green-400)}}.dark\:text-red-400{&:where(.dark, .dark *){color:var(--color-red-400)}}.dark\:text-sky-400{&:where(.dark, .dark *){color:var(--color-sky-400)}}.dark\:text-violet-400{&:where(.dark, .dark *){color:var(--color-violet-400)}}.\[\&_\.ui-form\]\:m-0{& .ui-form{margin:0}}.\[\&_input\]\:cursor-text{& input{cursor:text}}.\[\&_td\]\:p-3{& td{padding:calc(var(--spacing) * 3)}}.\[\&_td\]\:p-4{& td{padding:calc(var(--spacing) * 4)}}.\[\&_td\]\:px-2{& td{padding-inline:calc(var(--spacing) * 2)}}.\[\&_td\]\:py-0\.5{& td{padding-block:calc(var(--spacing) * .5)}}.\[\&_td\]\:py-1{& td{padding-block:var(--spacing)}}.\[\&_td\+td\]\:border-l{& td+td{border-left-style:var(--tw-border-style);border-left-width:1px}}.\[\&_td\+td\]\:border-line-strong{& td+td{border-color:var(--color-line-strong)}}.\[\&_th\]\:border-b{& th{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.\[\&_th\]\:border-line-strong{& th{border-color:var(--color-line-strong)}}.\[\&_tr\:hover\]\:\!bg-green-100{& tr:hover{background-color:var(--color-green-100)!important}}.\[\&_tr\:hover\]\:\!bg-sky-100{& tr:hover{background-color:var(--color-sky-100)!important}}.\[\&_tr\:hover\]\:\!bg-surface-strong{& tr:hover{background-color:var(--color-surface-strong)!important}}.\[\&_tr\:not\(\:last-child\)\]\:border-b{& tr:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.\[\&_tr\:not\(\:last-child\)\]\:border-line-strong{& tr:not(:last-child){border-color:var(--color-line-strong)}}.\[\&_tr\:nth-child\(even\)\]\:bg-surface-raised{& tr:nth-child(even){background-color:var(--color-surface-raised)}}}@property --tw-translate-x{syntax: "*"; - inherits: false; - initial-value: 0; -}@property --tw-translate-y{syntax: "*"; - inherits: false; - initial-value: 0; -}@property --tw-translate-z{syntax: "*"; - inherits: false; - initial-value: 0; -}@property --tw-scale-x{syntax: "*"; - inherits: false; - initial-value: 1; -}@property --tw-scale-y{syntax: "*"; - inherits: false; - initial-value: 1; -}@property --tw-scale-z{syntax: "*"; - inherits: false; - initial-value: 1; -}@property --tw-rotate-x{syntax: "*"; - inherits: false; -}@property --tw-rotate-y{syntax: "*"; - inherits: false; -}@property --tw-rotate-z{syntax: "*"; - inherits: false; -}@property --tw-skew-x{syntax: "*"; - inherits: false; -}@property --tw-skew-y{syntax: "*"; - inherits: false; -}@property --tw-space-y-reverse{syntax: "*"; - inherits: false; - initial-value: 0; -}@property --tw-border-style{syntax: "*"; - inherits: false; - initial-value: solid; -}@property --tw-leading{syntax: "*"; - inherits: false; -}@property --tw-font-weight{syntax: "*"; - inherits: false; -}@property --tw-tracking{syntax: "*"; - inherits: false; -}@property --tw-ordinal{syntax: "*"; - inherits: false; -}@property --tw-slashed-zero{syntax: "*"; - inherits: false; -}@property --tw-numeric-figure{syntax: "*"; - inherits: false; -}@property --tw-numeric-spacing{syntax: "*"; - inherits: false; -}@property --tw-numeric-fraction{syntax: "*"; - inherits: false; -}@property --tw-shadow{syntax: "*"; - inherits: false; - initial-value: 0 0 #0000; -}@property --tw-shadow-color{syntax: "*"; - inherits: false; -}@property --tw-shadow-alpha{syntax: ""; - inherits: false; - initial-value: 100%; -}@property --tw-inset-shadow{syntax: "*"; - inherits: false; - initial-value: 0 0 #0000; -}@property --tw-inset-shadow-color{syntax: "*"; - inherits: false; -}@property --tw-inset-shadow-alpha{syntax: ""; - inherits: false; - initial-value: 100%; -}@property --tw-ring-color{syntax: "*"; - inherits: false; -}@property --tw-ring-shadow{syntax: "*"; - inherits: false; - initial-value: 0 0 #0000; -}@property --tw-inset-ring-color{syntax: "*"; - inherits: false; -}@property --tw-inset-ring-shadow{syntax: "*"; - inherits: false; - initial-value: 0 0 #0000; -}@property --tw-ring-inset{syntax: "*"; - inherits: false; -}@property --tw-ring-offset-width{syntax: ""; - inherits: false; - initial-value: 0px; -}@property --tw-ring-offset-color{syntax: "*"; - inherits: false; - initial-value: #fff; -}@property --tw-ring-offset-shadow{syntax: "*"; - inherits: false; - initial-value: 0 0 #0000; -}@property --tw-outline-style{syntax: "*"; - inherits: false; - initial-value: solid; -}@property --tw-blur{syntax: "*"; - inherits: false; -}@property --tw-brightness{syntax: "*"; - inherits: false; -}@property --tw-contrast{syntax: "*"; - inherits: false; -}@property --tw-grayscale{syntax: "*"; - inherits: false; -}@property --tw-hue-rotate{syntax: "*"; - inherits: false; -}@property --tw-invert{syntax: "*"; - inherits: false; -}@property --tw-opacity{syntax: "*"; - inherits: false; -}@property --tw-saturate{syntax: "*"; - inherits: false; -}@property --tw-sepia{syntax: "*"; - inherits: false; -}@property --tw-drop-shadow{syntax: "*"; - inherits: false; -}@property --tw-drop-shadow-color{syntax: "*"; - inherits: false; -}@property --tw-drop-shadow-alpha{syntax: ""; - inherits: false; - initial-value: 100%; -}@property --tw-drop-shadow-size{syntax: "*"; - inherits: false; -}@property --tw-backdrop-blur{syntax: "*"; - inherits: false; -}@property --tw-backdrop-brightness{syntax: "*"; - inherits: false; -}@property --tw-backdrop-contrast{syntax: "*"; - inherits: false; -}@property --tw-backdrop-grayscale{syntax: "*"; - inherits: false; -}@property --tw-backdrop-hue-rotate{syntax: "*"; - inherits: false; -}@property --tw-backdrop-invert{syntax: "*"; - inherits: false; -}@property --tw-backdrop-opacity{syntax: "*"; - inherits: false; -}@property --tw-backdrop-saturate{syntax: "*"; - inherits: false; -}@property --tw-backdrop-sepia{syntax: "*"; - inherits: false; -}@property --tw-duration{syntax: "*"; - inherits: false; -}@property --tw-ease{syntax: "*"; - inherits: false; -}@property --tw-content{syntax: "*"; - initial-value: ""; - inherits: false; -} \ No newline at end of file diff --git a/go/cmd/examples/go-wasm-web/wwwroot/wasm_exec.js b/go/cmd/examples/go-wasm-web/wwwroot/wasm_exec.js deleted file mode 100644 index d71af9e9..00000000 --- a/go/cmd/examples/go-wasm-web/wwwroot/wasm_exec.js +++ /dev/null @@ -1,575 +0,0 @@ -// Copyright 2018 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -"use strict"; - -(() => { - const enosys = () => { - const err = new Error("not implemented"); - err.code = "ENOSYS"; - return err; - }; - - if (!globalThis.fs) { - let outputBuf = ""; - globalThis.fs = { - constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1, O_DIRECTORY: -1 }, // unused - writeSync(fd, buf) { - outputBuf += decoder.decode(buf); - const nl = outputBuf.lastIndexOf("\n"); - if (nl != -1) { - console.log(outputBuf.substring(0, nl)); - outputBuf = outputBuf.substring(nl + 1); - } - return buf.length; - }, - write(fd, buf, offset, length, position, callback) { - if (offset !== 0 || length !== buf.length || position !== null) { - callback(enosys()); - return; - } - const n = this.writeSync(fd, buf); - callback(null, n); - }, - chmod(path, mode, callback) { callback(enosys()); }, - chown(path, uid, gid, callback) { callback(enosys()); }, - close(fd, callback) { callback(enosys()); }, - fchmod(fd, mode, callback) { callback(enosys()); }, - fchown(fd, uid, gid, callback) { callback(enosys()); }, - fstat(fd, callback) { callback(enosys()); }, - fsync(fd, callback) { callback(null); }, - ftruncate(fd, length, callback) { callback(enosys()); }, - lchown(path, uid, gid, callback) { callback(enosys()); }, - link(path, link, callback) { callback(enosys()); }, - lstat(path, callback) { callback(enosys()); }, - mkdir(path, perm, callback) { callback(enosys()); }, - open(path, flags, mode, callback) { callback(enosys()); }, - read(fd, buffer, offset, length, position, callback) { callback(enosys()); }, - readdir(path, callback) { callback(enosys()); }, - readlink(path, callback) { callback(enosys()); }, - rename(from, to, callback) { callback(enosys()); }, - rmdir(path, callback) { callback(enosys()); }, - stat(path, callback) { callback(enosys()); }, - symlink(path, link, callback) { callback(enosys()); }, - truncate(path, length, callback) { callback(enosys()); }, - unlink(path, callback) { callback(enosys()); }, - utimes(path, atime, mtime, callback) { callback(enosys()); }, - }; - } - - if (!globalThis.process) { - globalThis.process = { - getuid() { return -1; }, - getgid() { return -1; }, - geteuid() { return -1; }, - getegid() { return -1; }, - getgroups() { throw enosys(); }, - pid: -1, - ppid: -1, - umask() { throw enosys(); }, - cwd() { throw enosys(); }, - chdir() { throw enosys(); }, - } - } - - if (!globalThis.path) { - globalThis.path = { - resolve(...pathSegments) { - return pathSegments.join("/"); - } - } - } - - if (!globalThis.crypto) { - throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)"); - } - - if (!globalThis.performance) { - throw new Error("globalThis.performance is not available, polyfill required (performance.now only)"); - } - - if (!globalThis.TextEncoder) { - throw new Error("globalThis.TextEncoder is not available, polyfill required"); - } - - if (!globalThis.TextDecoder) { - throw new Error("globalThis.TextDecoder is not available, polyfill required"); - } - - const encoder = new TextEncoder("utf-8"); - const decoder = new TextDecoder("utf-8"); - - globalThis.Go = class { - constructor() { - this.argv = ["js"]; - this.env = {}; - this.exit = (code) => { - if (code !== 0) { - console.warn("exit code:", code); - } - }; - this._exitPromise = new Promise((resolve) => { - this._resolveExitPromise = resolve; - }); - this._pendingEvent = null; - this._scheduledTimeouts = new Map(); - this._nextCallbackTimeoutID = 1; - - const setInt64 = (addr, v) => { - this.mem.setUint32(addr + 0, v, true); - this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true); - } - - const setInt32 = (addr, v) => { - this.mem.setUint32(addr + 0, v, true); - } - - const getInt64 = (addr) => { - const low = this.mem.getUint32(addr + 0, true); - const high = this.mem.getInt32(addr + 4, true); - return low + high * 4294967296; - } - - const loadValue = (addr) => { - const f = this.mem.getFloat64(addr, true); - if (f === 0) { - return undefined; - } - if (!isNaN(f)) { - return f; - } - - const id = this.mem.getUint32(addr, true); - return this._values[id]; - } - - const storeValue = (addr, v) => { - const nanHead = 0x7FF80000; - - if (typeof v === "number" && v !== 0) { - if (isNaN(v)) { - this.mem.setUint32(addr + 4, nanHead, true); - this.mem.setUint32(addr, 0, true); - return; - } - this.mem.setFloat64(addr, v, true); - return; - } - - if (v === undefined) { - this.mem.setFloat64(addr, 0, true); - return; - } - - let id = this._ids.get(v); - if (id === undefined) { - id = this._idPool.pop(); - if (id === undefined) { - id = this._values.length; - } - this._values[id] = v; - this._goRefCounts[id] = 0; - this._ids.set(v, id); - } - this._goRefCounts[id]++; - let typeFlag = 0; - switch (typeof v) { - case "object": - if (v !== null) { - typeFlag = 1; - } - break; - case "string": - typeFlag = 2; - break; - case "symbol": - typeFlag = 3; - break; - case "function": - typeFlag = 4; - break; - } - this.mem.setUint32(addr + 4, nanHead | typeFlag, true); - this.mem.setUint32(addr, id, true); - } - - const loadSlice = (addr) => { - const array = getInt64(addr + 0); - const len = getInt64(addr + 8); - return new Uint8Array(this._inst.exports.mem.buffer, array, len); - } - - const loadSliceOfValues = (addr) => { - const array = getInt64(addr + 0); - const len = getInt64(addr + 8); - const a = new Array(len); - for (let i = 0; i < len; i++) { - a[i] = loadValue(array + i * 8); - } - return a; - } - - const loadString = (addr) => { - const saddr = getInt64(addr + 0); - const len = getInt64(addr + 8); - return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len)); - } - - const testCallExport = (a, b) => { - this._inst.exports.testExport0(); - return this._inst.exports.testExport(a, b); - } - - const timeOrigin = Date.now() - performance.now(); - this.importObject = { - _gotest: { - add: (a, b) => a + b, - callExport: testCallExport, - }, - gojs: { - // Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters) - // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported - // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function). - // This changes the SP, thus we have to update the SP used by the imported function. - - // func wasmExit(code int32) - "runtime.wasmExit": (sp) => { - sp >>>= 0; - const code = this.mem.getInt32(sp + 8, true); - this.exited = true; - delete this._inst; - delete this._values; - delete this._goRefCounts; - delete this._ids; - delete this._idPool; - this.exit(code); - }, - - // func wasmWrite(fd uintptr, p unsafe.Pointer, n int32) - "runtime.wasmWrite": (sp) => { - sp >>>= 0; - const fd = getInt64(sp + 8); - const p = getInt64(sp + 16); - const n = this.mem.getInt32(sp + 24, true); - fs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n)); - }, - - // func resetMemoryDataView() - "runtime.resetMemoryDataView": (sp) => { - sp >>>= 0; - this.mem = new DataView(this._inst.exports.mem.buffer); - }, - - // func nanotime1() int64 - "runtime.nanotime1": (sp) => { - sp >>>= 0; - setInt64(sp + 8, (timeOrigin + performance.now()) * 1000000); - }, - - // func walltime() (sec int64, nsec int32) - "runtime.walltime": (sp) => { - sp >>>= 0; - const msec = (new Date).getTime(); - setInt64(sp + 8, msec / 1000); - this.mem.setInt32(sp + 16, (msec % 1000) * 1000000, true); - }, - - // func scheduleTimeoutEvent(delay int64) int32 - "runtime.scheduleTimeoutEvent": (sp) => { - sp >>>= 0; - const id = this._nextCallbackTimeoutID; - this._nextCallbackTimeoutID++; - this._scheduledTimeouts.set(id, setTimeout( - () => { - this._resume(); - while (this._scheduledTimeouts.has(id)) { - // for some reason Go failed to register the timeout event, log and try again - // (temporary workaround for https://github.com/golang/go/issues/28975) - console.warn("scheduleTimeoutEvent: missed timeout event"); - this._resume(); - } - }, - getInt64(sp + 8), - )); - this.mem.setInt32(sp + 16, id, true); - }, - - // func clearTimeoutEvent(id int32) - "runtime.clearTimeoutEvent": (sp) => { - sp >>>= 0; - const id = this.mem.getInt32(sp + 8, true); - clearTimeout(this._scheduledTimeouts.get(id)); - this._scheduledTimeouts.delete(id); - }, - - // func getRandomData(r []byte) - "runtime.getRandomData": (sp) => { - sp >>>= 0; - crypto.getRandomValues(loadSlice(sp + 8)); - }, - - // func finalizeRef(v ref) - "syscall/js.finalizeRef": (sp) => { - sp >>>= 0; - const id = this.mem.getUint32(sp + 8, true); - this._goRefCounts[id]--; - if (this._goRefCounts[id] === 0) { - const v = this._values[id]; - this._values[id] = null; - this._ids.delete(v); - this._idPool.push(id); - } - }, - - // func stringVal(value string) ref - "syscall/js.stringVal": (sp) => { - sp >>>= 0; - storeValue(sp + 24, loadString(sp + 8)); - }, - - // func valueGet(v ref, p string) ref - "syscall/js.valueGet": (sp) => { - sp >>>= 0; - const result = Reflect.get(loadValue(sp + 8), loadString(sp + 16)); - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 32, result); - }, - - // func valueSet(v ref, p string, x ref) - "syscall/js.valueSet": (sp) => { - sp >>>= 0; - Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32)); - }, - - // func valueDelete(v ref, p string) - "syscall/js.valueDelete": (sp) => { - sp >>>= 0; - Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16)); - }, - - // func valueIndex(v ref, i int) ref - "syscall/js.valueIndex": (sp) => { - sp >>>= 0; - storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16))); - }, - - // valueSetIndex(v ref, i int, x ref) - "syscall/js.valueSetIndex": (sp) => { - sp >>>= 0; - Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24)); - }, - - // func valueCall(v ref, m string, args []ref) (ref, bool) - "syscall/js.valueCall": (sp) => { - sp >>>= 0; - try { - const v = loadValue(sp + 8); - const m = Reflect.get(v, loadString(sp + 16)); - const args = loadSliceOfValues(sp + 32); - const result = Reflect.apply(m, v, args); - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 56, result); - this.mem.setUint8(sp + 64, 1); - } catch (err) { - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 56, err); - this.mem.setUint8(sp + 64, 0); - } - }, - - // func valueInvoke(v ref, args []ref) (ref, bool) - "syscall/js.valueInvoke": (sp) => { - sp >>>= 0; - try { - const v = loadValue(sp + 8); - const args = loadSliceOfValues(sp + 16); - const result = Reflect.apply(v, undefined, args); - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 40, result); - this.mem.setUint8(sp + 48, 1); - } catch (err) { - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 40, err); - this.mem.setUint8(sp + 48, 0); - } - }, - - // func valueNew(v ref, args []ref) (ref, bool) - "syscall/js.valueNew": (sp) => { - sp >>>= 0; - try { - const v = loadValue(sp + 8); - const args = loadSliceOfValues(sp + 16); - const result = Reflect.construct(v, args); - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 40, result); - this.mem.setUint8(sp + 48, 1); - } catch (err) { - sp = this._inst.exports.getsp() >>> 0; // see comment above - storeValue(sp + 40, err); - this.mem.setUint8(sp + 48, 0); - } - }, - - // func valueLength(v ref) int - "syscall/js.valueLength": (sp) => { - sp >>>= 0; - setInt64(sp + 16, parseInt(loadValue(sp + 8).length)); - }, - - // valuePrepareString(v ref) (ref, int) - "syscall/js.valuePrepareString": (sp) => { - sp >>>= 0; - const str = encoder.encode(String(loadValue(sp + 8))); - storeValue(sp + 16, str); - setInt64(sp + 24, str.length); - }, - - // valueLoadString(v ref, b []byte) - "syscall/js.valueLoadString": (sp) => { - sp >>>= 0; - const str = loadValue(sp + 8); - loadSlice(sp + 16).set(str); - }, - - // func valueInstanceOf(v ref, t ref) bool - "syscall/js.valueInstanceOf": (sp) => { - sp >>>= 0; - this.mem.setUint8(sp + 24, (loadValue(sp + 8) instanceof loadValue(sp + 16)) ? 1 : 0); - }, - - // func copyBytesToGo(dst []byte, src ref) (int, bool) - "syscall/js.copyBytesToGo": (sp) => { - sp >>>= 0; - const dst = loadSlice(sp + 8); - const src = loadValue(sp + 32); - if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) { - this.mem.setUint8(sp + 48, 0); - return; - } - const toCopy = src.subarray(0, dst.length); - dst.set(toCopy); - setInt64(sp + 40, toCopy.length); - this.mem.setUint8(sp + 48, 1); - }, - - // func copyBytesToJS(dst ref, src []byte) (int, bool) - "syscall/js.copyBytesToJS": (sp) => { - sp >>>= 0; - const dst = loadValue(sp + 8); - const src = loadSlice(sp + 16); - if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) { - this.mem.setUint8(sp + 48, 0); - return; - } - const toCopy = src.subarray(0, dst.length); - dst.set(toCopy); - setInt64(sp + 40, toCopy.length); - this.mem.setUint8(sp + 48, 1); - }, - - "debug": (value) => { - console.log(value); - }, - } - }; - } - - async run(instance) { - if (!(instance instanceof WebAssembly.Instance)) { - throw new Error("Go.run: WebAssembly.Instance expected"); - } - this._inst = instance; - this.mem = new DataView(this._inst.exports.mem.buffer); - this._values = [ // JS values that Go currently has references to, indexed by reference id - NaN, - 0, - null, - true, - false, - globalThis, - this, - ]; - this._goRefCounts = new Array(this._values.length).fill(Infinity); // number of references that Go has to a JS value, indexed by reference id - this._ids = new Map([ // mapping from JS values to reference ids - [0, 1], - [null, 2], - [true, 3], - [false, 4], - [globalThis, 5], - [this, 6], - ]); - this._idPool = []; // unused ids that have been garbage collected - this.exited = false; // whether the Go program has exited - - // Pass command line arguments and environment variables to WebAssembly by writing them to the linear memory. - let offset = 4096; - - const strPtr = (str) => { - const ptr = offset; - const bytes = encoder.encode(str + "\0"); - new Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes); - offset += bytes.length; - if (offset % 8 !== 0) { - offset += 8 - (offset % 8); - } - return ptr; - }; - - const argc = this.argv.length; - - const argvPtrs = []; - this.argv.forEach((arg) => { - argvPtrs.push(strPtr(arg)); - }); - argvPtrs.push(0); - - const keys = Object.keys(this.env).sort(); - keys.forEach((key) => { - argvPtrs.push(strPtr(`${key}=${this.env[key]}`)); - }); - argvPtrs.push(0); - - const argv = offset; - argvPtrs.forEach((ptr) => { - this.mem.setUint32(offset, ptr, true); - this.mem.setUint32(offset + 4, 0, true); - offset += 8; - }); - - // The linker guarantees global data starts from at least wasmMinDataAddr. - // Keep in sync with cmd/link/internal/ld/data.go:wasmMinDataAddr. - const wasmMinDataAddr = 4096 + 8192; - if (offset >= wasmMinDataAddr) { - throw new Error("total length of command line and environment variables exceeds limit"); - } - - this._inst.exports.run(argc, argv); - if (this.exited) { - this._resolveExitPromise(); - } - await this._exitPromise; - } - - _resume() { - if (this.exited) { - throw new Error("Go program has already exited"); - } - this._inst.exports.resume(); - if (this.exited) { - this._resolveExitPromise(); - } - } - - _makeFuncWrapper(id) { - const go = this; - return function () { - const event = { id: id, this: this, args: arguments }; - go._pendingEvent = event; - go._resume(); - return event.result; - }; - } - } -})(); diff --git a/go/cmd/kjol-web/README.md b/go/cmd/kjol-web/README.md new file mode 100644 index 00000000..d5efcefc --- /dev/null +++ b/go/cmd/kjol-web/README.md @@ -0,0 +1,120 @@ +# kjol-web — the kjol website + +The landing page and documentation for the whole codebase. It is also the thing it +documents: every page runs the code it describes, and there is not a screenshot of a +component anywhere on the site. + +It is **one server running two entirely different front-ends**, and that is the point of +it. kjol has two web layers — one written in Go and compiled to WebAssembly, one written +in Solid and bundled by a Go toolchain — and the only honest way to document both is to +build the site out of both. + +## Run it + +```sh +cd go/cmd/kjol-web +go run ./build # cold build: both halves +go run ./server # SSR + /rsc + hot reload at http://localhost:8085 +``` + +`go run ./server` performs that same build on every save and hot-swaps the result into +the browser, so day to day it is the only command you need. A `.go` save rebuilds the +wasm and swaps it in without a reload or a flash, preserving page state; a `.css` save +recompiles only Tailwind; a compile error lands in a browser overlay rather than in a +terminal you were not looking at. + +## The shape of the site + +| Path | Rendered by | What it is | +|---|---|---| +| `/`, `/about` | Go → WebAssembly, SSR'd | The landing page. The **Layers** menu is the site's primary navigation. | +| `/wasm/*` | Go → WebAssembly | **Kjol Wasm Web** — the gowasm engine: SSR + hydration, server components, the `webui` kit, overlays, AutoTable, charts, client fetching. | +| `/js/*` | Solid → esbuild, client-rendered | **Kjol JS Web** — the Solid kit: components, forms, AutoTable, theming. | +| `/js/ssr` | Solid → **goja, at request time** | A public page server-rendered with live data injected — the ISR path. | + +Crossing between `/wasm` and `/js` is a real page load. They are different binaries, and +pretending otherwise would mean shipping both to every visitor. + +## Layout + +``` +app/ the Go/WASM half — pages as plain Go functions returning a *VNode + pages.go Deps + Shell + the public/app layouts + the landing page + layers.go the Layers, as data. MIRRORED in frontend/src/layers.ts. + docs.go the docs chrome; docsNav() is the sidebar AND the index + kit.go table.go overlays.go chart.go data.go server_counter.go + *.gen.go GENERATED by kjol/cmd/wasmgen (routes, layout dispatch, RSC stubs) +wasm/ the js/wasm client entry (main_native.go is a host stub) +css/app.css its Tailwind entry — kjol/tw scans the .go files for class names + +frontend/ the Solid half — .tsx pages written against @ui/* + css/style.css brand ONLY. kjol's theme.css is prepended by the bundler, and it + is the one that does `@import "tailwindcss"`. + vendor/ pdf-lib + pdfjs-dist. @ui/AutoTable imports them at the TOP LEVEL, + so a bundle without them does not degrade — it fails to evaluate. + src/app.ts the SPA entry. It is .ts, not .tsx, because the bundler resolves + the entry as src/app.ts and nothing else — so it can hold no JSX. + src/layers.ts the Layers again. Keep in step with app/layers.go. + +server/ ONE Go server: serves wwwroot, SSRs the wasm routes, hosts /rsc, + mounts the Solid SPA at /js/*, serves the SSR'd public pages. +internal/handlers/ the app side of the public-page inversion: kjol generates the + registry; this owns the type and the document shell. +buildsteps/ the build, in Go rather than a shell script, so the one-shot build and + the dev server's watch loop call the SAME functions and cannot drift. +wwwroot/ both halves write here. They never collide: app.css / app.wasm for one, + bundle.min.* for the other. One static dir, one server. +``` + +## Theming + +One theme, both halves. The kits are themed by **semantic tokens** — components say +`bg-surface`, `text-ink`, `border-line` and never name a colour — so dark mode +re-points about a dozen CSS variables and not one component knows it happened. + +The choice is stored under a single `kjol-theme` key that **both** front-ends read, so +switching to dark in `/wasm` and walking over to `/js` keeps it dark. A ten-line boot +script in the document head applies the class before first paint; without it every +dark-mode reader would get a white page until the bundle landed, and then have it +snatched away. + +The only places a `dark:` variant survives are the two a re-pointed token cannot fix: a +coloured tint (a `red-50` wash is invisible on a near-black surface) and a fill that has +to invert (the neutral button, whose label must go dark when the fill goes pale). + +## Adding things + +**A Go/WASM page:** write the function, mark it `//gowasm:page /wasm/thing layout=app`, +build. `wasmgen` regenerates the routing. Add `static` to have it server-rendered. + +**A Solid page:** write the `.tsx`, add it to `routes` in `frontend/src/app.ts` and to +`NAV` in `frontend/src/layout/Shell.tsx`. + +**A layer:** one entry in `app/layers.go` *and* one in `frontend/src/layers.ts`. They are +two files because nothing is upstream of both a WebAssembly binary and an esbuild bundle; +keeping each to a flat list of plain data is what makes that duplication survivable. + +## How it maps onto the engine + +| Package | Role | This app's use | +|---|---|---| +| `kjol/vdom` | neutral virtual DOM (native + wasm): `VNode`, `Signal`, `RenderHTML` | pages build `*VNode`; the server SSRs with `vdom.RenderHTML` | +| `kjol/wasmruntime` | wasm client runtime: reconcile, `Run`/`Hydrate`, router, fetch | `wasm/main.go` calls `Hydrate`/`Run` | +| `kjol/rsc` | stateless server components over HTTP | `//gowasm:server` + its generated client stub | +| `kjol/wasmdevserver` | reusable dev server: SSR, `/rsc`, hot reload, error overlay | `server/main.go` fills a `wasmdevserver.Config` | +| `kjol/webui` | the Go component kit | every `/wasm/*` page | +| `kjol/jsbundler` | TSX → Solid → esbuild, the Tailwind driver, the SSR bake | `buildsteps.JS`, and the ISR render at request time | +| `kjol/jsruntime` | the Solid kit, the vendored runtime, the icons, `theme.css` | everything under `/js/*` | +| `kjol/tw` | the Tailwind v4 engine, in Go | both stylesheets — it scans `.go` for one and `.tsx` for the other | + +The **golden rule** holds throughout: no kjol package imports application code. The app +injects `Build`, `Render` and `Document` into `wasmdevserver`; it owns the `publicPage` +type that kjol's generated registry is written against. The dependency only ever points +one way. + +## Its own module + +`go.mod` declares module `kjolweb` with `replace kjol => ../..`, so its dependencies — +go-chart for the server-drawn charts, plus esbuild and goja by way of the bundler — stay +out of kjol, whose engine packages are stdlib-only. `go build ./...` at the kjol root +does not descend into this nested module; build it from here. diff --git a/go/cmd/examples/go-wasm-web/app/chart.go b/go/cmd/kjol-web/app/chart.go similarity index 97% rename from go/cmd/examples/go-wasm-web/app/chart.go rename to go/cmd/kjol-web/app/chart.go index 48985fca..6d3d52ea 100644 --- a/go/cmd/examples/go-wasm-web/app/chart.go +++ b/go/cmd/kjol-web/app/chart.go @@ -60,7 +60,7 @@ func pieSVG(values []int) string { }) } -//gowasm:page /chart static layout=app +//gowasm:page /wasm/chart static layout=app func ChartPage(d Deps) func() *VNode { data := NewSignal(fixedChartData()) @@ -118,7 +118,7 @@ func ChartPage(d Deps) func() *VNode { } } -const chartSnippet = `//gowasm:page /chart static layout=app +const chartSnippet = `//gowasm:page /wasm/chart static layout=app func ChartPage(d Deps) func() *VNode { data := NewSignal(fixedChartData()) diff --git a/go/cmd/examples/go-wasm-web/app/client.gen.go b/go/cmd/kjol-web/app/client.gen.go similarity index 100% rename from go/cmd/examples/go-wasm-web/app/client.gen.go rename to go/cmd/kjol-web/app/client.gen.go diff --git a/go/cmd/examples/go-wasm-web/app/data.go b/go/cmd/kjol-web/app/data.go similarity index 99% rename from go/cmd/examples/go-wasm-web/app/data.go rename to go/cmd/kjol-web/app/data.go index 4f2eac8c..2372cfd4 100644 --- a/go/cmd/examples/go-wasm-web/app/data.go +++ b/go/cmd/kjol-web/app/data.go @@ -25,7 +25,7 @@ type repoInfo struct { Stars int `json:"stargazers_count"` } -//gowasm:page /data layout=app static +//gowasm:page /wasm/data layout=app static func DataPage(d Deps) func() *VNode { // (1) gob from our own server via httputil.RespondGob / FetchGob. quotes := NewSignal([]Quote{}) diff --git a/go/cmd/examples/go-wasm-web/app/docs.go b/go/cmd/kjol-web/app/docs.go similarity index 94% rename from go/cmd/examples/go-wasm-web/app/docs.go rename to go/cmd/kjol-web/app/docs.go index 5a51f787..3ffecbdc 100644 --- a/go/cmd/examples/go-wasm-web/app/docs.go +++ b/go/cmd/kjol-web/app/docs.go @@ -35,27 +35,27 @@ func docsNav() []docsGroup { return []docsGroup{{ Title: "Introduction", Items: []docsItem{ - {Path: "/docs", Label: "Overview", Icon: "book-open", + {Path: "/wasm", Label: "Overview", Icon: "book-open", Blurb: "What Kjol Web is, how a page becomes a WebAssembly binary, and what runs where."}, }, }, { Title: "Rendering", Items: []docsItem{ - {Path: "/chart", Label: "SSR & hydration", Icon: "chart-column", + {Path: "/wasm/chart", Label: "SSR & hydration", Icon: "chart-column", Blurb: "The same Go renders HTML on the server and takes over in the browser. Charts, server-drawn as SVG."}, - {Path: "/server", Label: "Server components", Icon: "server", + {Path: "/wasm/server", Label: "Server components", Icon: "server", Blurb: "Components whose state and code stay on the server. Calling one looks like calling any other."}, - {Path: "/data", Label: "Data fetching", Icon: "cloud-arrow-down", + {Path: "/wasm/data", Label: "Data fetching", Icon: "cloud-arrow-down", Blurb: "gob to your own server (Go types end to end, no JSON) and JSON to a third-party API."}, }, }, { Title: "Components", Items: []docsItem{ - {Path: "/kit", Label: "UI kit", Icon: "squares", + {Path: "/wasm/kit", Label: "UI kit", Icon: "squares", Blurb: "Buttons, forms, tabs, alerts, cards — the kjol/webui components, written in Go."}, - {Path: "/overlays", Label: "Overlays", Icon: "layers", + {Path: "/wasm/overlays", Label: "Overlays", Icon: "layers", Blurb: "Tooltips, popovers, menus, modals: measured against the real viewport, flipped and shifted to fit."}, - {Path: "/table", Label: "AutoTable", Icon: "table", + {Path: "/wasm/table", Label: "AutoTable", Icon: "table", Blurb: "Filtering, sorting, column management, calculated columns, CSV and PDF export."}, }, }} @@ -189,14 +189,14 @@ func apiTable(rows ...apiRow) *VNode { // ---- the docs index ----------------------------------------------------- -//gowasm:page /docs static layout=app +//gowasm:page /wasm static layout=app func DocsPage(d Deps) func() *VNode { return func() *VNode { var groups []*VNode for _, g := range docsNav() { grid := []Mod{Attr("class", "mt-3 grid gap-3 sm:grid-cols-2")} for _, it := range g.Items { - if it.Path == "/docs" { + if it.Path == "/wasm" { continue // don't list this page on itself } grid = append(grid, docsCard(d, it)) @@ -256,7 +256,7 @@ func appendNodes(parent *VNode, children ...*VNode) *VNode { return parent } -const ssrSnippet = `//gowasm:page /docs static layout=app +const ssrSnippet = `//gowasm:page /wasm static layout=app func DocsPage(d Deps) func() *VNode { count := NewSignal(0) // state lives in the closure diff --git a/go/cmd/examples/go-wasm-web/app/icons_test.go b/go/cmd/kjol-web/app/icons_test.go similarity index 100% rename from go/cmd/examples/go-wasm-web/app/icons_test.go rename to go/cmd/kjol-web/app/icons_test.go diff --git a/go/cmd/examples/go-wasm-web/app/kit.go b/go/cmd/kjol-web/app/kit.go similarity index 99% rename from go/cmd/examples/go-wasm-web/app/kit.go rename to go/cmd/kjol-web/app/kit.go index 2107f587..7423d6f1 100644 --- a/go/cmd/examples/go-wasm-web/app/kit.go +++ b/go/cmd/kjol-web/app/kit.go @@ -53,7 +53,7 @@ func languageOptions() []ui.FormSelectOption { } } -//gowasm:page /kit layout=app +//gowasm:page /wasm/kit layout=app func KitPage(d Deps) func() *VNode { // Interactive demos own their state via signals (a write re-renders). tab := NewSignal(0) diff --git a/go/cmd/examples/go-wasm-web/app/landing_test.go b/go/cmd/kjol-web/app/landing_test.go similarity index 100% rename from go/cmd/examples/go-wasm-web/app/landing_test.go rename to go/cmd/kjol-web/app/landing_test.go diff --git a/go/cmd/kjol-web/app/layers.go b/go/cmd/kjol-web/app/layers.go new file mode 100644 index 00000000..ab66e4ec --- /dev/null +++ b/go/cmd/kjol-web/app/layers.go @@ -0,0 +1,200 @@ +package app + +import ( + "strings" + + . "kjol/vdom" + ui "kjol/webui" +) + +// The layers of kjol, as data. +// +// This is the Go mirror of frontend/src/layers.ts. The site has two front-ends built +// by two completely different pipelines, and the Layers menu has to be identical in +// both — so it is a LIST in each, not markup, and the two lists are the only thing +// that has to be kept in step. +// +// (A shared source would be better than a mirrored one. There isn't one: this half +// compiles to WebAssembly and the other is bundled by esbuild, and nothing is upstream +// of both. Keeping it to a flat slice of plain data is what makes the duplication +// survivable — you can diff the two by eye.) + +type Layer struct { + Name string + Href string + Tagline string + // Live means you can click into worked examples. The others are documented but + // have no demo — they still appear, because a menu that silently omits half the + // library teaches the reader that the library is half the size it is. + Live bool + Icon string +} + +func Layers() []Layer { + return []Layer{ + { + Name: "Kjol Go", + Href: "/go", + Tagline: "The server base: config, database, logging, HTTP, mail, validation.", + Icon: "server", + }, + { + Name: "Kjol Wasm Web", + Href: "/wasm", + Tagline: "Web interfaces written in Go, compiled to WebAssembly. SSR + hydration, no JS build.", + Live: true, + Icon: "code", + }, + { + Name: "Kjol JS Web", + Href: "/js", + Tagline: "The Solid component kit, bundled by a Go toolchain: TSX → Solid → esbuild, Tailwind in Go.", + Live: true, + Icon: "squares", + }, + { + Name: "Kjol C", + Href: "/c", + Tagline: "Arena allocator, strings, math, lexer, platform layer.", + Icon: "bolt", + }, + { + Name: "Kjol Jai", + Href: "/jai", + Tagline: "Console rendering module. Early.", + Icon: "cube", + }, + } +} + +// CurrentLayer is the layer the given path belongs to, or nil on the front page. +func CurrentLayer(path string) *Layer { + for i, l := range Layers() { + if path == l.Href || strings.HasPrefix(path, l.Href+"/") { + return &Layers()[i] + } + } + return nil +} + +// LayersMenuCtl is the Layers menu's controller. +// +// It is created ONCE, here, at package level — not inside layersMenu, which is called +// from a layout on every single render. A floating component is a controller: it owns +// an open signal, a positioning engine and document listeners, and building a fresh one +// per render would leak all three and give you a menu that never opens. Same rule as +// Theme, a few lines up in pages.go. +var LayersMenuCtl = ui.NewMenu(ui.MenuOptions{Placement: ui.PlacementBottomEnd}) + +// layersMenu is the site's primary navigation: kjol is a stack of layers, and this is +// how you get from any one of them to any other. +// +// A layer that is Live is a link. One that is not is inert and dimmed, with the word +// "reference" on it — it exists, it is documented in the repository, there is simply +// nothing here to click. +// +// Crossing into another layer is a REAL navigation, not a client-side route: /js is a +// different binary's SPA and /wasm is this one. Hence a plain href and no navigate() +// interception — an intercepted click would ask this WebAssembly to render a page it +// does not have. +func layersMenu(d Deps) *VNode { + content := []*VNode{ + P(Attr("class", "px-3 pb-1 pt-2 text-[11px] font-semibold uppercase tracking-widest text-ink-faint"), + Text("The layers of kjol")), + } + for _, l := range Layers() { + content = append(content, layerItem(d, l)) + } + + return Div(Attr("class", "relative"), + LayersMenuCtl.Trigger(ui.MenuTriggerProps{ + Class: "inline-flex items-center gap-1.5 rounded-default px-3 py-1.5 text-sm font-medium text-ink-soft hover:bg-surface-raised hover:text-ink", + }, + Text("Layers"), + ui.IconInline("chevron-down", 11, "text-ink-faint"), + ), + LayersMenuCtl.Content("w-96", content...), + ) +} + +// layersGrid is the front page's list of layers — the same data as the menu, laid out +// to be read rather than navigated. A layer with no examples still gets a row: the +// point of the page is what kjol IS, and half of it having no demo yet does not make +// that half not exist. +func layersGrid(d Deps) *VNode { + rows := []Mod{Attr("class", "mt-5 divide-y divide-line rounded-default border border-line")} + for _, l := range Layers() { + rows = append(rows, layerRow(l)) + } + return Div(rows...) +} + +func layerRow(l Layer) *VNode { + head := Span(Attr("class", "flex items-center gap-2"), + ui.IconInline(l.Icon, 15, iff(l.Live, "text-accent", "text-ink-muted")), + Span(Attr("class", "font-medium text-ink"), Text(l.Name)), + iff2(l.Live, + func() *VNode { return nil }, + func() *VNode { + return Span(Attr("class", "rounded-full border border-line px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-ink-faint"), + Text("reference")) + }), + ) + body := P(Attr("class", "mt-1 pl-[23px] text-sm leading-relaxed text-ink-muted"), Text(l.Tagline)) + + if !l.Live { + return Div(Attr("class", "px-5 py-4 opacity-75"), head, body) + } + // A real navigation: the next layer is a different binary. + return A(Attr("class", "block px-5 py-4 no-underline hover:bg-surface-muted"), Attr("href", l.Href), + head, body, + Span(Attr("class", "mt-2 inline-flex items-center gap-1.5 pl-[23px] text-sm text-accent"), + Text("Read the docs"), + ui.IconInline("arrow-right", 12, ""), + ), + ) +} + +// iff picks a string; iff2 picks a node. Go has no ternary, and a four-line if +// statement inside a tree literal breaks the shape of the markup worse than these do. +func iff(cond bool, a, b string) string { + if cond { + return a + } + return b +} + +func iff2(cond bool, a, b func() *VNode) *VNode { + if cond { + return a() + } + return b() +} + +func layerItem(d Deps, l Layer) *VNode { + active := CurrentLayer(d.Path()) != nil && CurrentLayer(d.Path()).Href == l.Href + + if !l.Live { + return Div(Attr("class", "flex cursor-default flex-col gap-0.5 px-3 py-2 opacity-55"), + Span(Attr("class", "flex items-center gap-2 text-sm font-medium text-ink-muted"), + ui.IconInline(l.Icon, 14, "text-ink-faint"), + Text(l.Name), + Span(Attr("class", "rounded-full bg-surface-raised px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-ink-muted"), + Text("reference")), + ), + Span(Attr("class", "pl-6 text-xs text-ink-muted"), Text(l.Tagline)), + ) + } + + cls := "flex flex-col gap-0.5 px-3 py-2 no-underline hover:bg-surface-raised" + if active { + cls += " bg-primary-subtle" + } + return A(Attr("class", cls), Attr("href", l.Href), + Span(Attr("class", "flex items-center gap-2 text-sm font-medium text-ink"), + ui.IconInline(l.Icon, 14, "text-accent"), + Text(l.Name), + ), + Span(Attr("class", "pl-6 text-xs text-ink-muted"), Text(l.Tagline)), + ) +} diff --git a/go/cmd/examples/go-wasm-web/app/overlays.go b/go/cmd/kjol-web/app/overlays.go similarity index 99% rename from go/cmd/examples/go-wasm-web/app/overlays.go rename to go/cmd/kjol-web/app/overlays.go index 86666ad9..658e82c6 100644 --- a/go/cmd/examples/go-wasm-web/app/overlays.go +++ b/go/cmd/kjol-web/app/overlays.go @@ -19,7 +19,7 @@ import ( // The page is NOT `static`: nothing is open during SSR anyway, so pre-rendering it // buys nothing, and it keeps the example honest about which routes need it. // -//gowasm:page /overlays layout=app +//gowasm:page /wasm/overlays layout=app func OverlaysPage(d Deps) func() *VNode { // --- tooltips ----------------------------------------------------------- tipTop := ui.NewHoverTooltip(ui.PlacementTop, "") diff --git a/go/cmd/examples/go-wasm-web/app/pages.go b/go/cmd/kjol-web/app/pages.go similarity index 89% rename from go/cmd/examples/go-wasm-web/app/pages.go rename to go/cmd/kjol-web/app/pages.go index 128a1003..43772af9 100644 --- a/go/cmd/examples/go-wasm-web/app/pages.go +++ b/go/cmd/kjol-web/app/pages.go @@ -1,4 +1,4 @@ -// Package app holds the go-wasm-web example's pages and components as +// Package app holds the kjol-web site's Go/WASM pages and components as // standalone, platform-neutral functions (SSR on the server, hydrate on the // client). UI is built from the kjol webui kit + Tailwind utility classes. // @@ -71,12 +71,20 @@ func notFound(path string) *VNode { // the thing every other part is built onto. Which is what this library is meant to be // for the applications that share it. func wordmark(d Deps, href string) *VNode { + // The lockup names the LAYER you are standing in, not the site. On the front page + // that is kjol itself; inside /wasm it is Kjol Wasm Web. A wordmark that says the + // same thing everywhere is one more thing the reader has to keep track of himself. + name, sub := "kjol", "a shared base layer" + if l := CurrentLayer(d.Path()); l != nil { + name, sub = l.Name, "Go + WebAssembly" + } + return A(Attr("class", "flex items-center gap-2.5 no-underline"), Attr("href", href), navigate(d, href), Span(Attr("class", "inline-flex h-8 w-8 items-center justify-center rounded-default bg-ink text-surface"), ui.IconInline("sailboat", 17, "")), Span(Attr("class", "flex items-baseline gap-1.5"), - Span(Attr("class", "text-lg font-semibold tracking-tight text-text-heading"), Text("Kjol Web")), - Span(Attr("class", "text-sm text-ink-faint"), Text("Go + WASM")), + Span(Attr("class", "text-lg font-semibold tracking-tight text-text-heading"), Text(name)), + Span(Attr("class", "text-sm text-ink-faint"), Text(sub)), ), ) } @@ -96,19 +104,21 @@ func PublicLayout(d Deps, content *VNode) *VNode { Div(Attr("class", "pointer-events-none fixed inset-0 -z-10 bg-grid grid-fade"), Attr("aria-hidden", "true")), Nav(Attr("class", "site-nav border-b border-line"), - Div(Attr("class", "mx-auto flex max-w-2xl items-center gap-2 px-4 py-4"), + Div(Attr("class", "mx-auto flex max-w-3xl items-center gap-2 px-4 py-4"), wordmark(d, "/"), - Ul(Attr("class", "ml-auto flex items-center gap-1"), - navItem(d, "/docs", "Docs", false), - navItem(d, "/about", "About", false), - Li(Attr("class", "ml-1"), Theme.ThemeToggle(ui.ThemeToggleProps{Small: true})), + Div(Attr("class", "ml-auto flex items-center gap-1"), + layersMenu(d), + Ul(Attr("class", "flex items-center gap-1"), + navItem(d, "/about", "About", false), + Li(Attr("class", "ml-1"), Theme.ThemeToggle(ui.ThemeToggleProps{Small: true})), + ), ))), Main(Attr("class", "px-4 py-14"), content), Footer(Attr("class", "mx-auto max-w-2xl px-4 pb-14"), P(Attr("class", "text-sm text-ink-faint"), - Text("Kjol Web is part of kjol — a shared base layer. kjol is Norwegian for keel.")), + Text("kjol is a shared base layer, factored out of several applications so they stay in sync. It is Norwegian for keel.")), ), ui.ModalHost(), ) @@ -117,7 +127,7 @@ func PublicLayout(d Deps, content *VNode) *VNode { // wideRoutes get a roomier container. A table with a dozen columns, a drag handle // and three calculated columns has no business being squeezed into a reading-width // column; prose pages still are. -var wideRoutes = map[string]bool{"/table": true} +var wideRoutes = map[string]bool{"/wasm/table": true} // AppLayout is the DOCUMENTATION shell: a sidebar of sections on the left, the page on // the right. The app routes are the framework's docs — each one explains a capability, @@ -143,9 +153,12 @@ func AppLayout(d Deps, content *VNode) *VNode { Div(Attr("class", "mx-auto flex max-w-[110rem] items-center gap-3 px-6 py-3"), wordmark(d, "/"), Span(Attr("class", "rounded-full border border-line px-2 py-0.5 text-[11px] font-semibold uppercase tracking-wider text-ink-faint"), Text("Docs")), - Ul(Attr("class", "ml-auto flex items-center gap-2"), - navItem(d, "/", "Home", false), - Li(Theme.ThemeToggle(ui.ThemeToggleProps{Small: true})), + Div(Attr("class", "ml-auto flex items-center gap-2"), + layersMenu(d), + Ul(Attr("class", "flex items-center gap-2"), + navItem(d, "/", "Home", false), + Li(Theme.ThemeToggle(ui.ThemeToggleProps{Small: true})), + ), ), )), @@ -279,17 +292,28 @@ func HomePage(d Deps) func() *VNode { return func() *VNode { markup := RenderHTML(demoTree()) - return Div(Attr("class", "mx-auto max-w-2xl"), + return Div(Attr("class", "mx-auto max-w-3xl"), H1(Attr("class", "text-3xl font-semibold tracking-tight text-text-heading"), - Text("Kjol Web")), + Text("kjol")), P(Attr("class", "mt-3 leading-relaxed text-ink-soft"), - Text("A small library for writing web interfaces in Go. Components are ordinary functions "+ - "returning a virtual DOM. The server renders them to HTML, and the same code compiles "+ - "to WebAssembly and takes over in the browser.")), + Text("A shared base layer, factored out of several applications so they stay in sync. "+ + "Kjol is Norwegian for KEEL: the spine of a hull, the thing every other part is built onto.")), P(Attr("class", "mt-3 leading-relaxed text-ink-soft"), - Text("There is no JavaScript build step, and nothing outside the standard library.")), + Text("It is not one library. It is a stack of them, in several languages, and each one is "+ + "documented here.")), + + // ---- the layers ---- + // + // The layers are the site. Everything else on this page is evidence that they + // work; this is the part you are meant to click. + H2(Attr("class", "mt-12 text-lg font-semibold text-text-heading"), Text("The layers")), + layersGrid(d), // ---- the demonstration ---- + // + // This survives from the old landing page because it is the one thing on the site + // that cannot be faked: the same Go function, rendered twice at once, as live DOM + // and as the HTML string the server sent. H2(Attr("class", "mt-12 text-lg font-semibold text-text-heading"), Text("One function, two runtimes")), P(Attr("class", "mt-2 leading-relaxed text-ink-soft"), Text("Below is a single Go function, shown twice. On the left it has been reconciled into "+ @@ -335,10 +359,10 @@ func HomePage(d Deps) func() *VNode { Text("Every page of the documentation runs the code it documents — there are no screenshots "+ "of components anywhere on this site. "), A(Attr("class", "text-accent underline underline-offset-4"), - Attr("href", "/docs"), navigate(d, "/docs"), Text("Read the docs")), + Attr("href", "/wasm"), navigate(d, "/wasm"), Text("Read the docs")), Text(", or "), A(Attr("class", "text-accent underline underline-offset-4"), - Attr("href", "/kit"), navigate(d, "/kit"), Text("look at the components")), + Attr("href", "/wasm/kit"), navigate(d, "/wasm/kit"), Text("look at the components")), Text("."), ), P(Attr("class", "mt-4 text-sm text-ink-muted"), @@ -443,7 +467,7 @@ func principle(title, body string) *VNode { // ---- server components -------------------------------------------------- -//gowasm:page /server layout=app +//gowasm:page /wasm/server layout=app func ServerPage(d Deps) func() *VNode { // ServerCounter is a server component — calling it is just like calling any // component. On the client this resolves to a generated stub that mounts it diff --git a/go/cmd/examples/go-wasm-web/app/routes.gen.go b/go/cmd/kjol-web/app/routes.gen.go similarity index 53% rename from go/cmd/examples/go-wasm-web/app/routes.gen.go rename to go/cmd/kjol-web/app/routes.gen.go index 7af6b876..9340b329 100644 --- a/go/cmd/examples/go-wasm-web/app/routes.gen.go +++ b/go/cmd/kjol-web/app/routes.gen.go @@ -6,39 +6,39 @@ import "kjol/vdom" // Routes maps each //gowasm:page path to its instantiated render function. func Routes(d Deps) map[string]func() *vdom.VNode { return map[string]func() *vdom.VNode{ - "/": HomePage(d), - "/about": AboutPage(d), - "/chart": ChartPage(d), - "/data": DataPage(d), - "/docs": DocsPage(d), - "/kit": KitPage(d), - "/overlays": OverlaysPage(d), - "/server": ServerPage(d), - "/table": TablePage(d), + "/": HomePage(d), + "/about": AboutPage(d), + "/wasm": DocsPage(d), + "/wasm/chart": ChartPage(d), + "/wasm/data": DataPage(d), + "/wasm/kit": KitPage(d), + "/wasm/overlays": OverlaysPage(d), + "/wasm/server": ServerPage(d), + "/wasm/table": TablePage(d), } } // StaticPaths are the routes the server pre-renders (SSR); others render client-side. var StaticPaths = map[string]bool{ - "/": true, - "/about": true, - "/chart": true, - "/data": true, - "/docs": true, - "/table": true, + "/": true, + "/about": true, + "/wasm": true, + "/wasm/chart": true, + "/wasm/data": true, + "/wasm/table": true, } // RouteLayout maps each route to the name of the layout that wraps it. var RouteLayout = map[string]string{ - "/": "public", - "/about": "public", - "/chart": "app", - "/data": "app", - "/docs": "app", - "/kit": "app", - "/overlays": "app", - "/server": "app", - "/table": "app", + "/": "public", + "/about": "public", + "/wasm": "app", + "/wasm/chart": "app", + "/wasm/data": "app", + "/wasm/kit": "app", + "/wasm/overlays": "app", + "/wasm/server": "app", + "/wasm/table": "app", } // LayoutFor wraps a page's content in the layout declared for its route. diff --git a/go/cmd/examples/go-wasm-web/app/server.gen.go b/go/cmd/kjol-web/app/server.gen.go similarity index 100% rename from go/cmd/examples/go-wasm-web/app/server.gen.go rename to go/cmd/kjol-web/app/server.gen.go diff --git a/go/cmd/examples/go-wasm-web/app/server_counter.go b/go/cmd/kjol-web/app/server_counter.go similarity index 100% rename from go/cmd/examples/go-wasm-web/app/server_counter.go rename to go/cmd/kjol-web/app/server_counter.go diff --git a/go/cmd/examples/go-wasm-web/app/ssr_test.go b/go/cmd/kjol-web/app/ssr_test.go similarity index 97% rename from go/cmd/examples/go-wasm-web/app/ssr_test.go rename to go/cmd/kjol-web/app/ssr_test.go index 1f9e1a56..4da6c1a5 100644 --- a/go/cmd/examples/go-wasm-web/app/ssr_test.go +++ b/go/cmd/kjol-web/app/ssr_test.go @@ -11,7 +11,7 @@ import ( ) func TestSSRPages(t *testing.T) { - for _, path := range []string{"/", "/about", "/chart", "/data", "/table", "/overlays", "/kit"} { + for _, path := range []string{"/", "/about", "/wasm/chart", "/wasm/data", "/wasm/table", "/wasm/overlays", "/wasm/kit"} { deps := Deps{Path: func() string { return path }} html := vdom.RenderHTML(Shell(deps, Routes(deps))) t.Logf("%-8s %6d bytes portals=%d", path, len(html), strings.Count(html, "data-portal")) @@ -22,7 +22,7 @@ func TestSSRPages(t *testing.T) { } func TestSSRTablePage(t *testing.T) { - deps := Deps{Path: func() string { return "/table" }} + deps := Deps{Path: func() string { return "/wasm/table" }} html := vdom.RenderHTML(Shell(deps, Routes(deps))) // The table persists a personal layout in localStorage, which the SERVER CANNOT diff --git a/go/cmd/examples/go-wasm-web/app/table.go b/go/cmd/kjol-web/app/table.go similarity index 99% rename from go/cmd/examples/go-wasm-web/app/table.go rename to go/cmd/kjol-web/app/table.go index 48911209..51d1b738 100644 --- a/go/cmd/examples/go-wasm-web/app/table.go +++ b/go/cmd/kjol-web/app/table.go @@ -174,7 +174,7 @@ func newEmployeeTable(highlight *Signal[string]) *ui.AutoTableState { }) } -//gowasm:page /table layout=app static +//gowasm:page /wasm/table layout=app static func TablePage(d Deps) func() *VNode { // Which row to spotlight, if any. highlight := NewSignal("") diff --git a/go/cmd/examples/go-wasm-web/build/main.go b/go/cmd/kjol-web/build/main.go similarity index 86% rename from go/cmd/examples/go-wasm-web/build/main.go rename to go/cmd/kjol-web/build/main.go index d6dfc13a..c89e6dc5 100644 --- a/go/cmd/examples/go-wasm-web/build/main.go +++ b/go/cmd/kjol-web/build/main.go @@ -1,7 +1,7 @@ // Command build runs the example's full pre-compile step once: directive codegen, // Tailwind, the wasm binary, and Go's JS shim. // -// go run ./build # from cmd/examples/go-wasm-web +// go run ./build # from go/cmd/kjol-web // // For day-to-day work run the dev server instead (`go run ./server`) — it performs // these same steps on every save and hot-swaps the result into the browser. This @@ -12,7 +12,7 @@ import ( "log" "os" - "gowasmweb/buildsteps" + "kjolweb/buildsteps" ) func main() { @@ -25,6 +25,7 @@ func main() { {"generating directive glue (//gowasm:page, //gowasm:layout, //gowasm:server)", buildsteps.Codegen}, {"compiling Tailwind CSS -> wwwroot/app.css", buildsteps.Tailwind}, {"compiling ./wasm -> wwwroot/app.wasm (GOOS=js GOARCH=wasm)", buildsteps.Wasm}, + {"bundling the Solid half -> wwwroot/bundle.min.{js,css} (TSX -> Solid -> esbuild)", buildsteps.JS}, {"copying Go's wasm_exec.js shim into wwwroot/", buildsteps.Shim}, } diff --git a/go/cmd/examples/go-wasm-web/buildsteps/buildsteps.go b/go/cmd/kjol-web/buildsteps/buildsteps.go similarity index 74% rename from go/cmd/examples/go-wasm-web/buildsteps/buildsteps.go rename to go/cmd/kjol-web/buildsteps/buildsteps.go index 73391b64..5c263d7b 100644 --- a/go/cmd/examples/go-wasm-web/buildsteps/buildsteps.go +++ b/go/cmd/kjol-web/buildsteps/buildsteps.go @@ -16,12 +16,14 @@ import ( "os/exec" "path/filepath" "strings" + + "kjol/jsbundler" ) // kjolRoot is the kjol Go module root, relative to the example directory. The Tailwind // and codegen commands are run FROM there so the engine's dependencies resolve in // kjol's own go.mod, and this example's stays lean. -const kjolRoot = "../../.." +const kjolRoot = "../.." // Wwwroot is where every build artefact lands, and what the dev server serves. const Wwwroot = "wwwroot" @@ -41,12 +43,12 @@ func Codegen() ([]byte, error) { // all. func Tailwind() ([]byte, error) { cmd := exec.Command("go", "run", "./cmd/twcss", - "-entry", "cmd/examples/go-wasm-web/css/app.css", - "-out", "cmd/examples/go-wasm-web/wwwroot/app.css", + "-entry", "cmd/kjol-web/css/app.css", + "-out", "cmd/kjol-web/wwwroot/app.css", "-base", ".", "webui/**/*.go", - "cmd/examples/go-wasm-web/app/**/*.go", - "cmd/examples/go-wasm-web/server/**/*.go", + "cmd/kjol-web/app/**/*.go", + "cmd/kjol-web/server/**/*.go", ) cmd.Dir = kjolRoot return cmd.CombinedOutput() @@ -59,6 +61,31 @@ func Wasm() ([]byte, error) { return cmd.CombinedOutput() } +// JS builds the OTHER half of the site: the Solid SPA under /js, the SSR'd public +// pages, and their stylesheet. It is kjol/jsbundler — TSX compiled to Solid by a Go +// program, bundled by esbuild's Go API, styled by kjol/tw — run in-process rather than +// shelled out to, so a compile error comes back as a Go error and lands in the dev +// server's browser overlay like every other failure. +// +// It writes bundle.min.{js,css} and public.bundle.min.{js,css} into the SAME wwwroot as +// the wasm build. The two halves never collide: different filenames, one static dir, one +// server. +// +// -web points at the shared tree, which is where the kit, the vendored Solid runtime, +// the icon SVGs and the @theme scaffold all live. +func JS() ([]byte, error) { + err := jsbundler.Build(jsbundler.Config{ + AppFrontend: "frontend", + WebDir: filepath.Join(kjolRoot, "jsruntime"), + Output: Wwwroot, + GenTSDir: filepath.Join("frontend", "src", "ui", "generated"), + }) + if err != nil { + return []byte(err.Error()), err + } + return nil, nil +} + // Shim copies Go's wasm_exec.js into wwwroot. It is the loader the browser needs to // start a Go wasm binary, it ships with the toolchain, and it must match the compiler // that produced the binary — so it is copied from GOROOT rather than vendored. @@ -93,7 +120,7 @@ func Shim() ([]byte, error) { // puts straight into the browser's error overlay — so a compile error lands in front of // you rather than in a terminal you were not looking at. func All() ([]byte, error) { - for _, step := range []func() ([]byte, error){Codegen, Tailwind, Wasm, Shim} { + for _, step := range []func() ([]byte, error){Codegen, Tailwind, Wasm, JS, Shim} { if out, err := step(); err != nil { return out, err } diff --git a/go/cmd/examples/go-wasm-web/css/app.css b/go/cmd/kjol-web/css/app.css similarity index 100% rename from go/cmd/examples/go-wasm-web/css/app.css rename to go/cmd/kjol-web/css/app.css diff --git a/go/cmd/kjol-web/frontend/css/style.css b/go/cmd/kjol-web/frontend/css/style.css new file mode 100644 index 00000000..7fd3f931 --- /dev/null +++ b/go/cmd/kjol-web/frontend/css/style.css @@ -0,0 +1,79 @@ +/* --------------------------------------------------------------------------- + kjol-web — brand stylesheet for the Kjol JS Web section (/js/*). + --------------------------------------------------------------------------- + There is deliberately no `@import "tailwindcss"` here. The bundler PREPENDS + kjol's shared scaffold (go/jsruntime/styles/theme.css) to this file, and that + scaffold does the import — an @import has to come first, and this file no + longer is. See jsbundler/css.go and the header of theme.css. + + What is left is only what is genuinely this app's: the brand. + + The values below match the Go/WASM section's css/app.css on purpose — same + Lora, same sky accent — so that crossing between /wasm and /js reads as two + halves of ONE site rather than two demos that happen to share a domain. The + two sections are built by completely different pipelines; they should not look + like it. + --------------------------------------------------------------------------- */ + +@theme { + /* The accent. `primary` is the ONE semantic token the Solid kit actually + honours (bg-primary / text-primary / border-primary / bg-primary-hover); + everything else in the kit names a raw Tailwind neutral directly. That is a + real difference from the Go/WASM kit — which is themed end to end by tokens + and can therefore switch to dark by changing ten values — and the /js/theming + page says so out loud rather than pretending otherwise. */ + --color-primary: #0284c7; /* sky-600 — fills; they carry white text */ + --color-primary-hover: #0369a1; /* sky-700 */ + + /* Lora, the same body face the Go/WASM section vendors. The woff2 files are + served out of wwwroot/fonts by the same server, so this section pays no + extra request for them — they are already in the browser's cache from the + front page. */ + --font-sans: "Lora", ui-serif, Georgia, Cambria, "Times New Roman", serif; + --font-serif: "Lora", ui-serif, Georgia, Cambria, "Times New Roman", serif; +} + +/* Lora's @font-face rules are declared HERE as well as in the Go/WASM section's + app.css, and that duplication is correct: the two sections load different + stylesheets (this compiles to bundle.min.css, that one to app.css) and a page + in this section never links the other. Each stylesheet has to stand alone. + + What is NOT duplicated is the download. Both point at the same four /fonts/*.woff2 + URLs served out of the same wwwroot, so a reader arriving here from the front page + already has them in cache and pays nothing. + + Variable fonts: one file per style covers weights 400-700, hence the range. */ +@font-face { + font-family: "Lora"; + font-style: normal; + font-weight: 400 700; + font-display: swap; + src: url("/fonts/lora-latin-normal.woff2") format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +@font-face { + font-family: "Lora"; + font-style: normal; + font-weight: 400 700; + font-display: swap; + src: url("/fonts/lora-latin-ext-normal.woff2") format("woff2"); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +@font-face { + font-family: "Lora"; + font-style: italic; + font-weight: 400 700; + font-display: swap; + src: url("/fonts/lora-latin-italic.woff2") format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* Only the font. The page's background and text colour come from the shared + scaffold's `html` rule, which paints them from --color-surface / --color-ink — + the tokens the .dark block re-points. Setting them here would pin the page to + white and leave a dark app sitting in a white window. */ +html { + font-family: var(--font-sans); +} diff --git a/go/cmd/kjol-web/frontend/src/app.ts b/go/cmd/kjol-web/frontend/src/app.ts new file mode 100644 index 00000000..bcda6cdc --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/app.ts @@ -0,0 +1,52 @@ +// SPA entry for the Kjol JS Web section (/js/*). +// +// This file is .ts and NOT .tsx on purpose — it is not a style choice. The bundler +// resolves the SPA entry as src/app.ts (falling back to src/app.js) and nothing +// else, so the entry cannot contain JSX. Hence createComponent() here, and JSX in +// the pages it points at. +// +// The section is mounted under a base path rather than at the root: the front page +// and the whole /wasm section are served by the Go/WASM half of this site, which +// this bundle knows nothing about. `base: "/js"` keeps every route in here relative +// to that, so a link to "/kit" resolves to /js/kit and the two SPAs never fight +// over a URL. +// +// Crossing OUT of /js (to the front page, or into /wasm) is a plain and a +// real page load — the other half of the site is a different binary. That is the +// honest cost of running two front-ends behind one server, and it is one navigation. + +import { render, createComponent } from "solid-js/web"; +import { Router } from "@solidjs/router"; +import type { RouteDefinition } from "@solidjs/router"; + +import { Shell } from "./layout/Shell.tsx"; +import { Overview } from "./pages/Overview.tsx"; +import { Kit } from "./pages/Kit.tsx"; +import { Forms } from "./pages/Forms.tsx"; +import { Table } from "./pages/Table.tsx"; +import { Theming } from "./pages/Theming.tsx"; + +// Routes as plain data: solid-router accepts RouteDefinition[] as `children`, which +// is what lets a JSX-free entry declare a full route tree. +const routes: RouteDefinition[] = [ + { path: "/", component: Overview }, + { path: "/kit", component: Kit }, + { path: "/forms", component: Forms }, + { path: "/table", component: Table }, + { path: "/theming", component: Theming }, +]; + +const root = document.getElementById("app"); +if (root) { + render( + () => + createComponent(Router, { + base: "/js", + root: Shell, + get children() { + return routes; + }, + }), + root, + ); +} diff --git a/go/cmd/kjol-web/frontend/src/layers.ts b/go/cmd/kjol-web/frontend/src/layers.ts new file mode 100644 index 00000000..045ba604 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/layers.ts @@ -0,0 +1,72 @@ +// The layers of kjol, as data. +// +// This is the JS mirror of app/layers.go on the Go/WASM side. The site has two +// front-ends built by two completely different pipelines, and the Layers menu has +// to be identical in both — so it is a LIST in each, not markup, and the two lists +// are the only thing that has to be kept in step. +// +// (A shared source would be better than a mirrored one. There isn't one: the Go +// side compiles to WebAssembly and the JS side is bundled by esbuild, and nothing +// is upstream of both. Keeping it to a flat array of plain data is what makes the +// duplication survivable — you can diff the two by eye.) + +export interface Layer { + name: string; + href: string; + tagline: string; + /** Live = you can click into worked examples. Reference = documented, no demo. */ + live: boolean; + /** + * The ONE field that does not match app/layers.go, and cannot: the two kits have + * different icon sets. This side names FontAwesome; the Go side names webui's own + * hand-drawn registry, which has no FontAwesome in it at all. Where the two have no + * glyph in common the names diverge (here `table-columns`, there `squares`). + * + * Both sides fail loudly rather than quietly — a name neither registry knows renders + * an empty box, and app/icons_test.go fails the build over it. + */ + icon: string; +} + +export const LAYERS: Layer[] = [ + { + name: "Kjol Go", + href: "/go", + tagline: "The server base: config, database, logging, HTTP, mail, validation.", + live: false, + icon: "server", + }, + { + name: "Kjol Wasm Web", + href: "/wasm", + tagline: "Web interfaces written in Go, compiled to WebAssembly. SSR + hydration, no JS build.", + live: true, + icon: "code", + }, + { + name: "Kjol JS Web", + href: "/js", + tagline: "The Solid component kit, bundled by a Go toolchain: TSX → Solid → esbuild, Tailwind in Go.", + live: true, + icon: "table-columns", + }, + { + name: "Kjol C", + href: "/c", + tagline: "Arena allocator, strings, math, lexer, platform layer.", + live: false, + icon: "bolt", + }, + { + name: "Kjol Jai", + href: "/jai", + tagline: "Console rendering module. Early.", + live: false, + icon: "cube", + }, +]; + +/** The layer the current path belongs to, or undefined on the front page. */ +export function currentLayer(path: string): Layer | undefined { + return LAYERS.find((l) => path === l.href || path.startsWith(l.href + "/")); +} diff --git a/go/cmd/kjol-web/frontend/src/layout/Demo.tsx b/go/cmd/kjol-web/frontend/src/layout/Demo.tsx new file mode 100644 index 00000000..6b5bb30e --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/layout/Demo.tsx @@ -0,0 +1,33 @@ +// A worked example: the code on one side, that same code RUNNING on the other. +// +// The code string is written by hand rather than extracted from the source, and that +// is a known compromise — a hand-copied snippet can drift from the component beside +// it. The alternative (a build step that slices the real source) buys accuracy at the +// cost of a second thing to maintain, and the snippets here are short enough to read +// against the live demo in one glance. If they start getting long, that trade flips. + +import { JSXElement } from "solid-js"; +import { CodeBox } from "@ui/General"; + +export function Demo(props: { title: string; code: string; children?: JSXElement }) { + return ( +
        +

        {props.title}

        + +
        + {/* The live half. It sits on the plain surface, not in a tinted "preview" + box, because a component that only looks right against a special + background is a component that will look wrong in the app. */} +
        + running +
        +
        {props.children}
        + +
        + source +
        + +
        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/layout/Shell.tsx b/go/cmd/kjol-web/frontend/src/layout/Shell.tsx new file mode 100644 index 00000000..9d1be6ac --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/layout/Shell.tsx @@ -0,0 +1,176 @@ +// The Kjol JS Web shell: top bar (wordmark + Layers menu), sidebar, content. +// +// It is deliberately a near-copy of the Go/WASM section's AppLayout. Two front-ends, +// one site: if the chrome drifted, crossing from /wasm to /js would feel like leaving +// for somebody else's website. The components underneath are completely different — +// these are Solid components from the kit, those are Go functions returning a VNode — +// and the page should not betray that. + +import { For, Show } from "solid-js"; +import { A, useLocation } from "@solidjs/router"; +import { Icon } from "@ui/Icons"; +import { Menu, MenuTrigger, MenuContent, MenuLink, MenuSection } from "@ui/Menu"; +import { ThemeToggle, initTheme } from "@ui/Theme"; +import { LAYERS } from "../layers.ts"; + +interface NavItem { + path: string; + label: string; + icon: string; +} + +// The section's own pages. Paths are relative to the router base (/js). +const NAV: NavItem[] = [ + { path: "/", label: "Overview", icon: "circle-info" }, + { path: "/kit", label: "Components", icon: "table-columns" }, + { path: "/forms", label: "Forms", icon: "pen-to-square" }, + { path: "/table", label: "AutoTable", icon: "table" }, + { path: "/theming", label: "Theming", icon: "palette" }, +]; + +// The Layers menu — the site's primary navigation. kjol is a stack of layers, and +// this is how you get from any one of them to any other. It is rendered from the +// LAYERS array so adding a layer is one object, not a nav edit in two front-ends. +// +// Layers that are not `live` still appear. A menu that silently omits half the +// library teaches the reader that the library is half the size it is; showing them +// greyed, with the reason, is the more honest shape. +function LayersMenu() { + return ( +
        + + + Layers + + + + + +

        + The layers of kjol +

        + + {(layer) => ( + + + + {layer.name} + + reference + + + {layer.tagline} + + } + > + {/* MenuLink is a real
        (not a router link), which is what a + cross-layer jump has to be: the other layers are served by a + different binary. */} + + + {layer.name} + {layer.tagline} + + + + )} + + + +
        + ); +} + +function Wordmark() { + // A plain , not a router : "/" is the front page, which belongs to the + // Go/WASM binary. Routing to it inside this SPA would resolve to /js and land you + // back where you started. + return ( + + + + + + Kjol JS Web + Solid + Go toolchain + + + ); +} + +function Sidebar() { + const location = useLocation(); + // The router's pathname is absolute (/js/kit); NAV paths are base-relative (/kit). + const active = (path: string) => location.pathname === "/js" + (path === "/" ? "" : path); + + return ( + + ); +} + +export function Shell(props: { children?: any }) { + // Once, at the root. The boot script in the document head has ALREADY put the right + // class on — this only syncs the toggle's signals with it and starts + // following the OS while the mode is "system". Calling it late is harmless; not + // calling it just leaves the button showing the wrong icon. + initTheme(); + + return ( +
        + {/* bg-surface/90, not bg-white/90: the translucent sticky bar has to be + translucent over whatever the surface currently IS. */} + + +
        + +
        {props.children}
        +
        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/Forms.tsx b/go/cmd/kjol-web/frontend/src/pages/Forms.tsx new file mode 100644 index 00000000..e6410c4f --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/Forms.tsx @@ -0,0 +1,220 @@ +// /js/forms — the form fields, and the masks that make them worth having. + +import { createSignal } from "solid-js"; +import { + FormInput, + FormLabel, + FormSelect, + FormTextarea, + FormCurrencyInput, + FormPercentInput, + FormPhoneInput, + FormEmailInput, + FormNumberInput, + FormCombobox, + FormMultiSelect, + FormFieldset, + US_STATES, +} from "@ui/Forms"; +import { ToggleSwitch } from "@ui/ToggleSwitch"; +import { ButtonUI, BUTTON_COLOR_PRIMARY } from "@ui/Buttons"; +import { AlertBlue } from "@ui/Alerts"; +import { isEmailValid } from "@ui/Validation"; +import { Demo } from "../layout/Demo.tsx"; + +export function Forms() { + const [name, setName] = createSignal(""); + const [email, setEmail] = createSignal(""); + const [amount, setAmount] = createSignal(""); + const [rate, setRate] = createSignal(""); + const [phone, setPhone] = createSignal(""); + const [term, setTerm] = createSignal("90"); + const [state, setState] = createSignal(""); + const [tags, setTags] = createSignal(["cd"]); + const [notify, setNotify] = createSignal(true); + const [notes, setNotes] = createSignal(""); + + // The error is a derived value, not a second piece of state — so it cannot get + // out of step with the field it describes. Blank is not "invalid", it is unfilled. + const emailError = () => (email() && !isEmailValid(email()) ? "That is not an email address." : ""); + + return ( +
        +

        Kjol JS Web

        +

        Forms

        +

        + The fields carry their own input masks. A currency field will not let you type a letter into + it; a percent field keeps one trailing symbol; a phone field formats as you go. That behaviour + is in the component, not in the page — which is the only reason it is the same in every app. +

        + + + These are Solid components, so DOM handlers keep their DOM names:{" "} + oninput, onchange,{" "} + onclick — not onInput. It is the + single most common thing to get wrong when writing against this kit. + + + + email() && !isEmailValid(email()) ? "That is not an email address." : ""; + + setEmail(e.currentTarget.value)} + error={emailError()} + showIcon +/>`} + > +
        +
        + Name + setName(e.currentTarget.value)} + /> +
        +
        + Email + setEmail(e.currentTarget.value)} + error={emailError()} + showIcon + /> +
        +
        +
        + + + + +`} + > +
        +
        + Amount + setAmount(e.currentTarget.value)} + /> +
        +
        + Rate + setRate(e.currentTarget.value)} /> +
        +
        + Phone + setPhone(e.currentTarget.value)} /> +
        +
        + Whole number + +
        +
        +

        + Try typing letters into any of them. +

        +
        + + + +`} + > +
        +
        + Term (plain select) + setTerm(e.currentTarget.value)}> + + + + +
        +
        + State (searchable) + +
        +
        + Products (multi) + +
        +
        +

        + selected: {tags().join(", ") || "—"} +

        +
        + + `} + > + + +
        + Notes + setNotes(e.currentTarget.value)} + /> +
        +
        + +
        + + Save + + + {emailError() ? "Fix the email address first." : "The button disables itself off derived state."} + +
        +
        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/Kit.tsx b/go/cmd/kjol-web/frontend/src/pages/Kit.tsx new file mode 100644 index 00000000..0dd66771 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/Kit.tsx @@ -0,0 +1,199 @@ +// /js/kit — the components, running. + +import { createSignal, For } from "solid-js"; +import { + ButtonUI, + SegmentedButtons, + BUTTON_COLOR_PRIMARY, + BUTTON_COLOR_NEUTRAL, + BUTTON_COLOR_GREEN, + BUTTON_COLOR_RED, + BUTTON_COLOR_BLUE, +} from "@ui/Buttons"; +import { Badge, BADGE_GREEN, BADGE_RED, BADGE_BLUE, BADGE_AMBER, BADGE_NEUTRAL } from "@ui/Badges"; +import { AlertBlue, AlertGreen, AlertRed, AlertYellow } from "@ui/Alerts"; +import { Card, CardHeader } from "@ui/Cards"; +import { TabGroup } from "@ui/Tabs"; +import { Modal, ConfirmModal } from "@ui/Modal"; +import { Tooltip } from "@ui/Tooltips"; +import { Icon } from "@ui/Icons"; +import { Demo } from "../layout/Demo.tsx"; + +export function Kit() { + const [count, setCount] = createSignal(0); + const [seg, setSeg] = createSignal("day"); + const [modalOpen, setModalOpen] = createSignal(false); + const [confirmOpen, setConfirmOpen] = createSignal(false); + const [confirmed, setConfirmed] = createSignal(0); + + return ( +
        +

        Kjol JS Web

        +

        Components

        +

        + Every component below is the real one from{" "} + @ui/*, imported + and rendered on this page. Nothing here is a picture of a component. +

        + + setCount(count() + 1)}> + Clicked {count()} times +`} + > +
        + setCount(count() + 1)}> + Clicked {count()} times + + Neutral + Green + Red + + Outline + + + Small + + + Disabled + +
        +
        + + `} + > +
        + +

        + selected: {seg()} +

        +
        +
        + + Active`} + > +
        + + Active + + + Overdue + + Info + Pending + Draft +
        +
        + + Your changes have been written.`} + > +
        + Your changes have been written. + The rate table refreshes every fifteen minutes. + Two rows are missing a maturity date. + The upload was rejected by the server. +
        +
        + +

        }, …]} />`} + > + Three accounts, two of them funded.

        }, + { title: "Activity", badge: 3, content:

        Three events since Tuesday.

        }, + { title: "Settings", content:

        Nothing configurable yet.

        }, + ]} + /> +
        + + setModalOpen(false)} header="A modal"> + … + + +// no provider needed — it portals itself to document.body`} + > +
        + setModalOpen(true)}> + Open modal + + setConfirmOpen(true)}> + Delete something + + confirmed {confirmed()} times +
        + + setModalOpen(false)} header={

        A modal

        }> +

        + It portals itself to document.body, so it escapes any + ancestor with overflow: hidden or a transform — the two + things that silently clip a floating panel. +

        +
        + + setConfirmOpen(false)} + onConfirm={() => setConfirmed(confirmed() + 1)} + title="Delete this?" + message="This cannot be undone. (Nothing is actually deleted — this is a docs page.)" + confirmText="Delete" + /> +
        + + `} + > +
        + + {(name) => ( + + + + + + )} + +
        +

        + Only the icons actually referenced in the source are bundled. The registry for this whole + site is a few dozen paths, not FontAwesome's 41.5 MB kit. +

        +
        + + + Not shown here +

        + The kit also carries a calendar, a date picker, popovers, an accordion, a signature pad, a + chart wrapper, a toast system, a guided-tour overlay and a fuzzy matcher. They are in{" "} + go/jsruntime/uikit. +

        +
        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/Overview.tsx b/go/cmd/kjol-web/frontend/src/pages/Overview.tsx new file mode 100644 index 00000000..8e282afb --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/Overview.tsx @@ -0,0 +1,97 @@ +// /js — what the JS layer is, and how it is built. + +import { Card, CardHeader } from "@ui/Cards"; +import { AlertBlue } from "@ui/Alerts"; +import { CodeBox } from "@ui/General"; + +export function Overview() { + return ( +
        +

        Kjol JS Web

        +

        + A Solid kit, built by a Go toolchain +

        + +

        + This layer is the original one: a Solid.js component kit — forms, tables, modals, menus, + tooltips, charts — that the applications shared before any of it was rewritten in Go. It is + still what those applications run. +

        +

        + What is unusual is the build. There is no Node, no Vite, no Babel, and no{" "} + node_modules. + The TSX is compiled to Solid's runtime calls by a Go program, the CSS by a Go implementation + of Tailwind v4, and the whole thing is bundled by esbuild's Go API. The toolchain is a Go + package you import. +

        + +

        The pipeline

        +

        + One command builds this section. Every stage of it is Go: +

        + +
        + + + +
        + + + + + The single hardest invariant in this build is that there is exactly one copy of solid-js. Two + copies do not error — they render fine and then silently stop flushing effects, so onMount + never fires and nothing updates. kjol's vendor manifest is searched before the app's for + precisely this reason. + + +

        What is on the other pages

        +
        + + Components +

        + Buttons, badges, alerts, cards, tabs and menus — rendered live, not screenshotted. +

        +
        + + Forms +

        + Masked inputs, comboboxes, multi-select, toggles, and the validation helpers. +

        +
        + + AutoTable +

        + Sorting, search, column management, CSV export — from one array of column defs. +

        +
        +
        +
        + ); +} + +function Stage(props: { n: string; title: string; body: string }) { + return ( +
        + + {props.n} + +
        +

        {props.title}

        +

        {props.body}

        +
        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/Table.tsx b/go/cmd/kjol-web/frontend/src/pages/Table.tsx new file mode 100644 index 00000000..b7dfe313 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/Table.tsx @@ -0,0 +1,167 @@ +// /js/table — AutoTable, driven by an array of column definitions. + +import AutoTable, { + AutoTableColumn, + AutoTableSearch, + AutoTableFilterFields, + TdLeft, + TdRight, + TdCenter, + COL_POS_LEFT, + COL_POS_RIGHT, + COL_POS_CENTER, + AUTOTABLE_SIZE_COMPACT, +} from "@ui/AutoTable"; +import { Badge, BADGE_GREEN, BADGE_RED, BADGE_NEUTRAL } from "@ui/Badges"; +import { AlertBlue } from "@ui/Alerts"; + +interface Institution { + name: string; + state: string; + term: string; + rate: number; + minimum: number; + status: "open" | "closed" | "waitlist"; +} + +// Static rows: the point of the page is the table, not where the rows came from. +// Swapping `data` for `url` is the only change needed to make it fetch, sort and +// paginate against a server instead. +const ROWS: Institution[] = [ + { name: "First Meridian Bank", state: "CA", term: "90 day", rate: 4.85, minimum: 1000, status: "open" }, + { name: "Harborline Credit Union", state: "WA", term: "180 day", rate: 5.1, minimum: 2500, status: "open" }, + { name: "Cascade Federal", state: "OR", term: "1 year", rate: 5.35, minimum: 500, status: "waitlist" }, + { name: "Ironwood Savings", state: "IL", term: "90 day", rate: 4.6, minimum: 10000, status: "closed" }, + { name: "Great Lakes Trust", state: "MI", term: "2 year", rate: 5.55, minimum: 1000, status: "open" }, + { name: "Sunbelt National", state: "TX", term: "180 day", rate: 4.95, minimum: 5000, status: "open" }, + { name: "Granite State Bank", state: "NH", term: "1 year", rate: 5.2, minimum: 2000, status: "waitlist" }, + { name: "Pacific Crest", state: "CA", term: "5 year", rate: 5.75, minimum: 25000, status: "open" }, + { name: "Copper Ridge Bank", state: "AZ", term: "90 day", rate: 4.4, minimum: 1000, status: "closed" }, + { name: "Bayou Community", state: "LA", term: "1 year", rate: 5.05, minimum: 1500, status: "open" }, + { name: "Northern Pine FCU", state: "MN", term: "2 year", rate: 5.45, minimum: 500, status: "open" }, + { name: "Chesapeake First", state: "MD", term: "180 day", rate: 4.75, minimum: 3000, status: "waitlist" }, +]; + +// The whole table is this list. Sorting, column ordering, hiding, resizing and CSV +// export are all driven from it — there is no per-column wiring anywhere else. +const COLUMNS: AutoTableColumn[] = [ + { displayName: "Institution", sortable: true, sortIdentifier: "name", displayPosition: COL_POS_LEFT }, + { displayName: "State", sortable: true, sortIdentifier: "state", displayPosition: COL_POS_CENTER, toggleable: true }, + { displayName: "Term", sortable: true, sortIdentifier: "term", displayPosition: COL_POS_LEFT }, + { + displayName: "Rate", + sortable: true, + sortIdentifier: "rate", + sortType: "numeric", + displayPosition: COL_POS_RIGHT, + csvValue: (i: Institution) => i.rate, + }, + { + displayName: "Minimum", + sortable: true, + sortIdentifier: "minimum", + sortType: "money", + displayPosition: COL_POS_RIGHT, + toggleable: true, + csvValue: (i: Institution) => i.minimum, + }, + { displayName: "Status", displayPosition: COL_POS_CENTER, sortable: true, sortIdentifier: "status" }, +]; + +const money = (n: number) => "$" + n.toLocaleString("en-US"); + +function StatusBadge(props: { status: Institution["status"] }) { + if (props.status === "open") return open; + if (props.status === "closed") return closed; + return waitlist; +} + +export function Table() { + return ( +
        +

        Kjol JS Web

        +

        AutoTable

        +

        + One array of column definitions produces sorting, per-column search, column reordering by + drag, column show/hide, column resizing, pagination and CSV export. The page below writes no + table markup — only a rowRenderer{" "} + to say what a cell looks like. +

        + + + Sort by clicking a header. Drag a header to reorder. Use the toolbar to hide a column or + export what you are looking at. The column layout persists — it is keyed to localStorage, so + it survives a reload. + + +
        + ( + + ctx.setSearchValue("name", v)} + /> + ctx.setSearchValue("state", v)} + /> + + )} + rowRenderer={(item: Institution) => ( + <> + {item.name} + {item.state} + {item.term} + {item.rate.toFixed(2)}% + {money(item.minimum)} + + + + + )} + /> +
        + +
        +

        Local rows, or a server

        +

        + This table is passed data. + Give it url instead and + the same column list drives a server-side query — the sort identifier becomes the sort key, + the search fields become query parameters, and pagination is handled for you. Nothing else + on the page changes. +

        +

        + The Go/WASM layer has this same table, rewritten as Go returning a virtual DOM. Same + behaviour, no JavaScript — which is the whole argument the other half of this site is + making. +

        +
        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/Theming.tsx b/go/cmd/kjol-web/frontend/src/pages/Theming.tsx new file mode 100644 index 00000000..3eea34bf --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/Theming.tsx @@ -0,0 +1,168 @@ +// /js/theming — how the kit is themed, and the switch that proves it. + +import { AlertBlue, AlertGreen } from "@ui/Alerts"; +import { Card, CardHeader } from "@ui/Cards"; +import { ButtonUI, BUTTON_COLOR_PRIMARY, BUTTON_COLOR_NEUTRAL, BUTTON_COLOR_WHITE } from "@ui/Buttons"; +import { Badge, BADGE_GREEN, BADGE_NEUTRAL } from "@ui/Badges"; +import { CodeBox } from "@ui/General"; +import { ThemeToggle, useTheme } from "@ui/Theme"; +import { Demo } from "../layout/Demo.tsx"; + +// The swatch class is written out in full, not built as "bg-" + name. Tailwind finds +// the classes it must compile by SCANNING THE SOURCE for literal strings — a +// concatenation is invisible to it, and every swatch here would come out colourless. +// It is the one thing about a utility CSS engine you cannot forget. +const TOKENS: { swatch: string; name: string; role: string }[] = [ + { swatch: "bg-surface", name: "surface", role: "the page" }, + { swatch: "bg-surface-muted", name: "surface-muted", role: "a recessed strip" }, + { swatch: "bg-surface-raised", name: "surface-raised", role: "a panel, a hover" }, + { swatch: "bg-surface-strong", name: "surface-strong", role: "a track, a divider fill" }, + { swatch: "bg-line", name: "line", role: "an ordinary border" }, + { swatch: "bg-line-strong", name: "line-strong", role: "a border that has to be seen" }, + { swatch: "bg-ink", name: "ink", role: "body text, headings" }, + { swatch: "bg-ink-soft", name: "ink-soft", role: "secondary text" }, + { swatch: "bg-ink-muted", name: "ink-muted", role: "captions, labels" }, + { swatch: "bg-ink-faint", name: "ink-faint", role: "placeholders, disabled" }, +]; + +export function Theming() { + const { isDark, mode } = useTheme(); + + return ( +
        +

        Kjol JS Web

        +

        Theming

        + +

        + No component in this kit names a colour. They say{" "} + bg-surface,{" "} + text-ink,{" "} + border-line — and + what those mean is decided in one place. That is the whole of the theme system, and it is why + dark mode is a rule that re-points ten variables rather than a{" "} + dark: variant on four hundred class strings. +

        + + +
        + +
        + currently {isDark() ? "dark" : "light"}, because + you asked for {mode()} +
        +
        +

        + Press it. Every component on every page of this section moves — none of them were told. + Your choice is remembered, and it is the same choice the Go/WASM section reads: + both halves of this site share one localStorage key, so the theme survives crossing between + two entirely different front-ends. +

        +
        + +

        The contract

        +

        + These are the tokens a component is allowed to name. Each swatch below is drawn with the token + itself, so this table is not a picture of the theme — it is the theme, and it repaints + when you press the switch. +

        + +
        + {TOKENS.map((t, i) => ( +
        0 ? "border-t border-line" : "") + } + > + + {t.name} + {t.role} +
        + ))} +
        + + + The Go/WASM kit uses these exact token names. A designer changes{" "} + surface once and both halves of the site move together — even + though one is Solid compiled by esbuild and the other is Go compiled to WebAssembly. + + +

        Where a variant is still needed

        +

        + Two things a re-pointed token cannot fix, so they are the only places the kit still carries a{" "} + dark: variant. +

        + +
        + + Coloured tints +

        + A red-50 wash is invisible on a near-black surface. An + alert's tint has to become a deep, transparent one — a different colour, not a + different value of the same one. +

        +
        + + Fills that invert +

        + The neutral button is dark on a light page and light on a dark one — so its label must + invert with it. text-white would disappear the moment + the fill went pale. Hence three tokens, not one. +

        +
        +
        + + +
        + Neutral (inverts) + White (a surface) + Primary (a fill) + solid + fills stay put +
        +
        + + + The theme class is applied by a ten-line script in the document head, before the stylesheet and + before any markup. The server cannot read localStorage, so it cannot know which theme to send; + if the class waited for the bundle, every dark-mode reader would get a white page and then have + it snatched away. It is the only hand-written JavaScript on the Go/WASM side of this site. + + + + + +`} + /> +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/public/PublicLayout.tsx b/go/cmd/kjol-web/frontend/src/pages/public/PublicLayout.tsx new file mode 100644 index 00000000..306e4957 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/public/PublicLayout.tsx @@ -0,0 +1,73 @@ +// The chrome around every server-rendered public page. +// +// The bundler's SSR entry is hardcoded to import { PublicLayout } from this exact +// path and to call it with { currentPath, children } — it is a contract, not a +// convention. The client takeover (public.tsx) wraps the same body in the same +// layout with the same currentPath, which is what makes the server markup and the +// post-takeover markup identical. If they diverged, the page would visibly rebuild +// itself the moment the bundle landed. +// +// Deliberately plain. This renders inside goja against a DOM shim at BUILD time, +// where there is no layout, no getBoundingClientRect and no window — so nothing in +// here may measure the page. That rules out the kit's floating components (Menu, +// Tooltip, Popover), which is why the Layers menu is a row of links here and a real +// menu everywhere else. + +import { JSXElement } from "solid-js"; + +export function PublicLayout(props: { currentPath: string; children?: JSXElement }) { + return ( + + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/public/Ssr.tsx b/go/cmd/kjol-web/frontend/src/pages/public/Ssr.tsx new file mode 100644 index 00000000..22bdf2a0 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/public/Ssr.tsx @@ -0,0 +1,77 @@ +// A server-rendered public page. +// +// The SPA under /js/* is client-only: the browser gets an empty #app and Solid fills +// it. That is fine for a docs section behind a click, and wrong for anything a search +// engine or a slow phone has to read. +// +// This page takes the other route. The bundler renders it at BUILD time — the real +// component, executed in goja against a DOM shim — and bakes the resulting HTML into +// a Go registry (internal/handlers/public_pages.gen.go). The server ships that HTML +// directly, so the page is complete before any JavaScript loads. The client bundle +// then re-renders the same component over the top and it becomes interactive. +// +// serverData() is what makes it more than a static file: the handler can inject data +// for a request, and the SAME component renders it — on the server at request time, +// and again in the browser after takeover, from the same inlined JSON. No refetch, no +// flash of a skeleton. + +import { serverData } from "@kjol/ssr/serverData.ts"; + +interface BuildInfo { + renderedAt: string; + stage: string; +} + +export function Ssr() { + // Read inside the reactive body, never captured at module load — the value has to + // be observed at render time, and there are three different render times. + const info = () => serverData(); + + return ( +
        +

        Kjol JS Web

        +

        + This page was rendered by Go +

        + +

        + Not by a Node renderer, and not in your browser. A Go program executed this Solid component + in an embedded JavaScript engine, serialized the DOM it produced, and compiled the result + into the server binary. View source: the markup arrived complete. +

        + + {/* No data → the skeleton. This is exactly what the build-time bake sees, because + the bake injects nothing; it is also what a crawler sees. With data injected at + request time, the same three lines render the real values instead. */} + {!info() ? ( +
        +
        +
        +
        + ) : ( +
        +
        +
        rendered at
        +
        {info()!.renderedAt}
        +
        +
        +
        stage
        +
        {info()!.stage}
        +
        +
        + )} + +

        + The skeleton above is the honest default. The bake runs with no data, so a component that + cannot render without data cannot be baked — which is a useful constraint to discover at build + time rather than in production. +

        + +

        + + Back to Kjol JS Web + +

        +
        + ); +} diff --git a/go/cmd/kjol-web/frontend/src/pages/public/pages.ts b/go/cmd/kjol-web/frontend/src/pages/public/pages.ts new file mode 100644 index 00000000..927b0631 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/public/pages.ts @@ -0,0 +1,30 @@ +// SINGLE SOURCE OF TRUTH for server-rendered public pages. +// +// Add an entry here, then write the component it points at, then run the bundler. +// It regenerates: +// - internal/handlers/public_pages.gen.go Go registry: route → + baked HTML +// - frontend/src/pages/public/routes.gen.ts client takeover map: route → component +// +// Both generated files are read back by code that is committed, so neither is +// optional — but neither is hand-edited either. + +export interface PublicPageDef { + path: string; // URL pathname + module: string; // component file, relative to frontend/src + component: string; // exported component name + title: string; // <title> text + dynamic?: boolean; // ISR: also bake the render bundle so the server can render + // this page with live data at request time +} + +export const publicPages: PublicPageDef[] = [ + { + path: "/js/ssr", + module: "pages/public/Ssr.tsx", + component: "Ssr", + title: "Server-rendered — Kjol JS Web", + // dynamic: the server may inject data for this route at request time, so bake + // the render bundle too, not just the static skeleton. + dynamic: true, + }, +]; diff --git a/go/cmd/kjol-web/frontend/src/pages/public/routes.gen.ts b/go/cmd/kjol-web/frontend/src/pages/public/routes.gen.ts new file mode 100644 index 00000000..23460ece --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/pages/public/routes.gen.ts @@ -0,0 +1,17 @@ +// Code generated by cmd/bundle; DO NOT EDIT. +// Source: frontend/src/pages/public/pages.ts + +import { JSXElement } from "solid-js"; +import { Ssr } from "./Ssr.tsx"; + +// Body component for each public route, keyed by URL pathname. The client +// router (public.ts) renders these when navigating without a full reload. +export const publicRoutes: Record<string, () => JSXElement> = { + "/js/ssr": Ssr, +}; + +// <title> for each public route, applied by the client router on navigation +// (the first load gets its title from the server-rendered shell). +export const publicTitles: Record<string, string> = { + "/js/ssr": "Server-rendered — Kjol JS Web", +}; diff --git a/go/cmd/kjol-web/frontend/src/public.tsx b/go/cmd/kjol-web/frontend/src/public.tsx new file mode 100644 index 00000000..3772b819 --- /dev/null +++ b/go/cmd/kjol-web/frontend/src/public.tsx @@ -0,0 +1,35 @@ +// Client takeover for the server-rendered public pages. +// +// The server ships each page's HTML inside #page-root — fast first paint, readable by +// a crawler, works with JavaScript off. This boots the same component and swaps it in, +// making the page interactive. +// +// It wraps the body in the SAME PublicLayout with the SAME currentPath the build-time +// bake used (see jsbundler/genssr.go: ssrEntrySolid). That is not tidiness — if the two +// trees differed, the page would visibly rebuild itself the instant this bundle landed. +// +// It is a re-render takeover, not attach-hydration: Solid renders the client tree into +// a detached node FIRST, then replaces #page-root's children in one step. The server +// markup stays on screen until identical client markup is ready to replace it, so there +// is no window in which the page is half-built. + +import { render } from "solid-js/web"; +import { PublicLayout } from "./pages/public/PublicLayout.tsx"; +import { publicRoutes } from "./pages/public/routes.gen.ts"; + +const root = document.getElementById("page-root"); +const path = window.location.pathname; +const Body = root ? publicRoutes[path] : undefined; + +if (root && Body) { + const staging = document.createElement(root.tagName); + render( + () => ( + <PublicLayout currentPath={path}> + <Body /> + </PublicLayout> + ), + staging, + ); + root.replaceChildren(...staging.childNodes); +} diff --git a/go/cmd/kjol-web/frontend/vendor/pdf-lib/dist/pdf-lib.esm.js b/go/cmd/kjol-web/frontend/vendor/pdf-lib/dist/pdf-lib.esm.js new file mode 100644 index 00000000..b1cdfd57 --- /dev/null +++ b/go/cmd/kjol-web/frontend/vendor/pdf-lib/dist/pdf-lib.esm.js @@ -0,0 +1,39404 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} + +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} + +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +} + +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +/* + * The `chars`, `lookup`, `encode`, and `decode` members of this file are + * licensed under the following: + * + * base64-arraybuffer + * https://github.com/niklasvh/base64-arraybuffer + * + * Copyright (c) 2012 Niklas von Hertzen + * Licensed under the MIT license. + * + */ +var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +// Use a lookup table to find the index. +var lookup = new Uint8Array(256); +for (var i = 0; i < chars.length; i++) { + lookup[chars.charCodeAt(i)] = i; +} +var encodeToBase64 = function (bytes) { + var base64 = ''; + var len = bytes.length; + for (var i = 0; i < len; i += 3) { + base64 += chars[bytes[i] >> 2]; + base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)]; + base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)]; + base64 += chars[bytes[i + 2] & 63]; + } + if (len % 3 === 2) { + base64 = base64.substring(0, base64.length - 1) + '='; + } + else if (len % 3 === 1) { + base64 = base64.substring(0, base64.length - 2) + '=='; + } + return base64; +}; +var decodeFromBase64 = function (base64) { + var bufferLength = base64.length * 0.75; + var len = base64.length; + var i; + var p = 0; + var encoded1; + var encoded2; + var encoded3; + var encoded4; + if (base64[base64.length - 1] === '=') { + bufferLength--; + if (base64[base64.length - 2] === '=') { + bufferLength--; + } + } + var bytes = new Uint8Array(bufferLength); + for (i = 0; i < len; i += 4) { + encoded1 = lookup[base64.charCodeAt(i)]; + encoded2 = lookup[base64.charCodeAt(i + 1)]; + encoded3 = lookup[base64.charCodeAt(i + 2)]; + encoded4 = lookup[base64.charCodeAt(i + 3)]; + bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); + bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); + bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); + } + return bytes; +}; +// This regex is designed to be as flexible as possible. It will parse certain +// invalid data URIs. +var DATA_URI_PREFIX_REGEX = /^(data)?:?([\w\/\+]+)?;?(charset=[\w-]+|base64)?.*,/i; +/** + * If the `dataUri` input is a data URI, then the data URI prefix must not be + * longer than 100 characters, or this function will fail to decode it. + * + * @param dataUri a base64 data URI or plain base64 string + * @returns a Uint8Array containing the decoded input + */ +var decodeFromBase64DataUri = function (dataUri) { + var trimmedUri = dataUri.trim(); + var prefix = trimmedUri.substring(0, 100); + var res = prefix.match(DATA_URI_PREFIX_REGEX); + // Assume it's not a data URI - just a plain base64 string + if (!res) + return decodeFromBase64(trimmedUri); + // Remove the data URI prefix and parse the remainder as a base64 string + var fullMatch = res[0]; + var data = trimmedUri.substring(fullMatch.length); + return decodeFromBase64(data); +}; + +var toCharCode = function (character) { return character.charCodeAt(0); }; +var toCodePoint = function (character) { return character.codePointAt(0); }; +var toHexStringOfMinLength = function (num, minLength) { + return padStart(num.toString(16), minLength, '0').toUpperCase(); +}; +var toHexString = function (num) { return toHexStringOfMinLength(num, 2); }; +var charFromCode = function (code) { return String.fromCharCode(code); }; +var charFromHexCode = function (hex) { return charFromCode(parseInt(hex, 16)); }; +var padStart = function (value, length, padChar) { + var padding = ''; + for (var idx = 0, len = length - value.length; idx < len; idx++) { + padding += padChar; + } + return padding + value; +}; +var copyStringIntoBuffer = function (str, buffer, offset) { + var length = str.length; + for (var idx = 0; idx < length; idx++) { + buffer[offset++] = str.charCodeAt(idx); + } + return length; +}; +var addRandomSuffix = function (prefix, suffixLength) { + if (suffixLength === void 0) { suffixLength = 4; } + return prefix + "-" + Math.floor(Math.random() * Math.pow(10, suffixLength)); +}; +var escapeRegExp = function (str) { + return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); +}; +var cleanText = function (text) { + return text.replace(/\t|\u0085|\u2028|\u2029/g, ' ').replace(/[\b\v]/g, ''); +}; +var escapedNewlineChars = ['\\n', '\\f', '\\r', '\\u000B']; +var newlineChars = ['\n', '\f', '\r', '\u000B']; +var isNewlineChar = function (text) { return /^[\n\f\r\u000B]$/.test(text); }; +var lineSplit = function (text) { return text.split(/[\n\f\r\u000B]/); }; +var mergeLines = function (text) { + return text.replace(/[\n\f\r\u000B]/g, ' '); +}; +// JavaScript's String.charAt() method doesn work on strings containing UTF-16 +// characters (with high and low surrogate pairs), such as 💩 (poo emoji). This +// `charAtIndex()` function does. +// +// Credit: https://github.com/mathiasbynens/String.prototype.at/blob/master/at.js#L14-L48 +var charAtIndex = function (text, index) { + // Get the first code unit and code unit value + var cuFirst = text.charCodeAt(index); + var cuSecond; + var nextIndex = index + 1; + var length = 1; + if ( + // Check if it's the start of a surrogate pair. + cuFirst >= 0xd800 && + cuFirst <= 0xdbff && // high surrogate + text.length > nextIndex // there is a next code unit + ) { + cuSecond = text.charCodeAt(nextIndex); + if (cuSecond >= 0xdc00 && cuSecond <= 0xdfff) + length = 2; // low surrogate + } + return [text.slice(index, index + length), length]; +}; +var charSplit = function (text) { + var chars = []; + for (var idx = 0, len = text.length; idx < len;) { + var _a = charAtIndex(text, idx), c = _a[0], cLen = _a[1]; + chars.push(c); + idx += cLen; + } + return chars; +}; +var buildWordBreakRegex = function (wordBreaks) { + var newlineCharUnion = escapedNewlineChars.join('|'); + var escapedRules = ['$']; + for (var idx = 0, len = wordBreaks.length; idx < len; idx++) { + var wordBreak = wordBreaks[idx]; + if (isNewlineChar(wordBreak)) { + throw new TypeError("`wordBreak` must not include " + newlineCharUnion); + } + escapedRules.push(wordBreak === '' ? '.' : escapeRegExp(wordBreak)); + } + var breakRules = escapedRules.join('|'); + return new RegExp("(" + newlineCharUnion + ")|((.*?)(" + breakRules + "))", 'gm'); +}; +var breakTextIntoLines = function (text, wordBreaks, maxWidth, computeWidthOfText) { + var regex = buildWordBreakRegex(wordBreaks); + var words = cleanText(text).match(regex); + var currLine = ''; + var currWidth = 0; + var lines = []; + var pushCurrLine = function () { + if (currLine !== '') + lines.push(currLine); + currLine = ''; + currWidth = 0; + }; + for (var idx = 0, len = words.length; idx < len; idx++) { + var word = words[idx]; + if (isNewlineChar(word)) { + pushCurrLine(); + } + else { + var width = computeWidthOfText(word); + if (currWidth + width > maxWidth) + pushCurrLine(); + currLine += word; + currWidth += width; + } + } + pushCurrLine(); + return lines; +}; +// See section "7.9.4 Dates" of the PDF specification +var dateRegex = /^D:(\d\d\d\d)(\d\d)?(\d\d)?(\d\d)?(\d\d)?(\d\d)?([+\-Z])?(\d\d)?'?(\d\d)?'?$/; +var parseDate = function (dateStr) { + var match = dateStr.match(dateRegex); + if (!match) + return undefined; + var year = match[1], _a = match[2], month = _a === void 0 ? '01' : _a, _b = match[3], day = _b === void 0 ? '01' : _b, _c = match[4], hours = _c === void 0 ? '00' : _c, _d = match[5], mins = _d === void 0 ? '00' : _d, _e = match[6], secs = _e === void 0 ? '00' : _e, _f = match[7], offsetSign = _f === void 0 ? 'Z' : _f, _g = match[8], offsetHours = _g === void 0 ? '00' : _g, _h = match[9], offsetMins = _h === void 0 ? '00' : _h; + // http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15 + var tzOffset = offsetSign === 'Z' ? 'Z' : "" + offsetSign + offsetHours + ":" + offsetMins; + var date = new Date(year + "-" + month + "-" + day + "T" + hours + ":" + mins + ":" + secs + tzOffset); + return date; +}; +var findLastMatch = function (value, regex) { + var _a; + var position = 0; + var lastMatch; + while (position < value.length) { + var match = value.substring(position).match(regex); + if (!match) + return { match: lastMatch, pos: position }; + lastMatch = match; + position += ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + match[0].length; + } + return { match: lastMatch, pos: position }; +}; + +var last = function (array) { return array[array.length - 1]; }; +// export const dropLast = <T>(array: T[]): T[] => +// array.slice(0, array.length - 1); +var typedArrayFor = function (value) { + if (value instanceof Uint8Array) + return value; + var length = value.length; + var typedArray = new Uint8Array(length); + for (var idx = 0; idx < length; idx++) { + typedArray[idx] = value.charCodeAt(idx); + } + return typedArray; +}; +var mergeIntoTypedArray = function () { + var arrays = []; + for (var _i = 0; _i < arguments.length; _i++) { + arrays[_i] = arguments[_i]; + } + var arrayCount = arrays.length; + var typedArrays = []; + for (var idx = 0; idx < arrayCount; idx++) { + var element = arrays[idx]; + typedArrays[idx] = + element instanceof Uint8Array ? element : typedArrayFor(element); + } + var totalSize = 0; + for (var idx = 0; idx < arrayCount; idx++) { + totalSize += arrays[idx].length; + } + var merged = new Uint8Array(totalSize); + var offset = 0; + for (var arrIdx = 0; arrIdx < arrayCount; arrIdx++) { + var arr = typedArrays[arrIdx]; + for (var byteIdx = 0, arrLen = arr.length; byteIdx < arrLen; byteIdx++) { + merged[offset++] = arr[byteIdx]; + } + } + return merged; +}; +var mergeUint8Arrays = function (arrays) { + var totalSize = 0; + for (var idx = 0, len = arrays.length; idx < len; idx++) { + totalSize += arrays[idx].length; + } + var mergedBuffer = new Uint8Array(totalSize); + var offset = 0; + for (var idx = 0, len = arrays.length; idx < len; idx++) { + var array = arrays[idx]; + mergedBuffer.set(array, offset); + offset += array.length; + } + return mergedBuffer; +}; +var arrayAsString = function (array) { + var str = ''; + for (var idx = 0, len = array.length; idx < len; idx++) { + str += charFromCode(array[idx]); + } + return str; +}; +var byAscendingId = function (a, b) { return a.id - b.id; }; +var sortedUniq = function (array, indexer) { + var uniq = []; + for (var idx = 0, len = array.length; idx < len; idx++) { + var curr = array[idx]; + var prev = array[idx - 1]; + if (idx === 0 || indexer(curr) !== indexer(prev)) { + uniq.push(curr); + } + } + return uniq; +}; +// Arrays and TypedArrays in JS both have .reverse() methods, which would seem +// to negate the need for this function. However, not all runtimes support this +// method (e.g. React Native). This function compensates for that fact. +var reverseArray = function (array) { + var arrayLen = array.length; + for (var idx = 0, len = Math.floor(arrayLen / 2); idx < len; idx++) { + var leftIdx = idx; + var rightIdx = arrayLen - idx - 1; + var temp = array[idx]; + array[leftIdx] = array[rightIdx]; + array[rightIdx] = temp; + } + return array; +}; +var sum = function (array) { + var total = 0; + for (var idx = 0, len = array.length; idx < len; idx++) { + total += array[idx]; + } + return total; +}; +var range = function (start, end) { + var arr = new Array(end - start); + for (var idx = 0, len = arr.length; idx < len; idx++) { + arr[idx] = start + idx; + } + return arr; +}; +var pluckIndices = function (arr, indices) { + var plucked = new Array(indices.length); + for (var idx = 0, len = indices.length; idx < len; idx++) { + plucked[idx] = arr[indices[idx]]; + } + return plucked; +}; +var canBeConvertedToUint8Array = function (input) { + return input instanceof Uint8Array || + input instanceof ArrayBuffer || + typeof input === 'string'; +}; +var toUint8Array = function (input) { + if (typeof input === 'string') { + return decodeFromBase64DataUri(input); + } + else if (input instanceof ArrayBuffer) { + return new Uint8Array(input); + } + else if (input instanceof Uint8Array) { + return input; + } + else { + throw new TypeError('`input` must be one of `string | ArrayBuffer | Uint8Array`'); + } +}; + +/** + * Returns a Promise that resolves after at least one tick of the + * Macro Task Queue occurs. + */ +var waitForTick = function () { + return new Promise(function (resolve) { + setTimeout(function () { return resolve(); }, 0); + }); +}; + +/** + * Encodes a string to UTF-8. + * + * @param input The string to be encoded. + * @param byteOrderMark Whether or not a byte order marker (BOM) should be added + * to the start of the encoding. (default `true`) + * @returns A Uint8Array containing the UTF-8 encoding of the input string. + * + * ----------------------------------------------------------------------------- + * + * JavaScript strings are composed of Unicode code points. Code points are + * integers in the range 0 to 1,114,111 (0x10FFFF). When serializing a string, + * it must be encoded as a sequence of words. A word is typically 8, 16, or 32 + * bytes in size. As such, Unicode defines three encoding forms: UTF-8, UTF-16, + * and UTF-32. These encoding forms are described in the Unicode standard [1]. + * This function implements the UTF-8 encoding form. + * + * ----------------------------------------------------------------------------- + * + * In UTF-8, each code point is mapped to a sequence of 1, 2, 3, or 4 bytes. + * Note that the logic which defines this mapping is slightly convoluted, and + * not as straightforward as the mapping logic for UTF-16 or UTF-32. The UTF-8 + * mapping logic is as follows [2]: + * + * • If a code point is in the range U+0000..U+007F, then view it as a 7-bit + * integer: 0bxxxxxxx. Map the code point to 1 byte with the first high order + * bit set to 0: + * + * b1=0b0xxxxxxx + * + * • If a code point is in the range U+0080..U+07FF, then view it as an 11-bit + * integer: 0byyyyyxxxxxx. Map the code point to 2 bytes with the first 5 bits + * of the code point stored in the first byte, and the last 6 bits stored in + * the second byte: + * + * b1=0b110yyyyy b2=0b10xxxxxx + * + * • If a code point is in the range U+0800..U+FFFF, then view it as a 16-bit + * integer, 0bzzzzyyyyyyxxxxxx. Map the code point to 3 bytes with the first + * 4 bits stored in the first byte, the next 6 bits stored in the second byte, + * and the last 6 bits in the third byte: + * + * b1=0b1110zzzz b2=0b10yyyyyy b3=0b10xxxxxx + * + * • If a code point is in the range U+10000...U+10FFFF, then view it as a + * 21-bit integer, 0bvvvzzzzzzyyyyyyxxxxxx. Map the code point to 4 bytes with + * the first 3 bits stored in the first byte, the next 6 bits stored in the + * second byte, the next 6 bits stored in the third byte, and the last 6 bits + * stored in the fourth byte: + * + * b1=0b11110xxx b2=0b10zzzzzz b3=0b10yyyyyy b4=0b10xxxxxx + * + * ----------------------------------------------------------------------------- + * + * It is important to note, when iterating through the code points of a string + * in JavaScript, that if a character is encoded as a surrogate pair it will + * increase the string's length by 2 instead of 1 [4]. For example: + * + * ``` + * > 'a'.length + * 1 + * > '💩'.length + * 2 + * > '語'.length + * 1 + * > 'a💩語'.length + * 4 + * ``` + * + * The results of the above example are explained by the fact that the + * characters 'a' and '語' are not represented by surrogate pairs, but '💩' is. + * + * Because of this idiosyncrasy in JavaScript's string implementation and APIs, + * we must "jump" an extra index after encoding a character as a surrogate + * pair. In practice, this means we must increment the index of our for loop by + * 2 if we encode a surrogate pair, and 1 in all other cases. + * + * ----------------------------------------------------------------------------- + * + * References: + * - [1] https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf + * 3.9 Unicode Encoding Forms - UTF-8 + * - [2] http://www.herongyang.com/Unicode/UTF-8-UTF-8-Encoding.html + * - [3] http://www.herongyang.com/Unicode/UTF-8-UTF-8-Encoding-Algorithm.html + * - [4] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length#Description + * + */ +var utf8Encode = function (input, byteOrderMark) { + if (byteOrderMark === void 0) { byteOrderMark = true; } + var encoded = []; + if (byteOrderMark) + encoded.push(0xef, 0xbb, 0xbf); + for (var idx = 0, len = input.length; idx < len;) { + var codePoint = input.codePointAt(idx); + // One byte encoding + if (codePoint < 0x80) { + var byte1 = codePoint & 0x7f; + encoded.push(byte1); + idx += 1; + } + // Two byte encoding + else if (codePoint < 0x0800) { + var byte1 = ((codePoint >> 6) & 0x1f) | 0xc0; + var byte2 = (codePoint & 0x3f) | 0x80; + encoded.push(byte1, byte2); + idx += 1; + } + // Three byte encoding + else if (codePoint < 0x010000) { + var byte1 = ((codePoint >> 12) & 0x0f) | 0xe0; + var byte2 = ((codePoint >> 6) & 0x3f) | 0x80; + var byte3 = (codePoint & 0x3f) | 0x80; + encoded.push(byte1, byte2, byte3); + idx += 1; + } + // Four byte encoding (surrogate pair) + else if (codePoint < 0x110000) { + var byte1 = ((codePoint >> 18) & 0x07) | 0xf0; + var byte2 = ((codePoint >> 12) & 0x3f) | 0x80; + var byte3 = ((codePoint >> 6) & 0x3f) | 0x80; + var byte4 = ((codePoint >> 0) & 0x3f) | 0x80; + encoded.push(byte1, byte2, byte3, byte4); + idx += 2; + } + // Should never reach this case + else + throw new Error("Invalid code point: 0x" + toHexString(codePoint)); + } + return new Uint8Array(encoded); +}; +/** + * Encodes a string to UTF-16. + * + * @param input The string to be encoded. + * @param byteOrderMark Whether or not a byte order marker (BOM) should be added + * to the start of the encoding. (default `true`) + * @returns A Uint16Array containing the UTF-16 encoding of the input string. + * + * ----------------------------------------------------------------------------- + * + * JavaScript strings are composed of Unicode code points. Code points are + * integers in the range 0 to 1,114,111 (0x10FFFF). When serializing a string, + * it must be encoded as a sequence of words. A word is typically 8, 16, or 32 + * bytes in size. As such, Unicode defines three encoding forms: UTF-8, UTF-16, + * and UTF-32. These encoding forms are described in the Unicode standard [1]. + * This function implements the UTF-16 encoding form. + * + * ----------------------------------------------------------------------------- + * + * In UTF-16, each code point is mapped to one or two 16-bit integers. The + * UTF-16 mapping logic is as follows [2]: + * + * • If a code point is in the range U+0000..U+FFFF, then map the code point to + * a 16-bit integer with the most significant byte first. + * + * • If a code point is in the range U+10000..U+10000, then map the code point + * to two 16-bit integers. The first integer should contain the high surrogate + * and the second integer should contain the low surrogate. Both surrogates + * should be written with the most significant byte first. + * + * ----------------------------------------------------------------------------- + * + * It is important to note, when iterating through the code points of a string + * in JavaScript, that if a character is encoded as a surrogate pair it will + * increase the string's length by 2 instead of 1 [4]. For example: + * + * ``` + * > 'a'.length + * 1 + * > '💩'.length + * 2 + * > '語'.length + * 1 + * > 'a💩語'.length + * 4 + * ``` + * + * The results of the above example are explained by the fact that the + * characters 'a' and '語' are not represented by surrogate pairs, but '💩' is. + * + * Because of this idiosyncrasy in JavaScript's string implementation and APIs, + * we must "jump" an extra index after encoding a character as a surrogate + * pair. In practice, this means we must increment the index of our for loop by + * 2 if we encode a surrogate pair, and 1 in all other cases. + * + * ----------------------------------------------------------------------------- + * + * References: + * - [1] https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf + * 3.9 Unicode Encoding Forms - UTF-8 + * - [2] http://www.herongyang.com/Unicode/UTF-16-UTF-16-Encoding.html + * - [3] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length#Description + * + */ +var utf16Encode = function (input, byteOrderMark) { + if (byteOrderMark === void 0) { byteOrderMark = true; } + var encoded = []; + if (byteOrderMark) + encoded.push(0xfeff); + for (var idx = 0, len = input.length; idx < len;) { + var codePoint = input.codePointAt(idx); + // Two byte encoding + if (codePoint < 0x010000) { + encoded.push(codePoint); + idx += 1; + } + // Four byte encoding (surrogate pair) + else if (codePoint < 0x110000) { + encoded.push(highSurrogate(codePoint), lowSurrogate(codePoint)); + idx += 2; + } + // Should never reach this case + else + throw new Error("Invalid code point: 0x" + toHexString(codePoint)); + } + return new Uint16Array(encoded); +}; +/** + * Returns `true` if the `codePoint` is within the + * Basic Multilingual Plane (BMP). Code points inside the BMP are not encoded + * with surrogate pairs. + * @param codePoint The code point to be evaluated. + * + * Reference: https://en.wikipedia.org/wiki/UTF-16#Description + */ +var isWithinBMP = function (codePoint) { + return codePoint >= 0 && codePoint <= 0xffff; +}; +/** + * Returns `true` if the given `codePoint` is valid and must be represented + * with a surrogate pair when encoded. + * @param codePoint The code point to be evaluated. + * + * Reference: https://en.wikipedia.org/wiki/UTF-16#Description + */ +var hasSurrogates = function (codePoint) { + return codePoint >= 0x010000 && codePoint <= 0x10ffff; +}; +// From Unicode 3.0 spec, section 3.7: +// http://unicode.org/versions/Unicode3.0.0/ch03.pdf +var highSurrogate = function (codePoint) { + return Math.floor((codePoint - 0x10000) / 0x400) + 0xd800; +}; +// From Unicode 3.0 spec, section 3.7: +// http://unicode.org/versions/Unicode3.0.0/ch03.pdf +var lowSurrogate = function (codePoint) { + return ((codePoint - 0x10000) % 0x400) + 0xdc00; +}; +var ByteOrder; +(function (ByteOrder) { + ByteOrder["BigEndian"] = "BigEndian"; + ByteOrder["LittleEndian"] = "LittleEndian"; +})(ByteOrder || (ByteOrder = {})); +var REPLACEMENT = '�'.codePointAt(0); +/** + * Decodes a Uint8Array of data to a string using UTF-16. + * + * Note that this function attempts to recover from erronous input by + * inserting the replacement character (�) to mark invalid code points + * and surrogate pairs. + * + * @param input A Uint8Array containing UTF-16 encoded data + * @param byteOrderMark Whether or not a byte order marker (BOM) should be read + * at the start of the encoding. (default `true`) + * @returns The decoded string. + */ +var utf16Decode = function (input, byteOrderMark) { + if (byteOrderMark === void 0) { byteOrderMark = true; } + // Need at least 2 bytes of data in UTF-16 encodings + if (input.length <= 1) + return String.fromCodePoint(REPLACEMENT); + var byteOrder = byteOrderMark ? readBOM(input) : ByteOrder.BigEndian; + // Skip byte order mark if needed + var idx = byteOrderMark ? 2 : 0; + var codePoints = []; + while (input.length - idx >= 2) { + var first = decodeValues(input[idx++], input[idx++], byteOrder); + if (isHighSurrogate(first)) { + if (input.length - idx < 2) { + // Need at least 2 bytes left for the low surrogate that is required + codePoints.push(REPLACEMENT); + } + else { + var second = decodeValues(input[idx++], input[idx++], byteOrder); + if (isLowSurrogate(second)) { + codePoints.push(first, second); + } + else { + // Low surrogates should always follow high surrogates + codePoints.push(REPLACEMENT); + } + } + } + else if (isLowSurrogate(first)) { + // High surrogates should always come first since `decodeValues()` + // accounts for the byte ordering + idx += 2; + codePoints.push(REPLACEMENT); + } + else { + codePoints.push(first); + } + } + // There shouldn't be extra byte(s) left over + if (idx < input.length) + codePoints.push(REPLACEMENT); + return String.fromCodePoint.apply(String, codePoints); +}; +/** + * Returns `true` if the given `codePoint` is a high surrogate. + * @param codePoint The code point to be evaluated. + * + * Reference: https://en.wikipedia.org/wiki/UTF-16#Description + */ +var isHighSurrogate = function (codePoint) { + return codePoint >= 0xd800 && codePoint <= 0xdbff; +}; +/** + * Returns `true` if the given `codePoint` is a low surrogate. + * @param codePoint The code point to be evaluated. + * + * Reference: https://en.wikipedia.org/wiki/UTF-16#Description + */ +var isLowSurrogate = function (codePoint) { + return codePoint >= 0xdc00 && codePoint <= 0xdfff; +}; +/** + * Decodes the given utf-16 values first and second using the specified + * byte order. + * @param first The first byte of the encoding. + * @param second The second byte of the encoding. + * @param byteOrder The byte order of the encoding. + * Reference: https://en.wikipedia.org/wiki/UTF-16#Examples + */ +var decodeValues = function (first, second, byteOrder) { + // Append the binary representation of the preceding byte by shifting the + // first one 8 to the left and than applying a bitwise or-operator to append + // the second one. + if (byteOrder === ByteOrder.LittleEndian) + return (second << 8) | first; + if (byteOrder === ByteOrder.BigEndian) + return (first << 8) | second; + throw new Error("Invalid byteOrder: " + byteOrder); +}; +/** + * Returns whether the given array contains a byte order mark for the + * UTF-16BE or UTF-16LE encoding. If it has neither, BigEndian is assumed. + * + * Reference: https://en.wikipedia.org/wiki/Byte_order_mark#UTF-16 + * + * @param bytes The byte array to be evaluated. + */ +// prettier-ignore +var readBOM = function (bytes) { return (hasUtf16BigEndianBOM(bytes) ? ByteOrder.BigEndian + : hasUtf16LittleEndianBOM(bytes) ? ByteOrder.LittleEndian + : ByteOrder.BigEndian); }; +var hasUtf16BigEndianBOM = function (bytes) { + return bytes[0] === 0xfe && bytes[1] === 0xff; +}; +var hasUtf16LittleEndianBOM = function (bytes) { + return bytes[0] === 0xff && bytes[1] === 0xfe; +}; +var hasUtf16BOM = function (bytes) { + return hasUtf16BigEndianBOM(bytes) || hasUtf16LittleEndianBOM(bytes); +}; + +// tslint:disable radix +/** + * Converts a number to its string representation in decimal. This function + * differs from simply converting a number to a string with `.toString()` + * because this function's output string will **not** contain exponential + * notation. + * + * Credit: https://stackoverflow.com/a/46545519 + */ +var numberToString = function (num) { + var numStr = String(num); + if (Math.abs(num) < 1.0) { + var e = parseInt(num.toString().split('e-')[1]); + if (e) { + var negative = num < 0; + if (negative) + num *= -1; + num *= Math.pow(10, e - 1); + numStr = '0.' + new Array(e).join('0') + num.toString().substring(2); + if (negative) + numStr = '-' + numStr; + } + } + else { + var e = parseInt(num.toString().split('+')[1]); + if (e > 20) { + e -= 20; + num /= Math.pow(10, e); + numStr = num.toString() + new Array(e + 1).join('0'); + } + } + return numStr; +}; +var sizeInBytes = function (n) { return Math.ceil(n.toString(2).length / 8); }; +/** + * Converts a number into its constituent bytes and returns them as + * a number[]. + * + * Returns most significant byte as first element in array. It may be necessary + * to call .reverse() to get the bits in the desired order. + * + * Example: + * bytesFor(0x02A41E) => [ 0b10, 0b10100100, 0b11110 ] + * + * Credit for algorithm: https://stackoverflow.com/a/1936865 + */ +var bytesFor = function (n) { + var bytes = new Uint8Array(sizeInBytes(n)); + for (var i = 1; i <= bytes.length; i++) { + bytes[i - 1] = n >> ((bytes.length - i) * 8); + } + return bytes; +}; + +var error = function (msg) { + throw new Error(msg); +}; + +function createCommonjsModule(fn, basedir, module) { + return module = { + path: basedir, + exports: {}, + require: function (path, base) { + return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); + } + }, fn(module, module.exports), module.exports; +} + +function commonjsRequire () { + throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); +} + +var common = createCommonjsModule(function (module, exports) { + + +var TYPED_OK = (typeof Uint8Array !== 'undefined') && + (typeof Uint16Array !== 'undefined') && + (typeof Int32Array !== 'undefined'); + +function _has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +exports.assign = function (obj /*from1, from2, from3, ...*/) { + var sources = Array.prototype.slice.call(arguments, 1); + while (sources.length) { + var source = sources.shift(); + if (!source) { continue; } + + if (typeof source !== 'object') { + throw new TypeError(source + 'must be non-object'); + } + + for (var p in source) { + if (_has(source, p)) { + obj[p] = source[p]; + } + } + } + + return obj; +}; + + +// reduce buffer size, avoiding mem copy +exports.shrinkBuf = function (buf, size) { + if (buf.length === size) { return buf; } + if (buf.subarray) { return buf.subarray(0, size); } + buf.length = size; + return buf; +}; + + +var fnTyped = { + arraySet: function (dest, src, src_offs, len, dest_offs) { + if (src.subarray && dest.subarray) { + dest.set(src.subarray(src_offs, src_offs + len), dest_offs); + return; + } + // Fallback to ordinary array + for (var i = 0; i < len; i++) { + dest[dest_offs + i] = src[src_offs + i]; + } + }, + // Join array of chunks to single array. + flattenChunks: function (chunks) { + var i, l, len, pos, chunk, result; + + // calculate data length + len = 0; + for (i = 0, l = chunks.length; i < l; i++) { + len += chunks[i].length; + } + + // join chunks + result = new Uint8Array(len); + pos = 0; + for (i = 0, l = chunks.length; i < l; i++) { + chunk = chunks[i]; + result.set(chunk, pos); + pos += chunk.length; + } + + return result; + } +}; + +var fnUntyped = { + arraySet: function (dest, src, src_offs, len, dest_offs) { + for (var i = 0; i < len; i++) { + dest[dest_offs + i] = src[src_offs + i]; + } + }, + // Join array of chunks to single array. + flattenChunks: function (chunks) { + return [].concat.apply([], chunks); + } +}; + + +// Enable/Disable typed arrays use, for testing +// +exports.setTyped = function (on) { + if (on) { + exports.Buf8 = Uint8Array; + exports.Buf16 = Uint16Array; + exports.Buf32 = Int32Array; + exports.assign(exports, fnTyped); + } else { + exports.Buf8 = Array; + exports.Buf16 = Array; + exports.Buf32 = Array; + exports.assign(exports, fnUntyped); + } +}; + +exports.setTyped(TYPED_OK); +}); + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +/* eslint-disable space-unary-ops */ + + + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +//var Z_FILTERED = 1; +//var Z_HUFFMAN_ONLY = 2; +//var Z_RLE = 3; +var Z_FIXED = 4; +//var Z_DEFAULT_STRATEGY = 0; + +/* Possible values of the data_type field (though see inflate()) */ +var Z_BINARY = 0; +var Z_TEXT = 1; +//var Z_ASCII = 1; // = Z_TEXT +var Z_UNKNOWN = 2; + +/*============================================================================*/ + + +function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } + +// From zutil.h + +var STORED_BLOCK = 0; +var STATIC_TREES = 1; +var DYN_TREES = 2; +/* The three kinds of block type */ + +var MIN_MATCH = 3; +var MAX_MATCH = 258; +/* The minimum and maximum match lengths */ + +// From deflate.h +/* =========================================================================== + * Internal compression state. + */ + +var LENGTH_CODES = 29; +/* number of length codes, not counting the special END_BLOCK code */ + +var LITERALS = 256; +/* number of literal bytes 0..255 */ + +var L_CODES = LITERALS + 1 + LENGTH_CODES; +/* number of Literal or Length codes, including the END_BLOCK code */ + +var D_CODES = 30; +/* number of distance codes */ + +var BL_CODES = 19; +/* number of codes used to transfer the bit lengths */ + +var HEAP_SIZE = 2 * L_CODES + 1; +/* maximum heap size */ + +var MAX_BITS = 15; +/* All codes must not exceed MAX_BITS bits */ + +var Buf_size = 16; +/* size of bit buffer in bi_buf */ + + +/* =========================================================================== + * Constants + */ + +var MAX_BL_BITS = 7; +/* Bit length codes must not exceed MAX_BL_BITS bits */ + +var END_BLOCK = 256; +/* end of block literal code */ + +var REP_3_6 = 16; +/* repeat previous bit length 3-6 times (2 bits of repeat count) */ + +var REPZ_3_10 = 17; +/* repeat a zero length 3-10 times (3 bits of repeat count) */ + +var REPZ_11_138 = 18; +/* repeat a zero length 11-138 times (7 bits of repeat count) */ + +/* eslint-disable comma-spacing,array-bracket-spacing */ +var extra_lbits = /* extra bits for each length code */ + [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]; + +var extra_dbits = /* extra bits for each distance code */ + [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]; + +var extra_blbits = /* extra bits for each bit length code */ + [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]; + +var bl_order = + [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]; +/* eslint-enable comma-spacing,array-bracket-spacing */ + +/* The lengths of the bit length codes are sent in order of decreasing + * probability, to avoid transmitting the lengths for unused bit length codes. + */ + +/* =========================================================================== + * Local data. These are initialized only once. + */ + +// We pre-fill arrays with 0 to avoid uninitialized gaps + +var DIST_CODE_LEN = 512; /* see definition of array dist_code below */ + +// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1 +var static_ltree = new Array((L_CODES + 2) * 2); +zero(static_ltree); +/* The static literal tree. Since the bit lengths are imposed, there is no + * need for the L_CODES extra codes used during heap construction. However + * The codes 286 and 287 are needed to build a canonical tree (see _tr_init + * below). + */ + +var static_dtree = new Array(D_CODES * 2); +zero(static_dtree); +/* The static distance tree. (Actually a trivial tree since all codes use + * 5 bits.) + */ + +var _dist_code = new Array(DIST_CODE_LEN); +zero(_dist_code); +/* Distance codes. The first 256 values correspond to the distances + * 3 .. 258, the last 256 values correspond to the top 8 bits of + * the 15 bit distances. + */ + +var _length_code = new Array(MAX_MATCH - MIN_MATCH + 1); +zero(_length_code); +/* length code for each normalized match length (0 == MIN_MATCH) */ + +var base_length = new Array(LENGTH_CODES); +zero(base_length); +/* First normalized length for each code (0 = MIN_MATCH) */ + +var base_dist = new Array(D_CODES); +zero(base_dist); +/* First normalized distance for each code (0 = distance of 1) */ + + +function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) { + + this.static_tree = static_tree; /* static tree or NULL */ + this.extra_bits = extra_bits; /* extra bits for each code or NULL */ + this.extra_base = extra_base; /* base index for extra_bits */ + this.elems = elems; /* max number of elements in the tree */ + this.max_length = max_length; /* max bit length for the codes */ + + // show if `static_tree` has data or dummy - needed for monomorphic objects + this.has_stree = static_tree && static_tree.length; +} + + +var static_l_desc; +var static_d_desc; +var static_bl_desc; + + +function TreeDesc(dyn_tree, stat_desc) { + this.dyn_tree = dyn_tree; /* the dynamic tree */ + this.max_code = 0; /* largest code with non zero frequency */ + this.stat_desc = stat_desc; /* the corresponding static tree */ +} + + + +function d_code(dist) { + return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)]; +} + + +/* =========================================================================== + * Output a short LSB first on the stream. + * IN assertion: there is enough room in pendingBuf. + */ +function put_short(s, w) { +// put_byte(s, (uch)((w) & 0xff)); +// put_byte(s, (uch)((ush)(w) >> 8)); + s.pending_buf[s.pending++] = (w) & 0xff; + s.pending_buf[s.pending++] = (w >>> 8) & 0xff; +} + + +/* =========================================================================== + * Send a value on a given number of bits. + * IN assertion: length <= 16 and value fits in length bits. + */ +function send_bits(s, value, length) { + if (s.bi_valid > (Buf_size - length)) { + s.bi_buf |= (value << s.bi_valid) & 0xffff; + put_short(s, s.bi_buf); + s.bi_buf = value >> (Buf_size - s.bi_valid); + s.bi_valid += length - Buf_size; + } else { + s.bi_buf |= (value << s.bi_valid) & 0xffff; + s.bi_valid += length; + } +} + + +function send_code(s, c, tree) { + send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/); +} + + +/* =========================================================================== + * Reverse the first len bits of a code, using straightforward code (a faster + * method would use a table) + * IN assertion: 1 <= len <= 15 + */ +function bi_reverse(code, len) { + var res = 0; + do { + res |= code & 1; + code >>>= 1; + res <<= 1; + } while (--len > 0); + return res >>> 1; +} + + +/* =========================================================================== + * Flush the bit buffer, keeping at most 7 bits in it. + */ +function bi_flush(s) { + if (s.bi_valid === 16) { + put_short(s, s.bi_buf); + s.bi_buf = 0; + s.bi_valid = 0; + + } else if (s.bi_valid >= 8) { + s.pending_buf[s.pending++] = s.bi_buf & 0xff; + s.bi_buf >>= 8; + s.bi_valid -= 8; + } +} + + +/* =========================================================================== + * Compute the optimal bit lengths for a tree and update the total bit length + * for the current block. + * IN assertion: the fields freq and dad are set, heap[heap_max] and + * above are the tree nodes sorted by increasing frequency. + * OUT assertions: the field len is set to the optimal bit length, the + * array bl_count contains the frequencies for each bit length. + * The length opt_len is updated; static_len is also updated if stree is + * not null. + */ +function gen_bitlen(s, desc) +// deflate_state *s; +// tree_desc *desc; /* the tree descriptor */ +{ + var tree = desc.dyn_tree; + var max_code = desc.max_code; + var stree = desc.stat_desc.static_tree; + var has_stree = desc.stat_desc.has_stree; + var extra = desc.stat_desc.extra_bits; + var base = desc.stat_desc.extra_base; + var max_length = desc.stat_desc.max_length; + var h; /* heap index */ + var n, m; /* iterate over the tree elements */ + var bits; /* bit length */ + var xbits; /* extra bits */ + var f; /* frequency */ + var overflow = 0; /* number of elements with bit length too large */ + + for (bits = 0; bits <= MAX_BITS; bits++) { + s.bl_count[bits] = 0; + } + + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ + tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */ + + for (h = s.heap_max + 1; h < HEAP_SIZE; h++) { + n = s.heap[h]; + bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1; + if (bits > max_length) { + bits = max_length; + overflow++; + } + tree[n * 2 + 1]/*.Len*/ = bits; + /* We overwrite tree[n].Dad which is no longer needed */ + + if (n > max_code) { continue; } /* not a leaf node */ + + s.bl_count[bits]++; + xbits = 0; + if (n >= base) { + xbits = extra[n - base]; + } + f = tree[n * 2]/*.Freq*/; + s.opt_len += f * (bits + xbits); + if (has_stree) { + s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits); + } + } + if (overflow === 0) { return; } + + // Trace((stderr,"\nbit length overflow\n")); + /* This happens for example on obj2 and pic of the Calgary corpus */ + + /* Find the first bit length which could increase: */ + do { + bits = max_length - 1; + while (s.bl_count[bits] === 0) { bits--; } + s.bl_count[bits]--; /* move one leaf down the tree */ + s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */ + s.bl_count[max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ + overflow -= 2; + } while (overflow > 0); + + /* Now recompute all bit lengths, scanning in increasing frequency. + * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all + * lengths instead of fixing only the wrong ones. This idea is taken + * from 'ar' written by Haruhiko Okumura.) + */ + for (bits = max_length; bits !== 0; bits--) { + n = s.bl_count[bits]; + while (n !== 0) { + m = s.heap[--h]; + if (m > max_code) { continue; } + if (tree[m * 2 + 1]/*.Len*/ !== bits) { + // Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); + s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/; + tree[m * 2 + 1]/*.Len*/ = bits; + } + n--; + } + } +} + + +/* =========================================================================== + * Generate the codes for a given tree and bit counts (which need not be + * optimal). + * IN assertion: the array bl_count contains the bit length statistics for + * the given tree and the field len is set for all tree elements. + * OUT assertion: the field code is set for all tree elements of non + * zero code length. + */ +function gen_codes(tree, max_code, bl_count) +// ct_data *tree; /* the tree to decorate */ +// int max_code; /* largest code with non zero frequency */ +// ushf *bl_count; /* number of codes at each bit length */ +{ + var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */ + var code = 0; /* running code value */ + var bits; /* bit index */ + var n; /* code index */ + + /* The distribution counts are first used to generate the code values + * without bit reversal. + */ + for (bits = 1; bits <= MAX_BITS; bits++) { + next_code[bits] = code = (code + bl_count[bits - 1]) << 1; + } + /* Check that the bit counts in bl_count are consistent. The last code + * must be all ones. + */ + //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1, + // "inconsistent bit counts"); + //Tracev((stderr,"\ngen_codes: max_code %d ", max_code)); + + for (n = 0; n <= max_code; n++) { + var len = tree[n * 2 + 1]/*.Len*/; + if (len === 0) { continue; } + /* Now reverse the bits */ + tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len); + + //Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ", + // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1)); + } +} + + +/* =========================================================================== + * Initialize the various 'constant' tables. + */ +function tr_static_init() { + var n; /* iterates over tree elements */ + var bits; /* bit counter */ + var length; /* length value */ + var code; /* code value */ + var dist; /* distance index */ + var bl_count = new Array(MAX_BITS + 1); + /* number of codes at each bit length for an optimal tree */ + + // do check in _tr_init() + //if (static_init_done) return; + + /* For some embedded targets, global variables are not initialized: */ +/*#ifdef NO_INIT_GLOBAL_POINTERS + static_l_desc.static_tree = static_ltree; + static_l_desc.extra_bits = extra_lbits; + static_d_desc.static_tree = static_dtree; + static_d_desc.extra_bits = extra_dbits; + static_bl_desc.extra_bits = extra_blbits; +#endif*/ + + /* Initialize the mapping length (0..255) -> length code (0..28) */ + length = 0; + for (code = 0; code < LENGTH_CODES - 1; code++) { + base_length[code] = length; + for (n = 0; n < (1 << extra_lbits[code]); n++) { + _length_code[length++] = code; + } + } + //Assert (length == 256, "tr_static_init: length != 256"); + /* Note that the length 255 (match length 258) can be represented + * in two different ways: code 284 + 5 bits or code 285, so we + * overwrite length_code[255] to use the best encoding: + */ + _length_code[length - 1] = code; + + /* Initialize the mapping dist (0..32K) -> dist code (0..29) */ + dist = 0; + for (code = 0; code < 16; code++) { + base_dist[code] = dist; + for (n = 0; n < (1 << extra_dbits[code]); n++) { + _dist_code[dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: dist != 256"); + dist >>= 7; /* from now on, all distances are divided by 128 */ + for (; code < D_CODES; code++) { + base_dist[code] = dist << 7; + for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) { + _dist_code[256 + dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: 256+dist != 512"); + + /* Construct the codes of the static literal tree */ + for (bits = 0; bits <= MAX_BITS; bits++) { + bl_count[bits] = 0; + } + + n = 0; + while (n <= 143) { + static_ltree[n * 2 + 1]/*.Len*/ = 8; + n++; + bl_count[8]++; + } + while (n <= 255) { + static_ltree[n * 2 + 1]/*.Len*/ = 9; + n++; + bl_count[9]++; + } + while (n <= 279) { + static_ltree[n * 2 + 1]/*.Len*/ = 7; + n++; + bl_count[7]++; + } + while (n <= 287) { + static_ltree[n * 2 + 1]/*.Len*/ = 8; + n++; + bl_count[8]++; + } + /* Codes 286 and 287 do not exist, but we must include them in the + * tree construction to get a canonical Huffman tree (longest code + * all ones) + */ + gen_codes(static_ltree, L_CODES + 1, bl_count); + + /* The static distance tree is trivial: */ + for (n = 0; n < D_CODES; n++) { + static_dtree[n * 2 + 1]/*.Len*/ = 5; + static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5); + } + + // Now data ready and we can init static trees + static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS); + static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS); + static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS); + + //static_init_done = true; +} + + +/* =========================================================================== + * Initialize a new block. + */ +function init_block(s) { + var n; /* iterates over tree elements */ + + /* Initialize the trees. */ + for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; } + for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; } + for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; } + + s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1; + s.opt_len = s.static_len = 0; + s.last_lit = s.matches = 0; +} + + +/* =========================================================================== + * Flush the bit buffer and align the output on a byte boundary + */ +function bi_windup(s) +{ + if (s.bi_valid > 8) { + put_short(s, s.bi_buf); + } else if (s.bi_valid > 0) { + //put_byte(s, (Byte)s->bi_buf); + s.pending_buf[s.pending++] = s.bi_buf; + } + s.bi_buf = 0; + s.bi_valid = 0; +} + +/* =========================================================================== + * Copy a stored block, storing first the length and its + * one's complement if requested. + */ +function copy_block(s, buf, len, header) +//DeflateState *s; +//charf *buf; /* the input data */ +//unsigned len; /* its length */ +//int header; /* true if block header must be written */ +{ + bi_windup(s); /* align on byte boundary */ + + if (header) { + put_short(s, len); + put_short(s, ~len); + } +// while (len--) { +// put_byte(s, *buf++); +// } + common.arraySet(s.pending_buf, s.window, buf, len, s.pending); + s.pending += len; +} + +/* =========================================================================== + * Compares to subtrees, using the tree depth as tie breaker when + * the subtrees have equal frequency. This minimizes the worst case length. + */ +function smaller(tree, n, m, depth) { + var _n2 = n * 2; + var _m2 = m * 2; + return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ || + (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m])); +} + +/* =========================================================================== + * Restore the heap property by moving down the tree starting at node k, + * exchanging a node with the smallest of its two sons if necessary, stopping + * when the heap property is re-established (each father smaller than its + * two sons). + */ +function pqdownheap(s, tree, k) +// deflate_state *s; +// ct_data *tree; /* the tree to restore */ +// int k; /* node to move down */ +{ + var v = s.heap[k]; + var j = k << 1; /* left son of k */ + while (j <= s.heap_len) { + /* Set j to the smallest of the two sons: */ + if (j < s.heap_len && + smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) { + j++; + } + /* Exit if v is smaller than both sons */ + if (smaller(tree, v, s.heap[j], s.depth)) { break; } + + /* Exchange v with the smallest son */ + s.heap[k] = s.heap[j]; + k = j; + + /* And continue down the tree, setting j to the left son of k */ + j <<= 1; + } + s.heap[k] = v; +} + + +// inlined manually +// var SMALLEST = 1; + +/* =========================================================================== + * Send the block data compressed using the given Huffman trees + */ +function compress_block(s, ltree, dtree) +// deflate_state *s; +// const ct_data *ltree; /* literal tree */ +// const ct_data *dtree; /* distance tree */ +{ + var dist; /* distance of matched string */ + var lc; /* match length or unmatched char (if dist == 0) */ + var lx = 0; /* running index in l_buf */ + var code; /* the code to send */ + var extra; /* number of extra bits to send */ + + if (s.last_lit !== 0) { + do { + dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]); + lc = s.pending_buf[s.l_buf + lx]; + lx++; + + if (dist === 0) { + send_code(s, lc, ltree); /* send a literal byte */ + //Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + /* Here, lc is the match length - MIN_MATCH */ + code = _length_code[lc]; + send_code(s, code + LITERALS + 1, ltree); /* send the length code */ + extra = extra_lbits[code]; + if (extra !== 0) { + lc -= base_length[code]; + send_bits(s, lc, extra); /* send the extra length bits */ + } + dist--; /* dist is now the match distance - 1 */ + code = d_code(dist); + //Assert (code < D_CODES, "bad d_code"); + + send_code(s, code, dtree); /* send the distance code */ + extra = extra_dbits[code]; + if (extra !== 0) { + dist -= base_dist[code]; + send_bits(s, dist, extra); /* send the extra distance bits */ + } + } /* literal or match pair ? */ + + /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ + //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, + // "pendingBuf overflow"); + + } while (lx < s.last_lit); + } + + send_code(s, END_BLOCK, ltree); +} + + +/* =========================================================================== + * Construct one Huffman tree and assigns the code bit strings and lengths. + * Update the total bit length for the current block. + * IN assertion: the field freq is set for all tree elements. + * OUT assertions: the fields len and code are set to the optimal bit length + * and corresponding code. The length opt_len is updated; static_len is + * also updated if stree is not null. The field max_code is set. + */ +function build_tree(s, desc) +// deflate_state *s; +// tree_desc *desc; /* the tree descriptor */ +{ + var tree = desc.dyn_tree; + var stree = desc.stat_desc.static_tree; + var has_stree = desc.stat_desc.has_stree; + var elems = desc.stat_desc.elems; + var n, m; /* iterate over heap elements */ + var max_code = -1; /* largest code with non zero frequency */ + var node; /* new node being created */ + + /* Construct the initial heap, with least frequent element in + * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. + * heap[0] is not used. + */ + s.heap_len = 0; + s.heap_max = HEAP_SIZE; + + for (n = 0; n < elems; n++) { + if (tree[n * 2]/*.Freq*/ !== 0) { + s.heap[++s.heap_len] = max_code = n; + s.depth[n] = 0; + + } else { + tree[n * 2 + 1]/*.Len*/ = 0; + } + } + + /* The pkzip format requires that at least one distance code exists, + * and that at least one bit should be sent even if there is only one + * possible code. So to avoid special checks later on we force at least + * two codes of non zero frequency. + */ + while (s.heap_len < 2) { + node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0); + tree[node * 2]/*.Freq*/ = 1; + s.depth[node] = 0; + s.opt_len--; + + if (has_stree) { + s.static_len -= stree[node * 2 + 1]/*.Len*/; + } + /* node is 0 or 1 so it does not have extra bits */ + } + desc.max_code = max_code; + + /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, + * establish sub-heaps of increasing lengths: + */ + for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); } + + /* Construct the Huffman tree by repeatedly combining the least two + * frequent nodes. + */ + node = elems; /* next internal node of the tree */ + do { + //pqremove(s, tree, n); /* n = node of least frequency */ + /*** pqremove ***/ + n = s.heap[1/*SMALLEST*/]; + s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--]; + pqdownheap(s, tree, 1/*SMALLEST*/); + /***/ + + m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */ + + s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */ + s.heap[--s.heap_max] = m; + + /* Create a new node father of n and m */ + tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/; + s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; + tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node; + + /* and insert the new node in the heap */ + s.heap[1/*SMALLEST*/] = node++; + pqdownheap(s, tree, 1/*SMALLEST*/); + + } while (s.heap_len >= 2); + + s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. + */ + gen_bitlen(s, desc); + + /* The field len is now set, we can generate the bit codes */ + gen_codes(tree, max_code, s.bl_count); +} + + +/* =========================================================================== + * Scan a literal or distance tree to determine the frequencies of the codes + * in the bit length tree. + */ +function scan_tree(s, tree, max_code) +// deflate_state *s; +// ct_data *tree; /* the tree to be scanned */ +// int max_code; /* and its largest code of non zero frequency */ +{ + var n; /* iterates over all tree elements */ + var prevlen = -1; /* last emitted length */ + var curlen; /* length of current code */ + + var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ + + var count = 0; /* repeat count of the current code */ + var max_count = 7; /* max repeat count */ + var min_count = 4; /* min repeat count */ + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */ + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; + + if (++count < max_count && curlen === nextlen) { + continue; + + } else if (count < min_count) { + s.bl_tree[curlen * 2]/*.Freq*/ += count; + + } else if (curlen !== 0) { + + if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; } + s.bl_tree[REP_3_6 * 2]/*.Freq*/++; + + } else if (count <= 10) { + s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++; + + } else { + s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++; + } + + count = 0; + prevlen = curlen; + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + + } else { + max_count = 7; + min_count = 4; + } + } +} + + +/* =========================================================================== + * Send a literal or distance tree in compressed form, using the codes in + * bl_tree. + */ +function send_tree(s, tree, max_code) +// deflate_state *s; +// ct_data *tree; /* the tree to be scanned */ +// int max_code; /* and its largest code of non zero frequency */ +{ + var n; /* iterates over all tree elements */ + var prevlen = -1; /* last emitted length */ + var curlen; /* length of current code */ + + var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ + + var count = 0; /* repeat count of the current code */ + var max_count = 7; /* max repeat count */ + var min_count = 4; /* min repeat count */ + + /* tree[max_code+1].Len = -1; */ /* guard already set */ + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; + + if (++count < max_count && curlen === nextlen) { + continue; + + } else if (count < min_count) { + do { send_code(s, curlen, s.bl_tree); } while (--count !== 0); + + } else if (curlen !== 0) { + if (curlen !== prevlen) { + send_code(s, curlen, s.bl_tree); + count--; + } + //Assert(count >= 3 && count <= 6, " 3_6?"); + send_code(s, REP_3_6, s.bl_tree); + send_bits(s, count - 3, 2); + + } else if (count <= 10) { + send_code(s, REPZ_3_10, s.bl_tree); + send_bits(s, count - 3, 3); + + } else { + send_code(s, REPZ_11_138, s.bl_tree); + send_bits(s, count - 11, 7); + } + + count = 0; + prevlen = curlen; + if (nextlen === 0) { + max_count = 138; + min_count = 3; + + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + + } else { + max_count = 7; + min_count = 4; + } + } +} + + +/* =========================================================================== + * Construct the Huffman tree for the bit lengths and return the index in + * bl_order of the last bit length code to send. + */ +function build_bl_tree(s) { + var max_blindex; /* index of last bit length code of non zero freq */ + + /* Determine the bit length frequencies for literal and distance trees */ + scan_tree(s, s.dyn_ltree, s.l_desc.max_code); + scan_tree(s, s.dyn_dtree, s.d_desc.max_code); + + /* Build the bit length tree: */ + build_tree(s, s.bl_desc); + /* opt_len now includes the length of the tree representations, except + * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. + */ + + /* Determine the number of bit length codes to send. The pkzip format + * requires that at least 4 bit length codes be sent. (appnote.txt says + * 3 but the actual value used is 4.) + */ + for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) { + if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) { + break; + } + } + /* Update opt_len to include the bit length tree and counts */ + s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; + //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", + // s->opt_len, s->static_len)); + + return max_blindex; +} + + +/* =========================================================================== + * Send the header for a block using dynamic Huffman trees: the counts, the + * lengths of the bit length codes, the literal tree and the distance tree. + * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. + */ +function send_all_trees(s, lcodes, dcodes, blcodes) +// deflate_state *s; +// int lcodes, dcodes, blcodes; /* number of codes for each tree */ +{ + var rank; /* index in bl_order */ + + //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); + //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, + // "too many codes"); + //Tracev((stderr, "\nbl counts: ")); + send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */ + send_bits(s, dcodes - 1, 5); + send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */ + for (rank = 0; rank < blcodes; rank++) { + //Tracev((stderr, "\nbl code %2d ", bl_order[rank])); + send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3); + } + //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); + + send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */ + //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); + + send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */ + //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); +} + + +/* =========================================================================== + * Check if the data type is TEXT or BINARY, using the following algorithm: + * - TEXT if the two conditions below are satisfied: + * a) There are no non-portable control characters belonging to the + * "black list" (0..6, 14..25, 28..31). + * b) There is at least one printable character belonging to the + * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). + * - BINARY otherwise. + * - The following partially-portable control characters form a + * "gray list" that is ignored in this detection algorithm: + * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). + * IN assertion: the fields Freq of dyn_ltree are set. + */ +function detect_data_type(s) { + /* black_mask is the bit mask of black-listed bytes + * set bits 0..6, 14..25, and 28..31 + * 0xf3ffc07f = binary 11110011111111111100000001111111 + */ + var black_mask = 0xf3ffc07f; + var n; + + /* Check for non-textual ("black-listed") bytes. */ + for (n = 0; n <= 31; n++, black_mask >>>= 1) { + if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) { + return Z_BINARY; + } + } + + /* Check for textual ("white-listed") bytes. */ + if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 || + s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) { + return Z_TEXT; + } + for (n = 32; n < LITERALS; n++) { + if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) { + return Z_TEXT; + } + } + + /* There are no "black-listed" or "white-listed" bytes: + * this stream either is empty or has tolerated ("gray-listed") bytes only. + */ + return Z_BINARY; +} + + +var static_init_done = false; + +/* =========================================================================== + * Initialize the tree data structures for a new zlib stream. + */ +function _tr_init(s) +{ + + if (!static_init_done) { + tr_static_init(); + static_init_done = true; + } + + s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc); + s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc); + s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc); + + s.bi_buf = 0; + s.bi_valid = 0; + + /* Initialize the first block of the first file: */ + init_block(s); +} + + +/* =========================================================================== + * Send a stored block + */ +function _tr_stored_block(s, buf, stored_len, last) +//DeflateState *s; +//charf *buf; /* input block */ +//ulg stored_len; /* length of input block */ +//int last; /* one if this is the last block for a file */ +{ + send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */ + copy_block(s, buf, stored_len, true); /* with header */ +} + + +/* =========================================================================== + * Send one empty static block to give enough lookahead for inflate. + * This takes 10 bits, of which 7 may remain in the bit buffer. + */ +function _tr_align(s) { + send_bits(s, STATIC_TREES << 1, 3); + send_code(s, END_BLOCK, static_ltree); + bi_flush(s); +} + + +/* =========================================================================== + * Determine the best encoding for the current block: dynamic trees, static + * trees or store, and output the encoded block to the zip file. + */ +function _tr_flush_block(s, buf, stored_len, last) +//DeflateState *s; +//charf *buf; /* input block, or NULL if too old */ +//ulg stored_len; /* length of input block */ +//int last; /* one if this is the last block for a file */ +{ + var opt_lenb, static_lenb; /* opt_len and static_len in bytes */ + var max_blindex = 0; /* index of last bit length code of non zero freq */ + + /* Build the Huffman trees unless a stored block is forced */ + if (s.level > 0) { + + /* Check if the file is binary or text */ + if (s.strm.data_type === Z_UNKNOWN) { + s.strm.data_type = detect_data_type(s); + } + + /* Construct the literal and distance trees */ + build_tree(s, s.l_desc); + // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + + build_tree(s, s.d_desc); + // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + /* At this point, opt_len and static_len are the total bit lengths of + * the compressed block data, excluding the tree representations. + */ + + /* Build the bit length tree for the above two trees, and get the index + * in bl_order of the last bit length code to send. + */ + max_blindex = build_bl_tree(s); + + /* Determine the best encoding. Compute the block lengths in bytes. */ + opt_lenb = (s.opt_len + 3 + 7) >>> 3; + static_lenb = (s.static_len + 3 + 7) >>> 3; + + // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", + // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, + // s->last_lit)); + + if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; } + + } else { + // Assert(buf != (char*)0, "lost buf"); + opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ + } + + if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) { + /* 4: two words for the lengths */ + + /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. + * Otherwise we can't have processed more than WSIZE input bytes since + * the last block flush, because compression would have been + * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to + * transform a block into a stored block. + */ + _tr_stored_block(s, buf, stored_len, last); + + } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) { + + send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3); + compress_block(s, static_ltree, static_dtree); + + } else { + send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3); + send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); + compress_block(s, s.dyn_ltree, s.dyn_dtree); + } + // Assert (s->compressed_len == s->bits_sent, "bad compressed size"); + /* The above check is made mod 2^32, for files larger than 512 MB + * and uLong implemented on 32 bits. + */ + init_block(s); + + if (last) { + bi_windup(s); + } + // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, + // s->compressed_len-7*last)); +} + +/* =========================================================================== + * Save the match info and tally the frequency counts. Return true if + * the current block must be flushed. + */ +function _tr_tally(s, dist, lc) +// deflate_state *s; +// unsigned dist; /* distance of matched string */ +// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ +{ + //var out_length, in_length, dcode; + + s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff; + s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff; + + s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff; + s.last_lit++; + + if (dist === 0) { + /* lc is the unmatched char */ + s.dyn_ltree[lc * 2]/*.Freq*/++; + } else { + s.matches++; + /* Here, lc is the match length - MIN_MATCH */ + dist--; /* dist = match distance - 1 */ + //Assert((ush)dist < (ush)MAX_DIST(s) && + // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && + // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); + + s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++; + s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++; + } + +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility + +//#ifdef TRUNCATE_BLOCK +// /* Try to guess if it is profitable to stop the current block here */ +// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) { +// /* Compute an upper bound for the compressed length */ +// out_length = s.last_lit*8; +// in_length = s.strstart - s.block_start; +// +// for (dcode = 0; dcode < D_CODES; dcode++) { +// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]); +// } +// out_length >>>= 3; +// //Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", +// // s->last_lit, in_length, out_length, +// // 100L - out_length*100L/in_length)); +// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) { +// return true; +// } +// } +//#endif + + return (s.last_lit === s.lit_bufsize - 1); + /* We avoid equality with lit_bufsize because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ +} + +var _tr_init_1 = _tr_init; +var _tr_stored_block_1 = _tr_stored_block; +var _tr_flush_block_1 = _tr_flush_block; +var _tr_tally_1 = _tr_tally; +var _tr_align_1 = _tr_align; + +var trees = { + _tr_init: _tr_init_1, + _tr_stored_block: _tr_stored_block_1, + _tr_flush_block: _tr_flush_block_1, + _tr_tally: _tr_tally_1, + _tr_align: _tr_align_1 +}; + +// Note: adler32 takes 12% for level 0 and 2% for level 6. +// It isn't worth it to make additional optimizations as in original. +// Small size is preferable. + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function adler32(adler, buf, len, pos) { + var s1 = (adler & 0xffff) |0, + s2 = ((adler >>> 16) & 0xffff) |0, + n = 0; + + while (len !== 0) { + // Set limit ~ twice less than 5552, to keep + // s2 in 31-bits, because we force signed ints. + // in other case %= will fail. + n = len > 2000 ? 2000 : len; + len -= n; + + do { + s1 = (s1 + buf[pos++]) |0; + s2 = (s2 + s1) |0; + } while (--n); + + s1 %= 65521; + s2 %= 65521; + } + + return (s1 | (s2 << 16)) |0; +} + + +var adler32_1 = adler32; + +// Note: we can't get significant speed boost here. +// So write code to minimize size - no pregenerated tables +// and array tools dependencies. + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +// Use ordinary array, since untyped makes no boost here +function makeTable() { + var c, table = []; + + for (var n = 0; n < 256; n++) { + c = n; + for (var k = 0; k < 8; k++) { + c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); + } + table[n] = c; + } + + return table; +} + +// Create table on load. Just 255 signed longs. Not a problem. +var crcTable = makeTable(); + + +function crc32(crc, buf, len, pos) { + var t = crcTable, + end = pos + len; + + crc ^= -1; + + for (var i = pos; i < end; i++) { + crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + + +var crc32_1 = crc32; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +var messages = { + 2: 'need dictionary', /* Z_NEED_DICT 2 */ + 1: 'stream end', /* Z_STREAM_END 1 */ + 0: '', /* Z_OK 0 */ + '-1': 'file error', /* Z_ERRNO (-1) */ + '-2': 'stream error', /* Z_STREAM_ERROR (-2) */ + '-3': 'data error', /* Z_DATA_ERROR (-3) */ + '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */ + '-5': 'buffer error', /* Z_BUF_ERROR (-5) */ + '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + + + + + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +/* Allowed flush values; see deflate() and inflate() below for details */ +var Z_NO_FLUSH = 0; +var Z_PARTIAL_FLUSH = 1; +//var Z_SYNC_FLUSH = 2; +var Z_FULL_FLUSH = 3; +var Z_FINISH = 4; +var Z_BLOCK = 5; +//var Z_TREES = 6; + + +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +var Z_OK = 0; +var Z_STREAM_END = 1; +//var Z_NEED_DICT = 2; +//var Z_ERRNO = -1; +var Z_STREAM_ERROR = -2; +var Z_DATA_ERROR = -3; +//var Z_MEM_ERROR = -4; +var Z_BUF_ERROR = -5; +//var Z_VERSION_ERROR = -6; + + +/* compression levels */ +//var Z_NO_COMPRESSION = 0; +//var Z_BEST_SPEED = 1; +//var Z_BEST_COMPRESSION = 9; +var Z_DEFAULT_COMPRESSION = -1; + + +var Z_FILTERED = 1; +var Z_HUFFMAN_ONLY = 2; +var Z_RLE = 3; +var Z_FIXED$1 = 4; +var Z_DEFAULT_STRATEGY = 0; + +/* Possible values of the data_type field (though see inflate()) */ +//var Z_BINARY = 0; +//var Z_TEXT = 1; +//var Z_ASCII = 1; // = Z_TEXT +var Z_UNKNOWN$1 = 2; + + +/* The deflate compression method */ +var Z_DEFLATED = 8; + +/*============================================================================*/ + + +var MAX_MEM_LEVEL = 9; +/* Maximum value for memLevel in deflateInit2 */ +var MAX_WBITS = 15; +/* 32K LZ77 window */ +var DEF_MEM_LEVEL = 8; + + +var LENGTH_CODES$1 = 29; +/* number of length codes, not counting the special END_BLOCK code */ +var LITERALS$1 = 256; +/* number of literal bytes 0..255 */ +var L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1; +/* number of Literal or Length codes, including the END_BLOCK code */ +var D_CODES$1 = 30; +/* number of distance codes */ +var BL_CODES$1 = 19; +/* number of codes used to transfer the bit lengths */ +var HEAP_SIZE$1 = 2 * L_CODES$1 + 1; +/* maximum heap size */ +var MAX_BITS$1 = 15; +/* All codes must not exceed MAX_BITS bits */ + +var MIN_MATCH$1 = 3; +var MAX_MATCH$1 = 258; +var MIN_LOOKAHEAD = (MAX_MATCH$1 + MIN_MATCH$1 + 1); + +var PRESET_DICT = 0x20; + +var INIT_STATE = 42; +var EXTRA_STATE = 69; +var NAME_STATE = 73; +var COMMENT_STATE = 91; +var HCRC_STATE = 103; +var BUSY_STATE = 113; +var FINISH_STATE = 666; + +var BS_NEED_MORE = 1; /* block not completed, need more input or more output */ +var BS_BLOCK_DONE = 2; /* block flush performed */ +var BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */ +var BS_FINISH_DONE = 4; /* finish done, accept no more input or output */ + +var OS_CODE = 0x03; // Unix :) . Don't detect, use this default. + +function err(strm, errorCode) { + strm.msg = messages[errorCode]; + return errorCode; +} + +function rank(f) { + return ((f) << 1) - ((f) > 4 ? 9 : 0); +} + +function zero$1(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } + + +/* ========================================================================= + * Flush as much pending output as possible. All deflate() output goes + * through this function so some applications may wish to modify it + * to avoid allocating a large strm->output buffer and copying into it. + * (See also read_buf()). + */ +function flush_pending(strm) { + var s = strm.state; + + //_tr_flush_bits(s); + var len = s.pending; + if (len > strm.avail_out) { + len = strm.avail_out; + } + if (len === 0) { return; } + + common.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out); + strm.next_out += len; + s.pending_out += len; + strm.total_out += len; + strm.avail_out -= len; + s.pending -= len; + if (s.pending === 0) { + s.pending_out = 0; + } +} + + +function flush_block_only(s, last) { + trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last); + s.block_start = s.strstart; + flush_pending(s.strm); +} + + +function put_byte(s, b) { + s.pending_buf[s.pending++] = b; +} + + +/* ========================================================================= + * Put a short in the pending buffer. The 16-bit value is put in MSB order. + * IN assertion: the stream state is correct and there is enough room in + * pending_buf. + */ +function putShortMSB(s, b) { +// put_byte(s, (Byte)(b >> 8)); +// put_byte(s, (Byte)(b & 0xff)); + s.pending_buf[s.pending++] = (b >>> 8) & 0xff; + s.pending_buf[s.pending++] = b & 0xff; +} + + +/* =========================================================================== + * Read a new buffer from the current input stream, update the adler32 + * and total number of bytes read. All deflate() input goes through + * this function so some applications may wish to modify it to avoid + * allocating a large strm->input buffer and copying from it. + * (See also flush_pending()). + */ +function read_buf(strm, buf, start, size) { + var len = strm.avail_in; + + if (len > size) { len = size; } + if (len === 0) { return 0; } + + strm.avail_in -= len; + + // zmemcpy(buf, strm->next_in, len); + common.arraySet(buf, strm.input, strm.next_in, len, start); + if (strm.state.wrap === 1) { + strm.adler = adler32_1(strm.adler, buf, len, start); + } + + else if (strm.state.wrap === 2) { + strm.adler = crc32_1(strm.adler, buf, len, start); + } + + strm.next_in += len; + strm.total_in += len; + + return len; +} + + +/* =========================================================================== + * Set match_start to the longest match starting at the given string and + * return its length. Matches shorter or equal to prev_length are discarded, + * in which case the result is equal to prev_length and match_start is + * garbage. + * IN assertions: cur_match is the head of the hash chain for the current + * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 + * OUT assertion: the match length is not greater than s->lookahead. + */ +function longest_match(s, cur_match) { + var chain_length = s.max_chain_length; /* max hash chain length */ + var scan = s.strstart; /* current string */ + var match; /* matched string */ + var len; /* length of current match */ + var best_len = s.prev_length; /* best match length so far */ + var nice_match = s.nice_match; /* stop if match long enough */ + var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ? + s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/; + + var _win = s.window; // shortcut + + var wmask = s.w_mask; + var prev = s.prev; + + /* Stop when cur_match becomes <= limit. To simplify the code, + * we prevent matches with the string of window index 0. + */ + + var strend = s.strstart + MAX_MATCH$1; + var scan_end1 = _win[scan + best_len - 1]; + var scan_end = _win[scan + best_len]; + + /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. + * It is easy to get rid of this optimization if necessary. + */ + // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); + + /* Do not waste too much time if we already have a good match: */ + if (s.prev_length >= s.good_match) { + chain_length >>= 2; + } + /* Do not look for matches beyond the end of the input. This is necessary + * to make deflate deterministic. + */ + if (nice_match > s.lookahead) { nice_match = s.lookahead; } + + // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); + + do { + // Assert(cur_match < s->strstart, "no future"); + match = cur_match; + + /* Skip to next match if the match length cannot increase + * or if the match length is less than 2. Note that the checks below + * for insufficient lookahead only occur occasionally for performance + * reasons. Therefore uninitialized memory will be accessed, and + * conditional jumps will be made that depend on those values. + * However the length of the match is limited to the lookahead, so + * the output of deflate is not affected by the uninitialized values. + */ + + if (_win[match + best_len] !== scan_end || + _win[match + best_len - 1] !== scan_end1 || + _win[match] !== _win[scan] || + _win[++match] !== _win[scan + 1]) { + continue; + } + + /* The check at best_len-1 can be removed because it will be made + * again later. (This heuristic is not always a win.) + * It is not necessary to compare scan[2] and match[2] since they + * are always equal when the other bytes match, given that + * the hash keys are equal and that HASH_BITS >= 8. + */ + scan += 2; + match++; + // Assert(*scan == *match, "match[2]?"); + + /* We check for insufficient lookahead only every 8th comparison; + * the 256th check will be made at strstart+258. + */ + do { + /*jshint noempty:false*/ + } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + scan < strend); + + // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); + + len = MAX_MATCH$1 - (strend - scan); + scan = strend - MAX_MATCH$1; + + if (len > best_len) { + s.match_start = cur_match; + best_len = len; + if (len >= nice_match) { + break; + } + scan_end1 = _win[scan + best_len - 1]; + scan_end = _win[scan + best_len]; + } + } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); + + if (best_len <= s.lookahead) { + return best_len; + } + return s.lookahead; +} + + +/* =========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead. + * + * IN assertion: lookahead < MIN_LOOKAHEAD + * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD + * At least one byte has been read, or avail_in == 0; reads are + * performed for at least two bytes (required for the zip translate_eol + * option -- not supported here). + */ +function fill_window(s) { + var _w_size = s.w_size; + var p, n, m, more, str; + + //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); + + do { + more = s.window_size - s.lookahead - s.strstart; + + // JS ints have 32 bit, block below not needed + /* Deal with !@#$% 64K limit: */ + //if (sizeof(int) <= 2) { + // if (more == 0 && s->strstart == 0 && s->lookahead == 0) { + // more = wsize; + // + // } else if (more == (unsigned)(-1)) { + // /* Very unlikely, but possible on 16 bit machine if + // * strstart == 0 && lookahead == 1 (input done a byte at time) + // */ + // more--; + // } + //} + + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) { + + common.arraySet(s.window, s.window, _w_size, _w_size, 0); + s.match_start -= _w_size; + s.strstart -= _w_size; + /* we now have strstart >= MAX_DIST */ + s.block_start -= _w_size; + + /* Slide the hash table (could be avoided with 32 bit values + at the expense of memory usage). We slide even when level == 0 + to keep the hash table consistent if we switch back to level > 0 + later. (Using level 0 permanently is not an optimal usage of + zlib, so we don't care about this pathological case.) + */ + + n = s.hash_size; + p = n; + do { + m = s.head[--p]; + s.head[p] = (m >= _w_size ? m - _w_size : 0); + } while (--n); + + n = _w_size; + p = n; + do { + m = s.prev[--p]; + s.prev[p] = (m >= _w_size ? m - _w_size : 0); + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + } while (--n); + + more += _w_size; + } + if (s.strm.avail_in === 0) { + break; + } + + /* If there was no sliding: + * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && + * more == window_size - lookahead - strstart + * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) + * => more >= window_size - 2*WSIZE + 2 + * In the BIG_MEM or MMAP case (not yet supported), + * window_size == input_size + MIN_LOOKAHEAD && + * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. + * Otherwise, window_size == 2*WSIZE so more >= 2. + * If there was sliding, more >= WSIZE. So in all cases, more >= 2. + */ + //Assert(more >= 2, "more < 2"); + n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more); + s.lookahead += n; + + /* Initialize the hash value now that we have some input: */ + if (s.lookahead + s.insert >= MIN_MATCH$1) { + str = s.strstart - s.insert; + s.ins_h = s.window[str]; + + /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask; +//#if MIN_MATCH != 3 +// Call update_hash() MIN_MATCH-3 more times +//#endif + while (s.insert) { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$1 - 1]) & s.hash_mask; + + s.prev[str & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = str; + str++; + s.insert--; + if (s.lookahead + s.insert < MIN_MATCH$1) { + break; + } + } + } + /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, + * but this is not important since only literal bytes will be emitted. + */ + + } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0); + + /* If the WIN_INIT bytes after the end of the current data have never been + * written, then zero those bytes in order to avoid memory check reports of + * the use of uninitialized (or uninitialised as Julian writes) bytes by + * the longest match routines. Update the high water mark for the next + * time through here. WIN_INIT is set to MAX_MATCH since the longest match + * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. + */ +// if (s.high_water < s.window_size) { +// var curr = s.strstart + s.lookahead; +// var init = 0; +// +// if (s.high_water < curr) { +// /* Previous high water mark below current data -- zero WIN_INIT +// * bytes or up to end of window, whichever is less. +// */ +// init = s.window_size - curr; +// if (init > WIN_INIT) +// init = WIN_INIT; +// zmemzero(s->window + curr, (unsigned)init); +// s->high_water = curr + init; +// } +// else if (s->high_water < (ulg)curr + WIN_INIT) { +// /* High water mark at or above current data, but below current data +// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up +// * to end of window, whichever is less. +// */ +// init = (ulg)curr + WIN_INIT - s->high_water; +// if (init > s->window_size - s->high_water) +// init = s->window_size - s->high_water; +// zmemzero(s->window + s->high_water, (unsigned)init); +// s->high_water += init; +// } +// } +// +// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, +// "not enough room for search"); +} + +/* =========================================================================== + * Copy without compression as much as possible from the input stream, return + * the current block state. + * This function does not insert new strings in the dictionary since + * uncompressible data is probably not useful. This function is used + * only for the level=0 compression option. + * NOTE: this function should be optimized to avoid extra copying from + * window to pending_buf. + */ +function deflate_stored(s, flush) { + /* Stored blocks are limited to 0xffff bytes, pending_buf is limited + * to pending_buf_size, and each stored block has a 5 byte header: + */ + var max_block_size = 0xffff; + + if (max_block_size > s.pending_buf_size - 5) { + max_block_size = s.pending_buf_size - 5; + } + + /* Copy as much as possible from input to output: */ + for (;;) { + /* Fill the window as much as possible: */ + if (s.lookahead <= 1) { + + //Assert(s->strstart < s->w_size+MAX_DIST(s) || + // s->block_start >= (long)s->w_size, "slide too late"); +// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) || +// s.block_start >= s.w_size)) { +// throw new Error("slide too late"); +// } + + fill_window(s); + if (s.lookahead === 0 && flush === Z_NO_FLUSH) { + return BS_NEED_MORE; + } + + if (s.lookahead === 0) { + break; + } + /* flush the current block */ + } + //Assert(s->block_start >= 0L, "block gone"); +// if (s.block_start < 0) throw new Error("block gone"); + + s.strstart += s.lookahead; + s.lookahead = 0; + + /* Emit a stored block if pending_buf will be full: */ + var max_start = s.block_start + max_block_size; + + if (s.strstart === 0 || s.strstart >= max_start) { + /* strstart == 0 is possible when wraparound on 16-bit machine */ + s.lookahead = s.strstart - max_start; + s.strstart = max_start; + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + + + } + /* Flush if we may have to slide, otherwise block_start may become + * negative and the data will be gone: + */ + if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + + s.insert = 0; + + if (flush === Z_FINISH) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + + if (s.strstart > s.block_start) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + + return BS_NEED_MORE; +} + +/* =========================================================================== + * Compress as much as possible from the input stream, return the current + * block state. + * This function does not perform lazy evaluation of matches and inserts + * new strings in the dictionary only for unmatched strings or for short + * matches. It is used only for the fast compression options. + */ +function deflate_fast(s, flush) { + var hash_head; /* head of the hash chain */ + var bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD) { + fill_window(s); + if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { + return BS_NEED_MORE; + } + if (s.lookahead === 0) { + break; /* flush the current block */ + } + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0/*NIL*/; + if (s.lookahead >= MIN_MATCH$1) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ + if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match(s, hash_head); + /* longest_match() sets match_start */ + } + if (s.match_length >= MIN_MATCH$1) { + // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only + + /*** _tr_tally_dist(s, s.strstart - s.match_start, + s.match_length - MIN_MATCH, bflush); ***/ + bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH$1); + + s.lookahead -= s.match_length; + + /* Insert new strings in the hash table only if the match length + * is not too large. This saves time but degrades compression. + */ + if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH$1) { + s.match_length--; /* string at strstart already in table */ + do { + s.strstart++; + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. + */ + } while (--s.match_length !== 0); + s.strstart++; + } else + { + s.strstart += s.match_length; + s.match_length = 0; + s.ins_h = s.window[s.strstart]; + /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask; + +//#if MIN_MATCH != 3 +// Call UPDATE_HASH() MIN_MATCH-3 more times +//#endif + /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not + * matter since it will be recomputed at next deflate call. + */ + } + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s.window[s.strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees._tr_tally(s, 0, s.window[s.strstart]); + + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + s.insert = ((s.strstart < (MIN_MATCH$1 - 1)) ? s.strstart : MIN_MATCH$1 - 1); + if (flush === Z_FINISH) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; +} + +/* =========================================================================== + * Same as above, but achieves better compression. We use a lazy + * evaluation for matches: a match is finally adopted only if there is + * no better match at the next window position. + */ +function deflate_slow(s, flush) { + var hash_head; /* head of hash chain */ + var bflush; /* set if current block must be flushed */ + + var max_insert; + + /* Process the input block. */ + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD) { + fill_window(s); + if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) { + return BS_NEED_MORE; + } + if (s.lookahead === 0) { break; } /* flush the current block */ + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0/*NIL*/; + if (s.lookahead >= MIN_MATCH$1) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + */ + s.prev_length = s.match_length; + s.prev_match = s.match_start; + s.match_length = MIN_MATCH$1 - 1; + + if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match && + s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match(s, hash_head); + /* longest_match() sets match_start */ + + if (s.match_length <= 5 && + (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH$1 && s.strstart - s.match_start > 4096/*TOO_FAR*/))) { + + /* If prev_match is also MIN_MATCH, match_start is garbage + * but we will ignore the current match anyway. + */ + s.match_length = MIN_MATCH$1 - 1; + } + } + /* If there was a match at the previous step and the current + * match is not better, output the previous match: + */ + if (s.prev_length >= MIN_MATCH$1 && s.match_length <= s.prev_length) { + max_insert = s.strstart + s.lookahead - MIN_MATCH$1; + /* Do not insert strings in hash table beyond this. */ + + //check_match(s, s.strstart-1, s.prev_match, s.prev_length); + + /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match, + s.prev_length - MIN_MATCH, bflush);***/ + bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH$1); + /* Insert in hash table all strings up to the end of the match. + * strstart-1 and strstart are already inserted. If there is not + * enough lookahead, the last two strings are not inserted in + * the hash table. + */ + s.lookahead -= s.prev_length - 1; + s.prev_length -= 2; + do { + if (++s.strstart <= max_insert) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + } while (--s.prev_length !== 0); + s.match_available = 0; + s.match_length = MIN_MATCH$1 - 1; + s.strstart++; + + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + + } else if (s.match_available) { + /* If there was no match at the previous position, output a + * single literal. If there was a match but the current match + * is longer, truncate the previous match to a single literal. + */ + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); + + if (bflush) { + /*** FLUSH_BLOCK_ONLY(s, 0) ***/ + flush_block_only(s, false); + /***/ + } + s.strstart++; + s.lookahead--; + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + } else { + /* There is no previous match to compare with, wait for + * the next step to decide. + */ + s.match_available = 1; + s.strstart++; + s.lookahead--; + } + } + //Assert (flush != Z_NO_FLUSH, "no flush?"); + if (s.match_available) { + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]); + + s.match_available = 0; + } + s.insert = s.strstart < MIN_MATCH$1 - 1 ? s.strstart : MIN_MATCH$1 - 1; + if (flush === Z_FINISH) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + + return BS_BLOCK_DONE; +} + + +/* =========================================================================== + * For Z_RLE, simply look for runs of bytes, generate matches only of distance + * one. Do not maintain a hash table. (It will be regenerated if this run of + * deflate switches away from Z_RLE.) + */ +function deflate_rle(s, flush) { + var bflush; /* set if current block must be flushed */ + var prev; /* byte at distance one to match */ + var scan, strend; /* scan goes up to strend for length of run */ + + var _win = s.window; + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the longest run, plus one for the unrolled loop. + */ + if (s.lookahead <= MAX_MATCH$1) { + fill_window(s); + if (s.lookahead <= MAX_MATCH$1 && flush === Z_NO_FLUSH) { + return BS_NEED_MORE; + } + if (s.lookahead === 0) { break; } /* flush the current block */ + } + + /* See how many times the previous byte repeats */ + s.match_length = 0; + if (s.lookahead >= MIN_MATCH$1 && s.strstart > 0) { + scan = s.strstart - 1; + prev = _win[scan]; + if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { + strend = s.strstart + MAX_MATCH$1; + do { + /*jshint noempty:false*/ + } while (prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + scan < strend); + s.match_length = MAX_MATCH$1 - (strend - scan); + if (s.match_length > s.lookahead) { + s.match_length = s.lookahead; + } + } + //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); + } + + /* Emit match if have run of MIN_MATCH or longer, else emit literal */ + if (s.match_length >= MIN_MATCH$1) { + //check_match(s, s.strstart, s.strstart - 1, s.match_length); + + /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/ + bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH$1); + + s.lookahead -= s.match_length; + s.strstart += s.match_length; + s.match_length = 0; + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees._tr_tally(s, 0, s.window[s.strstart]); + + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; +} + +/* =========================================================================== + * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. + * (It will be regenerated if this run of deflate switches away from Huffman.) + */ +function deflate_huff(s, flush) { + var bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we have a literal to write. */ + if (s.lookahead === 0) { + fill_window(s); + if (s.lookahead === 0) { + if (flush === Z_NO_FLUSH) { + return BS_NEED_MORE; + } + break; /* flush the current block */ + } + } + + /* Output a literal byte */ + s.match_length = 0; + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees._tr_tally(s, 0, s.window[s.strstart]); + s.lookahead--; + s.strstart++; + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; +} + +/* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ +function Config(good_length, max_lazy, nice_length, max_chain, func) { + this.good_length = good_length; + this.max_lazy = max_lazy; + this.nice_length = nice_length; + this.max_chain = max_chain; + this.func = func; +} + +var configuration_table; + +configuration_table = [ + /* good lazy nice chain */ + new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */ + new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */ + new Config(4, 5, 16, 8, deflate_fast), /* 2 */ + new Config(4, 6, 32, 32, deflate_fast), /* 3 */ + + new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */ + new Config(8, 16, 32, 32, deflate_slow), /* 5 */ + new Config(8, 16, 128, 128, deflate_slow), /* 6 */ + new Config(8, 32, 128, 256, deflate_slow), /* 7 */ + new Config(32, 128, 258, 1024, deflate_slow), /* 8 */ + new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */ +]; + + +/* =========================================================================== + * Initialize the "longest match" routines for a new zlib stream + */ +function lm_init(s) { + s.window_size = 2 * s.w_size; + + /*** CLEAR_HASH(s); ***/ + zero$1(s.head); // Fill with NIL (= 0); + + /* Set the default configuration parameters: + */ + s.max_lazy_match = configuration_table[s.level].max_lazy; + s.good_match = configuration_table[s.level].good_length; + s.nice_match = configuration_table[s.level].nice_length; + s.max_chain_length = configuration_table[s.level].max_chain; + + s.strstart = 0; + s.block_start = 0; + s.lookahead = 0; + s.insert = 0; + s.match_length = s.prev_length = MIN_MATCH$1 - 1; + s.match_available = 0; + s.ins_h = 0; +} + + +function DeflateState() { + this.strm = null; /* pointer back to this zlib stream */ + this.status = 0; /* as the name implies */ + this.pending_buf = null; /* output still pending */ + this.pending_buf_size = 0; /* size of pending_buf */ + this.pending_out = 0; /* next pending byte to output to the stream */ + this.pending = 0; /* nb of bytes in the pending buffer */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.gzhead = null; /* gzip header information to write */ + this.gzindex = 0; /* where in extra, name, or comment */ + this.method = Z_DEFLATED; /* can only be DEFLATED */ + this.last_flush = -1; /* value of flush param for previous deflate call */ + + this.w_size = 0; /* LZ77 window size (32K by default) */ + this.w_bits = 0; /* log2(w_size) (8..16) */ + this.w_mask = 0; /* w_size - 1 */ + + this.window = null; + /* Sliding window. Input bytes are read into the second half of the window, + * and move to the first half later to keep a dictionary of at least wSize + * bytes. With this organization, matches are limited to a distance of + * wSize-MAX_MATCH bytes, but this ensures that IO is always + * performed with a length multiple of the block size. + */ + + this.window_size = 0; + /* Actual size of window: 2*wSize, except when the user input buffer + * is directly used as sliding window. + */ + + this.prev = null; + /* Link to older string with same hash index. To limit the size of this + * array to 64K, this link is maintained only for the last 32K strings. + * An index in this array is thus a window index modulo 32K. + */ + + this.head = null; /* Heads of the hash chains or NIL. */ + + this.ins_h = 0; /* hash index of string to be inserted */ + this.hash_size = 0; /* number of elements in hash table */ + this.hash_bits = 0; /* log2(hash_size) */ + this.hash_mask = 0; /* hash_size-1 */ + + this.hash_shift = 0; + /* Number of bits by which ins_h must be shifted at each input + * step. It must be such that after MIN_MATCH steps, the oldest + * byte no longer takes part in the hash key, that is: + * hash_shift * MIN_MATCH >= hash_bits + */ + + this.block_start = 0; + /* Window position at the beginning of the current output block. Gets + * negative when the window is moved backwards. + */ + + this.match_length = 0; /* length of best match */ + this.prev_match = 0; /* previous match */ + this.match_available = 0; /* set if previous match exists */ + this.strstart = 0; /* start of string to insert */ + this.match_start = 0; /* start of matching string */ + this.lookahead = 0; /* number of valid bytes ahead in window */ + + this.prev_length = 0; + /* Length of the best match at previous step. Matches not greater than this + * are discarded. This is used in the lazy match evaluation. + */ + + this.max_chain_length = 0; + /* To speed up deflation, hash chains are never searched beyond this + * length. A higher limit improves compression ratio but degrades the + * speed. + */ + + this.max_lazy_match = 0; + /* Attempt to find a better match only when the current match is strictly + * smaller than this value. This mechanism is used only for compression + * levels >= 4. + */ + // That's alias to max_lazy_match, don't use directly + //this.max_insert_length = 0; + /* Insert new strings in the hash table only if the match length is not + * greater than this length. This saves time but degrades compression. + * max_insert_length is used only for compression levels <= 3. + */ + + this.level = 0; /* compression level (1..9) */ + this.strategy = 0; /* favor or force Huffman coding*/ + + this.good_match = 0; + /* Use a faster search when the previous match is longer than this */ + + this.nice_match = 0; /* Stop searching when current match exceeds this */ + + /* used by trees.c: */ + + /* Didn't use ct_data typedef below to suppress compiler warning */ + + // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ + // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ + // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ + + // Use flat array of DOUBLE size, with interleaved fata, + // because JS does not support effective + this.dyn_ltree = new common.Buf16(HEAP_SIZE$1 * 2); + this.dyn_dtree = new common.Buf16((2 * D_CODES$1 + 1) * 2); + this.bl_tree = new common.Buf16((2 * BL_CODES$1 + 1) * 2); + zero$1(this.dyn_ltree); + zero$1(this.dyn_dtree); + zero$1(this.bl_tree); + + this.l_desc = null; /* desc. for literal tree */ + this.d_desc = null; /* desc. for distance tree */ + this.bl_desc = null; /* desc. for bit length tree */ + + //ush bl_count[MAX_BITS+1]; + this.bl_count = new common.Buf16(MAX_BITS$1 + 1); + /* number of codes at each bit length for an optimal tree */ + + //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ + this.heap = new common.Buf16(2 * L_CODES$1 + 1); /* heap used to build the Huffman trees */ + zero$1(this.heap); + + this.heap_len = 0; /* number of elements in the heap */ + this.heap_max = 0; /* element of largest frequency */ + /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. + * The same heap array is used to build all trees. + */ + + this.depth = new common.Buf16(2 * L_CODES$1 + 1); //uch depth[2*L_CODES+1]; + zero$1(this.depth); + /* Depth of each subtree used as tie breaker for trees of equal frequency + */ + + this.l_buf = 0; /* buffer index for literals or lengths */ + + this.lit_bufsize = 0; + /* Size of match buffer for literals/lengths. There are 4 reasons for + * limiting lit_bufsize to 64K: + * - frequencies can be kept in 16 bit counters + * - if compression is not successful for the first block, all input + * data is still in the window so we can still emit a stored block even + * when input comes from standard input. (This can also be done for + * all blocks if lit_bufsize is not greater than 32K.) + * - if compression is not successful for a file smaller than 64K, we can + * even emit a stored file instead of a stored block (saving 5 bytes). + * This is applicable only for zip (not gzip or zlib). + * - creating new Huffman trees less frequently may not provide fast + * adaptation to changes in the input data statistics. (Take for + * example a binary file with poorly compressible code followed by + * a highly compressible string table.) Smaller buffer sizes give + * fast adaptation but have of course the overhead of transmitting + * trees more frequently. + * - I can't count above 4 + */ + + this.last_lit = 0; /* running index in l_buf */ + + this.d_buf = 0; + /* Buffer index for distances. To simplify the code, d_buf and l_buf have + * the same number of elements. To use different lengths, an extra flag + * array would be necessary. + */ + + this.opt_len = 0; /* bit length of current block with optimal trees */ + this.static_len = 0; /* bit length of current block with static trees */ + this.matches = 0; /* number of string matches in current block */ + this.insert = 0; /* bytes at end of window left to insert */ + + + this.bi_buf = 0; + /* Output buffer. bits are inserted starting at the bottom (least + * significant bits). + */ + this.bi_valid = 0; + /* Number of valid bits in bi_buf. All bits above the last valid bit + * are always zero. + */ + + // Used for window memory init. We safely ignore it for JS. That makes + // sense only for pointers and memory check tools. + //this.high_water = 0; + /* High water mark offset in window for initialized bytes -- bytes above + * this are set to zero in order to avoid memory check warnings when + * longest match routines access bytes past the input. This is then + * updated to the new high water mark. + */ +} + + +function deflateResetKeep(strm) { + var s; + + if (!strm || !strm.state) { + return err(strm, Z_STREAM_ERROR); + } + + strm.total_in = strm.total_out = 0; + strm.data_type = Z_UNKNOWN$1; + + s = strm.state; + s.pending = 0; + s.pending_out = 0; + + if (s.wrap < 0) { + s.wrap = -s.wrap; + /* was made negative by deflate(..., Z_FINISH); */ + } + s.status = (s.wrap ? INIT_STATE : BUSY_STATE); + strm.adler = (s.wrap === 2) ? + 0 // crc32(0, Z_NULL, 0) + : + 1; // adler32(0, Z_NULL, 0) + s.last_flush = Z_NO_FLUSH; + trees._tr_init(s); + return Z_OK; +} + + +function deflateReset(strm) { + var ret = deflateResetKeep(strm); + if (ret === Z_OK) { + lm_init(strm.state); + } + return ret; +} + + +function deflateSetHeader(strm, head) { + if (!strm || !strm.state) { return Z_STREAM_ERROR; } + if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; } + strm.state.gzhead = head; + return Z_OK; +} + + +function deflateInit2(strm, level, method, windowBits, memLevel, strategy) { + if (!strm) { // === Z_NULL + return Z_STREAM_ERROR; + } + var wrap = 1; + + if (level === Z_DEFAULT_COMPRESSION) { + level = 6; + } + + if (windowBits < 0) { /* suppress zlib wrapper */ + wrap = 0; + windowBits = -windowBits; + } + + else if (windowBits > 15) { + wrap = 2; /* write gzip wrapper instead */ + windowBits -= 16; + } + + + if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || + windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || + strategy < 0 || strategy > Z_FIXED$1) { + return err(strm, Z_STREAM_ERROR); + } + + + if (windowBits === 8) { + windowBits = 9; + } + /* until 256-byte window bug fixed */ + + var s = new DeflateState(); + + strm.state = s; + s.strm = strm; + + s.wrap = wrap; + s.gzhead = null; + s.w_bits = windowBits; + s.w_size = 1 << s.w_bits; + s.w_mask = s.w_size - 1; + + s.hash_bits = memLevel + 7; + s.hash_size = 1 << s.hash_bits; + s.hash_mask = s.hash_size - 1; + s.hash_shift = ~~((s.hash_bits + MIN_MATCH$1 - 1) / MIN_MATCH$1); + + s.window = new common.Buf8(s.w_size * 2); + s.head = new common.Buf16(s.hash_size); + s.prev = new common.Buf16(s.w_size); + + // Don't need mem init magic for JS. + //s.high_water = 0; /* nothing written to s->window yet */ + + s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ + + s.pending_buf_size = s.lit_bufsize * 4; + + //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); + //s->pending_buf = (uchf *) overlay; + s.pending_buf = new common.Buf8(s.pending_buf_size); + + // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`) + //s->d_buf = overlay + s->lit_bufsize/sizeof(ush); + s.d_buf = 1 * s.lit_bufsize; + + //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; + s.l_buf = (1 + 2) * s.lit_bufsize; + + s.level = level; + s.strategy = strategy; + s.method = method; + + return deflateReset(strm); +} + +function deflateInit(strm, level) { + return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY); +} + + +function deflate(strm, flush) { + var old_flush, s; + var beg, val; // for gzip header write only + + if (!strm || !strm.state || + flush > Z_BLOCK || flush < 0) { + return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR; + } + + s = strm.state; + + if (!strm.output || + (!strm.input && strm.avail_in !== 0) || + (s.status === FINISH_STATE && flush !== Z_FINISH)) { + return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR); + } + + s.strm = strm; /* just in case */ + old_flush = s.last_flush; + s.last_flush = flush; + + /* Write the header */ + if (s.status === INIT_STATE) { + + if (s.wrap === 2) { // GZIP header + strm.adler = 0; //crc32(0L, Z_NULL, 0); + put_byte(s, 31); + put_byte(s, 139); + put_byte(s, 8); + if (!s.gzhead) { // s->gzhead == Z_NULL + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, s.level === 9 ? 2 : + (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? + 4 : 0)); + put_byte(s, OS_CODE); + s.status = BUSY_STATE; + } + else { + put_byte(s, (s.gzhead.text ? 1 : 0) + + (s.gzhead.hcrc ? 2 : 0) + + (!s.gzhead.extra ? 0 : 4) + + (!s.gzhead.name ? 0 : 8) + + (!s.gzhead.comment ? 0 : 16) + ); + put_byte(s, s.gzhead.time & 0xff); + put_byte(s, (s.gzhead.time >> 8) & 0xff); + put_byte(s, (s.gzhead.time >> 16) & 0xff); + put_byte(s, (s.gzhead.time >> 24) & 0xff); + put_byte(s, s.level === 9 ? 2 : + (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? + 4 : 0)); + put_byte(s, s.gzhead.os & 0xff); + if (s.gzhead.extra && s.gzhead.extra.length) { + put_byte(s, s.gzhead.extra.length & 0xff); + put_byte(s, (s.gzhead.extra.length >> 8) & 0xff); + } + if (s.gzhead.hcrc) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending, 0); + } + s.gzindex = 0; + s.status = EXTRA_STATE; + } + } + else // DEFLATE header + { + var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8; + var level_flags = -1; + + if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) { + level_flags = 0; + } else if (s.level < 6) { + level_flags = 1; + } else if (s.level === 6) { + level_flags = 2; + } else { + level_flags = 3; + } + header |= (level_flags << 6); + if (s.strstart !== 0) { header |= PRESET_DICT; } + header += 31 - (header % 31); + + s.status = BUSY_STATE; + putShortMSB(s, header); + + /* Save the adler32 of the preset dictionary: */ + if (s.strstart !== 0) { + putShortMSB(s, strm.adler >>> 16); + putShortMSB(s, strm.adler & 0xffff); + } + strm.adler = 1; // adler32(0L, Z_NULL, 0); + } + } + +//#ifdef GZIP + if (s.status === EXTRA_STATE) { + if (s.gzhead.extra/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + + while (s.gzindex < (s.gzhead.extra.length & 0xffff)) { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + break; + } + } + put_byte(s, s.gzhead.extra[s.gzindex] & 0xff); + s.gzindex++; + } + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (s.gzindex === s.gzhead.extra.length) { + s.gzindex = 0; + s.status = NAME_STATE; + } + } + else { + s.status = NAME_STATE; + } + } + if (s.status === NAME_STATE) { + if (s.gzhead.name/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + //int val; + + do { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + val = 1; + break; + } + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.name.length) { + val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte(s, val); + } while (val !== 0); + + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (val === 0) { + s.gzindex = 0; + s.status = COMMENT_STATE; + } + } + else { + s.status = COMMENT_STATE; + } + } + if (s.status === COMMENT_STATE) { + if (s.gzhead.comment/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + //int val; + + do { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + val = 1; + break; + } + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.comment.length) { + val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte(s, val); + } while (val !== 0); + + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (val === 0) { + s.status = HCRC_STATE; + } + } + else { + s.status = HCRC_STATE; + } + } + if (s.status === HCRC_STATE) { + if (s.gzhead.hcrc) { + if (s.pending + 2 > s.pending_buf_size) { + flush_pending(strm); + } + if (s.pending + 2 <= s.pending_buf_size) { + put_byte(s, strm.adler & 0xff); + put_byte(s, (strm.adler >> 8) & 0xff); + strm.adler = 0; //crc32(0L, Z_NULL, 0); + s.status = BUSY_STATE; + } + } + else { + s.status = BUSY_STATE; + } + } +//#endif + + /* Flush as much pending output as possible */ + if (s.pending !== 0) { + flush_pending(strm); + if (strm.avail_out === 0) { + /* Since avail_out is 0, deflate will be called again with + * more output space, but possibly with both pending and + * avail_in equal to zero. There won't be anything to do, + * but this is not an error situation so make sure we + * return OK instead of BUF_ERROR at next call of deflate: + */ + s.last_flush = -1; + return Z_OK; + } + + /* Make sure there is something to do and avoid duplicate consecutive + * flushes. For repeated and useless calls with Z_FINISH, we keep + * returning Z_STREAM_END instead of Z_BUF_ERROR. + */ + } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && + flush !== Z_FINISH) { + return err(strm, Z_BUF_ERROR); + } + + /* User must not provide more input after the first FINISH: */ + if (s.status === FINISH_STATE && strm.avail_in !== 0) { + return err(strm, Z_BUF_ERROR); + } + + /* Start a new block or continue the current one. + */ + if (strm.avail_in !== 0 || s.lookahead !== 0 || + (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) { + var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) : + (s.strategy === Z_RLE ? deflate_rle(s, flush) : + configuration_table[s.level].func(s, flush)); + + if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) { + s.status = FINISH_STATE; + } + if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) { + if (strm.avail_out === 0) { + s.last_flush = -1; + /* avoid BUF_ERROR next call, see above */ + } + return Z_OK; + /* If flush != Z_NO_FLUSH && avail_out == 0, the next call + * of deflate should use the same flush parameter to make sure + * that the flush is complete. So we don't have to output an + * empty block here, this will be done at next call. This also + * ensures that for a very small output buffer, we emit at most + * one empty block. + */ + } + if (bstate === BS_BLOCK_DONE) { + if (flush === Z_PARTIAL_FLUSH) { + trees._tr_align(s); + } + else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */ + + trees._tr_stored_block(s, 0, 0, false); + /* For a full flush, this empty block will be recognized + * as a special marker by inflate_sync(). + */ + if (flush === Z_FULL_FLUSH) { + /*** CLEAR_HASH(s); ***/ /* forget history */ + zero$1(s.head); // Fill with NIL (= 0); + + if (s.lookahead === 0) { + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + } + } + flush_pending(strm); + if (strm.avail_out === 0) { + s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */ + return Z_OK; + } + } + } + //Assert(strm->avail_out > 0, "bug2"); + //if (strm.avail_out <= 0) { throw new Error("bug2");} + + if (flush !== Z_FINISH) { return Z_OK; } + if (s.wrap <= 0) { return Z_STREAM_END; } + + /* Write the trailer */ + if (s.wrap === 2) { + put_byte(s, strm.adler & 0xff); + put_byte(s, (strm.adler >> 8) & 0xff); + put_byte(s, (strm.adler >> 16) & 0xff); + put_byte(s, (strm.adler >> 24) & 0xff); + put_byte(s, strm.total_in & 0xff); + put_byte(s, (strm.total_in >> 8) & 0xff); + put_byte(s, (strm.total_in >> 16) & 0xff); + put_byte(s, (strm.total_in >> 24) & 0xff); + } + else + { + putShortMSB(s, strm.adler >>> 16); + putShortMSB(s, strm.adler & 0xffff); + } + + flush_pending(strm); + /* If avail_out is zero, the application will call deflate again + * to flush the rest. + */ + if (s.wrap > 0) { s.wrap = -s.wrap; } + /* write the trailer only once! */ + return s.pending !== 0 ? Z_OK : Z_STREAM_END; +} + +function deflateEnd(strm) { + var status; + + if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { + return Z_STREAM_ERROR; + } + + status = strm.state.status; + if (status !== INIT_STATE && + status !== EXTRA_STATE && + status !== NAME_STATE && + status !== COMMENT_STATE && + status !== HCRC_STATE && + status !== BUSY_STATE && + status !== FINISH_STATE + ) { + return err(strm, Z_STREAM_ERROR); + } + + strm.state = null; + + return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK; +} + + +/* ========================================================================= + * Initializes the compression dictionary from the given byte + * sequence without producing any compressed output. + */ +function deflateSetDictionary(strm, dictionary) { + var dictLength = dictionary.length; + + var s; + var str, n; + var wrap; + var avail; + var next; + var input; + var tmpDict; + + if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { + return Z_STREAM_ERROR; + } + + s = strm.state; + wrap = s.wrap; + + if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) { + return Z_STREAM_ERROR; + } + + /* when using zlib wrappers, compute Adler-32 for provided dictionary */ + if (wrap === 1) { + /* adler32(strm->adler, dictionary, dictLength); */ + strm.adler = adler32_1(strm.adler, dictionary, dictLength, 0); + } + + s.wrap = 0; /* avoid computing Adler-32 in read_buf */ + + /* if dictionary would fill window, just replace the history */ + if (dictLength >= s.w_size) { + if (wrap === 0) { /* already empty otherwise */ + /*** CLEAR_HASH(s); ***/ + zero$1(s.head); // Fill with NIL (= 0); + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + /* use the tail */ + // dictionary = dictionary.slice(dictLength - s.w_size); + tmpDict = new common.Buf8(s.w_size); + common.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0); + dictionary = tmpDict; + dictLength = s.w_size; + } + /* insert dictionary into window and hash */ + avail = strm.avail_in; + next = strm.next_in; + input = strm.input; + strm.avail_in = dictLength; + strm.next_in = 0; + strm.input = dictionary; + fill_window(s); + while (s.lookahead >= MIN_MATCH$1) { + str = s.strstart; + n = s.lookahead - (MIN_MATCH$1 - 1); + do { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$1 - 1]) & s.hash_mask; + + s.prev[str & s.w_mask] = s.head[s.ins_h]; + + s.head[s.ins_h] = str; + str++; + } while (--n); + s.strstart = str; + s.lookahead = MIN_MATCH$1 - 1; + fill_window(s); + } + s.strstart += s.lookahead; + s.block_start = s.strstart; + s.insert = s.lookahead; + s.lookahead = 0; + s.match_length = s.prev_length = MIN_MATCH$1 - 1; + s.match_available = 0; + strm.next_in = next; + strm.input = input; + strm.avail_in = avail; + s.wrap = wrap; + return Z_OK; +} + + +var deflateInit_1 = deflateInit; +var deflateInit2_1 = deflateInit2; +var deflateReset_1 = deflateReset; +var deflateResetKeep_1 = deflateResetKeep; +var deflateSetHeader_1 = deflateSetHeader; +var deflate_2 = deflate; +var deflateEnd_1 = deflateEnd; +var deflateSetDictionary_1 = deflateSetDictionary; +var deflateInfo = 'pako deflate (from Nodeca project)'; + +/* Not implemented +exports.deflateBound = deflateBound; +exports.deflateCopy = deflateCopy; +exports.deflateParams = deflateParams; +exports.deflatePending = deflatePending; +exports.deflatePrime = deflatePrime; +exports.deflateTune = deflateTune; +*/ + +var deflate_1 = { + deflateInit: deflateInit_1, + deflateInit2: deflateInit2_1, + deflateReset: deflateReset_1, + deflateResetKeep: deflateResetKeep_1, + deflateSetHeader: deflateSetHeader_1, + deflate: deflate_2, + deflateEnd: deflateEnd_1, + deflateSetDictionary: deflateSetDictionary_1, + deflateInfo: deflateInfo +}; + +// Quick check if we can use fast array to bin string conversion +// +// - apply(Array) can fail on Android 2.2 +// - apply(Uint8Array) can fail on iOS 5.1 Safari +// +var STR_APPLY_OK = true; +var STR_APPLY_UIA_OK = true; + +try { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; } +try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; } + + +// Table with utf8 lengths (calculated by first byte of sequence) +// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS, +// because max possible codepoint is 0x10ffff +var _utf8len = new common.Buf8(256); +for (var q = 0; q < 256; q++) { + _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1); +} +_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start + + +// convert string to array (typed, when possible) +var string2buf = function (str) { + var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; + + // count binary size + for (m_pos = 0; m_pos < str_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; + } + + // allocate buffer + buf = new common.Buf8(buf_len); + + // convert + for (i = 0, m_pos = 0; i < buf_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + if (c < 0x80) { + /* one byte */ + buf[i++] = c; + } else if (c < 0x800) { + /* two bytes */ + buf[i++] = 0xC0 | (c >>> 6); + buf[i++] = 0x80 | (c & 0x3f); + } else if (c < 0x10000) { + /* three bytes */ + buf[i++] = 0xE0 | (c >>> 12); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } else { + /* four bytes */ + buf[i++] = 0xf0 | (c >>> 18); + buf[i++] = 0x80 | (c >>> 12 & 0x3f); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } + } + + return buf; +}; + +// Helper (used in 2 places) +function buf2binstring(buf, len) { + // On Chrome, the arguments in a function call that are allowed is `65534`. + // If the length of the buffer is smaller than that, we can use this optimization, + // otherwise we will take a slower path. + if (len < 65534) { + if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) { + return String.fromCharCode.apply(null, common.shrinkBuf(buf, len)); + } + } + + var result = ''; + for (var i = 0; i < len; i++) { + result += String.fromCharCode(buf[i]); + } + return result; +} + + +// Convert byte array to binary string +var buf2binstring_1 = function (buf) { + return buf2binstring(buf, buf.length); +}; + + +// Convert binary string (typed, when possible) +var binstring2buf = function (str) { + var buf = new common.Buf8(str.length); + for (var i = 0, len = buf.length; i < len; i++) { + buf[i] = str.charCodeAt(i); + } + return buf; +}; + + +// convert array to string +var buf2string = function (buf, max) { + var i, out, c, c_len; + var len = max || buf.length; + + // Reserve max possible length (2 words per char) + // NB: by unknown reasons, Array is significantly faster for + // String.fromCharCode.apply than Uint16Array. + var utf16buf = new Array(len * 2); + + for (out = 0, i = 0; i < len;) { + c = buf[i++]; + // quick process ascii + if (c < 0x80) { utf16buf[out++] = c; continue; } + + c_len = _utf8len[c]; + // skip 5 & 6 byte codes + if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; } + + // apply mask on first byte + c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07; + // join the rest + while (c_len > 1 && i < len) { + c = (c << 6) | (buf[i++] & 0x3f); + c_len--; + } + + // terminated by end of string? + if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; } + + if (c < 0x10000) { + utf16buf[out++] = c; + } else { + c -= 0x10000; + utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff); + utf16buf[out++] = 0xdc00 | (c & 0x3ff); + } + } + + return buf2binstring(utf16buf, out); +}; + + +// Calculate max possible position in utf8 buffer, +// that will not break sequence. If that's not possible +// - (very small limits) return max size as is. +// +// buf[] - utf8 bytes array +// max - length limit (mandatory); +var utf8border = function (buf, max) { + var pos; + + max = max || buf.length; + if (max > buf.length) { max = buf.length; } + + // go back from last position, until start of sequence found + pos = max - 1; + while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; } + + // Very small and broken sequence, + // return max, because we should return something anyway. + if (pos < 0) { return max; } + + // If we came to start of buffer - that means buffer is too small, + // return max too. + if (pos === 0) { return max; } + + return (pos + _utf8len[buf[pos]] > max) ? pos : max; +}; + +var strings = { + string2buf: string2buf, + buf2binstring: buf2binstring_1, + binstring2buf: binstring2buf, + buf2string: buf2string, + utf8border: utf8border +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function ZStream() { + /* next input byte */ + this.input = null; // JS specific, because we have no pointers + this.next_in = 0; + /* number of bytes available at input */ + this.avail_in = 0; + /* total number of input bytes read so far */ + this.total_in = 0; + /* next output byte should be put there */ + this.output = null; // JS specific, because we have no pointers + this.next_out = 0; + /* remaining free space at output */ + this.avail_out = 0; + /* total number of bytes output so far */ + this.total_out = 0; + /* last error message, NULL if no error */ + this.msg = ''/*Z_NULL*/; + /* not visible by applications */ + this.state = null; + /* best guess about the data type: binary or text */ + this.data_type = 2/*Z_UNKNOWN*/; + /* adler32 value of the uncompressed data */ + this.adler = 0; +} + +var zstream = ZStream; + +var toString = Object.prototype.toString; + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + +var Z_NO_FLUSH$1 = 0; +var Z_FINISH$1 = 4; + +var Z_OK$1 = 0; +var Z_STREAM_END$1 = 1; +var Z_SYNC_FLUSH = 2; + +var Z_DEFAULT_COMPRESSION$1 = -1; + +var Z_DEFAULT_STRATEGY$1 = 0; + +var Z_DEFLATED$1 = 8; + +/* ===========================================================================*/ + + +/** + * class Deflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[deflate]], + * [[deflateRaw]] and [[gzip]]. + **/ + +/* internal + * Deflate.chunks -> Array + * + * Chunks of output data, if [[Deflate#onData]] not overridden. + **/ + +/** + * Deflate.result -> Uint8Array|Array + * + * Compressed result, generated by default [[Deflate#onData]] + * and [[Deflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you + * push a chunk with explicit flush (call [[Deflate#push]] with + * `Z_SYNC_FLUSH` param). + **/ + +/** + * Deflate.err -> Number + * + * Error code after deflate finished. 0 (Z_OK) on success. + * You will not need it in real life, because deflate errors + * are possible only on wrong options or bad `onData` / `onEnd` + * custom handlers. + **/ + +/** + * Deflate.msg -> String + * + * Error message, if [[Deflate.err]] != 0 + **/ + + +/** + * new Deflate(options) + * - options (Object): zlib deflate options. + * + * Creates new deflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `level` + * - `windowBits` + * - `memLevel` + * - `strategy` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw deflate + * - `gzip` (Boolean) - create gzip wrapper + * - `to` (String) - if equal to 'string', then result will be "binary string" + * (each char code [0..255]) + * - `header` (Object) - custom header for gzip + * - `text` (Boolean) - true if compressed data believed to be text + * - `time` (Number) - modification time, unix timestamp + * - `os` (Number) - operation system code + * - `extra` (Array) - array of bytes with extra data (max 65536) + * - `name` (String) - file name (binary string) + * - `comment` (String) - comment (binary string) + * - `hcrc` (Boolean) - true if header crc should be added + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * var deflate = new pako.Deflate({ level: 3}); + * + * deflate.push(chunk1, false); + * deflate.push(chunk2, true); // true -> last chunk + * + * if (deflate.err) { throw new Error(deflate.err); } + * + * console.log(deflate.result); + * ``` + **/ +function Deflate(options) { + if (!(this instanceof Deflate)) return new Deflate(options); + + this.options = common.assign({ + level: Z_DEFAULT_COMPRESSION$1, + method: Z_DEFLATED$1, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: Z_DEFAULT_STRATEGY$1, + to: '' + }, options || {}); + + var opt = this.options; + + if (opt.raw && (opt.windowBits > 0)) { + opt.windowBits = -opt.windowBits; + } + + else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) { + opt.windowBits += 16; + } + + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream(); + this.strm.avail_out = 0; + + var status = deflate_1.deflateInit2( + this.strm, + opt.level, + opt.method, + opt.windowBits, + opt.memLevel, + opt.strategy + ); + + if (status !== Z_OK$1) { + throw new Error(messages[status]); + } + + if (opt.header) { + deflate_1.deflateSetHeader(this.strm, opt.header); + } + + if (opt.dictionary) { + var dict; + // Convert data if needed + if (typeof opt.dictionary === 'string') { + // If we need to compress text, change encoding to utf8. + dict = strings.string2buf(opt.dictionary); + } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') { + dict = new Uint8Array(opt.dictionary); + } else { + dict = opt.dictionary; + } + + status = deflate_1.deflateSetDictionary(this.strm, dict); + + if (status !== Z_OK$1) { + throw new Error(messages[status]); + } + + this._dict_set = true; + } +} + +/** + * Deflate#push(data[, mode]) -> Boolean + * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be + * converted to utf8 byte sequence. + * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with + * new compressed chunks. Returns `true` on success. The last data block must have + * mode Z_FINISH (or `true`). That will flush internal pending buffers and call + * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you + * can use mode Z_SYNC_FLUSH, keeping the compression context. + * + * On fail call [[Deflate#onEnd]] with error code and return false. + * + * We strongly recommend to use `Uint8Array` on input for best speed (output + * array format is detected automatically). Also, don't skip last param and always + * use the same type in your code (boolean or number). That will improve JS speed. + * + * For regular `Array`-s make sure all elements are [0..255]. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ +Deflate.prototype.push = function (data, mode) { + var strm = this.strm; + var chunkSize = this.options.chunkSize; + var status, _mode; + + if (this.ended) { return false; } + + _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH$1 : Z_NO_FLUSH$1); + + // Convert data if needed + if (typeof data === 'string') { + // If we need to compress text, change encoding to utf8. + strm.input = strings.string2buf(data); + } else if (toString.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + + strm.next_in = 0; + strm.avail_in = strm.input.length; + + do { + if (strm.avail_out === 0) { + strm.output = new common.Buf8(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + status = deflate_1.deflate(strm, _mode); /* no bad return value */ + + if (status !== Z_STREAM_END$1 && status !== Z_OK$1) { + this.onEnd(status); + this.ended = true; + return false; + } + if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH$1 || _mode === Z_SYNC_FLUSH))) { + if (this.options.to === 'string') { + this.onData(strings.buf2binstring(common.shrinkBuf(strm.output, strm.next_out))); + } else { + this.onData(common.shrinkBuf(strm.output, strm.next_out)); + } + } + } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END$1); + + // Finalize on the last chunk. + if (_mode === Z_FINISH$1) { + status = deflate_1.deflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === Z_OK$1; + } + + // callback interim results if Z_SYNC_FLUSH. + if (_mode === Z_SYNC_FLUSH) { + this.onEnd(Z_OK$1); + strm.avail_out = 0; + return true; + } + + return true; +}; + + +/** + * Deflate#onData(chunk) -> Void + * - chunk (Uint8Array|Array|String): output data. Type of array depends + * on js engine support. When string output requested, each chunk + * will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ +Deflate.prototype.onData = function (chunk) { + this.chunks.push(chunk); +}; + + +/** + * Deflate#onEnd(status) -> Void + * - status (Number): deflate status. 0 (Z_OK) on success, + * other if not. + * + * Called once after you tell deflate that the input stream is + * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH) + * or if an error happened. By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ +Deflate.prototype.onEnd = function (status) { + // On success - join + if (status === Z_OK$1) { + if (this.options.to === 'string') { + this.result = this.chunks.join(''); + } else { + this.result = common.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; +}; + + +/** + * deflate(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * Compress `data` with deflate algorithm and `options`. + * + * Supported options are: + * + * - level + * - windowBits + * - memLevel + * - strategy + * - dictionary + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be "binary string" + * (each char code [0..255]) + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , data = Uint8Array([1,2,3,4,5,6,7,8,9]); + * + * console.log(pako.deflate(data)); + * ``` + **/ +function deflate$1(input, options) { + var deflator = new Deflate(options); + + deflator.push(input, true); + + // That will never happens, if you don't cheat with options :) + if (deflator.err) { throw deflator.msg || messages[deflator.err]; } + + return deflator.result; +} + + +/** + * deflateRaw(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * The same as [[deflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ +function deflateRaw(input, options) { + options = options || {}; + options.raw = true; + return deflate$1(input, options); +} + + +/** + * gzip(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * The same as [[deflate]], but create gzip wrapper instead of + * deflate one. + **/ +function gzip(input, options) { + options = options || {}; + options.gzip = true; + return deflate$1(input, options); +} + + +var Deflate_1 = Deflate; +var deflate_2$1 = deflate$1; +var deflateRaw_1 = deflateRaw; +var gzip_1 = gzip; + +var deflate_1$1 = { + Deflate: Deflate_1, + deflate: deflate_2$1, + deflateRaw: deflateRaw_1, + gzip: gzip_1 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +// See state defs from inflate.js +var BAD = 30; /* got a data error -- remain here until reset */ +var TYPE = 12; /* i: waiting for type bits, including last-flag bit */ + +/* + Decode literal, length, and distance codes and write out the resulting + literal and match bytes until either not enough input or output is + available, an end-of-block is encountered, or a data error is encountered. + When large enough input and output buffers are supplied to inflate(), for + example, a 16K input buffer and a 64K output buffer, more than 95% of the + inflate execution time is spent in this routine. + + Entry assumptions: + + state.mode === LEN + strm.avail_in >= 6 + strm.avail_out >= 258 + start >= strm.avail_out + state.bits < 8 + + On return, state.mode is one of: + + LEN -- ran out of enough output space or enough available input + TYPE -- reached end of block code, inflate() to interpret next block + BAD -- error in block data + + Notes: + + - The maximum input bits used by a length/distance pair is 15 bits for the + length code, 5 bits for the length extra, 15 bits for the distance code, + and 13 bits for the distance extra. This totals 48 bits, or six bytes. + Therefore if strm.avail_in >= 6, then there is enough input to avoid + checking for available input while decoding. + + - The maximum bytes that a single length/distance pair can output is 258 + bytes, which is the maximum length that can be coded. inflate_fast() + requires strm.avail_out >= 258 for each loop to avoid checking for + output space. + */ +var inffast = function inflate_fast(strm, start) { + var state; + var _in; /* local strm.input */ + var last; /* have enough input while in < last */ + var _out; /* local strm.output */ + var beg; /* inflate()'s initial strm.output */ + var end; /* while out < end, enough space available */ +//#ifdef INFLATE_STRICT + var dmax; /* maximum distance from zlib header */ +//#endif + var wsize; /* window size or zero if not using window */ + var whave; /* valid bytes in the window */ + var wnext; /* window write index */ + // Use `s_window` instead `window`, avoid conflict with instrumentation tools + var s_window; /* allocated sliding window, if wsize != 0 */ + var hold; /* local strm.hold */ + var bits; /* local strm.bits */ + var lcode; /* local strm.lencode */ + var dcode; /* local strm.distcode */ + var lmask; /* mask for first level of length codes */ + var dmask; /* mask for first level of distance codes */ + var here; /* retrieved table entry */ + var op; /* code bits, operation, extra bits, or */ + /* window position, window bytes to copy */ + var len; /* match length, unused bytes */ + var dist; /* match distance */ + var from; /* where to copy match from */ + var from_source; + + + var input, output; // JS specific, because we have no pointers + + /* copy state to local variables */ + state = strm.state; + //here = state.here; + _in = strm.next_in; + input = strm.input; + last = _in + (strm.avail_in - 5); + _out = strm.next_out; + output = strm.output; + beg = _out - (start - strm.avail_out); + end = _out + (strm.avail_out - 257); +//#ifdef INFLATE_STRICT + dmax = state.dmax; +//#endif + wsize = state.wsize; + whave = state.whave; + wnext = state.wnext; + s_window = state.window; + hold = state.hold; + bits = state.bits; + lcode = state.lencode; + dcode = state.distcode; + lmask = (1 << state.lenbits) - 1; + dmask = (1 << state.distbits) - 1; + + + /* decode literals and length/distances until end-of-block or not enough + input data or output space */ + + top: + do { + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + + here = lcode[hold & lmask]; + + dolen: + for (;;) { // Goto emulation + op = here >>> 24/*here.bits*/; + hold >>>= op; + bits -= op; + op = (here >>> 16) & 0xff/*here.op*/; + if (op === 0) { /* literal */ + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + output[_out++] = here & 0xffff/*here.val*/; + } + else if (op & 16) { /* length base */ + len = here & 0xffff/*here.val*/; + op &= 15; /* number of extra bits */ + if (op) { + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + len += hold & ((1 << op) - 1); + hold >>>= op; + bits -= op; + } + //Tracevv((stderr, "inflate: length %u\n", len)); + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + here = dcode[hold & dmask]; + + dodist: + for (;;) { // goto emulation + op = here >>> 24/*here.bits*/; + hold >>>= op; + bits -= op; + op = (here >>> 16) & 0xff/*here.op*/; + + if (op & 16) { /* distance base */ + dist = here & 0xffff/*here.val*/; + op &= 15; /* number of extra bits */ + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + } + dist += hold & ((1 << op) - 1); +//#ifdef INFLATE_STRICT + if (dist > dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD; + break top; + } +//#endif + hold >>>= op; + bits -= op; + //Tracevv((stderr, "inflate: distance %u\n", dist)); + op = _out - beg; /* max distance in output */ + if (dist > op) { /* see if copy from window */ + op = dist - op; /* distance back in window */ + if (op > whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD; + break top; + } + +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility +//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR +// if (len <= op - whave) { +// do { +// output[_out++] = 0; +// } while (--len); +// continue top; +// } +// len -= op - whave; +// do { +// output[_out++] = 0; +// } while (--op > whave); +// if (op === 0) { +// from = _out - dist; +// do { +// output[_out++] = output[from++]; +// } while (--len); +// continue top; +// } +//#endif + } + from = 0; // window index + from_source = s_window; + if (wnext === 0) { /* very common case */ + from += wsize - op; + if (op < len) { /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + else if (wnext < op) { /* wrap around window */ + from += wsize + wnext - op; + op -= wnext; + if (op < len) { /* some from end of window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = 0; + if (wnext < len) { /* some from start of window */ + op = wnext; + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + } + else { /* contiguous in window */ + from += wnext - op; + if (op < len) { /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + while (len > 2) { + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + len -= 3; + } + if (len) { + output[_out++] = from_source[from++]; + if (len > 1) { + output[_out++] = from_source[from++]; + } + } + } + else { + from = _out - dist; /* copy direct from output */ + do { /* minimum length is three */ + output[_out++] = output[from++]; + output[_out++] = output[from++]; + output[_out++] = output[from++]; + len -= 3; + } while (len > 2); + if (len) { + output[_out++] = output[from++]; + if (len > 1) { + output[_out++] = output[from++]; + } + } + } + } + else if ((op & 64) === 0) { /* 2nd level distance code */ + here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; + continue dodist; + } + else { + strm.msg = 'invalid distance code'; + state.mode = BAD; + break top; + } + + break; // need to emulate goto via "continue" + } + } + else if ((op & 64) === 0) { /* 2nd level length code */ + here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; + continue dolen; + } + else if (op & 32) { /* end-of-block */ + //Tracevv((stderr, "inflate: end of block\n")); + state.mode = TYPE; + break top; + } + else { + strm.msg = 'invalid literal/length code'; + state.mode = BAD; + break top; + } + + break; // need to emulate goto via "continue" + } + } while (_in < last && _out < end); + + /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ + len = bits >> 3; + _in -= len; + bits -= len << 3; + hold &= (1 << bits) - 1; + + /* update state and return */ + strm.next_in = _in; + strm.next_out = _out; + strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last)); + strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end)); + state.hold = hold; + state.bits = bits; + return; +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + +var MAXBITS = 15; +var ENOUGH_LENS = 852; +var ENOUGH_DISTS = 592; +//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + +var CODES = 0; +var LENS = 1; +var DISTS = 2; + +var lbase = [ /* Length codes 257..285 base */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, + 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 +]; + +var lext = [ /* Length codes 257..285 extra */ + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 +]; + +var dbase = [ /* Distance codes 0..29 base */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, + 8193, 12289, 16385, 24577, 0, 0 +]; + +var dext = [ /* Distance codes 0..29 extra */ + 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, + 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, + 28, 28, 29, 29, 64, 64 +]; + +var inftrees = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) +{ + var bits = opts.bits; + //here = opts.here; /* table entry for duplication */ + + var len = 0; /* a code's length in bits */ + var sym = 0; /* index of code symbols */ + var min = 0, max = 0; /* minimum and maximum code lengths */ + var root = 0; /* number of index bits for root table */ + var curr = 0; /* number of index bits for current table */ + var drop = 0; /* code bits to drop for sub-table */ + var left = 0; /* number of prefix codes available */ + var used = 0; /* code entries in table used */ + var huff = 0; /* Huffman code */ + var incr; /* for incrementing code, index */ + var fill; /* index for replicating entries */ + var low; /* low bits for current root entry */ + var mask; /* mask for low root bits */ + var next; /* next available space in table */ + var base = null; /* base value table to use */ + var base_index = 0; +// var shoextra; /* extra bits table to use */ + var end; /* use base and extra for symbol > end */ + var count = new common.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */ + var offs = new common.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */ + var extra = null; + var extra_index = 0; + + var here_bits, here_op, here_val; + + /* + Process a set of code lengths to create a canonical Huffman code. The + code lengths are lens[0..codes-1]. Each length corresponds to the + symbols 0..codes-1. The Huffman code is generated by first sorting the + symbols by length from short to long, and retaining the symbol order + for codes with equal lengths. Then the code starts with all zero bits + for the first code of the shortest length, and the codes are integer + increments for the same length, and zeros are appended as the length + increases. For the deflate format, these bits are stored backwards + from their more natural integer increment ordering, and so when the + decoding tables are built in the large loop below, the integer codes + are incremented backwards. + + This routine assumes, but does not check, that all of the entries in + lens[] are in the range 0..MAXBITS. The caller must assure this. + 1..MAXBITS is interpreted as that code length. zero means that that + symbol does not occur in this code. + + The codes are sorted by computing a count of codes for each length, + creating from that a table of starting indices for each length in the + sorted table, and then entering the symbols in order in the sorted + table. The sorted table is work[], with that space being provided by + the caller. + + The length counts are used for other purposes as well, i.e. finding + the minimum and maximum length codes, determining if there are any + codes at all, checking for a valid set of lengths, and looking ahead + at length counts to determine sub-table sizes when building the + decoding tables. + */ + + /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ + for (len = 0; len <= MAXBITS; len++) { + count[len] = 0; + } + for (sym = 0; sym < codes; sym++) { + count[lens[lens_index + sym]]++; + } + + /* bound code lengths, force root to be within code lengths */ + root = bits; + for (max = MAXBITS; max >= 1; max--) { + if (count[max] !== 0) { break; } + } + if (root > max) { + root = max; + } + if (max === 0) { /* no symbols to code at all */ + //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */ + //table.bits[opts.table_index] = 1; //here.bits = (var char)1; + //table.val[opts.table_index++] = 0; //here.val = (var short)0; + table[table_index++] = (1 << 24) | (64 << 16) | 0; + + + //table.op[opts.table_index] = 64; + //table.bits[opts.table_index] = 1; + //table.val[opts.table_index++] = 0; + table[table_index++] = (1 << 24) | (64 << 16) | 0; + + opts.bits = 1; + return 0; /* no symbols, but wait for decoding to report error */ + } + for (min = 1; min < max; min++) { + if (count[min] !== 0) { break; } + } + if (root < min) { + root = min; + } + + /* check for an over-subscribed or incomplete set of lengths */ + left = 1; + for (len = 1; len <= MAXBITS; len++) { + left <<= 1; + left -= count[len]; + if (left < 0) { + return -1; + } /* over-subscribed */ + } + if (left > 0 && (type === CODES || max !== 1)) { + return -1; /* incomplete set */ + } + + /* generate offsets into symbol table for each length for sorting */ + offs[1] = 0; + for (len = 1; len < MAXBITS; len++) { + offs[len + 1] = offs[len] + count[len]; + } + + /* sort symbols by length, by symbol order within each length */ + for (sym = 0; sym < codes; sym++) { + if (lens[lens_index + sym] !== 0) { + work[offs[lens[lens_index + sym]]++] = sym; + } + } + + /* + Create and fill in decoding tables. In this loop, the table being + filled is at next and has curr index bits. The code being used is huff + with length len. That code is converted to an index by dropping drop + bits off of the bottom. For codes where len is less than drop + curr, + those top drop + curr - len bits are incremented through all values to + fill the table with replicated entries. + + root is the number of index bits for the root table. When len exceeds + root, sub-tables are created pointed to by the root entry with an index + of the low root bits of huff. This is saved in low to check for when a + new sub-table should be started. drop is zero when the root table is + being filled, and drop is root when sub-tables are being filled. + + When a new sub-table is needed, it is necessary to look ahead in the + code lengths to determine what size sub-table is needed. The length + counts are used for this, and so count[] is decremented as codes are + entered in the tables. + + used keeps track of how many table entries have been allocated from the + provided *table space. It is checked for LENS and DIST tables against + the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in + the initial root table size constants. See the comments in inftrees.h + for more information. + + sym increments through all symbols, and the loop terminates when + all codes of length max, i.e. all codes, have been processed. This + routine permits incomplete codes, so another loop after this one fills + in the rest of the decoding tables with invalid code markers. + */ + + /* set up for code type */ + // poor man optimization - use if-else instead of switch, + // to avoid deopts in old v8 + if (type === CODES) { + base = extra = work; /* dummy value--not used */ + end = 19; + + } else if (type === LENS) { + base = lbase; + base_index -= 257; + extra = lext; + extra_index -= 257; + end = 256; + + } else { /* DISTS */ + base = dbase; + extra = dext; + end = -1; + } + + /* initialize opts for loop */ + huff = 0; /* starting code */ + sym = 0; /* starting code symbol */ + len = min; /* starting code length */ + next = table_index; /* current table to fill in */ + curr = root; /* current table index bits */ + drop = 0; /* current bits to drop from code for index */ + low = -1; /* trigger new sub-table when len > root */ + used = 1 << root; /* use root table entries */ + mask = used - 1; /* mask for comparing low */ + + /* check available table space */ + if ((type === LENS && used > ENOUGH_LENS) || + (type === DISTS && used > ENOUGH_DISTS)) { + return 1; + } + + /* process all codes and make table entries */ + for (;;) { + /* create table entry */ + here_bits = len - drop; + if (work[sym] < end) { + here_op = 0; + here_val = work[sym]; + } + else if (work[sym] > end) { + here_op = extra[extra_index + work[sym]]; + here_val = base[base_index + work[sym]]; + } + else { + here_op = 32 + 64; /* end of block */ + here_val = 0; + } + + /* replicate for those indices with low len bits equal to huff */ + incr = 1 << (len - drop); + fill = 1 << curr; + min = fill; /* save offset to next table */ + do { + fill -= incr; + table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0; + } while (fill !== 0); + + /* backwards increment the len-bit code huff */ + incr = 1 << (len - 1); + while (huff & incr) { + incr >>= 1; + } + if (incr !== 0) { + huff &= incr - 1; + huff += incr; + } else { + huff = 0; + } + + /* go to next symbol, update count, len */ + sym++; + if (--count[len] === 0) { + if (len === max) { break; } + len = lens[lens_index + work[sym]]; + } + + /* create new sub-table if needed */ + if (len > root && (huff & mask) !== low) { + /* if first time, transition to sub-tables */ + if (drop === 0) { + drop = root; + } + + /* increment past last table */ + next += min; /* here min is 1 << curr */ + + /* determine length of next table */ + curr = len - drop; + left = 1 << curr; + while (curr + drop < max) { + left -= count[curr + drop]; + if (left <= 0) { break; } + curr++; + left <<= 1; + } + + /* check for enough space */ + used += 1 << curr; + if ((type === LENS && used > ENOUGH_LENS) || + (type === DISTS && used > ENOUGH_DISTS)) { + return 1; + } + + /* point entry in root table to sub-table */ + low = huff & mask; + /*table.op[low] = curr; + table.bits[low] = root; + table.val[low] = next - opts.table_index;*/ + table[low] = (root << 24) | (curr << 16) | (next - table_index) |0; + } + } + + /* fill in remaining table entry if code is incomplete (guaranteed to have + at most one remaining entry, since if the code is incomplete, the + maximum code length that was allowed to get this far is one bit) */ + if (huff !== 0) { + //table.op[next + huff] = 64; /* invalid code marker */ + //table.bits[next + huff] = len - drop; + //table.val[next + huff] = 0; + table[next + huff] = ((len - drop) << 24) | (64 << 16) |0; + } + + /* set return parameters */ + //opts.table_index += used; + opts.bits = root; + return 0; +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + + + + + +var CODES$1 = 0; +var LENS$1 = 1; +var DISTS$1 = 2; + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +/* Allowed flush values; see deflate() and inflate() below for details */ +//var Z_NO_FLUSH = 0; +//var Z_PARTIAL_FLUSH = 1; +//var Z_SYNC_FLUSH = 2; +//var Z_FULL_FLUSH = 3; +var Z_FINISH$2 = 4; +var Z_BLOCK$1 = 5; +var Z_TREES = 6; + + +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +var Z_OK$2 = 0; +var Z_STREAM_END$2 = 1; +var Z_NEED_DICT = 2; +//var Z_ERRNO = -1; +var Z_STREAM_ERROR$1 = -2; +var Z_DATA_ERROR$1 = -3; +var Z_MEM_ERROR = -4; +var Z_BUF_ERROR$1 = -5; +//var Z_VERSION_ERROR = -6; + +/* The deflate compression method */ +var Z_DEFLATED$2 = 8; + + +/* STATES ====================================================================*/ +/* ===========================================================================*/ + + +var HEAD = 1; /* i: waiting for magic header */ +var FLAGS = 2; /* i: waiting for method and flags (gzip) */ +var TIME = 3; /* i: waiting for modification time (gzip) */ +var OS = 4; /* i: waiting for extra flags and operating system (gzip) */ +var EXLEN = 5; /* i: waiting for extra length (gzip) */ +var EXTRA = 6; /* i: waiting for extra bytes (gzip) */ +var NAME = 7; /* i: waiting for end of file name (gzip) */ +var COMMENT = 8; /* i: waiting for end of comment (gzip) */ +var HCRC = 9; /* i: waiting for header crc (gzip) */ +var DICTID = 10; /* i: waiting for dictionary check value */ +var DICT = 11; /* waiting for inflateSetDictionary() call */ +var TYPE$1 = 12; /* i: waiting for type bits, including last-flag bit */ +var TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */ +var STORED = 14; /* i: waiting for stored size (length and complement) */ +var COPY_ = 15; /* i/o: same as COPY below, but only first time in */ +var COPY = 16; /* i/o: waiting for input or output to copy stored block */ +var TABLE = 17; /* i: waiting for dynamic block table lengths */ +var LENLENS = 18; /* i: waiting for code length code lengths */ +var CODELENS = 19; /* i: waiting for length/lit and distance code lengths */ +var LEN_ = 20; /* i: same as LEN below, but only first time in */ +var LEN = 21; /* i: waiting for length/lit/eob code */ +var LENEXT = 22; /* i: waiting for length extra bits */ +var DIST = 23; /* i: waiting for distance code */ +var DISTEXT = 24; /* i: waiting for distance extra bits */ +var MATCH = 25; /* o: waiting for output space to copy string */ +var LIT = 26; /* o: waiting for output space to write literal */ +var CHECK = 27; /* i: waiting for 32-bit check value */ +var LENGTH = 28; /* i: waiting for 32-bit length (gzip) */ +var DONE = 29; /* finished check, done -- remain here until reset */ +var BAD$1 = 30; /* got a data error -- remain here until reset */ +var MEM = 31; /* got an inflate() memory error -- remain here until reset */ +var SYNC = 32; /* looking for synchronization bytes to restart inflate() */ + +/* ===========================================================================*/ + + + +var ENOUGH_LENS$1 = 852; +var ENOUGH_DISTS$1 = 592; +//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + +var MAX_WBITS$1 = 15; +/* 32K LZ77 window */ +var DEF_WBITS = MAX_WBITS$1; + + +function zswap32(q) { + return (((q >>> 24) & 0xff) + + ((q >>> 8) & 0xff00) + + ((q & 0xff00) << 8) + + ((q & 0xff) << 24)); +} + + +function InflateState() { + this.mode = 0; /* current inflate mode */ + this.last = false; /* true if processing last block */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.havedict = false; /* true if dictionary provided */ + this.flags = 0; /* gzip header method and flags (0 if zlib) */ + this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */ + this.check = 0; /* protected copy of check value */ + this.total = 0; /* protected copy of output count */ + // TODO: may be {} + this.head = null; /* where to save gzip header information */ + + /* sliding window */ + this.wbits = 0; /* log base 2 of requested window size */ + this.wsize = 0; /* window size or zero if not using window */ + this.whave = 0; /* valid bytes in the window */ + this.wnext = 0; /* window write index */ + this.window = null; /* allocated sliding window, if needed */ + + /* bit accumulator */ + this.hold = 0; /* input bit accumulator */ + this.bits = 0; /* number of bits in "in" */ + + /* for string and stored block copying */ + this.length = 0; /* literal or length of data to copy */ + this.offset = 0; /* distance back to copy string from */ + + /* for table and code decoding */ + this.extra = 0; /* extra bits needed */ + + /* fixed and dynamic code tables */ + this.lencode = null; /* starting table for length/literal codes */ + this.distcode = null; /* starting table for distance codes */ + this.lenbits = 0; /* index bits for lencode */ + this.distbits = 0; /* index bits for distcode */ + + /* dynamic table building */ + this.ncode = 0; /* number of code length code lengths */ + this.nlen = 0; /* number of length code lengths */ + this.ndist = 0; /* number of distance code lengths */ + this.have = 0; /* number of code lengths in lens[] */ + this.next = null; /* next available space in codes[] */ + + this.lens = new common.Buf16(320); /* temporary storage for code lengths */ + this.work = new common.Buf16(288); /* work area for code table building */ + + /* + because we don't have pointers in js, we use lencode and distcode directly + as buffers so we don't need codes + */ + //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */ + this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */ + this.distdyn = null; /* dynamic table for distance codes (JS specific) */ + this.sane = 0; /* if false, allow invalid distance too far */ + this.back = 0; /* bits back of last unprocessed length/lit */ + this.was = 0; /* initial length of match */ +} + +function inflateResetKeep(strm) { + var state; + + if (!strm || !strm.state) { return Z_STREAM_ERROR$1; } + state = strm.state; + strm.total_in = strm.total_out = state.total = 0; + strm.msg = ''; /*Z_NULL*/ + if (state.wrap) { /* to support ill-conceived Java test suite */ + strm.adler = state.wrap & 1; + } + state.mode = HEAD; + state.last = 0; + state.havedict = 0; + state.dmax = 32768; + state.head = null/*Z_NULL*/; + state.hold = 0; + state.bits = 0; + //state.lencode = state.distcode = state.next = state.codes; + state.lencode = state.lendyn = new common.Buf32(ENOUGH_LENS$1); + state.distcode = state.distdyn = new common.Buf32(ENOUGH_DISTS$1); + + state.sane = 1; + state.back = -1; + //Tracev((stderr, "inflate: reset\n")); + return Z_OK$2; +} + +function inflateReset(strm) { + var state; + + if (!strm || !strm.state) { return Z_STREAM_ERROR$1; } + state = strm.state; + state.wsize = 0; + state.whave = 0; + state.wnext = 0; + return inflateResetKeep(strm); + +} + +function inflateReset2(strm, windowBits) { + var wrap; + var state; + + /* get the state */ + if (!strm || !strm.state) { return Z_STREAM_ERROR$1; } + state = strm.state; + + /* extract wrap request from windowBits parameter */ + if (windowBits < 0) { + wrap = 0; + windowBits = -windowBits; + } + else { + wrap = (windowBits >> 4) + 1; + if (windowBits < 48) { + windowBits &= 15; + } + } + + /* set number of window bits, free window if different */ + if (windowBits && (windowBits < 8 || windowBits > 15)) { + return Z_STREAM_ERROR$1; + } + if (state.window !== null && state.wbits !== windowBits) { + state.window = null; + } + + /* update state and reset the rest of it */ + state.wrap = wrap; + state.wbits = windowBits; + return inflateReset(strm); +} + +function inflateInit2(strm, windowBits) { + var ret; + var state; + + if (!strm) { return Z_STREAM_ERROR$1; } + //strm.msg = Z_NULL; /* in case we return an error */ + + state = new InflateState(); + + //if (state === Z_NULL) return Z_MEM_ERROR; + //Tracev((stderr, "inflate: allocated\n")); + strm.state = state; + state.window = null/*Z_NULL*/; + ret = inflateReset2(strm, windowBits); + if (ret !== Z_OK$2) { + strm.state = null/*Z_NULL*/; + } + return ret; +} + +function inflateInit(strm) { + return inflateInit2(strm, DEF_WBITS); +} + + +/* + Return state with length and distance decoding tables and index sizes set to + fixed code decoding. Normally this returns fixed tables from inffixed.h. + If BUILDFIXED is defined, then instead this routine builds the tables the + first time it's called, and returns those tables the first time and + thereafter. This reduces the size of the code by about 2K bytes, in + exchange for a little execution time. However, BUILDFIXED should not be + used for threaded applications, since the rewriting of the tables and virgin + may not be thread-safe. + */ +var virgin = true; + +var lenfix, distfix; // We have no pointers in JS, so keep tables separate + +function fixedtables(state) { + /* build fixed huffman tables if first call (may not be thread safe) */ + if (virgin) { + var sym; + + lenfix = new common.Buf32(512); + distfix = new common.Buf32(32); + + /* literal/length table */ + sym = 0; + while (sym < 144) { state.lens[sym++] = 8; } + while (sym < 256) { state.lens[sym++] = 9; } + while (sym < 280) { state.lens[sym++] = 7; } + while (sym < 288) { state.lens[sym++] = 8; } + + inftrees(LENS$1, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 }); + + /* distance table */ + sym = 0; + while (sym < 32) { state.lens[sym++] = 5; } + + inftrees(DISTS$1, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 }); + + /* do this just once */ + virgin = false; + } + + state.lencode = lenfix; + state.lenbits = 9; + state.distcode = distfix; + state.distbits = 5; +} + + +/* + Update the window with the last wsize (normally 32K) bytes written before + returning. If window does not exist yet, create it. This is only called + when a window is already in use, or when output has been written during this + inflate call, but the end of the deflate stream has not been reached yet. + It is also called to create a window for dictionary data when a dictionary + is loaded. + + Providing output buffers larger than 32K to inflate() should provide a speed + advantage, since only the last 32K of output is copied to the sliding window + upon return from inflate(), and since all distances after the first 32K of + output will fall in the output data, making match copies simpler and faster. + The advantage may be dependent on the size of the processor's data caches. + */ +function updatewindow(strm, src, end, copy) { + var dist; + var state = strm.state; + + /* if it hasn't been done already, allocate space for the window */ + if (state.window === null) { + state.wsize = 1 << state.wbits; + state.wnext = 0; + state.whave = 0; + + state.window = new common.Buf8(state.wsize); + } + + /* copy state->wsize or less output bytes into the circular window */ + if (copy >= state.wsize) { + common.arraySet(state.window, src, end - state.wsize, state.wsize, 0); + state.wnext = 0; + state.whave = state.wsize; + } + else { + dist = state.wsize - state.wnext; + if (dist > copy) { + dist = copy; + } + //zmemcpy(state->window + state->wnext, end - copy, dist); + common.arraySet(state.window, src, end - copy, dist, state.wnext); + copy -= dist; + if (copy) { + //zmemcpy(state->window, end - copy, copy); + common.arraySet(state.window, src, end - copy, copy, 0); + state.wnext = copy; + state.whave = state.wsize; + } + else { + state.wnext += dist; + if (state.wnext === state.wsize) { state.wnext = 0; } + if (state.whave < state.wsize) { state.whave += dist; } + } + } + return 0; +} + +function inflate(strm, flush) { + var state; + var input, output; // input/output buffers + var next; /* next input INDEX */ + var put; /* next output INDEX */ + var have, left; /* available input and output */ + var hold; /* bit buffer */ + var bits; /* bits in bit buffer */ + var _in, _out; /* save starting available input and output */ + var copy; /* number of stored or match bytes to copy */ + var from; /* where to copy match bytes from */ + var from_source; + var here = 0; /* current decoding table entry */ + var here_bits, here_op, here_val; // paked "here" denormalized (JS specific) + //var last; /* parent table entry */ + var last_bits, last_op, last_val; // paked "last" denormalized (JS specific) + var len; /* length to copy for repeats, bits to drop */ + var ret; /* return code */ + var hbuf = new common.Buf8(4); /* buffer for gzip header crc calculation */ + var opts; + + var n; // temporary var for NEED_BITS + + var order = /* permutation of code lengths */ + [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; + + + if (!strm || !strm.state || !strm.output || + (!strm.input && strm.avail_in !== 0)) { + return Z_STREAM_ERROR$1; + } + + state = strm.state; + if (state.mode === TYPE$1) { state.mode = TYPEDO; } /* skip check */ + + + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + _in = have; + _out = left; + ret = Z_OK$2; + + inf_leave: // goto emulation + for (;;) { + switch (state.mode) { + case HEAD: + if (state.wrap === 0) { + state.mode = TYPEDO; + break; + } + //=== NEEDBITS(16); + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */ + state.check = 0/*crc32(0L, Z_NULL, 0)*/; + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = FLAGS; + break; + } + state.flags = 0; /* expect zlib header */ + if (state.head) { + state.head.done = false; + } + if (!(state.wrap & 1) || /* check if zlib header allowed */ + (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) { + strm.msg = 'incorrect header check'; + state.mode = BAD$1; + break; + } + if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED$2) { + strm.msg = 'unknown compression method'; + state.mode = BAD$1; + break; + } + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// + len = (hold & 0x0f)/*BITS(4)*/ + 8; + if (state.wbits === 0) { + state.wbits = len; + } + else if (len > state.wbits) { + strm.msg = 'invalid window size'; + state.mode = BAD$1; + break; + } + state.dmax = 1 << len; + //Tracev((stderr, "inflate: zlib header ok\n")); + strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; + state.mode = hold & 0x200 ? DICTID : TYPE$1; + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + break; + case FLAGS: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.flags = hold; + if ((state.flags & 0xff) !== Z_DEFLATED$2) { + strm.msg = 'unknown compression method'; + state.mode = BAD$1; + break; + } + if (state.flags & 0xe000) { + strm.msg = 'unknown header flags set'; + state.mode = BAD$1; + break; + } + if (state.head) { + state.head.text = ((hold >> 8) & 1); + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = TIME; + /* falls through */ + case TIME: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.time = hold; + } + if (state.flags & 0x0200) { + //=== CRC4(state.check, hold) + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + hbuf[2] = (hold >>> 16) & 0xff; + hbuf[3] = (hold >>> 24) & 0xff; + state.check = crc32_1(state.check, hbuf, 4, 0); + //=== + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = OS; + /* falls through */ + case OS: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.xflags = (hold & 0xff); + state.head.os = (hold >> 8); + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = EXLEN; + /* falls through */ + case EXLEN: + if (state.flags & 0x0400) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length = hold; + if (state.head) { + state.head.extra_len = hold; + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + else if (state.head) { + state.head.extra = null/*Z_NULL*/; + } + state.mode = EXTRA; + /* falls through */ + case EXTRA: + if (state.flags & 0x0400) { + copy = state.length; + if (copy > have) { copy = have; } + if (copy) { + if (state.head) { + len = state.head.extra_len - state.length; + if (!state.head.extra) { + // Use untyped array for more convenient processing later + state.head.extra = new Array(state.head.extra_len); + } + common.arraySet( + state.head.extra, + input, + next, + // extra field is limited to 65536 bytes + // - no need for additional size check + copy, + /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ + len + ); + //zmemcpy(state.head.extra + len, next, + // len + copy > state.head.extra_max ? + // state.head.extra_max - len : copy); + } + if (state.flags & 0x0200) { + state.check = crc32_1(state.check, input, copy, next); + } + have -= copy; + next += copy; + state.length -= copy; + } + if (state.length) { break inf_leave; } + } + state.length = 0; + state.mode = NAME; + /* falls through */ + case NAME: + if (state.flags & 0x0800) { + if (have === 0) { break inf_leave; } + copy = 0; + do { + // TODO: 2 or 1 bytes? + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && + (state.length < 65536 /*state.head.name_max*/)) { + state.head.name += String.fromCharCode(len); + } + } while (len && copy < have); + + if (state.flags & 0x0200) { + state.check = crc32_1(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { break inf_leave; } + } + else if (state.head) { + state.head.name = null; + } + state.length = 0; + state.mode = COMMENT; + /* falls through */ + case COMMENT: + if (state.flags & 0x1000) { + if (have === 0) { break inf_leave; } + copy = 0; + do { + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && + (state.length < 65536 /*state.head.comm_max*/)) { + state.head.comment += String.fromCharCode(len); + } + } while (len && copy < have); + if (state.flags & 0x0200) { + state.check = crc32_1(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { break inf_leave; } + } + else if (state.head) { + state.head.comment = null; + } + state.mode = HCRC; + /* falls through */ + case HCRC: + if (state.flags & 0x0200) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (hold !== (state.check & 0xffff)) { + strm.msg = 'header crc mismatch'; + state.mode = BAD$1; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + if (state.head) { + state.head.hcrc = ((state.flags >> 9) & 1); + state.head.done = true; + } + strm.adler = state.check = 0; + state.mode = TYPE$1; + break; + case DICTID: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + strm.adler = state.check = zswap32(hold); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = DICT; + /* falls through */ + case DICT: + if (state.havedict === 0) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + return Z_NEED_DICT; + } + strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; + state.mode = TYPE$1; + /* falls through */ + case TYPE$1: + if (flush === Z_BLOCK$1 || flush === Z_TREES) { break inf_leave; } + /* falls through */ + case TYPEDO: + if (state.last) { + //--- BYTEBITS() ---// + hold >>>= bits & 7; + bits -= bits & 7; + //---// + state.mode = CHECK; + break; + } + //=== NEEDBITS(3); */ + while (bits < 3) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.last = (hold & 0x01)/*BITS(1)*/; + //--- DROPBITS(1) ---// + hold >>>= 1; + bits -= 1; + //---// + + switch ((hold & 0x03)/*BITS(2)*/) { + case 0: /* stored block */ + //Tracev((stderr, "inflate: stored block%s\n", + // state.last ? " (last)" : "")); + state.mode = STORED; + break; + case 1: /* fixed block */ + fixedtables(state); + //Tracev((stderr, "inflate: fixed codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = LEN_; /* decode codes */ + if (flush === Z_TREES) { + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break inf_leave; + } + break; + case 2: /* dynamic block */ + //Tracev((stderr, "inflate: dynamic codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = TABLE; + break; + case 3: + strm.msg = 'invalid block type'; + state.mode = BAD$1; + } + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break; + case STORED: + //--- BYTEBITS() ---// /* go to byte boundary */ + hold >>>= bits & 7; + bits -= bits & 7; + //---// + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) { + strm.msg = 'invalid stored block lengths'; + state.mode = BAD$1; + break; + } + state.length = hold & 0xffff; + //Tracev((stderr, "inflate: stored length %u\n", + // state.length)); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = COPY_; + if (flush === Z_TREES) { break inf_leave; } + /* falls through */ + case COPY_: + state.mode = COPY; + /* falls through */ + case COPY: + copy = state.length; + if (copy) { + if (copy > have) { copy = have; } + if (copy > left) { copy = left; } + if (copy === 0) { break inf_leave; } + //--- zmemcpy(put, next, copy); --- + common.arraySet(output, input, next, copy, put); + //---// + have -= copy; + next += copy; + left -= copy; + put += copy; + state.length -= copy; + break; + } + //Tracev((stderr, "inflate: stored end\n")); + state.mode = TYPE$1; + break; + case TABLE: + //=== NEEDBITS(14); */ + while (bits < 14) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4; + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// +//#ifndef PKZIP_BUG_WORKAROUND + if (state.nlen > 286 || state.ndist > 30) { + strm.msg = 'too many length or distance symbols'; + state.mode = BAD$1; + break; + } +//#endif + //Tracev((stderr, "inflate: table sizes ok\n")); + state.have = 0; + state.mode = LENLENS; + /* falls through */ + case LENLENS: + while (state.have < state.ncode) { + //=== NEEDBITS(3); + while (bits < 3) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.lens[order[state.have++]] = (hold & 0x07);//BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + while (state.have < 19) { + state.lens[order[state.have++]] = 0; + } + // We have separate tables & no pointers. 2 commented lines below not needed. + //state.next = state.codes; + //state.lencode = state.next; + // Switch to use dynamic table + state.lencode = state.lendyn; + state.lenbits = 7; + + opts = { bits: state.lenbits }; + ret = inftrees(CODES$1, state.lens, 0, 19, state.lencode, 0, state.work, opts); + state.lenbits = opts.bits; + + if (ret) { + strm.msg = 'invalid code lengths set'; + state.mode = BAD$1; + break; + } + //Tracev((stderr, "inflate: code lengths ok\n")); + state.have = 0; + state.mode = CODELENS; + /* falls through */ + case CODELENS: + while (state.have < state.nlen + state.ndist) { + for (;;) { + here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_val < 16) { + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.lens[state.have++] = here_val; + } + else { + if (here_val === 16) { + //=== NEEDBITS(here.bits + 2); + n = here_bits + 2; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + if (state.have === 0) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD$1; + break; + } + len = state.lens[state.have - 1]; + copy = 3 + (hold & 0x03);//BITS(2); + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + } + else if (here_val === 17) { + //=== NEEDBITS(here.bits + 3); + n = here_bits + 3; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 3 + (hold & 0x07);//BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + else { + //=== NEEDBITS(here.bits + 7); + n = here_bits + 7; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 11 + (hold & 0x7f);//BITS(7); + //--- DROPBITS(7) ---// + hold >>>= 7; + bits -= 7; + //---// + } + if (state.have + copy > state.nlen + state.ndist) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD$1; + break; + } + while (copy--) { + state.lens[state.have++] = len; + } + } + } + + /* handle error breaks in while */ + if (state.mode === BAD$1) { break; } + + /* check for end-of-block code (better have one) */ + if (state.lens[256] === 0) { + strm.msg = 'invalid code -- missing end-of-block'; + state.mode = BAD$1; + break; + } + + /* build code tables -- note: do not change the lenbits or distbits + values here (9 and 6) without reading the comments in inftrees.h + concerning the ENOUGH constants, which depend on those values */ + state.lenbits = 9; + + opts = { bits: state.lenbits }; + ret = inftrees(LENS$1, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.lenbits = opts.bits; + // state.lencode = state.next; + + if (ret) { + strm.msg = 'invalid literal/lengths set'; + state.mode = BAD$1; + break; + } + + state.distbits = 6; + //state.distcode.copy(state.codes); + // Switch to use dynamic table + state.distcode = state.distdyn; + opts = { bits: state.distbits }; + ret = inftrees(DISTS$1, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.distbits = opts.bits; + // state.distcode = state.next; + + if (ret) { + strm.msg = 'invalid distances set'; + state.mode = BAD$1; + break; + } + //Tracev((stderr, 'inflate: codes ok\n')); + state.mode = LEN_; + if (flush === Z_TREES) { break inf_leave; } + /* falls through */ + case LEN_: + state.mode = LEN; + /* falls through */ + case LEN: + if (have >= 6 && left >= 258) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + inffast(strm, _out); + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + if (state.mode === TYPE$1) { + state.back = -1; + } + break; + } + state.back = 0; + for (;;) { + here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if (here_bits <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_op && (here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.lencode[last_val + + ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((last_bits + here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + state.length = here_val; + if (here_op === 0) { + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + state.mode = LIT; + break; + } + if (here_op & 32) { + //Tracevv((stderr, "inflate: end of block\n")); + state.back = -1; + state.mode = TYPE$1; + break; + } + if (here_op & 64) { + strm.msg = 'invalid literal/length code'; + state.mode = BAD$1; + break; + } + state.extra = here_op & 15; + state.mode = LENEXT; + /* falls through */ + case LENEXT: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } + //Tracevv((stderr, "inflate: length %u\n", state.length)); + state.was = state.length; + state.mode = DIST; + /* falls through */ + case DIST: + for (;;) { + here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if ((here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.distcode[last_val + + ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((last_bits + here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + if (here_op & 64) { + strm.msg = 'invalid distance code'; + state.mode = BAD$1; + break; + } + state.offset = here_val; + state.extra = (here_op) & 15; + state.mode = DISTEXT; + /* falls through */ + case DISTEXT: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } +//#ifdef INFLATE_STRICT + if (state.offset > state.dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$1; + break; + } +//#endif + //Tracevv((stderr, "inflate: distance %u\n", state.offset)); + state.mode = MATCH; + /* falls through */ + case MATCH: + if (left === 0) { break inf_leave; } + copy = _out - left; + if (state.offset > copy) { /* copy from window */ + copy = state.offset - copy; + if (copy > state.whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$1; + break; + } +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility +//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR +// Trace((stderr, "inflate.c too far\n")); +// copy -= state.whave; +// if (copy > state.length) { copy = state.length; } +// if (copy > left) { copy = left; } +// left -= copy; +// state.length -= copy; +// do { +// output[put++] = 0; +// } while (--copy); +// if (state.length === 0) { state.mode = LEN; } +// break; +//#endif + } + if (copy > state.wnext) { + copy -= state.wnext; + from = state.wsize - copy; + } + else { + from = state.wnext - copy; + } + if (copy > state.length) { copy = state.length; } + from_source = state.window; + } + else { /* copy from output */ + from_source = output; + from = put - state.offset; + copy = state.length; + } + if (copy > left) { copy = left; } + left -= copy; + state.length -= copy; + do { + output[put++] = from_source[from++]; + } while (--copy); + if (state.length === 0) { state.mode = LEN; } + break; + case LIT: + if (left === 0) { break inf_leave; } + output[put++] = state.length; + left--; + state.mode = LEN; + break; + case CHECK: + if (state.wrap) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + // Use '|' instead of '+' to make sure that result is signed + hold |= input[next++] << bits; + bits += 8; + } + //===// + _out -= left; + strm.total_out += _out; + state.total += _out; + if (_out) { + strm.adler = state.check = + /*UPDATE(state.check, put - _out, _out);*/ + (state.flags ? crc32_1(state.check, output, _out, put - _out) : adler32_1(state.check, output, _out, put - _out)); + + } + _out = left; + // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too + if ((state.flags ? hold : zswap32(hold)) !== state.check) { + strm.msg = 'incorrect data check'; + state.mode = BAD$1; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: check matches trailer\n")); + } + state.mode = LENGTH; + /* falls through */ + case LENGTH: + if (state.wrap && state.flags) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (hold !== (state.total & 0xffffffff)) { + strm.msg = 'incorrect length check'; + state.mode = BAD$1; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: length matches trailer\n")); + } + state.mode = DONE; + /* falls through */ + case DONE: + ret = Z_STREAM_END$2; + break inf_leave; + case BAD$1: + ret = Z_DATA_ERROR$1; + break inf_leave; + case MEM: + return Z_MEM_ERROR; + case SYNC: + /* falls through */ + default: + return Z_STREAM_ERROR$1; + } + } + + // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave" + + /* + Return from inflate(), updating the total counts and the check value. + If there was no progress during the inflate() call, return a buffer + error. Call updatewindow() to create and/or update the window state. + Note: a memory error from inflate() is non-recoverable. + */ + + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + + if (state.wsize || (_out !== strm.avail_out && state.mode < BAD$1 && + (state.mode < CHECK || flush !== Z_FINISH$2))) { + if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ; + } + _in -= strm.avail_in; + _out -= strm.avail_out; + strm.total_in += _in; + strm.total_out += _out; + state.total += _out; + if (state.wrap && _out) { + strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ + (state.flags ? crc32_1(state.check, output, _out, strm.next_out - _out) : adler32_1(state.check, output, _out, strm.next_out - _out)); + } + strm.data_type = state.bits + (state.last ? 64 : 0) + + (state.mode === TYPE$1 ? 128 : 0) + + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); + if (((_in === 0 && _out === 0) || flush === Z_FINISH$2) && ret === Z_OK$2) { + ret = Z_BUF_ERROR$1; + } + return ret; +} + +function inflateEnd(strm) { + + if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) { + return Z_STREAM_ERROR$1; + } + + var state = strm.state; + if (state.window) { + state.window = null; + } + strm.state = null; + return Z_OK$2; +} + +function inflateGetHeader(strm, head) { + var state; + + /* check state */ + if (!strm || !strm.state) { return Z_STREAM_ERROR$1; } + state = strm.state; + if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$1; } + + /* save header structure */ + state.head = head; + head.done = false; + return Z_OK$2; +} + +function inflateSetDictionary(strm, dictionary) { + var dictLength = dictionary.length; + + var state; + var dictid; + var ret; + + /* check state */ + if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR$1; } + state = strm.state; + + if (state.wrap !== 0 && state.mode !== DICT) { + return Z_STREAM_ERROR$1; + } + + /* check for correct dictionary identifier */ + if (state.mode === DICT) { + dictid = 1; /* adler32(0, null, 0)*/ + /* dictid = adler32(dictid, dictionary, dictLength); */ + dictid = adler32_1(dictid, dictionary, dictLength, 0); + if (dictid !== state.check) { + return Z_DATA_ERROR$1; + } + } + /* copy dictionary to window using updatewindow(), which will amend the + existing dictionary if appropriate */ + ret = updatewindow(strm, dictionary, dictLength, dictLength); + if (ret) { + state.mode = MEM; + return Z_MEM_ERROR; + } + state.havedict = 1; + // Tracev((stderr, "inflate: dictionary set\n")); + return Z_OK$2; +} + +var inflateReset_1 = inflateReset; +var inflateReset2_1 = inflateReset2; +var inflateResetKeep_1 = inflateResetKeep; +var inflateInit_1 = inflateInit; +var inflateInit2_1 = inflateInit2; +var inflate_2 = inflate; +var inflateEnd_1 = inflateEnd; +var inflateGetHeader_1 = inflateGetHeader; +var inflateSetDictionary_1 = inflateSetDictionary; +var inflateInfo = 'pako inflate (from Nodeca project)'; + +/* Not implemented +exports.inflateCopy = inflateCopy; +exports.inflateGetDictionary = inflateGetDictionary; +exports.inflateMark = inflateMark; +exports.inflatePrime = inflatePrime; +exports.inflateSync = inflateSync; +exports.inflateSyncPoint = inflateSyncPoint; +exports.inflateUndermine = inflateUndermine; +*/ + +var inflate_1 = { + inflateReset: inflateReset_1, + inflateReset2: inflateReset2_1, + inflateResetKeep: inflateResetKeep_1, + inflateInit: inflateInit_1, + inflateInit2: inflateInit2_1, + inflate: inflate_2, + inflateEnd: inflateEnd_1, + inflateGetHeader: inflateGetHeader_1, + inflateSetDictionary: inflateSetDictionary_1, + inflateInfo: inflateInfo +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +var constants = { + + /* Allowed flush values; see deflate() and inflate() below for details */ + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + + /* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + //Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + //Z_VERSION_ERROR: -6, + + /* compression levels */ + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + + + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + + /* Possible values of the data_type field (though see inflate()) */ + Z_BINARY: 0, + Z_TEXT: 1, + //Z_ASCII: 1, // = Z_TEXT (deprecated) + Z_UNKNOWN: 2, + + /* The deflate compression method */ + Z_DEFLATED: 8 + //Z_NULL: null // Use -1 or null inline, depending on var type +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function GZheader() { + /* true if compressed data believed to be text */ + this.text = 0; + /* modification time */ + this.time = 0; + /* extra flags (not used when writing a gzip file) */ + this.xflags = 0; + /* operating system */ + this.os = 0; + /* pointer to extra field or Z_NULL if none */ + this.extra = null; + /* extra field length (valid if extra != Z_NULL) */ + this.extra_len = 0; // Actually, we don't need it in JS, + // but leave for few code modifications + + // + // Setup limits is not necessary because in js we should not preallocate memory + // for inflate use constant limit in 65536 bytes + // + + /* space at extra (only when reading header) */ + // this.extra_max = 0; + /* pointer to zero-terminated file name or Z_NULL */ + this.name = ''; + /* space at name (only when reading header) */ + // this.name_max = 0; + /* pointer to zero-terminated comment or Z_NULL */ + this.comment = ''; + /* space at comment (only when reading header) */ + // this.comm_max = 0; + /* true if there was or will be a header crc */ + this.hcrc = 0; + /* true when done reading gzip header (not used when writing a gzip file) */ + this.done = false; +} + +var gzheader = GZheader; + +var toString$1 = Object.prototype.toString; + +/** + * class Inflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[inflate]] + * and [[inflateRaw]]. + **/ + +/* internal + * inflate.chunks -> Array + * + * Chunks of output data, if [[Inflate#onData]] not overridden. + **/ + +/** + * Inflate.result -> Uint8Array|Array|String + * + * Uncompressed result, generated by default [[Inflate#onData]] + * and [[Inflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you + * push a chunk with explicit flush (call [[Inflate#push]] with + * `Z_SYNC_FLUSH` param). + **/ + +/** + * Inflate.err -> Number + * + * Error code after inflate finished. 0 (Z_OK) on success. + * Should be checked if broken data possible. + **/ + +/** + * Inflate.msg -> String + * + * Error message, if [[Inflate.err]] != 0 + **/ + + +/** + * new Inflate(options) + * - options (Object): zlib inflate options. + * + * Creates new inflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `windowBits` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw inflate + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * By default, when no options set, autodetect deflate/gzip data format via + * wrapper header. + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * var inflate = new pako.Inflate({ level: 3}); + * + * inflate.push(chunk1, false); + * inflate.push(chunk2, true); // true -> last chunk + * + * if (inflate.err) { throw new Error(inflate.err); } + * + * console.log(inflate.result); + * ``` + **/ +function Inflate(options) { + if (!(this instanceof Inflate)) return new Inflate(options); + + this.options = common.assign({ + chunkSize: 16384, + windowBits: 0, + to: '' + }, options || {}); + + var opt = this.options; + + // Force window size for `raw` data, if not set directly, + // because we have no header for autodetect. + if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) { + opt.windowBits = -opt.windowBits; + if (opt.windowBits === 0) { opt.windowBits = -15; } + } + + // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate + if ((opt.windowBits >= 0) && (opt.windowBits < 16) && + !(options && options.windowBits)) { + opt.windowBits += 32; + } + + // Gzip header has no info about windows size, we can do autodetect only + // for deflate. So, if window size not set, force it to max when gzip possible + if ((opt.windowBits > 15) && (opt.windowBits < 48)) { + // bit 3 (16) -> gzipped data + // bit 4 (32) -> autodetect gzip/deflate + if ((opt.windowBits & 15) === 0) { + opt.windowBits |= 15; + } + } + + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream(); + this.strm.avail_out = 0; + + var status = inflate_1.inflateInit2( + this.strm, + opt.windowBits + ); + + if (status !== constants.Z_OK) { + throw new Error(messages[status]); + } + + this.header = new gzheader(); + + inflate_1.inflateGetHeader(this.strm, this.header); + + // Setup dictionary + if (opt.dictionary) { + // Convert data if needed + if (typeof opt.dictionary === 'string') { + opt.dictionary = strings.string2buf(opt.dictionary); + } else if (toString$1.call(opt.dictionary) === '[object ArrayBuffer]') { + opt.dictionary = new Uint8Array(opt.dictionary); + } + if (opt.raw) { //In raw mode we need to set the dictionary early + status = inflate_1.inflateSetDictionary(this.strm, opt.dictionary); + if (status !== constants.Z_OK) { + throw new Error(messages[status]); + } + } + } +} + +/** + * Inflate#push(data[, mode]) -> Boolean + * - data (Uint8Array|Array|ArrayBuffer|String): input data + * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with + * new output chunks. Returns `true` on success. The last data block must have + * mode Z_FINISH (or `true`). That will flush internal pending buffers and call + * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you + * can use mode Z_SYNC_FLUSH, keeping the decompression context. + * + * On fail call [[Inflate#onEnd]] with error code and return false. + * + * We strongly recommend to use `Uint8Array` on input for best speed (output + * format is detected automatically). Also, don't skip last param and always + * use the same type in your code (boolean or number). That will improve JS speed. + * + * For regular `Array`-s make sure all elements are [0..255]. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ +Inflate.prototype.push = function (data, mode) { + var strm = this.strm; + var chunkSize = this.options.chunkSize; + var dictionary = this.options.dictionary; + var status, _mode; + var next_out_utf8, tail, utf8str; + + // Flag to properly process Z_BUF_ERROR on testing inflate call + // when we check that all output data was flushed. + var allowBufError = false; + + if (this.ended) { return false; } + _mode = (mode === ~~mode) ? mode : ((mode === true) ? constants.Z_FINISH : constants.Z_NO_FLUSH); + + // Convert data if needed + if (typeof data === 'string') { + // Only binary strings can be decompressed on practice + strm.input = strings.binstring2buf(data); + } else if (toString$1.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + + strm.next_in = 0; + strm.avail_in = strm.input.length; + + do { + if (strm.avail_out === 0) { + strm.output = new common.Buf8(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + + status = inflate_1.inflate(strm, constants.Z_NO_FLUSH); /* no bad return value */ + + if (status === constants.Z_NEED_DICT && dictionary) { + status = inflate_1.inflateSetDictionary(this.strm, dictionary); + } + + if (status === constants.Z_BUF_ERROR && allowBufError === true) { + status = constants.Z_OK; + allowBufError = false; + } + + if (status !== constants.Z_STREAM_END && status !== constants.Z_OK) { + this.onEnd(status); + this.ended = true; + return false; + } + + if (strm.next_out) { + if (strm.avail_out === 0 || status === constants.Z_STREAM_END || (strm.avail_in === 0 && (_mode === constants.Z_FINISH || _mode === constants.Z_SYNC_FLUSH))) { + + if (this.options.to === 'string') { + + next_out_utf8 = strings.utf8border(strm.output, strm.next_out); + + tail = strm.next_out - next_out_utf8; + utf8str = strings.buf2string(strm.output, next_out_utf8); + + // move tail + strm.next_out = tail; + strm.avail_out = chunkSize - tail; + if (tail) { common.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); } + + this.onData(utf8str); + + } else { + this.onData(common.shrinkBuf(strm.output, strm.next_out)); + } + } + } + + // When no more input data, we should check that internal inflate buffers + // are flushed. The only way to do it when avail_out = 0 - run one more + // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR. + // Here we set flag to process this error properly. + // + // NOTE. Deflate does not return error in this case and does not needs such + // logic. + if (strm.avail_in === 0 && strm.avail_out === 0) { + allowBufError = true; + } + + } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== constants.Z_STREAM_END); + + if (status === constants.Z_STREAM_END) { + _mode = constants.Z_FINISH; + } + + // Finalize on the last chunk. + if (_mode === constants.Z_FINISH) { + status = inflate_1.inflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === constants.Z_OK; + } + + // callback interim results if Z_SYNC_FLUSH. + if (_mode === constants.Z_SYNC_FLUSH) { + this.onEnd(constants.Z_OK); + strm.avail_out = 0; + return true; + } + + return true; +}; + + +/** + * Inflate#onData(chunk) -> Void + * - chunk (Uint8Array|Array|String): output data. Type of array depends + * on js engine support. When string output requested, each chunk + * will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ +Inflate.prototype.onData = function (chunk) { + this.chunks.push(chunk); +}; + + +/** + * Inflate#onEnd(status) -> Void + * - status (Number): inflate status. 0 (Z_OK) on success, + * other if not. + * + * Called either after you tell inflate that the input stream is + * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH) + * or if an error happened. By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ +Inflate.prototype.onEnd = function (status) { + // On success - join + if (status === constants.Z_OK) { + if (this.options.to === 'string') { + // Glue & convert here, until we teach pako to send + // utf8 aligned strings to onData + this.result = this.chunks.join(''); + } else { + this.result = common.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; +}; + + +/** + * inflate(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * Decompress `data` with inflate/ungzip and `options`. Autodetect + * format via wrapper header by default. That's why we don't provide + * separate `ungzip` method. + * + * Supported options are: + * + * - windowBits + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , input = pako.deflate([1,2,3,4,5,6,7,8,9]) + * , output; + * + * try { + * output = pako.inflate(input); + * } catch (err) + * console.log(err); + * } + * ``` + **/ +function inflate$1(input, options) { + var inflator = new Inflate(options); + + inflator.push(input, true); + + // That will never happens, if you don't cheat with options :) + if (inflator.err) { throw inflator.msg || messages[inflator.err]; } + + return inflator.result; +} + + +/** + * inflateRaw(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * The same as [[inflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ +function inflateRaw(input, options) { + options = options || {}; + options.raw = true; + return inflate$1(input, options); +} + + +/** + * ungzip(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * Just shortcut to [[inflate]], because it autodetects format + * by header.content. Done for convenience. + **/ + + +var Inflate_1 = Inflate; +var inflate_2$1 = inflate$1; +var inflateRaw_1 = inflateRaw; +var ungzip = inflate$1; + +var inflate_1$1 = { + Inflate: Inflate_1, + inflate: inflate_2$1, + inflateRaw: inflateRaw_1, + ungzip: ungzip +}; + +var assign = common.assign; + + + + + +var pako = {}; + +assign(pako, deflate_1$1, inflate_1$1, constants); + +var pako_1 = pako; + +/* + * The `chars`, `lookup`, and `decodeFromBase64` members of this file are + * licensed under the following: + * + * base64-arraybuffer + * https://github.com/niklasvh/base64-arraybuffer + * + * Copyright (c) 2012 Niklas von Hertzen + * Licensed under the MIT license. + * + */ +var chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +// Use a lookup table to find the index. +var lookup$1 = new Uint8Array(256); +for (var i$1 = 0; i$1 < chars$1.length; i$1++) { + lookup$1[chars$1.charCodeAt(i$1)] = i$1; +} +var decodeFromBase64$1 = function (base64) { + var bufferLength = base64.length * 0.75; + var len = base64.length; + var i; + var p = 0; + var encoded1; + var encoded2; + var encoded3; + var encoded4; + if (base64[base64.length - 1] === '=') { + bufferLength--; + if (base64[base64.length - 2] === '=') { + bufferLength--; + } + } + var bytes = new Uint8Array(bufferLength); + for (i = 0; i < len; i += 4) { + encoded1 = lookup$1[base64.charCodeAt(i)]; + encoded2 = lookup$1[base64.charCodeAt(i + 1)]; + encoded3 = lookup$1[base64.charCodeAt(i + 2)]; + encoded4 = lookup$1[base64.charCodeAt(i + 3)]; + bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); + bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); + bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); + } + return bytes; +}; +var arrayToString = function (array) { + var str = ''; + for (var i = 0; i < array.length; i++) { + str += String.fromCharCode(array[i]); + } + return str; +}; +var decompressJson = function (compressedJson) { + return arrayToString(pako_1.inflate(decodeFromBase64$1(compressedJson))); +}; +var padStart$1 = function (value, length, padChar) { + var padding = ''; + for (var idx = 0, len = length - value.length; idx < len; idx++) { + padding += padChar; + } + return padding + value; +}; + +var CourierBoldCompressed = "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"; + +var CourierBoldObliqueCompressed = "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"; + +var CourierObliqueCompressed = "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"; + +var CourierCompressed = "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"; + +var HelveticaBoldCompressed = "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"; + +var HelveticaBoldObliqueCompressed = "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"; + +var HelveticaObliqueCompressed = "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"; + +var HelveticaCompressed = "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"; + +var TimesBoldCompressed = "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"; + +var TimesBoldItalicCompressed = "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"; + +var TimesItalicCompressed = "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"; + +var TimesRomanCompressed = "eJyFnVtzG0mOhf+Kgk+7Ee5ZSdbN/aa+ebzuMdvupmjORD9QUlnmmmJpSMoSZ2L++9YNwMEBkn5xuL6TdUkkgLxUFvXv0Y/1/X212o6+H1397XEzv6sOTl6+Onx1cHry6uXJ6MXol3q1fTe/r5oCfyzuq813H+r7+aoVHpdLFA5UmN8vljuUGjitFnef27tIqTfb+XJxc7m6WzbFDpvjzS+L5+r2t8X25vPo++36sXox+vHzfD2/2Vbr36v21J+ft9XqtrrVGzWP9sMP9fPo+398d3R28eK746OLF0eHh4cvLl5d/PliNGkKr5eLVfVbvVlsF/Vq9P13jQzCH58XN19W1WYz+v604VfVetMVGx0eHv+luVBzk3f1dnHT1uTH+mG3bitx8F83/31w9Ori9EX773n376v231eH3b8vu3/PDy5v6+vq4PfdZlvdbw7erG7q9UO9nm+r278cHFwulwcf2qs1dqs21fprQ3szLjYH84Pten5b3c/XXw7qTwe/Llb1dvdQfffXqjnr8vXBfHX7P/X6YNGcvHm83ixuF/P1otr8pXncn5vb3C5Wd7/ffK66Buie4vdtc8p8fStqU/DH+cNfhzY5Ozt+MfooRyetJS43N62p14148fLF6KdKjxsjn78Y/b69/et09P3xRfffq+a/Fyd9e/2t2q4XN41B//Hv0fRjU6S93LvmQTYP88aO/3nR45cvX/a4er5Zzu+Vnxxe9Pyfj3VjqeulKqeHw4VWj/fXbUPdraJ2Wy+X87XyC7nLQ7W+ab1chPPz4Tbz+0baNNaJT9Y9QdfiUXuYr6vVsvpUkvxp+njzTXvFzRdTzk6Gs5aPG6Vqs5smOOfxFp93D5+rVSzeVGVRW02OpZKb5XzzOT7Nv6p1HWm9qiLcPiUlt5/XVVL2U/24Tujia1J2s3hOYPW1Stq2ym26WsADa5Vv6mW9SixR3S+8pC2wbNNAoNU/H+fLiO/WVRPIVs2TkxNxmmrTpRpRXh0fDW0P3nd83LNLRWdn5z36IaIf44k/Wamj4fo/21OenvXol3ji64j+Gh3sjaEmtXXof+OJb+ND/GqhJyf+LZ74LqJxfPrfYqn30Tgf4om/x+f6I15rEtGVtZq05zSW+hjRLN7x79Gq101n9qXaurShnnndaD5O+TyfU07OXklOuVksbhbrm0fLohocj23S3jQ9T5J5u/zmHka9eB6vdB1L3ST5N5ZK7vwpnngX0edopEVE/xdP/BJLWQhr5k+slSSdJO09RPTPWEfLDRpCm/hcST57jOhr9LinWCrJpLvYHP8ydHFo/uUd4VhbHTpTX556uJMj8MbtYnlb7Opv66fEzq53tp5g243TzDmOJOw/tQNDzLNW56zv+LSs14uEb6rCVW4e1003fmMGPJLad2GzWXQD1yT996MWZ01z8sdFo9zX23zk0Mrdhb8hk+kl7X1aJCwZPzUDuXQ4cDu/u6uSnrvnOBSjAUfbdtW6gtg/tbHQ/G49f4CkJqdeN9OHKqmlmfd6vtlj4f1qYfylDeD1bs7Q22a5XDxsFptEauq6/Vw/urFi6Padc1vLredfk3iY3zxuE9zn8k/L6jlqhci6n9+s6+TG1+squ/FtvZ3fuIgzadG0JBrAEhrGoT1sdduYNBujPq7u5uvH++X8MblNfdcMM78kl5tjPaBd7p3P6uDi0kY9x+eDz9fr20/NMM+NC22A4vtYG394rjcY2w1eHh3qDe6bPPe4dHeQzDRPRqO3bchvNkn3tSyMzevCc9bJILqJzmZC3Hh90mpvQoNax+z9zzp/7zXWMaVNapfzbWdjo/AEOoq+XXxdgDvbKf7JbLichIY9duGkSXKSdRYUg9pVdzMvChKoaryk3c8FiuFyQ8wpGuwc/3TWEnSCzQHCTWzG0GQImIL4KSZV9PxMxWHNI7kV5RwbFXo/sFrmdnmXPYCFR8lHfUq1cX52NZtIla7m0yqYMyZK8xBXTeCUEW3wSnc/H+6yrP9Vre6STPKhEFGvs0qac+wNkn2ee1nqRtaFJr3hutrsJ1pOxyR/fK7XSa3GdHczA0WBTvOIX0iyLZhtQjcwi/muzS1vbB67Mc46eV7vgmbFEqe0Kknw/nG5XTwsd8lz+QqCk/vmkI6vGW1tF/Pl7eJTMsHalVPDO38fc9jEWSw29rrZnl6nLN0U0t2qlAapQSGnzFM/fkMXwsW3ZsCAK3A6AVrXX6oVToM0Oa6ru8XGD3wtRAsjrzcxLs50LvLYRLWbjZixCyPIdcEyNceSxmXBpf7uLXZ68kpGrt06l18F01r+vLURiiXZYgJcZnnr5fHgvdtCkqmKvWNJuCwNH/Z4pTewzZZLoVG697jUIqWuh3Ou9iOlO5fjeLx3WMI9powLquU2We7ZuiRtOfGp3pMR40hPzrt/TGrin8hMlY4zLRbI9DZP9SOc81PM440DrxtHhkfTbiRMYaRtloWO5G06yNAZhm+4V7JuoK90spxYnpC9KYT+m1KI/0pPLWZojPZ5voSeQWK8nZnQMrc2xb6x88qPmszTvtF+hUioSt3znc+lWKGhVbNG9fnMeDbcVQfOZzjqYE2WyF541BRalgnn+XiDks2pZvPbxU2WZ38q9GfrvbV559vHHpdGuzbc3OvWe+91WfCFy2KOzmcDY38dy8NJv2kjkUJvX0oUX9Lxs47H3EDArrY3FPwj2PLu3jst67u2vVd1Moqvy7n0MUoSys2lCpF8t3fOUEFHbjYvuO8q7cbh9WHoISzll2L858f2VeSfL0Zvq/Xqt/li3b5A/sfosn1RPXrx3cnhny+Goz57ONQ/p0dDTkf42h/1WcUhrBgK4+bo9FSP5BEAgXM4rk3laB//DrnM45TBZI71i0MO9YGD6L07+qM5Ojo60kMxmmOu/qBM3KUm0QCTggEmqQEm0QCTogEmiQFk6OdYl1GQXLWVeKmH0+bwlbbprBUPVZxJnZDBwwOGfQHOSF+bw/MTOXpq73YsRzt/JDcDBPca6FAIA0ARRYFyCgXjHA+ivE4QRYbyNDxEhRhRRH6iPHMWFaPHqERuozz3HZXZgVSgMFJOsST8fUQYVco4tExI40vkSbw8R5ryfRZMYk6lggUL0adyyYIhDlXwwSgYI1IYhKUgjE1lHKAqJFEqWhqqIkK8CoKgFbRLEIWv8hjDQyhhDCuiGFZOMWycY1iU1wmiGFaexrCoEMOKyAOVZx6oYvRAlcgDleceqDJ7oAoUw8ophoW/jwhjWBnHsAlpDIs8iZfnGFa+z4JJDKtUsGAhhlUuWTDEsAo+hgVjDAuDGBaEMayMY1iFJIZFS2NYRIhhQRDDgnYJohhWHmMY2wkD2XOKZi9SSJPIce3k1yVOEe7FNMxdEYh1z8ldvZj5rC8RHdfr5L1ezF3Yl2E/9iqlAy9STnDi+wLH7OAFThGkpnnClZkUbskZw4vfbIIkd3h9XxMUsogvs7cJQj7xqk8qTsPM4gRIL45jjvECJxqvJtnGFUhTjisBecdxSD6O70qc0pAXYy4ygpkIKeUhlCgLOYlzEIivc0r5B6U0+0AByD1Iye1Rypwe9ejyqJLDo5S7O5ZgZ0eNsg1KlGtAep9SzDOIOcs4Lc0xUGKS3orzC0rfMHSSW1AtG7qQV7DEHkOHnIKazyigYD4BDNkEKOYSxJxJUEvyCMhpFgEdcghQyCBAdzml7IFSzB1D42DiUERZQzmlDOOcL0R5nSDKFMrTNCEq5AhF5LfKM6dVMXqsSuSuynNfVZkdVQVKB8opFwh/HxFmAWWcAkxI41/kSbw8R77yfRZMYl6lggUL0a5yyYIhzlXwQS4YI1wYhLcgjG1lHNgqJFEtWhrSIkI8C4JgFrRLEIWx8hjDYjgMYmMUxSZQGIPAcazS64xRJJuQhrLKEMvGyBVNyHzR1OiMppE3mpC7o+nsj6ZQSJtAMa3C+4RhVBvksAYljWvVJ8ktOLJN2GvOJLZNK5mzEN2mF80Z4tsUH+DKMcIVQogrwxg3yEFuShLlKqZhrirEuTIIdGW7jFGomxBjXWyFsW6MYt0EinUQONZVep0xinUT0lhXGWLdGDmnCZlzmhqd0zRyThNy5zSdndMUinUTKNZVeJ8wjHWDHOugpLGu+iS5Bce6CXvNmcS6aSVzFmLd9KI5Q6yb4mNdOca6Qoh1ZRjrBjnWTUliXcU01lWFWFfWxvopheguY9pMLGBD9Np6+CjbAkoIxblginLFHOOD8DoSim/BaXQPIsS2EHJFwZkjihbdUBRyQsG5C4rKDiicolkwxfKA3weCcSyIo1h5GsODOgmX5vgVvMdoSeyKkhutELeiFowWYla4j9iBYrwOCKJ1IBirgjhShSdxOkhplA4axOhAoDceyC4S6okFx3548BgMTkUUncopPI1zfIryOkEUocrTEBUVYlQR+ZvyzOFUjB6nErmc8tznVGanU4FCVTnFqvD3EWG0KuNwNSGNV5En8fIcscr3WTCJWZUKFixErcolC4a4VcEHrmCMXGEQuoIwdpVx8KqQRK9oafiKCPErCAJY0C5BFMLKQwz/0NDL5qivcnck5wKSeAPk2hc43AGotCogbTFg2ljAhnYCIs5vaNJZVo+sIRS5xwXumkapPC4g8j9QtCLAtCLAhor05KfB7id25DPmT2h3QK4iwKEiQKUigPRxgenjAhseF4jY3dCVO2rj5KUezTS4fsLgABSywLCb11lGEZlHOdlIeWYoFaO1VCKTKWe7qcDGU8FbUDGZUfhVRGBQQbNoLDat8sS+3XcA3r6C2L7C2b7CU/uKmNhXJLav8GBfEYJ9RSD7Cmb7DvwqIrTvgGbRWMG+woN9fxlM2+fsX9CqgMSggJwtgcMdgIoFAanxgKndgA0mAyLWMtSOwY60PnNNpoakBoB8fjWO+dWo5ldDlkWNWRY1JlnUiNTAUP/jUC++uzgUUju9jnWqCxWo0wrUsQI1dxCmJFWrZWAHKNZj+NUqqcj/Du51ZkdSEUDSOIBc3YBD3YBK3QBpDYBp4wAbGgeIVKpHb0f9MPylHelow5AfWhjHoYVRHVoYoqYAxQYdxqQpAOkIQ1F7dHyqR/LUgGRMjQgrAhwqglQ/5HBY6gdIawFMm8NYrWOkt+j0gJJB3FtyeqB+EPc2cXpQaHj3Fp0ekB/LtehRQ6A78qHaoSRUOx5CtaM+VDuUhmqnUKh2jLJQx1wWasnOWX4X/WMXG91NtjAuSKAQITWLFioSA4cKUAyRmocTFeLIIpmCjFSKN69WJYtxFJJKAclqEptU5FstlkUslaDgJZXjmGQOaS9DdJNAgU5qFvNUJIY/FaBMQGqeFKgQ5weSKVWQSlnDq5BASKBcQmqWVqhIzDBUgJINqXneoUKcgkjmbESyT0xe3JVcidMVqSEOfh3160r9EkJ3JMGGyK0lmdAtsRweyuFUB5+/jmRhRUVYUzHm5uyK3UqK3a17/6BPvfNj+V+pegPFb1iGK4VPWALPauu+7hgeFb/uGOrtv+7wxYIF8q87vJbZAj/boHqyVbLPNgZJJpfZHUTbxeJ8B+XJHZzzQROQQA3BatYcvgw2ilegabwwK54SmonkpLF8idSgIXxTGwXjFsN3KDAkVzSuIjKr8cygoqIphYERBc2SYsFwKiQmEy0zlmi7WE82kPJgmncjXA7tjnxv2iG/HNqhpFfteOhKO+r7zw5Rf9gxWg7tmFsO7YjvDN9J8F4miOqinCqkPKuVirFqKlH9lHMlVeCaquCrq5jqjOuGjKjOYd2QeVbnbN2QJapzXDdkgevM64aMuc4uyi+LAtffq2wFr6a28EUSi/gCbBevBut4OdjIy2QpL5K95B3IZYLIRsrJOsozu6gYLaIS2UI5W0EFrr8KvuaKfZ3HrrrjWNNxrOS4UL9xWrVxrNU4qdA4qcs4VGOc16DtpfqF2zF2UIiS177joVs61aOpu+pHV3LmStqKryHsKnoaE+24kGjHhUQ73pdox+VEOy4k2nEp0Y5LiXacJ9pxIdEqhzYJI+PAs9bBkTHZcxpv9zGeOIsncrNlI+VBcl8TQQN6Tq3oRWpKL2bt6UvERvU6tawXuXm9ym3sVd/QXqPWDp/7nSTW43bf97FfVuSq0CrTwnN8LFxnVrgOe0Xxg7dBh09FwDGQklugRE6BUuYSqEeHQJXcASV2BtTYFVDzjoAKuQF9i3US7MQuUP4SKxa4Si0/Te/+Mb3CLL0CN3vh66RBlQ8LoMUVUXMrp7ZWnjW0irGVVaImVs7tqwI3rgq+ZRVTs+KXNSfeDNyghe9qSL2K9pzG232MJ87iidx82Tcog+RX1bAJWaGWZJkalOWsXblMbF4uQa3MMjc269zmrPumZ5U8gGRwBFbIH4KcuQUVuiq22LT4RB+LV5sVr8aew3J0IP3UAFzHGDmNCeQuJmSOYmp0EdPIOUxgtzCFHcIU7wrGyQnctzgnZBFu+NKXOCxfJdadJvf8mJw7S87lRk2/Vhk0Wd2B1lREjamc2lJ51pQqxpZUiRpSObejCtyMKvhWVEyNiCt6J94M3ISFFT1Sr6I9p/F2H+OJs3giN162wjdIcZI+LkzSx4VJ+njfJH1cnqSPC5P0cWmSPi5N0sf5JH1cmqTjTt0TbwZuu8I+XVKvoj2n8XYf44mzeCK3XbantZd+G5qtX479DVsMkDQWINdOwMNe1d+wdQBpwwDTNgE2NAcQaQlDtvmpO/JvDDvkNz91KHlz2PHwurCj/h1hh+idX8foRV/H3Nu9jvhNQy2SzU/DZuIW6T6igb0f4ZbZ7shvme1QsmW242HLbEf9ltkOpVtmO4W2zHaMtsx2zG2Z/TDqN0mc2JHfs9ihZFtix8OOxI76zYgdoqcGhXYodkzeUwPy+w8/DJF9ZkcS1IhcPJswcdeZxPpOCvWdpPWdxPpyK4GS1HdCmzE/QCsZaRPQhR61uad/u/JhyDFndqQb2AzhrrSeykIOtL4iMonyzC4qRuOoRBZSnptJZbaVCuQgyslLcGHtjBD5S2FhjdRJvDa7j/J9tkocSaWCrQoupXLJVsG5VPAehmuHFx6Br+FCIfkRe122UDhI8vYFXE8RmVN5Zk4VozlVInMqz82pMptTBXI95eR6wsH1FJHrGc9cT9RJvDa7nvJ9tkpcT6WCrQqup3LJVsH1VPCuh5v1LzwC18PN+uRH7HrZZn2RwvZAeYh8e2CupgYubg/MC7Cx924PzAsFw+fbA3OVHTbsEDlLBXbefTtE0jKT0j2DO3v12zbPXNsX2Gvzkpv7QvttHl3ey+T4YevMRSZgEISdM6lfh4Ao7pvpC/wxGqYZL/VIpxmGdJphyE8zjOM0w6hOMwzZNMOYTTOMyTTDiE4zFLXRfHShRzr6NuRH38Zx9G1UR9+GePRtio2+jen3CIZ0aqHIvqnojuSpAYndAbmKAA8R0FHv9h0iN+6Y2h0uONgdiM8bLer/wrVMWXvST5f6rUotac84V103GQOSxILIfcFjPGy97ilsHIbC+mGPIdpW3TH7sEfZ8HfPZSbbosVIpvzdkV896RCtW7SsdgasYwvXhebEPcNApUaAyC9B0boCE78EJK1qSOe31ohrV611rP1aGhGR6xJMsL+NLtmtpe0+4xM70i7BkO8HjKPrG1XXN8Rp3hQLCmOW0I1JFlfy5Cy380exvXexXXGz1ZDRwmYr5pSP881WLMbMHDZbMeccHTdbseCzddhsRRzydpgGMM8yeDYNYIlyeWkawDJn9TANYE75Xfg8tjRneuWU7pVnSULFmPhVouyvnLsAFbgfUMF3BoqpRxBO3YJh1zcIhhStiHoJ5dRVGI9f7ZgYOw2TYs+hGnUfyrkPUYE7EhG4NxEOXYoiyqzKuXMRoY6twt2M8n1ulHQ4KlGvozzvelTm/kcF6oSUU08knLsj4etoDe6YlFPvZDzrokRN+imRoLNSRD2W8qzbUjH2XSpRB6Y878VU5q5MBe7PVPCdmuCn2BK7BBWcLevowg5b6Q3yHba5yl3fnh22eZGkG8x32OZq6BILO2xzmbrHfIdtqmJXmS9Y5GrabRYXLPIC3IXuXbDIC4XuNF+wyFXuWp06L3lY6Ga9yp2tV9Nc6YskHa8vwN2vV0Mn7OXQFXuZOmQvcrfsVO6cSfRdtP+CEro2L3B37VXutEnNum5fJOnAqUDSjfsS/pNcVu33HlI5dOxODt27U7GT9wL3VV4NHb7/ZLPU9qHz9+q33TobCPgCPBzwamFQ4AuFoYGXeYDgVR4mODUMFpy6LtkzDBy8ysMHUtNBhCuTDSVcARxQeIGHFV5NBxe+SDLE8AV4oOHVwnDDFwqDDi+HoYeXaQDixKdSS++Kwt4QiAOTyTAaObEjvx49wXEHoGRdekIjDKC+N5i4sQQwWkaewKgBiM/wsn6O1QjfTjCnCuXfTrAYqxa+nWDOlYzfTrDgqxu+nRh4+OYg5VT7/JuDVMzsUPzmINXJIoVvDlKVbZN+c5BqZCXafp9QslC2/T6RMusUtt8nKlkm3X6faGyVZPt9opBFcG86I7JF2JvOPLNCtjedJap/3JvOAtec96Yzpjone7oLClmgtKe7IGf22LOnu1CCrFPc013Q2VaFPd0FlSznNjMHRtaKm5mDkFko3cwcNLJKspk5KGyJsJk5cKq9/pL0Zcao9iZQ7U3Iam9qrL1pVHsTuPamcO1N8bU3TrUffqn3MhKquWCqt+Cs1qLFOotCNRbM9RXOtRXu6yrU1/RqqOXwS61XWEVkulcTmF9fAAFXFQDrWgIwWxwAaBsYAcoORkC6OGCs/Y3jIzvyW0w75IfsJoydTWgvSIeSxux4aMiO+kbsULrXoFOoaTvmd3J0KLYd7E/tDrXtgKkRgPm3rMbxdxKN6nq4IZs3G7N2gztJuwHSX0pUJBOkfurWk2Hz7fErQVSHKqmrLTgAyqtapVV16wl44WiCKjFBlZlAVwmGH99oWbs2cGZHunXDkP9ZLeP4G0JG9eexDNlvYhmjnxpsWe2NbL/oCMxHOgg4ozKqywSGeKUQrmErAsZ0URDK6eRfke3GtmI43TZvaufY5xrqOrEG5L3EOHqJUfUGQ1RDUMxPjNm6kjH5SdGOTCUx9603dYkZmAY3MGouEzAxA9bEDMwSM0DzboAS4IA0MRvrFrHtyO+Sn4b0Cjzskp9iegWU7pKfuvQKTF3MkD62Ilthno7CsvJ0FNaSpyG3Ag/LD1PMrYBojWw6iovC0xGvBE8xsxqSWHh5bqTPrP2a5XRIrHZGFWupaRVRXssq9IZTTqtQ2HeSU5dVgSWV16R6puGycCctfA8+denPWO2uWse6ZwunU859RmNz5uui01FcDJ2OwgrodBSWPaeY+awRMfFZY7eJ71RP08QHyP95AePhs6QpJj5A/PcETLE/JWDM/oqAMfkDAkraBb7zl3qk6doQpuWOzny+nCX5cpbky1kpX87yfDlL8uUsy5ezLF/OYr6cJflyNsIfMZ1hvgSUvD2ZUb4E6t+CzJJ8CQrtc5hhvgTkf2x0NuTLYZQzw4SJTFsAGOV+E3DXqlH/w8ozlzOBwYdQBvVLKEP+p5VnkDX78JqNwnh0NqRNuEyVVFYTp2OFylZpZf2IFEpHI1SJEarMCDYi7UepsyF79u8nZpg9AdEfAJkN2fPoSK9rg0dgvrogYAwb9XtvZkkCxWvQ67sZZlAsp1MORTx4nFEOtaZ/9IZ6pHnHLGRRFMIsY4ZpFFCopEk00Zi5PIoF/VxrpuvnkFrCy4EgcIbMXw8ENcmV4QVBEELWjK8IgkL5M7wkYAEyafjWjXmWU7Nv3Vii7Fr61o1lzrPhWzfmlHGFY9pVxulIBU7AKqSJSdWYnVSiVKSc85EKISmpQulZOeVo4RSthn22Fp5VO+RtFTh5m7DPUEkaNynJ5SoWrBiyugpFK4b8LgIkeUWU6ZVzuhcBc74yTvwqpNlf1dgFqET9gPJCZ6A69wgqcLegAvUNwkMHIULSS4j0mNg89BcqpJ2GqrHnUIm6D+WFPkR17khUCL2JKtSl0EtFybXZW8VM476l+F4xK5D0MNmbxUwL/Uz6bjETqbfJ3i4mGvQ5SKnbQSnreVCPnQ+q1P+glHdBWIJ7IdSoI0KJ+iKQsDtCzIkWNe6UUEvTLRaIGRdVyqsocWpFLWRXFKmbQslWkYJGWcMpvsMCqXCt0G2hxj2X075hzaT/cmrShaFetnboyFDbZ+3QnYEGPRpS6tRQ4n4NNOzaEHPvhlrawWGB2MehSt0cSoWeDotwZ4ca93eoUZcHUuj1QEs6PlAf8wYK3R9qaQ+IBWIniCr1gygVukIswr0haqFDRNH3iU3Ydn9fsu8F2qN241r/YlFSHhYQBKWG5IelBEEpt9sHijoO5eGRoTRQKCvbR6CgICiluwWgmDIo5/629VDO/W3roRz8dd2hFPx13aEM/gnPoRD+Cc++1DV6br+4ez245LEdiScCSt6yXZPfAfVv2a4TPwOF3r9dO7cCNniTka9arZtRvxYKRxpNhnBc1FNxsV2C6ALK41Xw2w9GdJXs2w+R5M8Ru+sY5CuZEq/Vd5L9Hy24vV7K3y3os5hTvdRW0H7uqTvyOwM6lO0MUM/Toyd39OxK7vyRr1puZenG8fkU0UMqT5/UpRqPniJ6jifuEkRVKHuLDDmwHoqoHsrTeogK9cAPkwg9xxN3CaJ6lP3VDY9cZRznGjkxr1bI3gl/KvDnwnV2Jc71dWKsNHQKdzmlCqOUVpc7n0CfUvqcXmGXU6okSkkVbdzq6oiYK4laXksogdUE/JTj5/wiuwLmqqIW6ypd912CqI7K0/q5YYFHTxE9xxN3CaK6KI/10LHFXcaoJiakVfFjF2JPCXtOzt1ljOpjQqyQDoLuMkYVMiGtkB9kEXtK2HNy7i5jVCETQoU+jWS2r0d+Z0eHbG6vKNns0fGw2aOjfrNHh2hLR8fohw875n74sCN+l0eLmmhaVptNN5VU+Ekt2B4tdITWHfmR5CcadfQTy7vBNnagk1IlYhkj/nW8Ynwbr1BfxiuxN+6KbLqrSN63KxCT9ESmHvNIfA0U+2ooTuqiWqiQKr5Wiqlqyql+yl0llfqaxs9JU+5rXfiYNBUTC5Q/JU11b43Sh6SpSpbJPyNNNWcl/VNgeuDsEf78VwsXLi0t4tB0URgOLdJxwyL2Q4skny+SlNgeWbR3Rz5DdcjWywzFDNXxkKF66lbFFPvE1SFKXB2jxNWy2h/FZ64LD1inD1jHJwnrS6Ykz1j7/XId8pnUdydJR5J3IV/il8bD9QpfGucqteC+L43zItFse740zkuQjUtfGucy+0D86jcX9poldZLyV795gb3VKnhR6avfXCbfKnz1m6q7kiOx85W/Be0LLIdRU3+XpVul61H8OnUQ5GfYDUleOtEje85kzJiPFleYNocrxbn6qjBXX5Xn6iucYg8XjpPnVWHyvCpPnlfeRHj5QqOxwLf6RqOtcHVwuJWgXSzFl1ceLlyPcB2udiPqWi5+qEc+CGu+ZE+xOYfrxgWa2rWwP5Fvk7ZwL4XudbhhYbWhjqsKyXX4/uVVhV6nvnx4hHQNoObZfrgC37w02+9VHDAM940T19rNUv2JfLt0ltpL9B0h3JIUuDMpu+LV+DlYjo/jBkbDgyQT3dpPaulcvm0+qe01SX9wP8yIxx7t4ol8s+yvyg4SxvtwL3wbcOzRLp7I90pTQCc9uAs8xHMf8tOG1xCFVWove03OWFaf5Fvdi1SQ58hV/0kCq8l2di4CdcoL+E3urNKudpZpMz/L7qMGFv1O+E7NjbXHUnvM9C0b7TfQHuvsM80+u5SN8m2LwP+HL6HQ5Ubtm7LTw4ibB5xvc22pTu6xDwuv0dJVUsIP/pzmYyTWYZ0/p/6kS6bJRCHV3MMmJboJ7mnEfruB1/SGmSZvu3LVP05S4mF+U+Wm6ax9ETG1RyzxVWveWFf3pZwoudPTuiNd2zOU3aIVdBvHsV5M39n2lZOG49u6d2QXHtEDlN6ReZUfJez5G56Hf79yeB73ruvCI3qe0rsur/LzhB9AlOdJf7JLnsqJ+Gxe4Cf0av6c+c9eHWc3pmcefLRL0ER81CjWFTWP/Vqa13D9ySu6fuaxrZx5TpuDlMtqmae6TubwH2o3Jbo6QTixtYj2t6eEdH96ypH2t+BfeSI2JQwG6pUmzLsFz37E1B3porYhaQpAfseEcdwxYVR3TBiyfRHGbF+EMdkXYUTMbUgi4EyJze66Iz/h65C2BaD4Z6c6HqaFPcWFIMP+r1F1iP4aVcfor1G1rNZQ6o78y4UOJdtUOh62qXTUb1PpULpNpVNom0rHpEsGpLZXpHHeG/9phK+CntChAPlXQU/BoYCHkfUTOhQgWlx6cg4FzL0KekKHMuQd6mmEK29Po7Dc9hQaB3hagTpWIF9CexrFdbOnUVgsexqFFbKn2DjPLjKeY2Q8x8h4LkTGcxoZz3lkPMfIeE4i4zmJjF1ojl2s2I5HDIS5eLLlNip40p//+X+DG1I7"; + +var SymbolCompressed = "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"; + +var ZapfDingbatsCompressed = "eJxtmNtu20YQhl+F4FULyMGeD7pz3AY1ChtG7NpFA18w1NomIlECSRcxgrx7SVk7+wOdG8H5OJydf2Z2d5gf9cV+t0v9VK/r+6vXsXlOlbHe28paq229qj/t++m62aXZ4J/m8PRb1z9/baZxefK63Z6eXN5dVMvTCh83u277xr/6kLrnl2XNq7TpXnczuZyabdee98/b2VzM/x4/dd/T5qab2pd6PQ2vaVVfvDRD005puE3Lu7eH1HbN9hTjx4/77/X6y5lcnUmjVzHIVVDicVX/1W/SsO36dLMfu6nb9/X6TAoBD+5euvZbn8axXtuZ36dhPJrVQqgPQoh5hev91LWLkIv94W1Ygq9+aX+tZAx2tfz64284/sblN/rqfLP/mqrbt3FKu7G67Nv9cNgPzZQ2H6rz7bb6vLgZq89pTMO/M/xfEqturJpqSM/d7GJIm2oamk3aNcO3av80O5xh3yyKmm1193ZIT02bqovTKjP+MAf++7zsZvZ3276kYyWWXB0z99S18/PbafPHQ71W4fjn/fxnFO+ZvkrT0LVzTr78qB/+nk38bHM9exgP8zr1z9U7jt6840YW5uSJKcZOCaBBnKgm5mU8MVNYyMwWFvO7Ukagkmgg6sDWQ5yFFqjzUrLEaQ3BEmiwNsMSaZS0vgWfOkPHWQowNeTUc0kumnxZvsgPxlGai6VTGUqAVCTQ6QkWnc77DKEiLktSUBJKqHIQZ86d8gCpHYoiEzMsb1ubYy8vW50DChB5ZhGqrijD0EqUIeiaEHIfCg5Kpuu0ApiToaGPSY0uaQsyr65L2oKi1yFt1PLaQ3lzfXTgXodGoJYzglndSLDMPg1sTPJpQJHJigw0QrGERqD9YhyTOgONQDUyuF1zaxuokc/BW2ztXCMrGZ9WMW1oQZHIXWNBkSCfRZEL5BMUiZw6CzVSFCfUSGZFNjIldoKDkonTKQiJIGzWmFd3BizJJ9SINoLDriOfUCOZS+zg+KGD1qGiLNMLxtJD1/ns00ON6EzyUCM6vbxhoBKaqbG3DFQCNiL1iHccBPV0DHhQH/JW8EW90dkyFKGywCJU0WkVSvSGeiSUODWFFD0HYdPQVoiRgfPMA+/nnRgiAyNYSjpWNQcNSMrtFCUH4ZIRpSCWocFCSuhCEY6hoUClc0WC52BJlCYYLQdhN+hygRRRlo5BKRRLS6oihSqh+ZzzRGG1Mo4Iz1LoP0qsxDGFzk0JE42ji0jCPejomJKCuwil4m5CiRMEUMVSzVLDUstSx1Juc0oVWMpqY295qVltmtWmWW2a1aZZbZrVplltmtWmWW2G1WZYbYbVZlhthtVmWG2G1WZYbYbVZlhtltVmWW2W1WZZbZbVZlltltVmWW2W1QYjQCh7E2aAQHeGhCFgPoNoy8KNb2wxBhmGKBxoUZXlLGsLI6AsftEDHV0wIURVbANLcTKlGGBIKPOAxCmhePCKUwFzAmpDFRQvjA9R06Hq8TONvshgKDCuRAZTXigUxjxNFfKRo3CLhnIJBMFRvMZpqpNBMlQJzGT5WFQMVQI/AikPMIhEU1aDjqJvQwmjSHB05cC9jbYwc5UtAHNLhDw41ha+lEqF4JaH3gmB61SYcqInxTDmQK8v08vjqv4zDf1N0w3Lf4A8/vwPpfK11w=="; + +// prettier-ignore +var compressedJsonForFontName = { + 'Courier': CourierCompressed, + 'Courier-Bold': CourierBoldCompressed, + 'Courier-Oblique': CourierObliqueCompressed, + 'Courier-BoldOblique': CourierBoldObliqueCompressed, + 'Helvetica': HelveticaCompressed, + 'Helvetica-Bold': HelveticaBoldCompressed, + 'Helvetica-Oblique': HelveticaObliqueCompressed, + 'Helvetica-BoldOblique': HelveticaBoldObliqueCompressed, + 'Times-Roman': TimesRomanCompressed, + 'Times-Bold': TimesBoldCompressed, + 'Times-Italic': TimesItalicCompressed, + 'Times-BoldItalic': TimesBoldItalicCompressed, + 'Symbol': SymbolCompressed, + 'ZapfDingbats': ZapfDingbatsCompressed, +}; +var FontNames; +(function (FontNames) { + FontNames["Courier"] = "Courier"; + FontNames["CourierBold"] = "Courier-Bold"; + FontNames["CourierOblique"] = "Courier-Oblique"; + FontNames["CourierBoldOblique"] = "Courier-BoldOblique"; + FontNames["Helvetica"] = "Helvetica"; + FontNames["HelveticaBold"] = "Helvetica-Bold"; + FontNames["HelveticaOblique"] = "Helvetica-Oblique"; + FontNames["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; + FontNames["TimesRoman"] = "Times-Roman"; + FontNames["TimesRomanBold"] = "Times-Bold"; + FontNames["TimesRomanItalic"] = "Times-Italic"; + FontNames["TimesRomanBoldItalic"] = "Times-BoldItalic"; + FontNames["Symbol"] = "Symbol"; + FontNames["ZapfDingbats"] = "ZapfDingbats"; +})(FontNames || (FontNames = {})); +var fontCache = {}; +var Font = /** @class */ (function () { + function Font() { + var _this = this; + this.getWidthOfGlyph = function (glyphName) { + return _this.CharWidths[glyphName]; + }; + this.getXAxisKerningForPair = function (leftGlyphName, rightGlyphName) { + return (_this.KernPairXAmounts[leftGlyphName] || {})[rightGlyphName]; + }; + } + Font.load = function (fontName) { + var cachedFont = fontCache[fontName]; + if (cachedFont) + return cachedFont; + var json = decompressJson(compressedJsonForFontName[fontName]); + var font = Object.assign(new Font(), JSON.parse(json)); + font.CharWidths = font.CharMetrics.reduce(function (acc, metric) { + acc[metric.N] = metric.WX; + return acc; + }, {}); + font.KernPairXAmounts = font.KernPairs.reduce(function (acc, _a) { + var name1 = _a[0], name2 = _a[1], width = _a[2]; + if (!acc[name1]) + acc[name1] = {}; + acc[name1][name2] = width; + return acc; + }, {}); + fontCache[fontName] = font; + return font; + }; + return Font; +}()); + +var AllEncodingsCompressed = "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"; + +/* tslint:disable max-classes-per-file */ +var decompressedEncodings = decompressJson(AllEncodingsCompressed); +var allUnicodeMappings = JSON.parse(decompressedEncodings); +var Encoding = /** @class */ (function () { + function Encoding(name, unicodeMappings) { + var _this = this; + this.canEncodeUnicodeCodePoint = function (codePoint) { + return codePoint in _this.unicodeMappings; + }; + this.encodeUnicodeCodePoint = function (codePoint) { + var mapped = _this.unicodeMappings[codePoint]; + if (!mapped) { + var str = String.fromCharCode(codePoint); + var hexCode = "0x" + padStart$1(codePoint.toString(16), 4, '0'); + var msg = _this.name + " cannot encode \"" + str + "\" (" + hexCode + ")"; + throw new Error(msg); + } + return { code: mapped[0], name: mapped[1] }; + }; + this.name = name; + this.supportedCodePoints = Object.keys(unicodeMappings) + .map(Number) + .sort(function (a, b) { return a - b; }); + this.unicodeMappings = unicodeMappings; + } + return Encoding; +}()); +var Encodings = { + Symbol: new Encoding('Symbol', allUnicodeMappings.symbol), + ZapfDingbats: new Encoding('ZapfDingbats', allUnicodeMappings.zapfdingbats), + WinAnsi: new Encoding('WinAnsi', allUnicodeMappings.win1252), +}; + +var values = function (obj) { return Object.keys(obj).map(function (k) { return obj[k]; }); }; +var StandardFontValues = values(FontNames); +var isStandardFont = function (input) { + return StandardFontValues.includes(input); +}; +var rectanglesAreEqual = function (a, b) { return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; }; + +/* tslint:disable:ban-types */ +var backtick = function (val) { return "`" + val + "`"; }; +var singleQuote = function (val) { return "'" + val + "'"; }; +// prettier-ignore +var formatValue = function (value) { + var type = typeof value; + if (type === 'string') + return singleQuote(value); + else if (type === 'undefined') + return backtick(value); + else + return value; +}; +var createValueErrorMsg = function (value, valueName, values) { + var allowedValues = new Array(values.length); + for (var idx = 0, len = values.length; idx < len; idx++) { + var v = values[idx]; + allowedValues[idx] = formatValue(v); + } + var joinedValues = allowedValues.join(' or '); + // prettier-ignore + return backtick(valueName) + " must be one of " + joinedValues + ", but was actually " + formatValue(value); +}; +var assertIsOneOf = function (value, valueName, allowedValues) { + if (!Array.isArray(allowedValues)) { + allowedValues = values(allowedValues); + } + for (var idx = 0, len = allowedValues.length; idx < len; idx++) { + if (value === allowedValues[idx]) + return; + } + throw new TypeError(createValueErrorMsg(value, valueName, allowedValues)); +}; +var assertIsOneOfOrUndefined = function (value, valueName, allowedValues) { + if (!Array.isArray(allowedValues)) { + allowedValues = values(allowedValues); + } + assertIsOneOf(value, valueName, allowedValues.concat(undefined)); +}; +var assertIsSubset = function (values$1, valueName, allowedValues) { + if (!Array.isArray(allowedValues)) { + allowedValues = values(allowedValues); + } + for (var idx = 0, len = values$1.length; idx < len; idx++) { + assertIsOneOf(values$1[idx], valueName, allowedValues); + } +}; +var getType = function (val) { + if (val === null) + return 'null'; + if (val === undefined) + return 'undefined'; + if (typeof val === 'string') + return 'string'; + if (isNaN(val)) + return 'NaN'; + if (typeof val === 'number') + return 'number'; + if (typeof val === 'boolean') + return 'boolean'; + if (typeof val === 'symbol') + return 'symbol'; + if (typeof val === 'bigint') + return 'bigint'; + if (val.constructor && val.constructor.name) + return val.constructor.name; + if (val.name) + return val.name; + if (val.constructor) + return String(val.constructor); + return String(val); +}; +var isType = function (value, type) { + if (type === 'null') + return value === null; + if (type === 'undefined') + return value === undefined; + if (type === 'string') + return typeof value === 'string'; + if (type === 'number') + return typeof value === 'number' && !isNaN(value); + if (type === 'boolean') + return typeof value === 'boolean'; + if (type === 'symbol') + return typeof value === 'symbol'; + if (type === 'bigint') + return typeof value === 'bigint'; + if (type === Date) + return value instanceof Date; + if (type === Array) + return value instanceof Array; + if (type === Uint8Array) + return value instanceof Uint8Array; + if (type === ArrayBuffer) + return value instanceof ArrayBuffer; + if (type === Function) + return value instanceof Function; + return value instanceof type[0]; +}; +var createTypeErrorMsg = function (value, valueName, types) { + var allowedTypes = new Array(types.length); + for (var idx = 0, len = types.length; idx < len; idx++) { + var type = types[idx]; + if (type === 'null') + allowedTypes[idx] = backtick('null'); + if (type === 'undefined') + allowedTypes[idx] = backtick('undefined'); + if (type === 'string') + allowedTypes[idx] = backtick('string'); + else if (type === 'number') + allowedTypes[idx] = backtick('number'); + else if (type === 'boolean') + allowedTypes[idx] = backtick('boolean'); + else if (type === 'symbol') + allowedTypes[idx] = backtick('symbol'); + else if (type === 'bigint') + allowedTypes[idx] = backtick('bigint'); + else if (type === Array) + allowedTypes[idx] = backtick('Array'); + else if (type === Uint8Array) + allowedTypes[idx] = backtick('Uint8Array'); + else if (type === ArrayBuffer) + allowedTypes[idx] = backtick('ArrayBuffer'); + else + allowedTypes[idx] = backtick(type[1]); + } + var joinedTypes = allowedTypes.join(' or '); + // prettier-ignore + return backtick(valueName) + " must be of type " + joinedTypes + ", but was actually of type " + backtick(getType(value)); +}; +var assertIs = function (value, valueName, types) { + for (var idx = 0, len = types.length; idx < len; idx++) { + if (isType(value, types[idx])) + return; + } + throw new TypeError(createTypeErrorMsg(value, valueName, types)); +}; +var assertOrUndefined = function (value, valueName, types) { + assertIs(value, valueName, types.concat('undefined')); +}; +var assertEachIs = function (values, valueName, types) { + for (var idx = 0, len = values.length; idx < len; idx++) { + assertIs(values[idx], valueName, types); + } +}; +var assertRange = function (value, valueName, min, max) { + assertIs(value, valueName, ['number']); + assertIs(min, 'min', ['number']); + assertIs(max, 'max', ['number']); + max = Math.max(min, max); + if (value < min || value > max) { + // prettier-ignore + throw new Error(backtick(valueName) + " must be at least " + min + " and at most " + max + ", but was actually " + value); + } +}; +var assertRangeOrUndefined = function (value, valueName, min, max) { + assertIs(value, valueName, ['number', 'undefined']); + if (typeof value === 'number') + assertRange(value, valueName, min, max); +}; +var assertMultiple = function (value, valueName, multiplier) { + assertIs(value, valueName, ['number']); + if (value % multiplier !== 0) { + // prettier-ignore + throw new Error(backtick(valueName) + " must be a multiple of " + multiplier + ", but was actually " + value); + } +}; +var assertInteger = function (value, valueName) { + if (!Number.isInteger(value)) { + throw new Error(backtick(valueName) + " must be an integer, but was actually " + value); + } +}; +var assertPositive = function (value, valueName) { + if (![1, 0].includes(Math.sign(value))) { + // prettier-ignore + throw new Error(backtick(valueName) + " must be a positive number or 0, but was actually " + value); + } +}; + +// Mapping from PDFDocEncoding to Unicode code point +var pdfDocEncodingToUnicode = new Uint16Array(256); +// Initialize the code points which are the same +for (var idx = 0; idx < 256; idx++) { + pdfDocEncodingToUnicode[idx] = idx; +} +// Set differences (see "Table D.2 – PDFDocEncoding Character Set" of the PDF spec) +pdfDocEncodingToUnicode[0x16] = toCharCode('\u0017'); // SYNCRONOUS IDLE +pdfDocEncodingToUnicode[0x18] = toCharCode('\u02D8'); // BREVE +pdfDocEncodingToUnicode[0x19] = toCharCode('\u02C7'); // CARON +pdfDocEncodingToUnicode[0x1a] = toCharCode('\u02C6'); // MODIFIER LETTER CIRCUMFLEX ACCENT +pdfDocEncodingToUnicode[0x1b] = toCharCode('\u02D9'); // DOT ABOVE +pdfDocEncodingToUnicode[0x1c] = toCharCode('\u02DD'); // DOUBLE ACUTE ACCENT +pdfDocEncodingToUnicode[0x1d] = toCharCode('\u02DB'); // OGONEK +pdfDocEncodingToUnicode[0x1e] = toCharCode('\u02DA'); // RING ABOVE +pdfDocEncodingToUnicode[0x1f] = toCharCode('\u02DC'); // SMALL TILDE +pdfDocEncodingToUnicode[0x7f] = toCharCode('\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark) +pdfDocEncodingToUnicode[0x80] = toCharCode('\u2022'); // BULLET +pdfDocEncodingToUnicode[0x81] = toCharCode('\u2020'); // DAGGER +pdfDocEncodingToUnicode[0x82] = toCharCode('\u2021'); // DOUBLE DAGGER +pdfDocEncodingToUnicode[0x83] = toCharCode('\u2026'); // HORIZONTAL ELLIPSIS +pdfDocEncodingToUnicode[0x84] = toCharCode('\u2014'); // EM DASH +pdfDocEncodingToUnicode[0x85] = toCharCode('\u2013'); // EN DASH +pdfDocEncodingToUnicode[0x86] = toCharCode('\u0192'); // LATIN SMALL LETTER SCRIPT F +pdfDocEncodingToUnicode[0x87] = toCharCode('\u2044'); // FRACTION SLASH (solidus) +pdfDocEncodingToUnicode[0x88] = toCharCode('\u2039'); // SINGLE LEFT-POINTING ANGLE QUOTATION MARK +pdfDocEncodingToUnicode[0x89] = toCharCode('\u203A'); // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +pdfDocEncodingToUnicode[0x8a] = toCharCode('\u2212'); // MINUS SIGN +pdfDocEncodingToUnicode[0x8b] = toCharCode('\u2030'); // PER MILLE SIGN +pdfDocEncodingToUnicode[0x8c] = toCharCode('\u201E'); // DOUBLE LOW-9 QUOTATION MARK (quotedblbase) +pdfDocEncodingToUnicode[0x8d] = toCharCode('\u201C'); // LEFT DOUBLE QUOTATION MARK (quotedblleft) +pdfDocEncodingToUnicode[0x8e] = toCharCode('\u201D'); // RIGHT DOUBLE QUOTATION MARK (quotedblright) +pdfDocEncodingToUnicode[0x8f] = toCharCode('\u2018'); // LEFT SINGLE QUOTATION MARK (quoteleft) +pdfDocEncodingToUnicode[0x90] = toCharCode('\u2019'); // RIGHT SINGLE QUOTATION MARK (quoteright) +pdfDocEncodingToUnicode[0x91] = toCharCode('\u201A'); // SINGLE LOW-9 QUOTATION MARK (quotesinglbase) +pdfDocEncodingToUnicode[0x92] = toCharCode('\u2122'); // TRADE MARK SIGN +pdfDocEncodingToUnicode[0x93] = toCharCode('\uFB01'); // LATIN SMALL LIGATURE FI +pdfDocEncodingToUnicode[0x94] = toCharCode('\uFB02'); // LATIN SMALL LIGATURE FL +pdfDocEncodingToUnicode[0x95] = toCharCode('\u0141'); // LATIN CAPITAL LETTER L WITH STROKE +pdfDocEncodingToUnicode[0x96] = toCharCode('\u0152'); // LATIN CAPITAL LIGATURE OE +pdfDocEncodingToUnicode[0x97] = toCharCode('\u0160'); // LATIN CAPITAL LETTER S WITH CARON +pdfDocEncodingToUnicode[0x98] = toCharCode('\u0178'); // LATIN CAPITAL LETTER Y WITH DIAERESIS +pdfDocEncodingToUnicode[0x99] = toCharCode('\u017D'); // LATIN CAPITAL LETTER Z WITH CARON +pdfDocEncodingToUnicode[0x9a] = toCharCode('\u0131'); // LATIN SMALL LETTER DOTLESS I +pdfDocEncodingToUnicode[0x9b] = toCharCode('\u0142'); // LATIN SMALL LETTER L WITH STROKE +pdfDocEncodingToUnicode[0x9c] = toCharCode('\u0153'); // LATIN SMALL LIGATURE OE +pdfDocEncodingToUnicode[0x9d] = toCharCode('\u0161'); // LATIN SMALL LETTER S WITH CARON +pdfDocEncodingToUnicode[0x9e] = toCharCode('\u017E'); // LATIN SMALL LETTER Z WITH CARON +pdfDocEncodingToUnicode[0x9f] = toCharCode('\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark) +pdfDocEncodingToUnicode[0xa0] = toCharCode('\u20AC'); // EURO SIGN +pdfDocEncodingToUnicode[0xad] = toCharCode('\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark) +/** + * Decode a byte array into a string using PDFDocEncoding. + * + * @param bytes a byte array (decimal representation) containing a string + * encoded with PDFDocEncoding. + */ +var pdfDocEncodingDecode = function (bytes) { + var codePoints = new Array(bytes.length); + for (var idx = 0, len = bytes.length; idx < len; idx++) { + codePoints[idx] = pdfDocEncodingToUnicode[bytes[idx]]; + } + return String.fromCodePoint.apply(String, codePoints); +}; + +var Cache = /** @class */ (function () { + function Cache(populate) { + this.populate = populate; + this.value = undefined; + } + Cache.prototype.getValue = function () { + return this.value; + }; + Cache.prototype.access = function () { + if (!this.value) + this.value = this.populate(); + return this.value; + }; + Cache.prototype.invalidate = function () { + this.value = undefined; + }; + Cache.populatedBy = function (populate) { return new Cache(populate); }; + return Cache; +}()); + +var MethodNotImplementedError = /** @class */ (function (_super) { + __extends(MethodNotImplementedError, _super); + function MethodNotImplementedError(className, methodName) { + var _this = this; + var msg = "Method " + className + "." + methodName + "() not implemented"; + _this = _super.call(this, msg) || this; + return _this; + } + return MethodNotImplementedError; +}(Error)); +var PrivateConstructorError = /** @class */ (function (_super) { + __extends(PrivateConstructorError, _super); + function PrivateConstructorError(className) { + var _this = this; + var msg = "Cannot construct " + className + " - it has a private constructor"; + _this = _super.call(this, msg) || this; + return _this; + } + return PrivateConstructorError; +}(Error)); +var UnexpectedObjectTypeError = /** @class */ (function (_super) { + __extends(UnexpectedObjectTypeError, _super); + function UnexpectedObjectTypeError(expected, actual) { + var _this = this; + var name = function (t) { var _a, _b; return (_a = t === null || t === void 0 ? void 0 : t.name) !== null && _a !== void 0 ? _a : (_b = t === null || t === void 0 ? void 0 : t.constructor) === null || _b === void 0 ? void 0 : _b.name; }; + var expectedTypes = Array.isArray(expected) + ? expected.map(name) + : [name(expected)]; + var msg = "Expected instance of " + expectedTypes.join(' or ') + ", " + + ("but got instance of " + (actual ? name(actual) : actual)); + _this = _super.call(this, msg) || this; + return _this; + } + return UnexpectedObjectTypeError; +}(Error)); +var UnsupportedEncodingError = /** @class */ (function (_super) { + __extends(UnsupportedEncodingError, _super); + function UnsupportedEncodingError(encoding) { + var _this = this; + var msg = encoding + " stream encoding not supported"; + _this = _super.call(this, msg) || this; + return _this; + } + return UnsupportedEncodingError; +}(Error)); +var ReparseError = /** @class */ (function (_super) { + __extends(ReparseError, _super); + function ReparseError(className, methodName) { + var _this = this; + var msg = "Cannot call " + className + "." + methodName + "() more than once"; + _this = _super.call(this, msg) || this; + return _this; + } + return ReparseError; +}(Error)); +var MissingCatalogError = /** @class */ (function (_super) { + __extends(MissingCatalogError, _super); + function MissingCatalogError(ref) { + var _this = this; + var msg = "Missing catalog (ref=" + ref + ")"; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingCatalogError; +}(Error)); +var MissingPageContentsEmbeddingError = /** @class */ (function (_super) { + __extends(MissingPageContentsEmbeddingError, _super); + function MissingPageContentsEmbeddingError() { + var _this = this; + var msg = "Can't embed page with missing Contents"; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingPageContentsEmbeddingError; +}(Error)); +var UnrecognizedStreamTypeError = /** @class */ (function (_super) { + __extends(UnrecognizedStreamTypeError, _super); + function UnrecognizedStreamTypeError(stream) { + var _a, _b, _c; + var _this = this; + var streamType = (_c = (_b = (_a = stream === null || stream === void 0 ? void 0 : stream.contructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : stream === null || stream === void 0 ? void 0 : stream.name) !== null && _c !== void 0 ? _c : stream; + var msg = "Unrecognized stream type: " + streamType; + _this = _super.call(this, msg) || this; + return _this; + } + return UnrecognizedStreamTypeError; +}(Error)); +var PageEmbeddingMismatchedContextError = /** @class */ (function (_super) { + __extends(PageEmbeddingMismatchedContextError, _super); + function PageEmbeddingMismatchedContextError() { + var _this = this; + var msg = "Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document."; + _this = _super.call(this, msg) || this; + return _this; + } + return PageEmbeddingMismatchedContextError; +}(Error)); +var PDFArrayIsNotRectangleError = /** @class */ (function (_super) { + __extends(PDFArrayIsNotRectangleError, _super); + function PDFArrayIsNotRectangleError(size) { + var _this = this; + var msg = "Attempted to convert PDFArray with " + size + " elements to rectangle, but must have exactly 4 elements."; + _this = _super.call(this, msg) || this; + return _this; + } + return PDFArrayIsNotRectangleError; +}(Error)); +var InvalidPDFDateStringError = /** @class */ (function (_super) { + __extends(InvalidPDFDateStringError, _super); + function InvalidPDFDateStringError(value) { + var _this = this; + var msg = "Attempted to convert \"" + value + "\" to a date, but it does not match the PDF date string format."; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidPDFDateStringError; +}(Error)); +var InvalidTargetIndexError = /** @class */ (function (_super) { + __extends(InvalidTargetIndexError, _super); + function InvalidTargetIndexError(targetIndex, Count) { + var _this = this; + var msg = "Invalid targetIndex specified: targetIndex=" + targetIndex + " must be less than Count=" + Count; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidTargetIndexError; +}(Error)); +var CorruptPageTreeError = /** @class */ (function (_super) { + __extends(CorruptPageTreeError, _super); + function CorruptPageTreeError(targetIndex, operation) { + var _this = this; + var msg = "Failed to " + operation + " at targetIndex=" + targetIndex + " due to corrupt page tree: It is likely that one or more 'Count' entries are invalid"; + _this = _super.call(this, msg) || this; + return _this; + } + return CorruptPageTreeError; +}(Error)); +var IndexOutOfBoundsError = /** @class */ (function (_super) { + __extends(IndexOutOfBoundsError, _super); + function IndexOutOfBoundsError(index, min, max) { + var _this = this; + var msg = "index should be at least " + min + " and at most " + max + ", but was actually " + index; + _this = _super.call(this, msg) || this; + return _this; + } + return IndexOutOfBoundsError; +}(Error)); +var InvalidAcroFieldValueError = /** @class */ (function (_super) { + __extends(InvalidAcroFieldValueError, _super); + function InvalidAcroFieldValueError() { + var _this = this; + var msg = "Attempted to set invalid field value"; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidAcroFieldValueError; +}(Error)); +var MultiSelectValueError = /** @class */ (function (_super) { + __extends(MultiSelectValueError, _super); + function MultiSelectValueError() { + var _this = this; + var msg = "Attempted to select multiple values for single-select field"; + _this = _super.call(this, msg) || this; + return _this; + } + return MultiSelectValueError; +}(Error)); +var MissingDAEntryError = /** @class */ (function (_super) { + __extends(MissingDAEntryError, _super); + function MissingDAEntryError(fieldName) { + var _this = this; + var msg = "No /DA (default appearance) entry found for field: " + fieldName; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingDAEntryError; +}(Error)); +var MissingTfOperatorError = /** @class */ (function (_super) { + __extends(MissingTfOperatorError, _super); + function MissingTfOperatorError(fieldName) { + var _this = this; + var msg = "No Tf operator found for DA of field: " + fieldName; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingTfOperatorError; +}(Error)); +var NumberParsingError = /** @class */ (function (_super) { + __extends(NumberParsingError, _super); + function NumberParsingError(pos, value) { + var _this = this; + var msg = "Failed to parse number " + + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + "): \"" + value + "\""); + _this = _super.call(this, msg) || this; + return _this; + } + return NumberParsingError; +}(Error)); +var PDFParsingError = /** @class */ (function (_super) { + __extends(PDFParsingError, _super); + function PDFParsingError(pos, details) { + var _this = this; + var msg = "Failed to parse PDF document " + + ("(line:" + pos.line + " col:" + pos.column + " offset=" + pos.offset + "): " + details); + _this = _super.call(this, msg) || this; + return _this; + } + return PDFParsingError; +}(Error)); +var NextByteAssertionError = /** @class */ (function (_super) { + __extends(NextByteAssertionError, _super); + function NextByteAssertionError(pos, expectedByte, actualByte) { + var _this = this; + var msg = "Expected next byte to be " + expectedByte + " but it was actually " + actualByte; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return NextByteAssertionError; +}(PDFParsingError)); +var PDFObjectParsingError = /** @class */ (function (_super) { + __extends(PDFObjectParsingError, _super); + function PDFObjectParsingError(pos, byte) { + var _this = this; + var msg = "Failed to parse PDF object starting with the following byte: " + byte; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return PDFObjectParsingError; +}(PDFParsingError)); +var PDFInvalidObjectParsingError = /** @class */ (function (_super) { + __extends(PDFInvalidObjectParsingError, _super); + function PDFInvalidObjectParsingError(pos) { + var _this = this; + var msg = "Failed to parse invalid PDF object"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return PDFInvalidObjectParsingError; +}(PDFParsingError)); +var PDFStreamParsingError = /** @class */ (function (_super) { + __extends(PDFStreamParsingError, _super); + function PDFStreamParsingError(pos) { + var _this = this; + var msg = "Failed to parse PDF stream"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return PDFStreamParsingError; +}(PDFParsingError)); +var UnbalancedParenthesisError = /** @class */ (function (_super) { + __extends(UnbalancedParenthesisError, _super); + function UnbalancedParenthesisError(pos) { + var _this = this; + var msg = "Failed to parse PDF literal string due to unbalanced parenthesis"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return UnbalancedParenthesisError; +}(PDFParsingError)); +var StalledParserError = /** @class */ (function (_super) { + __extends(StalledParserError, _super); + function StalledParserError(pos) { + var _this = this; + var msg = "Parser stalled"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return StalledParserError; +}(PDFParsingError)); +var MissingPDFHeaderError = /** @class */ (function (_super) { + __extends(MissingPDFHeaderError, _super); + function MissingPDFHeaderError(pos) { + var _this = this; + var msg = "No PDF header found"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return MissingPDFHeaderError; +}(PDFParsingError)); +var MissingKeywordError = /** @class */ (function (_super) { + __extends(MissingKeywordError, _super); + function MissingKeywordError(pos, keyword) { + var _this = this; + var msg = "Did not find expected keyword '" + arrayAsString(keyword) + "'"; + _this = _super.call(this, pos, msg) || this; + return _this; + } + return MissingKeywordError; +}(PDFParsingError)); + +var CharCodes; +(function (CharCodes) { + CharCodes[CharCodes["Null"] = 0] = "Null"; + CharCodes[CharCodes["Backspace"] = 8] = "Backspace"; + CharCodes[CharCodes["Tab"] = 9] = "Tab"; + CharCodes[CharCodes["Newline"] = 10] = "Newline"; + CharCodes[CharCodes["FormFeed"] = 12] = "FormFeed"; + CharCodes[CharCodes["CarriageReturn"] = 13] = "CarriageReturn"; + CharCodes[CharCodes["Space"] = 32] = "Space"; + CharCodes[CharCodes["ExclamationPoint"] = 33] = "ExclamationPoint"; + CharCodes[CharCodes["Hash"] = 35] = "Hash"; + CharCodes[CharCodes["Percent"] = 37] = "Percent"; + CharCodes[CharCodes["LeftParen"] = 40] = "LeftParen"; + CharCodes[CharCodes["RightParen"] = 41] = "RightParen"; + CharCodes[CharCodes["Plus"] = 43] = "Plus"; + CharCodes[CharCodes["Minus"] = 45] = "Minus"; + CharCodes[CharCodes["Dash"] = 45] = "Dash"; + CharCodes[CharCodes["Period"] = 46] = "Period"; + CharCodes[CharCodes["ForwardSlash"] = 47] = "ForwardSlash"; + CharCodes[CharCodes["Zero"] = 48] = "Zero"; + CharCodes[CharCodes["One"] = 49] = "One"; + CharCodes[CharCodes["Two"] = 50] = "Two"; + CharCodes[CharCodes["Three"] = 51] = "Three"; + CharCodes[CharCodes["Four"] = 52] = "Four"; + CharCodes[CharCodes["Five"] = 53] = "Five"; + CharCodes[CharCodes["Six"] = 54] = "Six"; + CharCodes[CharCodes["Seven"] = 55] = "Seven"; + CharCodes[CharCodes["Eight"] = 56] = "Eight"; + CharCodes[CharCodes["Nine"] = 57] = "Nine"; + CharCodes[CharCodes["LessThan"] = 60] = "LessThan"; + CharCodes[CharCodes["GreaterThan"] = 62] = "GreaterThan"; + CharCodes[CharCodes["A"] = 65] = "A"; + CharCodes[CharCodes["D"] = 68] = "D"; + CharCodes[CharCodes["E"] = 69] = "E"; + CharCodes[CharCodes["F"] = 70] = "F"; + CharCodes[CharCodes["O"] = 79] = "O"; + CharCodes[CharCodes["P"] = 80] = "P"; + CharCodes[CharCodes["R"] = 82] = "R"; + CharCodes[CharCodes["LeftSquareBracket"] = 91] = "LeftSquareBracket"; + CharCodes[CharCodes["BackSlash"] = 92] = "BackSlash"; + CharCodes[CharCodes["RightSquareBracket"] = 93] = "RightSquareBracket"; + CharCodes[CharCodes["a"] = 97] = "a"; + CharCodes[CharCodes["b"] = 98] = "b"; + CharCodes[CharCodes["d"] = 100] = "d"; + CharCodes[CharCodes["e"] = 101] = "e"; + CharCodes[CharCodes["f"] = 102] = "f"; + CharCodes[CharCodes["i"] = 105] = "i"; + CharCodes[CharCodes["j"] = 106] = "j"; + CharCodes[CharCodes["l"] = 108] = "l"; + CharCodes[CharCodes["m"] = 109] = "m"; + CharCodes[CharCodes["n"] = 110] = "n"; + CharCodes[CharCodes["o"] = 111] = "o"; + CharCodes[CharCodes["r"] = 114] = "r"; + CharCodes[CharCodes["s"] = 115] = "s"; + CharCodes[CharCodes["t"] = 116] = "t"; + CharCodes[CharCodes["u"] = 117] = "u"; + CharCodes[CharCodes["x"] = 120] = "x"; + CharCodes[CharCodes["LeftCurly"] = 123] = "LeftCurly"; + CharCodes[CharCodes["RightCurly"] = 125] = "RightCurly"; + CharCodes[CharCodes["Tilde"] = 126] = "Tilde"; +})(CharCodes || (CharCodes = {})); +var CharCodes$1 = CharCodes; + +var common$1 = createCommonjsModule(function (module, exports) { + + +var TYPED_OK = (typeof Uint8Array !== 'undefined') && + (typeof Uint16Array !== 'undefined') && + (typeof Int32Array !== 'undefined'); + +function _has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +exports.assign = function (obj /*from1, from2, from3, ...*/) { + var sources = Array.prototype.slice.call(arguments, 1); + while (sources.length) { + var source = sources.shift(); + if (!source) { continue; } + + if (typeof source !== 'object') { + throw new TypeError(source + 'must be non-object'); + } + + for (var p in source) { + if (_has(source, p)) { + obj[p] = source[p]; + } + } + } + + return obj; +}; + + +// reduce buffer size, avoiding mem copy +exports.shrinkBuf = function (buf, size) { + if (buf.length === size) { return buf; } + if (buf.subarray) { return buf.subarray(0, size); } + buf.length = size; + return buf; +}; + + +var fnTyped = { + arraySet: function (dest, src, src_offs, len, dest_offs) { + if (src.subarray && dest.subarray) { + dest.set(src.subarray(src_offs, src_offs + len), dest_offs); + return; + } + // Fallback to ordinary array + for (var i = 0; i < len; i++) { + dest[dest_offs + i] = src[src_offs + i]; + } + }, + // Join array of chunks to single array. + flattenChunks: function (chunks) { + var i, l, len, pos, chunk, result; + + // calculate data length + len = 0; + for (i = 0, l = chunks.length; i < l; i++) { + len += chunks[i].length; + } + + // join chunks + result = new Uint8Array(len); + pos = 0; + for (i = 0, l = chunks.length; i < l; i++) { + chunk = chunks[i]; + result.set(chunk, pos); + pos += chunk.length; + } + + return result; + } +}; + +var fnUntyped = { + arraySet: function (dest, src, src_offs, len, dest_offs) { + for (var i = 0; i < len; i++) { + dest[dest_offs + i] = src[src_offs + i]; + } + }, + // Join array of chunks to single array. + flattenChunks: function (chunks) { + return [].concat.apply([], chunks); + } +}; + + +// Enable/Disable typed arrays use, for testing +// +exports.setTyped = function (on) { + if (on) { + exports.Buf8 = Uint8Array; + exports.Buf16 = Uint16Array; + exports.Buf32 = Int32Array; + exports.assign(exports, fnTyped); + } else { + exports.Buf8 = Array; + exports.Buf16 = Array; + exports.Buf32 = Array; + exports.assign(exports, fnUntyped); + } +}; + +exports.setTyped(TYPED_OK); +}); + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +/* eslint-disable space-unary-ops */ + + + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +//var Z_FILTERED = 1; +//var Z_HUFFMAN_ONLY = 2; +//var Z_RLE = 3; +var Z_FIXED$2 = 4; +//var Z_DEFAULT_STRATEGY = 0; + +/* Possible values of the data_type field (though see inflate()) */ +var Z_BINARY$1 = 0; +var Z_TEXT$1 = 1; +//var Z_ASCII = 1; // = Z_TEXT +var Z_UNKNOWN$2 = 2; + +/*============================================================================*/ + + +function zero$2(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } + +// From zutil.h + +var STORED_BLOCK$1 = 0; +var STATIC_TREES$1 = 1; +var DYN_TREES$1 = 2; +/* The three kinds of block type */ + +var MIN_MATCH$2 = 3; +var MAX_MATCH$2 = 258; +/* The minimum and maximum match lengths */ + +// From deflate.h +/* =========================================================================== + * Internal compression state. + */ + +var LENGTH_CODES$2 = 29; +/* number of length codes, not counting the special END_BLOCK code */ + +var LITERALS$2 = 256; +/* number of literal bytes 0..255 */ + +var L_CODES$2 = LITERALS$2 + 1 + LENGTH_CODES$2; +/* number of Literal or Length codes, including the END_BLOCK code */ + +var D_CODES$2 = 30; +/* number of distance codes */ + +var BL_CODES$2 = 19; +/* number of codes used to transfer the bit lengths */ + +var HEAP_SIZE$2 = 2 * L_CODES$2 + 1; +/* maximum heap size */ + +var MAX_BITS$2 = 15; +/* All codes must not exceed MAX_BITS bits */ + +var Buf_size$1 = 16; +/* size of bit buffer in bi_buf */ + + +/* =========================================================================== + * Constants + */ + +var MAX_BL_BITS$1 = 7; +/* Bit length codes must not exceed MAX_BL_BITS bits */ + +var END_BLOCK$1 = 256; +/* end of block literal code */ + +var REP_3_6$1 = 16; +/* repeat previous bit length 3-6 times (2 bits of repeat count) */ + +var REPZ_3_10$1 = 17; +/* repeat a zero length 3-10 times (3 bits of repeat count) */ + +var REPZ_11_138$1 = 18; +/* repeat a zero length 11-138 times (7 bits of repeat count) */ + +/* eslint-disable comma-spacing,array-bracket-spacing */ +var extra_lbits$1 = /* extra bits for each length code */ + [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]; + +var extra_dbits$1 = /* extra bits for each distance code */ + [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]; + +var extra_blbits$1 = /* extra bits for each bit length code */ + [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]; + +var bl_order$1 = + [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]; +/* eslint-enable comma-spacing,array-bracket-spacing */ + +/* The lengths of the bit length codes are sent in order of decreasing + * probability, to avoid transmitting the lengths for unused bit length codes. + */ + +/* =========================================================================== + * Local data. These are initialized only once. + */ + +// We pre-fill arrays with 0 to avoid uninitialized gaps + +var DIST_CODE_LEN$1 = 512; /* see definition of array dist_code below */ + +// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1 +var static_ltree$1 = new Array((L_CODES$2 + 2) * 2); +zero$2(static_ltree$1); +/* The static literal tree. Since the bit lengths are imposed, there is no + * need for the L_CODES extra codes used during heap construction. However + * The codes 286 and 287 are needed to build a canonical tree (see _tr_init + * below). + */ + +var static_dtree$1 = new Array(D_CODES$2 * 2); +zero$2(static_dtree$1); +/* The static distance tree. (Actually a trivial tree since all codes use + * 5 bits.) + */ + +var _dist_code$1 = new Array(DIST_CODE_LEN$1); +zero$2(_dist_code$1); +/* Distance codes. The first 256 values correspond to the distances + * 3 .. 258, the last 256 values correspond to the top 8 bits of + * the 15 bit distances. + */ + +var _length_code$1 = new Array(MAX_MATCH$2 - MIN_MATCH$2 + 1); +zero$2(_length_code$1); +/* length code for each normalized match length (0 == MIN_MATCH) */ + +var base_length$1 = new Array(LENGTH_CODES$2); +zero$2(base_length$1); +/* First normalized length for each code (0 = MIN_MATCH) */ + +var base_dist$1 = new Array(D_CODES$2); +zero$2(base_dist$1); +/* First normalized distance for each code (0 = distance of 1) */ + + +function StaticTreeDesc$1(static_tree, extra_bits, extra_base, elems, max_length) { + + this.static_tree = static_tree; /* static tree or NULL */ + this.extra_bits = extra_bits; /* extra bits for each code or NULL */ + this.extra_base = extra_base; /* base index for extra_bits */ + this.elems = elems; /* max number of elements in the tree */ + this.max_length = max_length; /* max bit length for the codes */ + + // show if `static_tree` has data or dummy - needed for monomorphic objects + this.has_stree = static_tree && static_tree.length; +} + + +var static_l_desc$1; +var static_d_desc$1; +var static_bl_desc$1; + + +function TreeDesc$1(dyn_tree, stat_desc) { + this.dyn_tree = dyn_tree; /* the dynamic tree */ + this.max_code = 0; /* largest code with non zero frequency */ + this.stat_desc = stat_desc; /* the corresponding static tree */ +} + + + +function d_code$1(dist) { + return dist < 256 ? _dist_code$1[dist] : _dist_code$1[256 + (dist >>> 7)]; +} + + +/* =========================================================================== + * Output a short LSB first on the stream. + * IN assertion: there is enough room in pendingBuf. + */ +function put_short$1(s, w) { +// put_byte(s, (uch)((w) & 0xff)); +// put_byte(s, (uch)((ush)(w) >> 8)); + s.pending_buf[s.pending++] = (w) & 0xff; + s.pending_buf[s.pending++] = (w >>> 8) & 0xff; +} + + +/* =========================================================================== + * Send a value on a given number of bits. + * IN assertion: length <= 16 and value fits in length bits. + */ +function send_bits$1(s, value, length) { + if (s.bi_valid > (Buf_size$1 - length)) { + s.bi_buf |= (value << s.bi_valid) & 0xffff; + put_short$1(s, s.bi_buf); + s.bi_buf = value >> (Buf_size$1 - s.bi_valid); + s.bi_valid += length - Buf_size$1; + } else { + s.bi_buf |= (value << s.bi_valid) & 0xffff; + s.bi_valid += length; + } +} + + +function send_code$1(s, c, tree) { + send_bits$1(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/); +} + + +/* =========================================================================== + * Reverse the first len bits of a code, using straightforward code (a faster + * method would use a table) + * IN assertion: 1 <= len <= 15 + */ +function bi_reverse$1(code, len) { + var res = 0; + do { + res |= code & 1; + code >>>= 1; + res <<= 1; + } while (--len > 0); + return res >>> 1; +} + + +/* =========================================================================== + * Flush the bit buffer, keeping at most 7 bits in it. + */ +function bi_flush$1(s) { + if (s.bi_valid === 16) { + put_short$1(s, s.bi_buf); + s.bi_buf = 0; + s.bi_valid = 0; + + } else if (s.bi_valid >= 8) { + s.pending_buf[s.pending++] = s.bi_buf & 0xff; + s.bi_buf >>= 8; + s.bi_valid -= 8; + } +} + + +/* =========================================================================== + * Compute the optimal bit lengths for a tree and update the total bit length + * for the current block. + * IN assertion: the fields freq and dad are set, heap[heap_max] and + * above are the tree nodes sorted by increasing frequency. + * OUT assertions: the field len is set to the optimal bit length, the + * array bl_count contains the frequencies for each bit length. + * The length opt_len is updated; static_len is also updated if stree is + * not null. + */ +function gen_bitlen$1(s, desc) +// deflate_state *s; +// tree_desc *desc; /* the tree descriptor */ +{ + var tree = desc.dyn_tree; + var max_code = desc.max_code; + var stree = desc.stat_desc.static_tree; + var has_stree = desc.stat_desc.has_stree; + var extra = desc.stat_desc.extra_bits; + var base = desc.stat_desc.extra_base; + var max_length = desc.stat_desc.max_length; + var h; /* heap index */ + var n, m; /* iterate over the tree elements */ + var bits; /* bit length */ + var xbits; /* extra bits */ + var f; /* frequency */ + var overflow = 0; /* number of elements with bit length too large */ + + for (bits = 0; bits <= MAX_BITS$2; bits++) { + s.bl_count[bits] = 0; + } + + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ + tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */ + + for (h = s.heap_max + 1; h < HEAP_SIZE$2; h++) { + n = s.heap[h]; + bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1; + if (bits > max_length) { + bits = max_length; + overflow++; + } + tree[n * 2 + 1]/*.Len*/ = bits; + /* We overwrite tree[n].Dad which is no longer needed */ + + if (n > max_code) { continue; } /* not a leaf node */ + + s.bl_count[bits]++; + xbits = 0; + if (n >= base) { + xbits = extra[n - base]; + } + f = tree[n * 2]/*.Freq*/; + s.opt_len += f * (bits + xbits); + if (has_stree) { + s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits); + } + } + if (overflow === 0) { return; } + + // Trace((stderr,"\nbit length overflow\n")); + /* This happens for example on obj2 and pic of the Calgary corpus */ + + /* Find the first bit length which could increase: */ + do { + bits = max_length - 1; + while (s.bl_count[bits] === 0) { bits--; } + s.bl_count[bits]--; /* move one leaf down the tree */ + s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */ + s.bl_count[max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ + overflow -= 2; + } while (overflow > 0); + + /* Now recompute all bit lengths, scanning in increasing frequency. + * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all + * lengths instead of fixing only the wrong ones. This idea is taken + * from 'ar' written by Haruhiko Okumura.) + */ + for (bits = max_length; bits !== 0; bits--) { + n = s.bl_count[bits]; + while (n !== 0) { + m = s.heap[--h]; + if (m > max_code) { continue; } + if (tree[m * 2 + 1]/*.Len*/ !== bits) { + // Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); + s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/; + tree[m * 2 + 1]/*.Len*/ = bits; + } + n--; + } + } +} + + +/* =========================================================================== + * Generate the codes for a given tree and bit counts (which need not be + * optimal). + * IN assertion: the array bl_count contains the bit length statistics for + * the given tree and the field len is set for all tree elements. + * OUT assertion: the field code is set for all tree elements of non + * zero code length. + */ +function gen_codes$1(tree, max_code, bl_count) +// ct_data *tree; /* the tree to decorate */ +// int max_code; /* largest code with non zero frequency */ +// ushf *bl_count; /* number of codes at each bit length */ +{ + var next_code = new Array(MAX_BITS$2 + 1); /* next code value for each bit length */ + var code = 0; /* running code value */ + var bits; /* bit index */ + var n; /* code index */ + + /* The distribution counts are first used to generate the code values + * without bit reversal. + */ + for (bits = 1; bits <= MAX_BITS$2; bits++) { + next_code[bits] = code = (code + bl_count[bits - 1]) << 1; + } + /* Check that the bit counts in bl_count are consistent. The last code + * must be all ones. + */ + //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1, + // "inconsistent bit counts"); + //Tracev((stderr,"\ngen_codes: max_code %d ", max_code)); + + for (n = 0; n <= max_code; n++) { + var len = tree[n * 2 + 1]/*.Len*/; + if (len === 0) { continue; } + /* Now reverse the bits */ + tree[n * 2]/*.Code*/ = bi_reverse$1(next_code[len]++, len); + + //Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ", + // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1)); + } +} + + +/* =========================================================================== + * Initialize the various 'constant' tables. + */ +function tr_static_init$1() { + var n; /* iterates over tree elements */ + var bits; /* bit counter */ + var length; /* length value */ + var code; /* code value */ + var dist; /* distance index */ + var bl_count = new Array(MAX_BITS$2 + 1); + /* number of codes at each bit length for an optimal tree */ + + // do check in _tr_init() + //if (static_init_done) return; + + /* For some embedded targets, global variables are not initialized: */ +/*#ifdef NO_INIT_GLOBAL_POINTERS + static_l_desc.static_tree = static_ltree; + static_l_desc.extra_bits = extra_lbits; + static_d_desc.static_tree = static_dtree; + static_d_desc.extra_bits = extra_dbits; + static_bl_desc.extra_bits = extra_blbits; +#endif*/ + + /* Initialize the mapping length (0..255) -> length code (0..28) */ + length = 0; + for (code = 0; code < LENGTH_CODES$2 - 1; code++) { + base_length$1[code] = length; + for (n = 0; n < (1 << extra_lbits$1[code]); n++) { + _length_code$1[length++] = code; + } + } + //Assert (length == 256, "tr_static_init: length != 256"); + /* Note that the length 255 (match length 258) can be represented + * in two different ways: code 284 + 5 bits or code 285, so we + * overwrite length_code[255] to use the best encoding: + */ + _length_code$1[length - 1] = code; + + /* Initialize the mapping dist (0..32K) -> dist code (0..29) */ + dist = 0; + for (code = 0; code < 16; code++) { + base_dist$1[code] = dist; + for (n = 0; n < (1 << extra_dbits$1[code]); n++) { + _dist_code$1[dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: dist != 256"); + dist >>= 7; /* from now on, all distances are divided by 128 */ + for (; code < D_CODES$2; code++) { + base_dist$1[code] = dist << 7; + for (n = 0; n < (1 << (extra_dbits$1[code] - 7)); n++) { + _dist_code$1[256 + dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: 256+dist != 512"); + + /* Construct the codes of the static literal tree */ + for (bits = 0; bits <= MAX_BITS$2; bits++) { + bl_count[bits] = 0; + } + + n = 0; + while (n <= 143) { + static_ltree$1[n * 2 + 1]/*.Len*/ = 8; + n++; + bl_count[8]++; + } + while (n <= 255) { + static_ltree$1[n * 2 + 1]/*.Len*/ = 9; + n++; + bl_count[9]++; + } + while (n <= 279) { + static_ltree$1[n * 2 + 1]/*.Len*/ = 7; + n++; + bl_count[7]++; + } + while (n <= 287) { + static_ltree$1[n * 2 + 1]/*.Len*/ = 8; + n++; + bl_count[8]++; + } + /* Codes 286 and 287 do not exist, but we must include them in the + * tree construction to get a canonical Huffman tree (longest code + * all ones) + */ + gen_codes$1(static_ltree$1, L_CODES$2 + 1, bl_count); + + /* The static distance tree is trivial: */ + for (n = 0; n < D_CODES$2; n++) { + static_dtree$1[n * 2 + 1]/*.Len*/ = 5; + static_dtree$1[n * 2]/*.Code*/ = bi_reverse$1(n, 5); + } + + // Now data ready and we can init static trees + static_l_desc$1 = new StaticTreeDesc$1(static_ltree$1, extra_lbits$1, LITERALS$2 + 1, L_CODES$2, MAX_BITS$2); + static_d_desc$1 = new StaticTreeDesc$1(static_dtree$1, extra_dbits$1, 0, D_CODES$2, MAX_BITS$2); + static_bl_desc$1 = new StaticTreeDesc$1(new Array(0), extra_blbits$1, 0, BL_CODES$2, MAX_BL_BITS$1); + + //static_init_done = true; +} + + +/* =========================================================================== + * Initialize a new block. + */ +function init_block$1(s) { + var n; /* iterates over tree elements */ + + /* Initialize the trees. */ + for (n = 0; n < L_CODES$2; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; } + for (n = 0; n < D_CODES$2; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; } + for (n = 0; n < BL_CODES$2; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; } + + s.dyn_ltree[END_BLOCK$1 * 2]/*.Freq*/ = 1; + s.opt_len = s.static_len = 0; + s.last_lit = s.matches = 0; +} + + +/* =========================================================================== + * Flush the bit buffer and align the output on a byte boundary + */ +function bi_windup$1(s) +{ + if (s.bi_valid > 8) { + put_short$1(s, s.bi_buf); + } else if (s.bi_valid > 0) { + //put_byte(s, (Byte)s->bi_buf); + s.pending_buf[s.pending++] = s.bi_buf; + } + s.bi_buf = 0; + s.bi_valid = 0; +} + +/* =========================================================================== + * Copy a stored block, storing first the length and its + * one's complement if requested. + */ +function copy_block$1(s, buf, len, header) +//DeflateState *s; +//charf *buf; /* the input data */ +//unsigned len; /* its length */ +//int header; /* true if block header must be written */ +{ + bi_windup$1(s); /* align on byte boundary */ + + if (header) { + put_short$1(s, len); + put_short$1(s, ~len); + } +// while (len--) { +// put_byte(s, *buf++); +// } + common$1.arraySet(s.pending_buf, s.window, buf, len, s.pending); + s.pending += len; +} + +/* =========================================================================== + * Compares to subtrees, using the tree depth as tie breaker when + * the subtrees have equal frequency. This minimizes the worst case length. + */ +function smaller$1(tree, n, m, depth) { + var _n2 = n * 2; + var _m2 = m * 2; + return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ || + (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m])); +} + +/* =========================================================================== + * Restore the heap property by moving down the tree starting at node k, + * exchanging a node with the smallest of its two sons if necessary, stopping + * when the heap property is re-established (each father smaller than its + * two sons). + */ +function pqdownheap$1(s, tree, k) +// deflate_state *s; +// ct_data *tree; /* the tree to restore */ +// int k; /* node to move down */ +{ + var v = s.heap[k]; + var j = k << 1; /* left son of k */ + while (j <= s.heap_len) { + /* Set j to the smallest of the two sons: */ + if (j < s.heap_len && + smaller$1(tree, s.heap[j + 1], s.heap[j], s.depth)) { + j++; + } + /* Exit if v is smaller than both sons */ + if (smaller$1(tree, v, s.heap[j], s.depth)) { break; } + + /* Exchange v with the smallest son */ + s.heap[k] = s.heap[j]; + k = j; + + /* And continue down the tree, setting j to the left son of k */ + j <<= 1; + } + s.heap[k] = v; +} + + +// inlined manually +// var SMALLEST = 1; + +/* =========================================================================== + * Send the block data compressed using the given Huffman trees + */ +function compress_block$1(s, ltree, dtree) +// deflate_state *s; +// const ct_data *ltree; /* literal tree */ +// const ct_data *dtree; /* distance tree */ +{ + var dist; /* distance of matched string */ + var lc; /* match length or unmatched char (if dist == 0) */ + var lx = 0; /* running index in l_buf */ + var code; /* the code to send */ + var extra; /* number of extra bits to send */ + + if (s.last_lit !== 0) { + do { + dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]); + lc = s.pending_buf[s.l_buf + lx]; + lx++; + + if (dist === 0) { + send_code$1(s, lc, ltree); /* send a literal byte */ + //Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + /* Here, lc is the match length - MIN_MATCH */ + code = _length_code$1[lc]; + send_code$1(s, code + LITERALS$2 + 1, ltree); /* send the length code */ + extra = extra_lbits$1[code]; + if (extra !== 0) { + lc -= base_length$1[code]; + send_bits$1(s, lc, extra); /* send the extra length bits */ + } + dist--; /* dist is now the match distance - 1 */ + code = d_code$1(dist); + //Assert (code < D_CODES, "bad d_code"); + + send_code$1(s, code, dtree); /* send the distance code */ + extra = extra_dbits$1[code]; + if (extra !== 0) { + dist -= base_dist$1[code]; + send_bits$1(s, dist, extra); /* send the extra distance bits */ + } + } /* literal or match pair ? */ + + /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ + //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, + // "pendingBuf overflow"); + + } while (lx < s.last_lit); + } + + send_code$1(s, END_BLOCK$1, ltree); +} + + +/* =========================================================================== + * Construct one Huffman tree and assigns the code bit strings and lengths. + * Update the total bit length for the current block. + * IN assertion: the field freq is set for all tree elements. + * OUT assertions: the fields len and code are set to the optimal bit length + * and corresponding code. The length opt_len is updated; static_len is + * also updated if stree is not null. The field max_code is set. + */ +function build_tree$1(s, desc) +// deflate_state *s; +// tree_desc *desc; /* the tree descriptor */ +{ + var tree = desc.dyn_tree; + var stree = desc.stat_desc.static_tree; + var has_stree = desc.stat_desc.has_stree; + var elems = desc.stat_desc.elems; + var n, m; /* iterate over heap elements */ + var max_code = -1; /* largest code with non zero frequency */ + var node; /* new node being created */ + + /* Construct the initial heap, with least frequent element in + * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. + * heap[0] is not used. + */ + s.heap_len = 0; + s.heap_max = HEAP_SIZE$2; + + for (n = 0; n < elems; n++) { + if (tree[n * 2]/*.Freq*/ !== 0) { + s.heap[++s.heap_len] = max_code = n; + s.depth[n] = 0; + + } else { + tree[n * 2 + 1]/*.Len*/ = 0; + } + } + + /* The pkzip format requires that at least one distance code exists, + * and that at least one bit should be sent even if there is only one + * possible code. So to avoid special checks later on we force at least + * two codes of non zero frequency. + */ + while (s.heap_len < 2) { + node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0); + tree[node * 2]/*.Freq*/ = 1; + s.depth[node] = 0; + s.opt_len--; + + if (has_stree) { + s.static_len -= stree[node * 2 + 1]/*.Len*/; + } + /* node is 0 or 1 so it does not have extra bits */ + } + desc.max_code = max_code; + + /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, + * establish sub-heaps of increasing lengths: + */ + for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap$1(s, tree, n); } + + /* Construct the Huffman tree by repeatedly combining the least two + * frequent nodes. + */ + node = elems; /* next internal node of the tree */ + do { + //pqremove(s, tree, n); /* n = node of least frequency */ + /*** pqremove ***/ + n = s.heap[1/*SMALLEST*/]; + s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--]; + pqdownheap$1(s, tree, 1/*SMALLEST*/); + /***/ + + m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */ + + s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */ + s.heap[--s.heap_max] = m; + + /* Create a new node father of n and m */ + tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/; + s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; + tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node; + + /* and insert the new node in the heap */ + s.heap[1/*SMALLEST*/] = node++; + pqdownheap$1(s, tree, 1/*SMALLEST*/); + + } while (s.heap_len >= 2); + + s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. + */ + gen_bitlen$1(s, desc); + + /* The field len is now set, we can generate the bit codes */ + gen_codes$1(tree, max_code, s.bl_count); +} + + +/* =========================================================================== + * Scan a literal or distance tree to determine the frequencies of the codes + * in the bit length tree. + */ +function scan_tree$1(s, tree, max_code) +// deflate_state *s; +// ct_data *tree; /* the tree to be scanned */ +// int max_code; /* and its largest code of non zero frequency */ +{ + var n; /* iterates over all tree elements */ + var prevlen = -1; /* last emitted length */ + var curlen; /* length of current code */ + + var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ + + var count = 0; /* repeat count of the current code */ + var max_count = 7; /* max repeat count */ + var min_count = 4; /* min repeat count */ + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */ + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; + + if (++count < max_count && curlen === nextlen) { + continue; + + } else if (count < min_count) { + s.bl_tree[curlen * 2]/*.Freq*/ += count; + + } else if (curlen !== 0) { + + if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; } + s.bl_tree[REP_3_6$1 * 2]/*.Freq*/++; + + } else if (count <= 10) { + s.bl_tree[REPZ_3_10$1 * 2]/*.Freq*/++; + + } else { + s.bl_tree[REPZ_11_138$1 * 2]/*.Freq*/++; + } + + count = 0; + prevlen = curlen; + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + + } else { + max_count = 7; + min_count = 4; + } + } +} + + +/* =========================================================================== + * Send a literal or distance tree in compressed form, using the codes in + * bl_tree. + */ +function send_tree$1(s, tree, max_code) +// deflate_state *s; +// ct_data *tree; /* the tree to be scanned */ +// int max_code; /* and its largest code of non zero frequency */ +{ + var n; /* iterates over all tree elements */ + var prevlen = -1; /* last emitted length */ + var curlen; /* length of current code */ + + var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ + + var count = 0; /* repeat count of the current code */ + var max_count = 7; /* max repeat count */ + var min_count = 4; /* min repeat count */ + + /* tree[max_code+1].Len = -1; */ /* guard already set */ + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; + + if (++count < max_count && curlen === nextlen) { + continue; + + } else if (count < min_count) { + do { send_code$1(s, curlen, s.bl_tree); } while (--count !== 0); + + } else if (curlen !== 0) { + if (curlen !== prevlen) { + send_code$1(s, curlen, s.bl_tree); + count--; + } + //Assert(count >= 3 && count <= 6, " 3_6?"); + send_code$1(s, REP_3_6$1, s.bl_tree); + send_bits$1(s, count - 3, 2); + + } else if (count <= 10) { + send_code$1(s, REPZ_3_10$1, s.bl_tree); + send_bits$1(s, count - 3, 3); + + } else { + send_code$1(s, REPZ_11_138$1, s.bl_tree); + send_bits$1(s, count - 11, 7); + } + + count = 0; + prevlen = curlen; + if (nextlen === 0) { + max_count = 138; + min_count = 3; + + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + + } else { + max_count = 7; + min_count = 4; + } + } +} + + +/* =========================================================================== + * Construct the Huffman tree for the bit lengths and return the index in + * bl_order of the last bit length code to send. + */ +function build_bl_tree$1(s) { + var max_blindex; /* index of last bit length code of non zero freq */ + + /* Determine the bit length frequencies for literal and distance trees */ + scan_tree$1(s, s.dyn_ltree, s.l_desc.max_code); + scan_tree$1(s, s.dyn_dtree, s.d_desc.max_code); + + /* Build the bit length tree: */ + build_tree$1(s, s.bl_desc); + /* opt_len now includes the length of the tree representations, except + * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. + */ + + /* Determine the number of bit length codes to send. The pkzip format + * requires that at least 4 bit length codes be sent. (appnote.txt says + * 3 but the actual value used is 4.) + */ + for (max_blindex = BL_CODES$2 - 1; max_blindex >= 3; max_blindex--) { + if (s.bl_tree[bl_order$1[max_blindex] * 2 + 1]/*.Len*/ !== 0) { + break; + } + } + /* Update opt_len to include the bit length tree and counts */ + s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; + //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", + // s->opt_len, s->static_len)); + + return max_blindex; +} + + +/* =========================================================================== + * Send the header for a block using dynamic Huffman trees: the counts, the + * lengths of the bit length codes, the literal tree and the distance tree. + * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. + */ +function send_all_trees$1(s, lcodes, dcodes, blcodes) +// deflate_state *s; +// int lcodes, dcodes, blcodes; /* number of codes for each tree */ +{ + var rank; /* index in bl_order */ + + //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); + //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, + // "too many codes"); + //Tracev((stderr, "\nbl counts: ")); + send_bits$1(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */ + send_bits$1(s, dcodes - 1, 5); + send_bits$1(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */ + for (rank = 0; rank < blcodes; rank++) { + //Tracev((stderr, "\nbl code %2d ", bl_order[rank])); + send_bits$1(s, s.bl_tree[bl_order$1[rank] * 2 + 1]/*.Len*/, 3); + } + //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); + + send_tree$1(s, s.dyn_ltree, lcodes - 1); /* literal tree */ + //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); + + send_tree$1(s, s.dyn_dtree, dcodes - 1); /* distance tree */ + //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); +} + + +/* =========================================================================== + * Check if the data type is TEXT or BINARY, using the following algorithm: + * - TEXT if the two conditions below are satisfied: + * a) There are no non-portable control characters belonging to the + * "black list" (0..6, 14..25, 28..31). + * b) There is at least one printable character belonging to the + * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). + * - BINARY otherwise. + * - The following partially-portable control characters form a + * "gray list" that is ignored in this detection algorithm: + * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). + * IN assertion: the fields Freq of dyn_ltree are set. + */ +function detect_data_type$1(s) { + /* black_mask is the bit mask of black-listed bytes + * set bits 0..6, 14..25, and 28..31 + * 0xf3ffc07f = binary 11110011111111111100000001111111 + */ + var black_mask = 0xf3ffc07f; + var n; + + /* Check for non-textual ("black-listed") bytes. */ + for (n = 0; n <= 31; n++, black_mask >>>= 1) { + if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) { + return Z_BINARY$1; + } + } + + /* Check for textual ("white-listed") bytes. */ + if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 || + s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) { + return Z_TEXT$1; + } + for (n = 32; n < LITERALS$2; n++) { + if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) { + return Z_TEXT$1; + } + } + + /* There are no "black-listed" or "white-listed" bytes: + * this stream either is empty or has tolerated ("gray-listed") bytes only. + */ + return Z_BINARY$1; +} + + +var static_init_done$1 = false; + +/* =========================================================================== + * Initialize the tree data structures for a new zlib stream. + */ +function _tr_init$1(s) +{ + + if (!static_init_done$1) { + tr_static_init$1(); + static_init_done$1 = true; + } + + s.l_desc = new TreeDesc$1(s.dyn_ltree, static_l_desc$1); + s.d_desc = new TreeDesc$1(s.dyn_dtree, static_d_desc$1); + s.bl_desc = new TreeDesc$1(s.bl_tree, static_bl_desc$1); + + s.bi_buf = 0; + s.bi_valid = 0; + + /* Initialize the first block of the first file: */ + init_block$1(s); +} + + +/* =========================================================================== + * Send a stored block + */ +function _tr_stored_block$1(s, buf, stored_len, last) +//DeflateState *s; +//charf *buf; /* input block */ +//ulg stored_len; /* length of input block */ +//int last; /* one if this is the last block for a file */ +{ + send_bits$1(s, (STORED_BLOCK$1 << 1) + (last ? 1 : 0), 3); /* send block type */ + copy_block$1(s, buf, stored_len, true); /* with header */ +} + + +/* =========================================================================== + * Send one empty static block to give enough lookahead for inflate. + * This takes 10 bits, of which 7 may remain in the bit buffer. + */ +function _tr_align$1(s) { + send_bits$1(s, STATIC_TREES$1 << 1, 3); + send_code$1(s, END_BLOCK$1, static_ltree$1); + bi_flush$1(s); +} + + +/* =========================================================================== + * Determine the best encoding for the current block: dynamic trees, static + * trees or store, and output the encoded block to the zip file. + */ +function _tr_flush_block$1(s, buf, stored_len, last) +//DeflateState *s; +//charf *buf; /* input block, or NULL if too old */ +//ulg stored_len; /* length of input block */ +//int last; /* one if this is the last block for a file */ +{ + var opt_lenb, static_lenb; /* opt_len and static_len in bytes */ + var max_blindex = 0; /* index of last bit length code of non zero freq */ + + /* Build the Huffman trees unless a stored block is forced */ + if (s.level > 0) { + + /* Check if the file is binary or text */ + if (s.strm.data_type === Z_UNKNOWN$2) { + s.strm.data_type = detect_data_type$1(s); + } + + /* Construct the literal and distance trees */ + build_tree$1(s, s.l_desc); + // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + + build_tree$1(s, s.d_desc); + // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + /* At this point, opt_len and static_len are the total bit lengths of + * the compressed block data, excluding the tree representations. + */ + + /* Build the bit length tree for the above two trees, and get the index + * in bl_order of the last bit length code to send. + */ + max_blindex = build_bl_tree$1(s); + + /* Determine the best encoding. Compute the block lengths in bytes. */ + opt_lenb = (s.opt_len + 3 + 7) >>> 3; + static_lenb = (s.static_len + 3 + 7) >>> 3; + + // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", + // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, + // s->last_lit)); + + if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; } + + } else { + // Assert(buf != (char*)0, "lost buf"); + opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ + } + + if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) { + /* 4: two words for the lengths */ + + /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. + * Otherwise we can't have processed more than WSIZE input bytes since + * the last block flush, because compression would have been + * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to + * transform a block into a stored block. + */ + _tr_stored_block$1(s, buf, stored_len, last); + + } else if (s.strategy === Z_FIXED$2 || static_lenb === opt_lenb) { + + send_bits$1(s, (STATIC_TREES$1 << 1) + (last ? 1 : 0), 3); + compress_block$1(s, static_ltree$1, static_dtree$1); + + } else { + send_bits$1(s, (DYN_TREES$1 << 1) + (last ? 1 : 0), 3); + send_all_trees$1(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); + compress_block$1(s, s.dyn_ltree, s.dyn_dtree); + } + // Assert (s->compressed_len == s->bits_sent, "bad compressed size"); + /* The above check is made mod 2^32, for files larger than 512 MB + * and uLong implemented on 32 bits. + */ + init_block$1(s); + + if (last) { + bi_windup$1(s); + } + // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, + // s->compressed_len-7*last)); +} + +/* =========================================================================== + * Save the match info and tally the frequency counts. Return true if + * the current block must be flushed. + */ +function _tr_tally$1(s, dist, lc) +// deflate_state *s; +// unsigned dist; /* distance of matched string */ +// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ +{ + //var out_length, in_length, dcode; + + s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff; + s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff; + + s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff; + s.last_lit++; + + if (dist === 0) { + /* lc is the unmatched char */ + s.dyn_ltree[lc * 2]/*.Freq*/++; + } else { + s.matches++; + /* Here, lc is the match length - MIN_MATCH */ + dist--; /* dist = match distance - 1 */ + //Assert((ush)dist < (ush)MAX_DIST(s) && + // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && + // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); + + s.dyn_ltree[(_length_code$1[lc] + LITERALS$2 + 1) * 2]/*.Freq*/++; + s.dyn_dtree[d_code$1(dist) * 2]/*.Freq*/++; + } + +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility + +//#ifdef TRUNCATE_BLOCK +// /* Try to guess if it is profitable to stop the current block here */ +// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) { +// /* Compute an upper bound for the compressed length */ +// out_length = s.last_lit*8; +// in_length = s.strstart - s.block_start; +// +// for (dcode = 0; dcode < D_CODES; dcode++) { +// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]); +// } +// out_length >>>= 3; +// //Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", +// // s->last_lit, in_length, out_length, +// // 100L - out_length*100L/in_length)); +// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) { +// return true; +// } +// } +//#endif + + return (s.last_lit === s.lit_bufsize - 1); + /* We avoid equality with lit_bufsize because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ +} + +var _tr_init_1$1 = _tr_init$1; +var _tr_stored_block_1$1 = _tr_stored_block$1; +var _tr_flush_block_1$1 = _tr_flush_block$1; +var _tr_tally_1$1 = _tr_tally$1; +var _tr_align_1$1 = _tr_align$1; + +var trees$1 = { + _tr_init: _tr_init_1$1, + _tr_stored_block: _tr_stored_block_1$1, + _tr_flush_block: _tr_flush_block_1$1, + _tr_tally: _tr_tally_1$1, + _tr_align: _tr_align_1$1 +}; + +// Note: adler32 takes 12% for level 0 and 2% for level 6. +// It isn't worth it to make additional optimizations as in original. +// Small size is preferable. + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function adler32$1(adler, buf, len, pos) { + var s1 = (adler & 0xffff) |0, + s2 = ((adler >>> 16) & 0xffff) |0, + n = 0; + + while (len !== 0) { + // Set limit ~ twice less than 5552, to keep + // s2 in 31-bits, because we force signed ints. + // in other case %= will fail. + n = len > 2000 ? 2000 : len; + len -= n; + + do { + s1 = (s1 + buf[pos++]) |0; + s2 = (s2 + s1) |0; + } while (--n); + + s1 %= 65521; + s2 %= 65521; + } + + return (s1 | (s2 << 16)) |0; +} + + +var adler32_1$1 = adler32$1; + +// Note: we can't get significant speed boost here. +// So write code to minimize size - no pregenerated tables +// and array tools dependencies. + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +// Use ordinary array, since untyped makes no boost here +function makeTable$1() { + var c, table = []; + + for (var n = 0; n < 256; n++) { + c = n; + for (var k = 0; k < 8; k++) { + c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); + } + table[n] = c; + } + + return table; +} + +// Create table on load. Just 255 signed longs. Not a problem. +var crcTable$1 = makeTable$1(); + + +function crc32$1(crc, buf, len, pos) { + var t = crcTable$1, + end = pos + len; + + crc ^= -1; + + for (var i = pos; i < end; i++) { + crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + + +var crc32_1$1 = crc32$1; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +var messages$1 = { + 2: 'need dictionary', /* Z_NEED_DICT 2 */ + 1: 'stream end', /* Z_STREAM_END 1 */ + 0: '', /* Z_OK 0 */ + '-1': 'file error', /* Z_ERRNO (-1) */ + '-2': 'stream error', /* Z_STREAM_ERROR (-2) */ + '-3': 'data error', /* Z_DATA_ERROR (-3) */ + '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */ + '-5': 'buffer error', /* Z_BUF_ERROR (-5) */ + '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + + + + + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +/* Allowed flush values; see deflate() and inflate() below for details */ +var Z_NO_FLUSH$2 = 0; +var Z_PARTIAL_FLUSH$1 = 1; +//var Z_SYNC_FLUSH = 2; +var Z_FULL_FLUSH$1 = 3; +var Z_FINISH$3 = 4; +var Z_BLOCK$2 = 5; +//var Z_TREES = 6; + + +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +var Z_OK$3 = 0; +var Z_STREAM_END$3 = 1; +//var Z_NEED_DICT = 2; +//var Z_ERRNO = -1; +var Z_STREAM_ERROR$2 = -2; +var Z_DATA_ERROR$2 = -3; +//var Z_MEM_ERROR = -4; +var Z_BUF_ERROR$2 = -5; +//var Z_VERSION_ERROR = -6; + + +/* compression levels */ +//var Z_NO_COMPRESSION = 0; +//var Z_BEST_SPEED = 1; +//var Z_BEST_COMPRESSION = 9; +var Z_DEFAULT_COMPRESSION$2 = -1; + + +var Z_FILTERED$1 = 1; +var Z_HUFFMAN_ONLY$1 = 2; +var Z_RLE$1 = 3; +var Z_FIXED$3 = 4; +var Z_DEFAULT_STRATEGY$2 = 0; + +/* Possible values of the data_type field (though see inflate()) */ +//var Z_BINARY = 0; +//var Z_TEXT = 1; +//var Z_ASCII = 1; // = Z_TEXT +var Z_UNKNOWN$3 = 2; + + +/* The deflate compression method */ +var Z_DEFLATED$3 = 8; + +/*============================================================================*/ + + +var MAX_MEM_LEVEL$1 = 9; +/* Maximum value for memLevel in deflateInit2 */ +var MAX_WBITS$2 = 15; +/* 32K LZ77 window */ +var DEF_MEM_LEVEL$1 = 8; + + +var LENGTH_CODES$3 = 29; +/* number of length codes, not counting the special END_BLOCK code */ +var LITERALS$3 = 256; +/* number of literal bytes 0..255 */ +var L_CODES$3 = LITERALS$3 + 1 + LENGTH_CODES$3; +/* number of Literal or Length codes, including the END_BLOCK code */ +var D_CODES$3 = 30; +/* number of distance codes */ +var BL_CODES$3 = 19; +/* number of codes used to transfer the bit lengths */ +var HEAP_SIZE$3 = 2 * L_CODES$3 + 1; +/* maximum heap size */ +var MAX_BITS$3 = 15; +/* All codes must not exceed MAX_BITS bits */ + +var MIN_MATCH$3 = 3; +var MAX_MATCH$3 = 258; +var MIN_LOOKAHEAD$1 = (MAX_MATCH$3 + MIN_MATCH$3 + 1); + +var PRESET_DICT$1 = 0x20; + +var INIT_STATE$1 = 42; +var EXTRA_STATE$1 = 69; +var NAME_STATE$1 = 73; +var COMMENT_STATE$1 = 91; +var HCRC_STATE$1 = 103; +var BUSY_STATE$1 = 113; +var FINISH_STATE$1 = 666; + +var BS_NEED_MORE$1 = 1; /* block not completed, need more input or more output */ +var BS_BLOCK_DONE$1 = 2; /* block flush performed */ +var BS_FINISH_STARTED$1 = 3; /* finish started, need only more output at next deflate */ +var BS_FINISH_DONE$1 = 4; /* finish done, accept no more input or output */ + +var OS_CODE$1 = 0x03; // Unix :) . Don't detect, use this default. + +function err$1(strm, errorCode) { + strm.msg = messages$1[errorCode]; + return errorCode; +} + +function rank$1(f) { + return ((f) << 1) - ((f) > 4 ? 9 : 0); +} + +function zero$3(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } + + +/* ========================================================================= + * Flush as much pending output as possible. All deflate() output goes + * through this function so some applications may wish to modify it + * to avoid allocating a large strm->output buffer and copying into it. + * (See also read_buf()). + */ +function flush_pending$1(strm) { + var s = strm.state; + + //_tr_flush_bits(s); + var len = s.pending; + if (len > strm.avail_out) { + len = strm.avail_out; + } + if (len === 0) { return; } + + common$1.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out); + strm.next_out += len; + s.pending_out += len; + strm.total_out += len; + strm.avail_out -= len; + s.pending -= len; + if (s.pending === 0) { + s.pending_out = 0; + } +} + + +function flush_block_only$1(s, last) { + trees$1._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last); + s.block_start = s.strstart; + flush_pending$1(s.strm); +} + + +function put_byte$1(s, b) { + s.pending_buf[s.pending++] = b; +} + + +/* ========================================================================= + * Put a short in the pending buffer. The 16-bit value is put in MSB order. + * IN assertion: the stream state is correct and there is enough room in + * pending_buf. + */ +function putShortMSB$1(s, b) { +// put_byte(s, (Byte)(b >> 8)); +// put_byte(s, (Byte)(b & 0xff)); + s.pending_buf[s.pending++] = (b >>> 8) & 0xff; + s.pending_buf[s.pending++] = b & 0xff; +} + + +/* =========================================================================== + * Read a new buffer from the current input stream, update the adler32 + * and total number of bytes read. All deflate() input goes through + * this function so some applications may wish to modify it to avoid + * allocating a large strm->input buffer and copying from it. + * (See also flush_pending()). + */ +function read_buf$1(strm, buf, start, size) { + var len = strm.avail_in; + + if (len > size) { len = size; } + if (len === 0) { return 0; } + + strm.avail_in -= len; + + // zmemcpy(buf, strm->next_in, len); + common$1.arraySet(buf, strm.input, strm.next_in, len, start); + if (strm.state.wrap === 1) { + strm.adler = adler32_1$1(strm.adler, buf, len, start); + } + + else if (strm.state.wrap === 2) { + strm.adler = crc32_1$1(strm.adler, buf, len, start); + } + + strm.next_in += len; + strm.total_in += len; + + return len; +} + + +/* =========================================================================== + * Set match_start to the longest match starting at the given string and + * return its length. Matches shorter or equal to prev_length are discarded, + * in which case the result is equal to prev_length and match_start is + * garbage. + * IN assertions: cur_match is the head of the hash chain for the current + * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 + * OUT assertion: the match length is not greater than s->lookahead. + */ +function longest_match$1(s, cur_match) { + var chain_length = s.max_chain_length; /* max hash chain length */ + var scan = s.strstart; /* current string */ + var match; /* matched string */ + var len; /* length of current match */ + var best_len = s.prev_length; /* best match length so far */ + var nice_match = s.nice_match; /* stop if match long enough */ + var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD$1)) ? + s.strstart - (s.w_size - MIN_LOOKAHEAD$1) : 0/*NIL*/; + + var _win = s.window; // shortcut + + var wmask = s.w_mask; + var prev = s.prev; + + /* Stop when cur_match becomes <= limit. To simplify the code, + * we prevent matches with the string of window index 0. + */ + + var strend = s.strstart + MAX_MATCH$3; + var scan_end1 = _win[scan + best_len - 1]; + var scan_end = _win[scan + best_len]; + + /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. + * It is easy to get rid of this optimization if necessary. + */ + // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); + + /* Do not waste too much time if we already have a good match: */ + if (s.prev_length >= s.good_match) { + chain_length >>= 2; + } + /* Do not look for matches beyond the end of the input. This is necessary + * to make deflate deterministic. + */ + if (nice_match > s.lookahead) { nice_match = s.lookahead; } + + // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); + + do { + // Assert(cur_match < s->strstart, "no future"); + match = cur_match; + + /* Skip to next match if the match length cannot increase + * or if the match length is less than 2. Note that the checks below + * for insufficient lookahead only occur occasionally for performance + * reasons. Therefore uninitialized memory will be accessed, and + * conditional jumps will be made that depend on those values. + * However the length of the match is limited to the lookahead, so + * the output of deflate is not affected by the uninitialized values. + */ + + if (_win[match + best_len] !== scan_end || + _win[match + best_len - 1] !== scan_end1 || + _win[match] !== _win[scan] || + _win[++match] !== _win[scan + 1]) { + continue; + } + + /* The check at best_len-1 can be removed because it will be made + * again later. (This heuristic is not always a win.) + * It is not necessary to compare scan[2] and match[2] since they + * are always equal when the other bytes match, given that + * the hash keys are equal and that HASH_BITS >= 8. + */ + scan += 2; + match++; + // Assert(*scan == *match, "match[2]?"); + + /* We check for insufficient lookahead only every 8th comparison; + * the 256th check will be made at strstart+258. + */ + do { + /*jshint noempty:false*/ + } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + scan < strend); + + // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); + + len = MAX_MATCH$3 - (strend - scan); + scan = strend - MAX_MATCH$3; + + if (len > best_len) { + s.match_start = cur_match; + best_len = len; + if (len >= nice_match) { + break; + } + scan_end1 = _win[scan + best_len - 1]; + scan_end = _win[scan + best_len]; + } + } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); + + if (best_len <= s.lookahead) { + return best_len; + } + return s.lookahead; +} + + +/* =========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead. + * + * IN assertion: lookahead < MIN_LOOKAHEAD + * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD + * At least one byte has been read, or avail_in == 0; reads are + * performed for at least two bytes (required for the zip translate_eol + * option -- not supported here). + */ +function fill_window$1(s) { + var _w_size = s.w_size; + var p, n, m, more, str; + + //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); + + do { + more = s.window_size - s.lookahead - s.strstart; + + // JS ints have 32 bit, block below not needed + /* Deal with !@#$% 64K limit: */ + //if (sizeof(int) <= 2) { + // if (more == 0 && s->strstart == 0 && s->lookahead == 0) { + // more = wsize; + // + // } else if (more == (unsigned)(-1)) { + // /* Very unlikely, but possible on 16 bit machine if + // * strstart == 0 && lookahead == 1 (input done a byte at time) + // */ + // more--; + // } + //} + + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD$1)) { + + common$1.arraySet(s.window, s.window, _w_size, _w_size, 0); + s.match_start -= _w_size; + s.strstart -= _w_size; + /* we now have strstart >= MAX_DIST */ + s.block_start -= _w_size; + + /* Slide the hash table (could be avoided with 32 bit values + at the expense of memory usage). We slide even when level == 0 + to keep the hash table consistent if we switch back to level > 0 + later. (Using level 0 permanently is not an optimal usage of + zlib, so we don't care about this pathological case.) + */ + + n = s.hash_size; + p = n; + do { + m = s.head[--p]; + s.head[p] = (m >= _w_size ? m - _w_size : 0); + } while (--n); + + n = _w_size; + p = n; + do { + m = s.prev[--p]; + s.prev[p] = (m >= _w_size ? m - _w_size : 0); + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + } while (--n); + + more += _w_size; + } + if (s.strm.avail_in === 0) { + break; + } + + /* If there was no sliding: + * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && + * more == window_size - lookahead - strstart + * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) + * => more >= window_size - 2*WSIZE + 2 + * In the BIG_MEM or MMAP case (not yet supported), + * window_size == input_size + MIN_LOOKAHEAD && + * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. + * Otherwise, window_size == 2*WSIZE so more >= 2. + * If there was sliding, more >= WSIZE. So in all cases, more >= 2. + */ + //Assert(more >= 2, "more < 2"); + n = read_buf$1(s.strm, s.window, s.strstart + s.lookahead, more); + s.lookahead += n; + + /* Initialize the hash value now that we have some input: */ + if (s.lookahead + s.insert >= MIN_MATCH$3) { + str = s.strstart - s.insert; + s.ins_h = s.window[str]; + + /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask; +//#if MIN_MATCH != 3 +// Call update_hash() MIN_MATCH-3 more times +//#endif + while (s.insert) { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$3 - 1]) & s.hash_mask; + + s.prev[str & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = str; + str++; + s.insert--; + if (s.lookahead + s.insert < MIN_MATCH$3) { + break; + } + } + } + /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, + * but this is not important since only literal bytes will be emitted. + */ + + } while (s.lookahead < MIN_LOOKAHEAD$1 && s.strm.avail_in !== 0); + + /* If the WIN_INIT bytes after the end of the current data have never been + * written, then zero those bytes in order to avoid memory check reports of + * the use of uninitialized (or uninitialised as Julian writes) bytes by + * the longest match routines. Update the high water mark for the next + * time through here. WIN_INIT is set to MAX_MATCH since the longest match + * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. + */ +// if (s.high_water < s.window_size) { +// var curr = s.strstart + s.lookahead; +// var init = 0; +// +// if (s.high_water < curr) { +// /* Previous high water mark below current data -- zero WIN_INIT +// * bytes or up to end of window, whichever is less. +// */ +// init = s.window_size - curr; +// if (init > WIN_INIT) +// init = WIN_INIT; +// zmemzero(s->window + curr, (unsigned)init); +// s->high_water = curr + init; +// } +// else if (s->high_water < (ulg)curr + WIN_INIT) { +// /* High water mark at or above current data, but below current data +// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up +// * to end of window, whichever is less. +// */ +// init = (ulg)curr + WIN_INIT - s->high_water; +// if (init > s->window_size - s->high_water) +// init = s->window_size - s->high_water; +// zmemzero(s->window + s->high_water, (unsigned)init); +// s->high_water += init; +// } +// } +// +// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, +// "not enough room for search"); +} + +/* =========================================================================== + * Copy without compression as much as possible from the input stream, return + * the current block state. + * This function does not insert new strings in the dictionary since + * uncompressible data is probably not useful. This function is used + * only for the level=0 compression option. + * NOTE: this function should be optimized to avoid extra copying from + * window to pending_buf. + */ +function deflate_stored$1(s, flush) { + /* Stored blocks are limited to 0xffff bytes, pending_buf is limited + * to pending_buf_size, and each stored block has a 5 byte header: + */ + var max_block_size = 0xffff; + + if (max_block_size > s.pending_buf_size - 5) { + max_block_size = s.pending_buf_size - 5; + } + + /* Copy as much as possible from input to output: */ + for (;;) { + /* Fill the window as much as possible: */ + if (s.lookahead <= 1) { + + //Assert(s->strstart < s->w_size+MAX_DIST(s) || + // s->block_start >= (long)s->w_size, "slide too late"); +// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) || +// s.block_start >= s.w_size)) { +// throw new Error("slide too late"); +// } + + fill_window$1(s); + if (s.lookahead === 0 && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE$1; + } + + if (s.lookahead === 0) { + break; + } + /* flush the current block */ + } + //Assert(s->block_start >= 0L, "block gone"); +// if (s.block_start < 0) throw new Error("block gone"); + + s.strstart += s.lookahead; + s.lookahead = 0; + + /* Emit a stored block if pending_buf will be full: */ + var max_start = s.block_start + max_block_size; + + if (s.strstart === 0 || s.strstart >= max_start) { + /* strstart == 0 is possible when wraparound on 16-bit machine */ + s.lookahead = s.strstart - max_start; + s.strstart = max_start; + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + + + } + /* Flush if we may have to slide, otherwise block_start may become + * negative and the data will be gone: + */ + if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD$1)) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + } + + s.insert = 0; + + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$1(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$1; + } + /***/ + return BS_FINISH_DONE$1; + } + + if (s.strstart > s.block_start) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + + return BS_NEED_MORE$1; +} + +/* =========================================================================== + * Compress as much as possible from the input stream, return the current + * block state. + * This function does not perform lazy evaluation of matches and inserts + * new strings in the dictionary only for unmatched strings or for short + * matches. It is used only for the fast compression options. + */ +function deflate_fast$1(s, flush) { + var hash_head; /* head of the hash chain */ + var bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD$1) { + fill_window$1(s); + if (s.lookahead < MIN_LOOKAHEAD$1 && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE$1; + } + if (s.lookahead === 0) { + break; /* flush the current block */ + } + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0/*NIL*/; + if (s.lookahead >= MIN_MATCH$3) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$3 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ + if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD$1))) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match$1(s, hash_head); + /* longest_match() sets match_start */ + } + if (s.match_length >= MIN_MATCH$3) { + // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only + + /*** _tr_tally_dist(s, s.strstart - s.match_start, + s.match_length - MIN_MATCH, bflush); ***/ + bflush = trees$1._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH$3); + + s.lookahead -= s.match_length; + + /* Insert new strings in the hash table only if the match length + * is not too large. This saves time but degrades compression. + */ + if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH$3) { + s.match_length--; /* string at strstart already in table */ + do { + s.strstart++; + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$3 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. + */ + } while (--s.match_length !== 0); + s.strstart++; + } else + { + s.strstart += s.match_length; + s.match_length = 0; + s.ins_h = s.window[s.strstart]; + /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask; + +//#if MIN_MATCH != 3 +// Call UPDATE_HASH() MIN_MATCH-3 more times +//#endif + /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not + * matter since it will be recomputed at next deflate call. + */ + } + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s.window[s.strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees$1._tr_tally(s, 0, s.window[s.strstart]); + + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + } + s.insert = ((s.strstart < (MIN_MATCH$3 - 1)) ? s.strstart : MIN_MATCH$3 - 1); + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$1(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$1; + } + /***/ + return BS_FINISH_DONE$1; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + return BS_BLOCK_DONE$1; +} + +/* =========================================================================== + * Same as above, but achieves better compression. We use a lazy + * evaluation for matches: a match is finally adopted only if there is + * no better match at the next window position. + */ +function deflate_slow$1(s, flush) { + var hash_head; /* head of hash chain */ + var bflush; /* set if current block must be flushed */ + + var max_insert; + + /* Process the input block. */ + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD$1) { + fill_window$1(s); + if (s.lookahead < MIN_LOOKAHEAD$1 && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE$1; + } + if (s.lookahead === 0) { break; } /* flush the current block */ + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0/*NIL*/; + if (s.lookahead >= MIN_MATCH$3) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$3 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + */ + s.prev_length = s.match_length; + s.prev_match = s.match_start; + s.match_length = MIN_MATCH$3 - 1; + + if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match && + s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD$1)/*MAX_DIST(s)*/) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match$1(s, hash_head); + /* longest_match() sets match_start */ + + if (s.match_length <= 5 && + (s.strategy === Z_FILTERED$1 || (s.match_length === MIN_MATCH$3 && s.strstart - s.match_start > 4096/*TOO_FAR*/))) { + + /* If prev_match is also MIN_MATCH, match_start is garbage + * but we will ignore the current match anyway. + */ + s.match_length = MIN_MATCH$3 - 1; + } + } + /* If there was a match at the previous step and the current + * match is not better, output the previous match: + */ + if (s.prev_length >= MIN_MATCH$3 && s.match_length <= s.prev_length) { + max_insert = s.strstart + s.lookahead - MIN_MATCH$3; + /* Do not insert strings in hash table beyond this. */ + + //check_match(s, s.strstart-1, s.prev_match, s.prev_length); + + /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match, + s.prev_length - MIN_MATCH, bflush);***/ + bflush = trees$1._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH$3); + /* Insert in hash table all strings up to the end of the match. + * strstart-1 and strstart are already inserted. If there is not + * enough lookahead, the last two strings are not inserted in + * the hash table. + */ + s.lookahead -= s.prev_length - 1; + s.prev_length -= 2; + do { + if (++s.strstart <= max_insert) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$3 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + } while (--s.prev_length !== 0); + s.match_available = 0; + s.match_length = MIN_MATCH$3 - 1; + s.strstart++; + + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + + } else if (s.match_available) { + /* If there was no match at the previous position, output a + * single literal. If there was a match but the current match + * is longer, truncate the previous match to a single literal. + */ + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = trees$1._tr_tally(s, 0, s.window[s.strstart - 1]); + + if (bflush) { + /*** FLUSH_BLOCK_ONLY(s, 0) ***/ + flush_block_only$1(s, false); + /***/ + } + s.strstart++; + s.lookahead--; + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + } else { + /* There is no previous match to compare with, wait for + * the next step to decide. + */ + s.match_available = 1; + s.strstart++; + s.lookahead--; + } + } + //Assert (flush != Z_NO_FLUSH, "no flush?"); + if (s.match_available) { + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = trees$1._tr_tally(s, 0, s.window[s.strstart - 1]); + + s.match_available = 0; + } + s.insert = s.strstart < MIN_MATCH$3 - 1 ? s.strstart : MIN_MATCH$3 - 1; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$1(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$1; + } + /***/ + return BS_FINISH_DONE$1; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + + return BS_BLOCK_DONE$1; +} + + +/* =========================================================================== + * For Z_RLE, simply look for runs of bytes, generate matches only of distance + * one. Do not maintain a hash table. (It will be regenerated if this run of + * deflate switches away from Z_RLE.) + */ +function deflate_rle$1(s, flush) { + var bflush; /* set if current block must be flushed */ + var prev; /* byte at distance one to match */ + var scan, strend; /* scan goes up to strend for length of run */ + + var _win = s.window; + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the longest run, plus one for the unrolled loop. + */ + if (s.lookahead <= MAX_MATCH$3) { + fill_window$1(s); + if (s.lookahead <= MAX_MATCH$3 && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE$1; + } + if (s.lookahead === 0) { break; } /* flush the current block */ + } + + /* See how many times the previous byte repeats */ + s.match_length = 0; + if (s.lookahead >= MIN_MATCH$3 && s.strstart > 0) { + scan = s.strstart - 1; + prev = _win[scan]; + if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { + strend = s.strstart + MAX_MATCH$3; + do { + /*jshint noempty:false*/ + } while (prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + scan < strend); + s.match_length = MAX_MATCH$3 - (strend - scan); + if (s.match_length > s.lookahead) { + s.match_length = s.lookahead; + } + } + //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); + } + + /* Emit match if have run of MIN_MATCH or longer, else emit literal */ + if (s.match_length >= MIN_MATCH$3) { + //check_match(s, s.strstart, s.strstart - 1, s.match_length); + + /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/ + bflush = trees$1._tr_tally(s, 1, s.match_length - MIN_MATCH$3); + + s.lookahead -= s.match_length; + s.strstart += s.match_length; + s.match_length = 0; + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees$1._tr_tally(s, 0, s.window[s.strstart]); + + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$1(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$1; + } + /***/ + return BS_FINISH_DONE$1; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + return BS_BLOCK_DONE$1; +} + +/* =========================================================================== + * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. + * (It will be regenerated if this run of deflate switches away from Huffman.) + */ +function deflate_huff$1(s, flush) { + var bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we have a literal to write. */ + if (s.lookahead === 0) { + fill_window$1(s); + if (s.lookahead === 0) { + if (flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE$1; + } + break; /* flush the current block */ + } + } + + /* Output a literal byte */ + s.match_length = 0; + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees$1._tr_tally(s, 0, s.window[s.strstart]); + s.lookahead--; + s.strstart++; + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$1(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$1; + } + /***/ + return BS_FINISH_DONE$1; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$1(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$1; + } + /***/ + } + return BS_BLOCK_DONE$1; +} + +/* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ +function Config$1(good_length, max_lazy, nice_length, max_chain, func) { + this.good_length = good_length; + this.max_lazy = max_lazy; + this.nice_length = nice_length; + this.max_chain = max_chain; + this.func = func; +} + +var configuration_table$1; + +configuration_table$1 = [ + /* good lazy nice chain */ + new Config$1(0, 0, 0, 0, deflate_stored$1), /* 0 store only */ + new Config$1(4, 4, 8, 4, deflate_fast$1), /* 1 max speed, no lazy matches */ + new Config$1(4, 5, 16, 8, deflate_fast$1), /* 2 */ + new Config$1(4, 6, 32, 32, deflate_fast$1), /* 3 */ + + new Config$1(4, 4, 16, 16, deflate_slow$1), /* 4 lazy matches */ + new Config$1(8, 16, 32, 32, deflate_slow$1), /* 5 */ + new Config$1(8, 16, 128, 128, deflate_slow$1), /* 6 */ + new Config$1(8, 32, 128, 256, deflate_slow$1), /* 7 */ + new Config$1(32, 128, 258, 1024, deflate_slow$1), /* 8 */ + new Config$1(32, 258, 258, 4096, deflate_slow$1) /* 9 max compression */ +]; + + +/* =========================================================================== + * Initialize the "longest match" routines for a new zlib stream + */ +function lm_init$1(s) { + s.window_size = 2 * s.w_size; + + /*** CLEAR_HASH(s); ***/ + zero$3(s.head); // Fill with NIL (= 0); + + /* Set the default configuration parameters: + */ + s.max_lazy_match = configuration_table$1[s.level].max_lazy; + s.good_match = configuration_table$1[s.level].good_length; + s.nice_match = configuration_table$1[s.level].nice_length; + s.max_chain_length = configuration_table$1[s.level].max_chain; + + s.strstart = 0; + s.block_start = 0; + s.lookahead = 0; + s.insert = 0; + s.match_length = s.prev_length = MIN_MATCH$3 - 1; + s.match_available = 0; + s.ins_h = 0; +} + + +function DeflateState$1() { + this.strm = null; /* pointer back to this zlib stream */ + this.status = 0; /* as the name implies */ + this.pending_buf = null; /* output still pending */ + this.pending_buf_size = 0; /* size of pending_buf */ + this.pending_out = 0; /* next pending byte to output to the stream */ + this.pending = 0; /* nb of bytes in the pending buffer */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.gzhead = null; /* gzip header information to write */ + this.gzindex = 0; /* where in extra, name, or comment */ + this.method = Z_DEFLATED$3; /* can only be DEFLATED */ + this.last_flush = -1; /* value of flush param for previous deflate call */ + + this.w_size = 0; /* LZ77 window size (32K by default) */ + this.w_bits = 0; /* log2(w_size) (8..16) */ + this.w_mask = 0; /* w_size - 1 */ + + this.window = null; + /* Sliding window. Input bytes are read into the second half of the window, + * and move to the first half later to keep a dictionary of at least wSize + * bytes. With this organization, matches are limited to a distance of + * wSize-MAX_MATCH bytes, but this ensures that IO is always + * performed with a length multiple of the block size. + */ + + this.window_size = 0; + /* Actual size of window: 2*wSize, except when the user input buffer + * is directly used as sliding window. + */ + + this.prev = null; + /* Link to older string with same hash index. To limit the size of this + * array to 64K, this link is maintained only for the last 32K strings. + * An index in this array is thus a window index modulo 32K. + */ + + this.head = null; /* Heads of the hash chains or NIL. */ + + this.ins_h = 0; /* hash index of string to be inserted */ + this.hash_size = 0; /* number of elements in hash table */ + this.hash_bits = 0; /* log2(hash_size) */ + this.hash_mask = 0; /* hash_size-1 */ + + this.hash_shift = 0; + /* Number of bits by which ins_h must be shifted at each input + * step. It must be such that after MIN_MATCH steps, the oldest + * byte no longer takes part in the hash key, that is: + * hash_shift * MIN_MATCH >= hash_bits + */ + + this.block_start = 0; + /* Window position at the beginning of the current output block. Gets + * negative when the window is moved backwards. + */ + + this.match_length = 0; /* length of best match */ + this.prev_match = 0; /* previous match */ + this.match_available = 0; /* set if previous match exists */ + this.strstart = 0; /* start of string to insert */ + this.match_start = 0; /* start of matching string */ + this.lookahead = 0; /* number of valid bytes ahead in window */ + + this.prev_length = 0; + /* Length of the best match at previous step. Matches not greater than this + * are discarded. This is used in the lazy match evaluation. + */ + + this.max_chain_length = 0; + /* To speed up deflation, hash chains are never searched beyond this + * length. A higher limit improves compression ratio but degrades the + * speed. + */ + + this.max_lazy_match = 0; + /* Attempt to find a better match only when the current match is strictly + * smaller than this value. This mechanism is used only for compression + * levels >= 4. + */ + // That's alias to max_lazy_match, don't use directly + //this.max_insert_length = 0; + /* Insert new strings in the hash table only if the match length is not + * greater than this length. This saves time but degrades compression. + * max_insert_length is used only for compression levels <= 3. + */ + + this.level = 0; /* compression level (1..9) */ + this.strategy = 0; /* favor or force Huffman coding*/ + + this.good_match = 0; + /* Use a faster search when the previous match is longer than this */ + + this.nice_match = 0; /* Stop searching when current match exceeds this */ + + /* used by trees.c: */ + + /* Didn't use ct_data typedef below to suppress compiler warning */ + + // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ + // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ + // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ + + // Use flat array of DOUBLE size, with interleaved fata, + // because JS does not support effective + this.dyn_ltree = new common$1.Buf16(HEAP_SIZE$3 * 2); + this.dyn_dtree = new common$1.Buf16((2 * D_CODES$3 + 1) * 2); + this.bl_tree = new common$1.Buf16((2 * BL_CODES$3 + 1) * 2); + zero$3(this.dyn_ltree); + zero$3(this.dyn_dtree); + zero$3(this.bl_tree); + + this.l_desc = null; /* desc. for literal tree */ + this.d_desc = null; /* desc. for distance tree */ + this.bl_desc = null; /* desc. for bit length tree */ + + //ush bl_count[MAX_BITS+1]; + this.bl_count = new common$1.Buf16(MAX_BITS$3 + 1); + /* number of codes at each bit length for an optimal tree */ + + //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ + this.heap = new common$1.Buf16(2 * L_CODES$3 + 1); /* heap used to build the Huffman trees */ + zero$3(this.heap); + + this.heap_len = 0; /* number of elements in the heap */ + this.heap_max = 0; /* element of largest frequency */ + /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. + * The same heap array is used to build all trees. + */ + + this.depth = new common$1.Buf16(2 * L_CODES$3 + 1); //uch depth[2*L_CODES+1]; + zero$3(this.depth); + /* Depth of each subtree used as tie breaker for trees of equal frequency + */ + + this.l_buf = 0; /* buffer index for literals or lengths */ + + this.lit_bufsize = 0; + /* Size of match buffer for literals/lengths. There are 4 reasons for + * limiting lit_bufsize to 64K: + * - frequencies can be kept in 16 bit counters + * - if compression is not successful for the first block, all input + * data is still in the window so we can still emit a stored block even + * when input comes from standard input. (This can also be done for + * all blocks if lit_bufsize is not greater than 32K.) + * - if compression is not successful for a file smaller than 64K, we can + * even emit a stored file instead of a stored block (saving 5 bytes). + * This is applicable only for zip (not gzip or zlib). + * - creating new Huffman trees less frequently may not provide fast + * adaptation to changes in the input data statistics. (Take for + * example a binary file with poorly compressible code followed by + * a highly compressible string table.) Smaller buffer sizes give + * fast adaptation but have of course the overhead of transmitting + * trees more frequently. + * - I can't count above 4 + */ + + this.last_lit = 0; /* running index in l_buf */ + + this.d_buf = 0; + /* Buffer index for distances. To simplify the code, d_buf and l_buf have + * the same number of elements. To use different lengths, an extra flag + * array would be necessary. + */ + + this.opt_len = 0; /* bit length of current block with optimal trees */ + this.static_len = 0; /* bit length of current block with static trees */ + this.matches = 0; /* number of string matches in current block */ + this.insert = 0; /* bytes at end of window left to insert */ + + + this.bi_buf = 0; + /* Output buffer. bits are inserted starting at the bottom (least + * significant bits). + */ + this.bi_valid = 0; + /* Number of valid bits in bi_buf. All bits above the last valid bit + * are always zero. + */ + + // Used for window memory init. We safely ignore it for JS. That makes + // sense only for pointers and memory check tools. + //this.high_water = 0; + /* High water mark offset in window for initialized bytes -- bytes above + * this are set to zero in order to avoid memory check warnings when + * longest match routines access bytes past the input. This is then + * updated to the new high water mark. + */ +} + + +function deflateResetKeep$1(strm) { + var s; + + if (!strm || !strm.state) { + return err$1(strm, Z_STREAM_ERROR$2); + } + + strm.total_in = strm.total_out = 0; + strm.data_type = Z_UNKNOWN$3; + + s = strm.state; + s.pending = 0; + s.pending_out = 0; + + if (s.wrap < 0) { + s.wrap = -s.wrap; + /* was made negative by deflate(..., Z_FINISH); */ + } + s.status = (s.wrap ? INIT_STATE$1 : BUSY_STATE$1); + strm.adler = (s.wrap === 2) ? + 0 // crc32(0, Z_NULL, 0) + : + 1; // adler32(0, Z_NULL, 0) + s.last_flush = Z_NO_FLUSH$2; + trees$1._tr_init(s); + return Z_OK$3; +} + + +function deflateReset$1(strm) { + var ret = deflateResetKeep$1(strm); + if (ret === Z_OK$3) { + lm_init$1(strm.state); + } + return ret; +} + + +function deflateSetHeader$1(strm, head) { + if (!strm || !strm.state) { return Z_STREAM_ERROR$2; } + if (strm.state.wrap !== 2) { return Z_STREAM_ERROR$2; } + strm.state.gzhead = head; + return Z_OK$3; +} + + +function deflateInit2$1(strm, level, method, windowBits, memLevel, strategy) { + if (!strm) { // === Z_NULL + return Z_STREAM_ERROR$2; + } + var wrap = 1; + + if (level === Z_DEFAULT_COMPRESSION$2) { + level = 6; + } + + if (windowBits < 0) { /* suppress zlib wrapper */ + wrap = 0; + windowBits = -windowBits; + } + + else if (windowBits > 15) { + wrap = 2; /* write gzip wrapper instead */ + windowBits -= 16; + } + + + if (memLevel < 1 || memLevel > MAX_MEM_LEVEL$1 || method !== Z_DEFLATED$3 || + windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || + strategy < 0 || strategy > Z_FIXED$3) { + return err$1(strm, Z_STREAM_ERROR$2); + } + + + if (windowBits === 8) { + windowBits = 9; + } + /* until 256-byte window bug fixed */ + + var s = new DeflateState$1(); + + strm.state = s; + s.strm = strm; + + s.wrap = wrap; + s.gzhead = null; + s.w_bits = windowBits; + s.w_size = 1 << s.w_bits; + s.w_mask = s.w_size - 1; + + s.hash_bits = memLevel + 7; + s.hash_size = 1 << s.hash_bits; + s.hash_mask = s.hash_size - 1; + s.hash_shift = ~~((s.hash_bits + MIN_MATCH$3 - 1) / MIN_MATCH$3); + + s.window = new common$1.Buf8(s.w_size * 2); + s.head = new common$1.Buf16(s.hash_size); + s.prev = new common$1.Buf16(s.w_size); + + // Don't need mem init magic for JS. + //s.high_water = 0; /* nothing written to s->window yet */ + + s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ + + s.pending_buf_size = s.lit_bufsize * 4; + + //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); + //s->pending_buf = (uchf *) overlay; + s.pending_buf = new common$1.Buf8(s.pending_buf_size); + + // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`) + //s->d_buf = overlay + s->lit_bufsize/sizeof(ush); + s.d_buf = 1 * s.lit_bufsize; + + //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; + s.l_buf = (1 + 2) * s.lit_bufsize; + + s.level = level; + s.strategy = strategy; + s.method = method; + + return deflateReset$1(strm); +} + +function deflateInit$1(strm, level) { + return deflateInit2$1(strm, level, Z_DEFLATED$3, MAX_WBITS$2, DEF_MEM_LEVEL$1, Z_DEFAULT_STRATEGY$2); +} + + +function deflate$2(strm, flush) { + var old_flush, s; + var beg, val; // for gzip header write only + + if (!strm || !strm.state || + flush > Z_BLOCK$2 || flush < 0) { + return strm ? err$1(strm, Z_STREAM_ERROR$2) : Z_STREAM_ERROR$2; + } + + s = strm.state; + + if (!strm.output || + (!strm.input && strm.avail_in !== 0) || + (s.status === FINISH_STATE$1 && flush !== Z_FINISH$3)) { + return err$1(strm, (strm.avail_out === 0) ? Z_BUF_ERROR$2 : Z_STREAM_ERROR$2); + } + + s.strm = strm; /* just in case */ + old_flush = s.last_flush; + s.last_flush = flush; + + /* Write the header */ + if (s.status === INIT_STATE$1) { + + if (s.wrap === 2) { // GZIP header + strm.adler = 0; //crc32(0L, Z_NULL, 0); + put_byte$1(s, 31); + put_byte$1(s, 139); + put_byte$1(s, 8); + if (!s.gzhead) { // s->gzhead == Z_NULL + put_byte$1(s, 0); + put_byte$1(s, 0); + put_byte$1(s, 0); + put_byte$1(s, 0); + put_byte$1(s, 0); + put_byte$1(s, s.level === 9 ? 2 : + (s.strategy >= Z_HUFFMAN_ONLY$1 || s.level < 2 ? + 4 : 0)); + put_byte$1(s, OS_CODE$1); + s.status = BUSY_STATE$1; + } + else { + put_byte$1(s, (s.gzhead.text ? 1 : 0) + + (s.gzhead.hcrc ? 2 : 0) + + (!s.gzhead.extra ? 0 : 4) + + (!s.gzhead.name ? 0 : 8) + + (!s.gzhead.comment ? 0 : 16) + ); + put_byte$1(s, s.gzhead.time & 0xff); + put_byte$1(s, (s.gzhead.time >> 8) & 0xff); + put_byte$1(s, (s.gzhead.time >> 16) & 0xff); + put_byte$1(s, (s.gzhead.time >> 24) & 0xff); + put_byte$1(s, s.level === 9 ? 2 : + (s.strategy >= Z_HUFFMAN_ONLY$1 || s.level < 2 ? + 4 : 0)); + put_byte$1(s, s.gzhead.os & 0xff); + if (s.gzhead.extra && s.gzhead.extra.length) { + put_byte$1(s, s.gzhead.extra.length & 0xff); + put_byte$1(s, (s.gzhead.extra.length >> 8) & 0xff); + } + if (s.gzhead.hcrc) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending, 0); + } + s.gzindex = 0; + s.status = EXTRA_STATE$1; + } + } + else // DEFLATE header + { + var header = (Z_DEFLATED$3 + ((s.w_bits - 8) << 4)) << 8; + var level_flags = -1; + + if (s.strategy >= Z_HUFFMAN_ONLY$1 || s.level < 2) { + level_flags = 0; + } else if (s.level < 6) { + level_flags = 1; + } else if (s.level === 6) { + level_flags = 2; + } else { + level_flags = 3; + } + header |= (level_flags << 6); + if (s.strstart !== 0) { header |= PRESET_DICT$1; } + header += 31 - (header % 31); + + s.status = BUSY_STATE$1; + putShortMSB$1(s, header); + + /* Save the adler32 of the preset dictionary: */ + if (s.strstart !== 0) { + putShortMSB$1(s, strm.adler >>> 16); + putShortMSB$1(s, strm.adler & 0xffff); + } + strm.adler = 1; // adler32(0L, Z_NULL, 0); + } + } + +//#ifdef GZIP + if (s.status === EXTRA_STATE$1) { + if (s.gzhead.extra/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + + while (s.gzindex < (s.gzhead.extra.length & 0xffff)) { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending$1(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + break; + } + } + put_byte$1(s, s.gzhead.extra[s.gzindex] & 0xff); + s.gzindex++; + } + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (s.gzindex === s.gzhead.extra.length) { + s.gzindex = 0; + s.status = NAME_STATE$1; + } + } + else { + s.status = NAME_STATE$1; + } + } + if (s.status === NAME_STATE$1) { + if (s.gzhead.name/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + //int val; + + do { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending$1(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + val = 1; + break; + } + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.name.length) { + val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte$1(s, val); + } while (val !== 0); + + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (val === 0) { + s.gzindex = 0; + s.status = COMMENT_STATE$1; + } + } + else { + s.status = COMMENT_STATE$1; + } + } + if (s.status === COMMENT_STATE$1) { + if (s.gzhead.comment/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + //int val; + + do { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending$1(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + val = 1; + break; + } + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.comment.length) { + val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte$1(s, val); + } while (val !== 0); + + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (val === 0) { + s.status = HCRC_STATE$1; + } + } + else { + s.status = HCRC_STATE$1; + } + } + if (s.status === HCRC_STATE$1) { + if (s.gzhead.hcrc) { + if (s.pending + 2 > s.pending_buf_size) { + flush_pending$1(strm); + } + if (s.pending + 2 <= s.pending_buf_size) { + put_byte$1(s, strm.adler & 0xff); + put_byte$1(s, (strm.adler >> 8) & 0xff); + strm.adler = 0; //crc32(0L, Z_NULL, 0); + s.status = BUSY_STATE$1; + } + } + else { + s.status = BUSY_STATE$1; + } + } +//#endif + + /* Flush as much pending output as possible */ + if (s.pending !== 0) { + flush_pending$1(strm); + if (strm.avail_out === 0) { + /* Since avail_out is 0, deflate will be called again with + * more output space, but possibly with both pending and + * avail_in equal to zero. There won't be anything to do, + * but this is not an error situation so make sure we + * return OK instead of BUF_ERROR at next call of deflate: + */ + s.last_flush = -1; + return Z_OK$3; + } + + /* Make sure there is something to do and avoid duplicate consecutive + * flushes. For repeated and useless calls with Z_FINISH, we keep + * returning Z_STREAM_END instead of Z_BUF_ERROR. + */ + } else if (strm.avail_in === 0 && rank$1(flush) <= rank$1(old_flush) && + flush !== Z_FINISH$3) { + return err$1(strm, Z_BUF_ERROR$2); + } + + /* User must not provide more input after the first FINISH: */ + if (s.status === FINISH_STATE$1 && strm.avail_in !== 0) { + return err$1(strm, Z_BUF_ERROR$2); + } + + /* Start a new block or continue the current one. + */ + if (strm.avail_in !== 0 || s.lookahead !== 0 || + (flush !== Z_NO_FLUSH$2 && s.status !== FINISH_STATE$1)) { + var bstate = (s.strategy === Z_HUFFMAN_ONLY$1) ? deflate_huff$1(s, flush) : + (s.strategy === Z_RLE$1 ? deflate_rle$1(s, flush) : + configuration_table$1[s.level].func(s, flush)); + + if (bstate === BS_FINISH_STARTED$1 || bstate === BS_FINISH_DONE$1) { + s.status = FINISH_STATE$1; + } + if (bstate === BS_NEED_MORE$1 || bstate === BS_FINISH_STARTED$1) { + if (strm.avail_out === 0) { + s.last_flush = -1; + /* avoid BUF_ERROR next call, see above */ + } + return Z_OK$3; + /* If flush != Z_NO_FLUSH && avail_out == 0, the next call + * of deflate should use the same flush parameter to make sure + * that the flush is complete. So we don't have to output an + * empty block here, this will be done at next call. This also + * ensures that for a very small output buffer, we emit at most + * one empty block. + */ + } + if (bstate === BS_BLOCK_DONE$1) { + if (flush === Z_PARTIAL_FLUSH$1) { + trees$1._tr_align(s); + } + else if (flush !== Z_BLOCK$2) { /* FULL_FLUSH or SYNC_FLUSH */ + + trees$1._tr_stored_block(s, 0, 0, false); + /* For a full flush, this empty block will be recognized + * as a special marker by inflate_sync(). + */ + if (flush === Z_FULL_FLUSH$1) { + /*** CLEAR_HASH(s); ***/ /* forget history */ + zero$3(s.head); // Fill with NIL (= 0); + + if (s.lookahead === 0) { + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + } + } + flush_pending$1(strm); + if (strm.avail_out === 0) { + s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */ + return Z_OK$3; + } + } + } + //Assert(strm->avail_out > 0, "bug2"); + //if (strm.avail_out <= 0) { throw new Error("bug2");} + + if (flush !== Z_FINISH$3) { return Z_OK$3; } + if (s.wrap <= 0) { return Z_STREAM_END$3; } + + /* Write the trailer */ + if (s.wrap === 2) { + put_byte$1(s, strm.adler & 0xff); + put_byte$1(s, (strm.adler >> 8) & 0xff); + put_byte$1(s, (strm.adler >> 16) & 0xff); + put_byte$1(s, (strm.adler >> 24) & 0xff); + put_byte$1(s, strm.total_in & 0xff); + put_byte$1(s, (strm.total_in >> 8) & 0xff); + put_byte$1(s, (strm.total_in >> 16) & 0xff); + put_byte$1(s, (strm.total_in >> 24) & 0xff); + } + else + { + putShortMSB$1(s, strm.adler >>> 16); + putShortMSB$1(s, strm.adler & 0xffff); + } + + flush_pending$1(strm); + /* If avail_out is zero, the application will call deflate again + * to flush the rest. + */ + if (s.wrap > 0) { s.wrap = -s.wrap; } + /* write the trailer only once! */ + return s.pending !== 0 ? Z_OK$3 : Z_STREAM_END$3; +} + +function deflateEnd$1(strm) { + var status; + + if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { + return Z_STREAM_ERROR$2; + } + + status = strm.state.status; + if (status !== INIT_STATE$1 && + status !== EXTRA_STATE$1 && + status !== NAME_STATE$1 && + status !== COMMENT_STATE$1 && + status !== HCRC_STATE$1 && + status !== BUSY_STATE$1 && + status !== FINISH_STATE$1 + ) { + return err$1(strm, Z_STREAM_ERROR$2); + } + + strm.state = null; + + return status === BUSY_STATE$1 ? err$1(strm, Z_DATA_ERROR$2) : Z_OK$3; +} + + +/* ========================================================================= + * Initializes the compression dictionary from the given byte + * sequence without producing any compressed output. + */ +function deflateSetDictionary$1(strm, dictionary) { + var dictLength = dictionary.length; + + var s; + var str, n; + var wrap; + var avail; + var next; + var input; + var tmpDict; + + if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { + return Z_STREAM_ERROR$2; + } + + s = strm.state; + wrap = s.wrap; + + if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE$1) || s.lookahead) { + return Z_STREAM_ERROR$2; + } + + /* when using zlib wrappers, compute Adler-32 for provided dictionary */ + if (wrap === 1) { + /* adler32(strm->adler, dictionary, dictLength); */ + strm.adler = adler32_1$1(strm.adler, dictionary, dictLength, 0); + } + + s.wrap = 0; /* avoid computing Adler-32 in read_buf */ + + /* if dictionary would fill window, just replace the history */ + if (dictLength >= s.w_size) { + if (wrap === 0) { /* already empty otherwise */ + /*** CLEAR_HASH(s); ***/ + zero$3(s.head); // Fill with NIL (= 0); + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + /* use the tail */ + // dictionary = dictionary.slice(dictLength - s.w_size); + tmpDict = new common$1.Buf8(s.w_size); + common$1.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0); + dictionary = tmpDict; + dictLength = s.w_size; + } + /* insert dictionary into window and hash */ + avail = strm.avail_in; + next = strm.next_in; + input = strm.input; + strm.avail_in = dictLength; + strm.next_in = 0; + strm.input = dictionary; + fill_window$1(s); + while (s.lookahead >= MIN_MATCH$3) { + str = s.strstart; + n = s.lookahead - (MIN_MATCH$3 - 1); + do { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$3 - 1]) & s.hash_mask; + + s.prev[str & s.w_mask] = s.head[s.ins_h]; + + s.head[s.ins_h] = str; + str++; + } while (--n); + s.strstart = str; + s.lookahead = MIN_MATCH$3 - 1; + fill_window$1(s); + } + s.strstart += s.lookahead; + s.block_start = s.strstart; + s.insert = s.lookahead; + s.lookahead = 0; + s.match_length = s.prev_length = MIN_MATCH$3 - 1; + s.match_available = 0; + strm.next_in = next; + strm.input = input; + strm.avail_in = avail; + s.wrap = wrap; + return Z_OK$3; +} + + +var deflateInit_1$1 = deflateInit$1; +var deflateInit2_1$1 = deflateInit2$1; +var deflateReset_1$1 = deflateReset$1; +var deflateResetKeep_1$1 = deflateResetKeep$1; +var deflateSetHeader_1$1 = deflateSetHeader$1; +var deflate_2$2 = deflate$2; +var deflateEnd_1$1 = deflateEnd$1; +var deflateSetDictionary_1$1 = deflateSetDictionary$1; +var deflateInfo$1 = 'pako deflate (from Nodeca project)'; + +/* Not implemented +exports.deflateBound = deflateBound; +exports.deflateCopy = deflateCopy; +exports.deflateParams = deflateParams; +exports.deflatePending = deflatePending; +exports.deflatePrime = deflatePrime; +exports.deflateTune = deflateTune; +*/ + +var deflate_1$2 = { + deflateInit: deflateInit_1$1, + deflateInit2: deflateInit2_1$1, + deflateReset: deflateReset_1$1, + deflateResetKeep: deflateResetKeep_1$1, + deflateSetHeader: deflateSetHeader_1$1, + deflate: deflate_2$2, + deflateEnd: deflateEnd_1$1, + deflateSetDictionary: deflateSetDictionary_1$1, + deflateInfo: deflateInfo$1 +}; + +// Quick check if we can use fast array to bin string conversion +// +// - apply(Array) can fail on Android 2.2 +// - apply(Uint8Array) can fail on iOS 5.1 Safari +// +var STR_APPLY_OK$1 = true; +var STR_APPLY_UIA_OK$1 = true; + +try { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK$1 = false; } +try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK$1 = false; } + + +// Table with utf8 lengths (calculated by first byte of sequence) +// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS, +// because max possible codepoint is 0x10ffff +var _utf8len$1 = new common$1.Buf8(256); +for (var q$1 = 0; q$1 < 256; q$1++) { + _utf8len$1[q$1] = (q$1 >= 252 ? 6 : q$1 >= 248 ? 5 : q$1 >= 240 ? 4 : q$1 >= 224 ? 3 : q$1 >= 192 ? 2 : 1); +} +_utf8len$1[254] = _utf8len$1[254] = 1; // Invalid sequence start + + +// convert string to array (typed, when possible) +var string2buf$1 = function (str) { + var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; + + // count binary size + for (m_pos = 0; m_pos < str_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; + } + + // allocate buffer + buf = new common$1.Buf8(buf_len); + + // convert + for (i = 0, m_pos = 0; i < buf_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + if (c < 0x80) { + /* one byte */ + buf[i++] = c; + } else if (c < 0x800) { + /* two bytes */ + buf[i++] = 0xC0 | (c >>> 6); + buf[i++] = 0x80 | (c & 0x3f); + } else if (c < 0x10000) { + /* three bytes */ + buf[i++] = 0xE0 | (c >>> 12); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } else { + /* four bytes */ + buf[i++] = 0xf0 | (c >>> 18); + buf[i++] = 0x80 | (c >>> 12 & 0x3f); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } + } + + return buf; +}; + +// Helper (used in 2 places) +function buf2binstring$1(buf, len) { + // On Chrome, the arguments in a function call that are allowed is `65534`. + // If the length of the buffer is smaller than that, we can use this optimization, + // otherwise we will take a slower path. + if (len < 65534) { + if ((buf.subarray && STR_APPLY_UIA_OK$1) || (!buf.subarray && STR_APPLY_OK$1)) { + return String.fromCharCode.apply(null, common$1.shrinkBuf(buf, len)); + } + } + + var result = ''; + for (var i = 0; i < len; i++) { + result += String.fromCharCode(buf[i]); + } + return result; +} + + +// Convert byte array to binary string +var buf2binstring_1$1 = function (buf) { + return buf2binstring$1(buf, buf.length); +}; + + +// Convert binary string (typed, when possible) +var binstring2buf$1 = function (str) { + var buf = new common$1.Buf8(str.length); + for (var i = 0, len = buf.length; i < len; i++) { + buf[i] = str.charCodeAt(i); + } + return buf; +}; + + +// convert array to string +var buf2string$1 = function (buf, max) { + var i, out, c, c_len; + var len = max || buf.length; + + // Reserve max possible length (2 words per char) + // NB: by unknown reasons, Array is significantly faster for + // String.fromCharCode.apply than Uint16Array. + var utf16buf = new Array(len * 2); + + for (out = 0, i = 0; i < len;) { + c = buf[i++]; + // quick process ascii + if (c < 0x80) { utf16buf[out++] = c; continue; } + + c_len = _utf8len$1[c]; + // skip 5 & 6 byte codes + if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; } + + // apply mask on first byte + c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07; + // join the rest + while (c_len > 1 && i < len) { + c = (c << 6) | (buf[i++] & 0x3f); + c_len--; + } + + // terminated by end of string? + if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; } + + if (c < 0x10000) { + utf16buf[out++] = c; + } else { + c -= 0x10000; + utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff); + utf16buf[out++] = 0xdc00 | (c & 0x3ff); + } + } + + return buf2binstring$1(utf16buf, out); +}; + + +// Calculate max possible position in utf8 buffer, +// that will not break sequence. If that's not possible +// - (very small limits) return max size as is. +// +// buf[] - utf8 bytes array +// max - length limit (mandatory); +var utf8border$1 = function (buf, max) { + var pos; + + max = max || buf.length; + if (max > buf.length) { max = buf.length; } + + // go back from last position, until start of sequence found + pos = max - 1; + while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; } + + // Very small and broken sequence, + // return max, because we should return something anyway. + if (pos < 0) { return max; } + + // If we came to start of buffer - that means buffer is too small, + // return max too. + if (pos === 0) { return max; } + + return (pos + _utf8len$1[buf[pos]] > max) ? pos : max; +}; + +var strings$1 = { + string2buf: string2buf$1, + buf2binstring: buf2binstring_1$1, + binstring2buf: binstring2buf$1, + buf2string: buf2string$1, + utf8border: utf8border$1 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function ZStream$1() { + /* next input byte */ + this.input = null; // JS specific, because we have no pointers + this.next_in = 0; + /* number of bytes available at input */ + this.avail_in = 0; + /* total number of input bytes read so far */ + this.total_in = 0; + /* next output byte should be put there */ + this.output = null; // JS specific, because we have no pointers + this.next_out = 0; + /* remaining free space at output */ + this.avail_out = 0; + /* total number of bytes output so far */ + this.total_out = 0; + /* last error message, NULL if no error */ + this.msg = ''/*Z_NULL*/; + /* not visible by applications */ + this.state = null; + /* best guess about the data type: binary or text */ + this.data_type = 2/*Z_UNKNOWN*/; + /* adler32 value of the uncompressed data */ + this.adler = 0; +} + +var zstream$1 = ZStream$1; + +var toString$2 = Object.prototype.toString; + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + +var Z_NO_FLUSH$3 = 0; +var Z_FINISH$4 = 4; + +var Z_OK$4 = 0; +var Z_STREAM_END$4 = 1; +var Z_SYNC_FLUSH$1 = 2; + +var Z_DEFAULT_COMPRESSION$3 = -1; + +var Z_DEFAULT_STRATEGY$3 = 0; + +var Z_DEFLATED$4 = 8; + +/* ===========================================================================*/ + + +/** + * class Deflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[deflate]], + * [[deflateRaw]] and [[gzip]]. + **/ + +/* internal + * Deflate.chunks -> Array + * + * Chunks of output data, if [[Deflate#onData]] not overridden. + **/ + +/** + * Deflate.result -> Uint8Array|Array + * + * Compressed result, generated by default [[Deflate#onData]] + * and [[Deflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you + * push a chunk with explicit flush (call [[Deflate#push]] with + * `Z_SYNC_FLUSH` param). + **/ + +/** + * Deflate.err -> Number + * + * Error code after deflate finished. 0 (Z_OK) on success. + * You will not need it in real life, because deflate errors + * are possible only on wrong options or bad `onData` / `onEnd` + * custom handlers. + **/ + +/** + * Deflate.msg -> String + * + * Error message, if [[Deflate.err]] != 0 + **/ + + +/** + * new Deflate(options) + * - options (Object): zlib deflate options. + * + * Creates new deflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `level` + * - `windowBits` + * - `memLevel` + * - `strategy` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw deflate + * - `gzip` (Boolean) - create gzip wrapper + * - `to` (String) - if equal to 'string', then result will be "binary string" + * (each char code [0..255]) + * - `header` (Object) - custom header for gzip + * - `text` (Boolean) - true if compressed data believed to be text + * - `time` (Number) - modification time, unix timestamp + * - `os` (Number) - operation system code + * - `extra` (Array) - array of bytes with extra data (max 65536) + * - `name` (String) - file name (binary string) + * - `comment` (String) - comment (binary string) + * - `hcrc` (Boolean) - true if header crc should be added + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * var deflate = new pako.Deflate({ level: 3}); + * + * deflate.push(chunk1, false); + * deflate.push(chunk2, true); // true -> last chunk + * + * if (deflate.err) { throw new Error(deflate.err); } + * + * console.log(deflate.result); + * ``` + **/ +function Deflate$1(options) { + if (!(this instanceof Deflate$1)) return new Deflate$1(options); + + this.options = common$1.assign({ + level: Z_DEFAULT_COMPRESSION$3, + method: Z_DEFLATED$4, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: Z_DEFAULT_STRATEGY$3, + to: '' + }, options || {}); + + var opt = this.options; + + if (opt.raw && (opt.windowBits > 0)) { + opt.windowBits = -opt.windowBits; + } + + else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) { + opt.windowBits += 16; + } + + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream$1(); + this.strm.avail_out = 0; + + var status = deflate_1$2.deflateInit2( + this.strm, + opt.level, + opt.method, + opt.windowBits, + opt.memLevel, + opt.strategy + ); + + if (status !== Z_OK$4) { + throw new Error(messages$1[status]); + } + + if (opt.header) { + deflate_1$2.deflateSetHeader(this.strm, opt.header); + } + + if (opt.dictionary) { + var dict; + // Convert data if needed + if (typeof opt.dictionary === 'string') { + // If we need to compress text, change encoding to utf8. + dict = strings$1.string2buf(opt.dictionary); + } else if (toString$2.call(opt.dictionary) === '[object ArrayBuffer]') { + dict = new Uint8Array(opt.dictionary); + } else { + dict = opt.dictionary; + } + + status = deflate_1$2.deflateSetDictionary(this.strm, dict); + + if (status !== Z_OK$4) { + throw new Error(messages$1[status]); + } + + this._dict_set = true; + } +} + +/** + * Deflate#push(data[, mode]) -> Boolean + * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be + * converted to utf8 byte sequence. + * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with + * new compressed chunks. Returns `true` on success. The last data block must have + * mode Z_FINISH (or `true`). That will flush internal pending buffers and call + * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you + * can use mode Z_SYNC_FLUSH, keeping the compression context. + * + * On fail call [[Deflate#onEnd]] with error code and return false. + * + * We strongly recommend to use `Uint8Array` on input for best speed (output + * array format is detected automatically). Also, don't skip last param and always + * use the same type in your code (boolean or number). That will improve JS speed. + * + * For regular `Array`-s make sure all elements are [0..255]. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ +Deflate$1.prototype.push = function (data, mode) { + var strm = this.strm; + var chunkSize = this.options.chunkSize; + var status, _mode; + + if (this.ended) { return false; } + + _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH$4 : Z_NO_FLUSH$3); + + // Convert data if needed + if (typeof data === 'string') { + // If we need to compress text, change encoding to utf8. + strm.input = strings$1.string2buf(data); + } else if (toString$2.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + + strm.next_in = 0; + strm.avail_in = strm.input.length; + + do { + if (strm.avail_out === 0) { + strm.output = new common$1.Buf8(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + status = deflate_1$2.deflate(strm, _mode); /* no bad return value */ + + if (status !== Z_STREAM_END$4 && status !== Z_OK$4) { + this.onEnd(status); + this.ended = true; + return false; + } + if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH$4 || _mode === Z_SYNC_FLUSH$1))) { + if (this.options.to === 'string') { + this.onData(strings$1.buf2binstring(common$1.shrinkBuf(strm.output, strm.next_out))); + } else { + this.onData(common$1.shrinkBuf(strm.output, strm.next_out)); + } + } + } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END$4); + + // Finalize on the last chunk. + if (_mode === Z_FINISH$4) { + status = deflate_1$2.deflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === Z_OK$4; + } + + // callback interim results if Z_SYNC_FLUSH. + if (_mode === Z_SYNC_FLUSH$1) { + this.onEnd(Z_OK$4); + strm.avail_out = 0; + return true; + } + + return true; +}; + + +/** + * Deflate#onData(chunk) -> Void + * - chunk (Uint8Array|Array|String): output data. Type of array depends + * on js engine support. When string output requested, each chunk + * will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ +Deflate$1.prototype.onData = function (chunk) { + this.chunks.push(chunk); +}; + + +/** + * Deflate#onEnd(status) -> Void + * - status (Number): deflate status. 0 (Z_OK) on success, + * other if not. + * + * Called once after you tell deflate that the input stream is + * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH) + * or if an error happened. By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ +Deflate$1.prototype.onEnd = function (status) { + // On success - join + if (status === Z_OK$4) { + if (this.options.to === 'string') { + this.result = this.chunks.join(''); + } else { + this.result = common$1.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; +}; + + +/** + * deflate(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * Compress `data` with deflate algorithm and `options`. + * + * Supported options are: + * + * - level + * - windowBits + * - memLevel + * - strategy + * - dictionary + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be "binary string" + * (each char code [0..255]) + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , data = Uint8Array([1,2,3,4,5,6,7,8,9]); + * + * console.log(pako.deflate(data)); + * ``` + **/ +function deflate$3(input, options) { + var deflator = new Deflate$1(options); + + deflator.push(input, true); + + // That will never happens, if you don't cheat with options :) + if (deflator.err) { throw deflator.msg || messages$1[deflator.err]; } + + return deflator.result; +} + + +/** + * deflateRaw(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * The same as [[deflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ +function deflateRaw$1(input, options) { + options = options || {}; + options.raw = true; + return deflate$3(input, options); +} + + +/** + * gzip(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * The same as [[deflate]], but create gzip wrapper instead of + * deflate one. + **/ +function gzip$1(input, options) { + options = options || {}; + options.gzip = true; + return deflate$3(input, options); +} + + +var Deflate_1$1 = Deflate$1; +var deflate_2$3 = deflate$3; +var deflateRaw_1$1 = deflateRaw$1; +var gzip_1$1 = gzip$1; + +var deflate_1$3 = { + Deflate: Deflate_1$1, + deflate: deflate_2$3, + deflateRaw: deflateRaw_1$1, + gzip: gzip_1$1 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +// See state defs from inflate.js +var BAD$2 = 30; /* got a data error -- remain here until reset */ +var TYPE$2 = 12; /* i: waiting for type bits, including last-flag bit */ + +/* + Decode literal, length, and distance codes and write out the resulting + literal and match bytes until either not enough input or output is + available, an end-of-block is encountered, or a data error is encountered. + When large enough input and output buffers are supplied to inflate(), for + example, a 16K input buffer and a 64K output buffer, more than 95% of the + inflate execution time is spent in this routine. + + Entry assumptions: + + state.mode === LEN + strm.avail_in >= 6 + strm.avail_out >= 258 + start >= strm.avail_out + state.bits < 8 + + On return, state.mode is one of: + + LEN -- ran out of enough output space or enough available input + TYPE -- reached end of block code, inflate() to interpret next block + BAD -- error in block data + + Notes: + + - The maximum input bits used by a length/distance pair is 15 bits for the + length code, 5 bits for the length extra, 15 bits for the distance code, + and 13 bits for the distance extra. This totals 48 bits, or six bytes. + Therefore if strm.avail_in >= 6, then there is enough input to avoid + checking for available input while decoding. + + - The maximum bytes that a single length/distance pair can output is 258 + bytes, which is the maximum length that can be coded. inflate_fast() + requires strm.avail_out >= 258 for each loop to avoid checking for + output space. + */ +var inffast$1 = function inflate_fast(strm, start) { + var state; + var _in; /* local strm.input */ + var last; /* have enough input while in < last */ + var _out; /* local strm.output */ + var beg; /* inflate()'s initial strm.output */ + var end; /* while out < end, enough space available */ +//#ifdef INFLATE_STRICT + var dmax; /* maximum distance from zlib header */ +//#endif + var wsize; /* window size or zero if not using window */ + var whave; /* valid bytes in the window */ + var wnext; /* window write index */ + // Use `s_window` instead `window`, avoid conflict with instrumentation tools + var s_window; /* allocated sliding window, if wsize != 0 */ + var hold; /* local strm.hold */ + var bits; /* local strm.bits */ + var lcode; /* local strm.lencode */ + var dcode; /* local strm.distcode */ + var lmask; /* mask for first level of length codes */ + var dmask; /* mask for first level of distance codes */ + var here; /* retrieved table entry */ + var op; /* code bits, operation, extra bits, or */ + /* window position, window bytes to copy */ + var len; /* match length, unused bytes */ + var dist; /* match distance */ + var from; /* where to copy match from */ + var from_source; + + + var input, output; // JS specific, because we have no pointers + + /* copy state to local variables */ + state = strm.state; + //here = state.here; + _in = strm.next_in; + input = strm.input; + last = _in + (strm.avail_in - 5); + _out = strm.next_out; + output = strm.output; + beg = _out - (start - strm.avail_out); + end = _out + (strm.avail_out - 257); +//#ifdef INFLATE_STRICT + dmax = state.dmax; +//#endif + wsize = state.wsize; + whave = state.whave; + wnext = state.wnext; + s_window = state.window; + hold = state.hold; + bits = state.bits; + lcode = state.lencode; + dcode = state.distcode; + lmask = (1 << state.lenbits) - 1; + dmask = (1 << state.distbits) - 1; + + + /* decode literals and length/distances until end-of-block or not enough + input data or output space */ + + top: + do { + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + + here = lcode[hold & lmask]; + + dolen: + for (;;) { // Goto emulation + op = here >>> 24/*here.bits*/; + hold >>>= op; + bits -= op; + op = (here >>> 16) & 0xff/*here.op*/; + if (op === 0) { /* literal */ + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + output[_out++] = here & 0xffff/*here.val*/; + } + else if (op & 16) { /* length base */ + len = here & 0xffff/*here.val*/; + op &= 15; /* number of extra bits */ + if (op) { + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + len += hold & ((1 << op) - 1); + hold >>>= op; + bits -= op; + } + //Tracevv((stderr, "inflate: length %u\n", len)); + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + here = dcode[hold & dmask]; + + dodist: + for (;;) { // goto emulation + op = here >>> 24/*here.bits*/; + hold >>>= op; + bits -= op; + op = (here >>> 16) & 0xff/*here.op*/; + + if (op & 16) { /* distance base */ + dist = here & 0xffff/*here.val*/; + op &= 15; /* number of extra bits */ + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + } + dist += hold & ((1 << op) - 1); +//#ifdef INFLATE_STRICT + if (dist > dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$2; + break top; + } +//#endif + hold >>>= op; + bits -= op; + //Tracevv((stderr, "inflate: distance %u\n", dist)); + op = _out - beg; /* max distance in output */ + if (dist > op) { /* see if copy from window */ + op = dist - op; /* distance back in window */ + if (op > whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$2; + break top; + } + +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility +//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR +// if (len <= op - whave) { +// do { +// output[_out++] = 0; +// } while (--len); +// continue top; +// } +// len -= op - whave; +// do { +// output[_out++] = 0; +// } while (--op > whave); +// if (op === 0) { +// from = _out - dist; +// do { +// output[_out++] = output[from++]; +// } while (--len); +// continue top; +// } +//#endif + } + from = 0; // window index + from_source = s_window; + if (wnext === 0) { /* very common case */ + from += wsize - op; + if (op < len) { /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + else if (wnext < op) { /* wrap around window */ + from += wsize + wnext - op; + op -= wnext; + if (op < len) { /* some from end of window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = 0; + if (wnext < len) { /* some from start of window */ + op = wnext; + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + } + else { /* contiguous in window */ + from += wnext - op; + if (op < len) { /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + while (len > 2) { + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + len -= 3; + } + if (len) { + output[_out++] = from_source[from++]; + if (len > 1) { + output[_out++] = from_source[from++]; + } + } + } + else { + from = _out - dist; /* copy direct from output */ + do { /* minimum length is three */ + output[_out++] = output[from++]; + output[_out++] = output[from++]; + output[_out++] = output[from++]; + len -= 3; + } while (len > 2); + if (len) { + output[_out++] = output[from++]; + if (len > 1) { + output[_out++] = output[from++]; + } + } + } + } + else if ((op & 64) === 0) { /* 2nd level distance code */ + here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; + continue dodist; + } + else { + strm.msg = 'invalid distance code'; + state.mode = BAD$2; + break top; + } + + break; // need to emulate goto via "continue" + } + } + else if ((op & 64) === 0) { /* 2nd level length code */ + here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; + continue dolen; + } + else if (op & 32) { /* end-of-block */ + //Tracevv((stderr, "inflate: end of block\n")); + state.mode = TYPE$2; + break top; + } + else { + strm.msg = 'invalid literal/length code'; + state.mode = BAD$2; + break top; + } + + break; // need to emulate goto via "continue" + } + } while (_in < last && _out < end); + + /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ + len = bits >> 3; + _in -= len; + bits -= len << 3; + hold &= (1 << bits) - 1; + + /* update state and return */ + strm.next_in = _in; + strm.next_out = _out; + strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last)); + strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end)); + state.hold = hold; + state.bits = bits; + return; +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + +var MAXBITS$1 = 15; +var ENOUGH_LENS$2 = 852; +var ENOUGH_DISTS$2 = 592; +//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + +var CODES$2 = 0; +var LENS$2 = 1; +var DISTS$2 = 2; + +var lbase$1 = [ /* Length codes 257..285 base */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, + 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 +]; + +var lext$1 = [ /* Length codes 257..285 extra */ + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 +]; + +var dbase$1 = [ /* Distance codes 0..29 base */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, + 8193, 12289, 16385, 24577, 0, 0 +]; + +var dext$1 = [ /* Distance codes 0..29 extra */ + 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, + 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, + 28, 28, 29, 29, 64, 64 +]; + +var inftrees$1 = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) +{ + var bits = opts.bits; + //here = opts.here; /* table entry for duplication */ + + var len = 0; /* a code's length in bits */ + var sym = 0; /* index of code symbols */ + var min = 0, max = 0; /* minimum and maximum code lengths */ + var root = 0; /* number of index bits for root table */ + var curr = 0; /* number of index bits for current table */ + var drop = 0; /* code bits to drop for sub-table */ + var left = 0; /* number of prefix codes available */ + var used = 0; /* code entries in table used */ + var huff = 0; /* Huffman code */ + var incr; /* for incrementing code, index */ + var fill; /* index for replicating entries */ + var low; /* low bits for current root entry */ + var mask; /* mask for low root bits */ + var next; /* next available space in table */ + var base = null; /* base value table to use */ + var base_index = 0; +// var shoextra; /* extra bits table to use */ + var end; /* use base and extra for symbol > end */ + var count = new common$1.Buf16(MAXBITS$1 + 1); //[MAXBITS+1]; /* number of codes of each length */ + var offs = new common$1.Buf16(MAXBITS$1 + 1); //[MAXBITS+1]; /* offsets in table for each length */ + var extra = null; + var extra_index = 0; + + var here_bits, here_op, here_val; + + /* + Process a set of code lengths to create a canonical Huffman code. The + code lengths are lens[0..codes-1]. Each length corresponds to the + symbols 0..codes-1. The Huffman code is generated by first sorting the + symbols by length from short to long, and retaining the symbol order + for codes with equal lengths. Then the code starts with all zero bits + for the first code of the shortest length, and the codes are integer + increments for the same length, and zeros are appended as the length + increases. For the deflate format, these bits are stored backwards + from their more natural integer increment ordering, and so when the + decoding tables are built in the large loop below, the integer codes + are incremented backwards. + + This routine assumes, but does not check, that all of the entries in + lens[] are in the range 0..MAXBITS. The caller must assure this. + 1..MAXBITS is interpreted as that code length. zero means that that + symbol does not occur in this code. + + The codes are sorted by computing a count of codes for each length, + creating from that a table of starting indices for each length in the + sorted table, and then entering the symbols in order in the sorted + table. The sorted table is work[], with that space being provided by + the caller. + + The length counts are used for other purposes as well, i.e. finding + the minimum and maximum length codes, determining if there are any + codes at all, checking for a valid set of lengths, and looking ahead + at length counts to determine sub-table sizes when building the + decoding tables. + */ + + /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ + for (len = 0; len <= MAXBITS$1; len++) { + count[len] = 0; + } + for (sym = 0; sym < codes; sym++) { + count[lens[lens_index + sym]]++; + } + + /* bound code lengths, force root to be within code lengths */ + root = bits; + for (max = MAXBITS$1; max >= 1; max--) { + if (count[max] !== 0) { break; } + } + if (root > max) { + root = max; + } + if (max === 0) { /* no symbols to code at all */ + //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */ + //table.bits[opts.table_index] = 1; //here.bits = (var char)1; + //table.val[opts.table_index++] = 0; //here.val = (var short)0; + table[table_index++] = (1 << 24) | (64 << 16) | 0; + + + //table.op[opts.table_index] = 64; + //table.bits[opts.table_index] = 1; + //table.val[opts.table_index++] = 0; + table[table_index++] = (1 << 24) | (64 << 16) | 0; + + opts.bits = 1; + return 0; /* no symbols, but wait for decoding to report error */ + } + for (min = 1; min < max; min++) { + if (count[min] !== 0) { break; } + } + if (root < min) { + root = min; + } + + /* check for an over-subscribed or incomplete set of lengths */ + left = 1; + for (len = 1; len <= MAXBITS$1; len++) { + left <<= 1; + left -= count[len]; + if (left < 0) { + return -1; + } /* over-subscribed */ + } + if (left > 0 && (type === CODES$2 || max !== 1)) { + return -1; /* incomplete set */ + } + + /* generate offsets into symbol table for each length for sorting */ + offs[1] = 0; + for (len = 1; len < MAXBITS$1; len++) { + offs[len + 1] = offs[len] + count[len]; + } + + /* sort symbols by length, by symbol order within each length */ + for (sym = 0; sym < codes; sym++) { + if (lens[lens_index + sym] !== 0) { + work[offs[lens[lens_index + sym]]++] = sym; + } + } + + /* + Create and fill in decoding tables. In this loop, the table being + filled is at next and has curr index bits. The code being used is huff + with length len. That code is converted to an index by dropping drop + bits off of the bottom. For codes where len is less than drop + curr, + those top drop + curr - len bits are incremented through all values to + fill the table with replicated entries. + + root is the number of index bits for the root table. When len exceeds + root, sub-tables are created pointed to by the root entry with an index + of the low root bits of huff. This is saved in low to check for when a + new sub-table should be started. drop is zero when the root table is + being filled, and drop is root when sub-tables are being filled. + + When a new sub-table is needed, it is necessary to look ahead in the + code lengths to determine what size sub-table is needed. The length + counts are used for this, and so count[] is decremented as codes are + entered in the tables. + + used keeps track of how many table entries have been allocated from the + provided *table space. It is checked for LENS and DIST tables against + the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in + the initial root table size constants. See the comments in inftrees.h + for more information. + + sym increments through all symbols, and the loop terminates when + all codes of length max, i.e. all codes, have been processed. This + routine permits incomplete codes, so another loop after this one fills + in the rest of the decoding tables with invalid code markers. + */ + + /* set up for code type */ + // poor man optimization - use if-else instead of switch, + // to avoid deopts in old v8 + if (type === CODES$2) { + base = extra = work; /* dummy value--not used */ + end = 19; + + } else if (type === LENS$2) { + base = lbase$1; + base_index -= 257; + extra = lext$1; + extra_index -= 257; + end = 256; + + } else { /* DISTS */ + base = dbase$1; + extra = dext$1; + end = -1; + } + + /* initialize opts for loop */ + huff = 0; /* starting code */ + sym = 0; /* starting code symbol */ + len = min; /* starting code length */ + next = table_index; /* current table to fill in */ + curr = root; /* current table index bits */ + drop = 0; /* current bits to drop from code for index */ + low = -1; /* trigger new sub-table when len > root */ + used = 1 << root; /* use root table entries */ + mask = used - 1; /* mask for comparing low */ + + /* check available table space */ + if ((type === LENS$2 && used > ENOUGH_LENS$2) || + (type === DISTS$2 && used > ENOUGH_DISTS$2)) { + return 1; + } + + /* process all codes and make table entries */ + for (;;) { + /* create table entry */ + here_bits = len - drop; + if (work[sym] < end) { + here_op = 0; + here_val = work[sym]; + } + else if (work[sym] > end) { + here_op = extra[extra_index + work[sym]]; + here_val = base[base_index + work[sym]]; + } + else { + here_op = 32 + 64; /* end of block */ + here_val = 0; + } + + /* replicate for those indices with low len bits equal to huff */ + incr = 1 << (len - drop); + fill = 1 << curr; + min = fill; /* save offset to next table */ + do { + fill -= incr; + table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0; + } while (fill !== 0); + + /* backwards increment the len-bit code huff */ + incr = 1 << (len - 1); + while (huff & incr) { + incr >>= 1; + } + if (incr !== 0) { + huff &= incr - 1; + huff += incr; + } else { + huff = 0; + } + + /* go to next symbol, update count, len */ + sym++; + if (--count[len] === 0) { + if (len === max) { break; } + len = lens[lens_index + work[sym]]; + } + + /* create new sub-table if needed */ + if (len > root && (huff & mask) !== low) { + /* if first time, transition to sub-tables */ + if (drop === 0) { + drop = root; + } + + /* increment past last table */ + next += min; /* here min is 1 << curr */ + + /* determine length of next table */ + curr = len - drop; + left = 1 << curr; + while (curr + drop < max) { + left -= count[curr + drop]; + if (left <= 0) { break; } + curr++; + left <<= 1; + } + + /* check for enough space */ + used += 1 << curr; + if ((type === LENS$2 && used > ENOUGH_LENS$2) || + (type === DISTS$2 && used > ENOUGH_DISTS$2)) { + return 1; + } + + /* point entry in root table to sub-table */ + low = huff & mask; + /*table.op[low] = curr; + table.bits[low] = root; + table.val[low] = next - opts.table_index;*/ + table[low] = (root << 24) | (curr << 16) | (next - table_index) |0; + } + } + + /* fill in remaining table entry if code is incomplete (guaranteed to have + at most one remaining entry, since if the code is incomplete, the + maximum code length that was allowed to get this far is one bit) */ + if (huff !== 0) { + //table.op[next + huff] = 64; /* invalid code marker */ + //table.bits[next + huff] = len - drop; + //table.val[next + huff] = 0; + table[next + huff] = ((len - drop) << 24) | (64 << 16) |0; + } + + /* set return parameters */ + //opts.table_index += used; + opts.bits = root; + return 0; +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + + + + + +var CODES$3 = 0; +var LENS$3 = 1; +var DISTS$3 = 2; + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +/* Allowed flush values; see deflate() and inflate() below for details */ +//var Z_NO_FLUSH = 0; +//var Z_PARTIAL_FLUSH = 1; +//var Z_SYNC_FLUSH = 2; +//var Z_FULL_FLUSH = 3; +var Z_FINISH$5 = 4; +var Z_BLOCK$3 = 5; +var Z_TREES$1 = 6; + + +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +var Z_OK$5 = 0; +var Z_STREAM_END$5 = 1; +var Z_NEED_DICT$1 = 2; +//var Z_ERRNO = -1; +var Z_STREAM_ERROR$3 = -2; +var Z_DATA_ERROR$3 = -3; +var Z_MEM_ERROR$1 = -4; +var Z_BUF_ERROR$3 = -5; +//var Z_VERSION_ERROR = -6; + +/* The deflate compression method */ +var Z_DEFLATED$5 = 8; + + +/* STATES ====================================================================*/ +/* ===========================================================================*/ + + +var HEAD$1 = 1; /* i: waiting for magic header */ +var FLAGS$1 = 2; /* i: waiting for method and flags (gzip) */ +var TIME$1 = 3; /* i: waiting for modification time (gzip) */ +var OS$1 = 4; /* i: waiting for extra flags and operating system (gzip) */ +var EXLEN$1 = 5; /* i: waiting for extra length (gzip) */ +var EXTRA$1 = 6; /* i: waiting for extra bytes (gzip) */ +var NAME$1 = 7; /* i: waiting for end of file name (gzip) */ +var COMMENT$1 = 8; /* i: waiting for end of comment (gzip) */ +var HCRC$1 = 9; /* i: waiting for header crc (gzip) */ +var DICTID$1 = 10; /* i: waiting for dictionary check value */ +var DICT$1 = 11; /* waiting for inflateSetDictionary() call */ +var TYPE$3 = 12; /* i: waiting for type bits, including last-flag bit */ +var TYPEDO$1 = 13; /* i: same, but skip check to exit inflate on new block */ +var STORED$1 = 14; /* i: waiting for stored size (length and complement) */ +var COPY_$1 = 15; /* i/o: same as COPY below, but only first time in */ +var COPY$1 = 16; /* i/o: waiting for input or output to copy stored block */ +var TABLE$1 = 17; /* i: waiting for dynamic block table lengths */ +var LENLENS$1 = 18; /* i: waiting for code length code lengths */ +var CODELENS$1 = 19; /* i: waiting for length/lit and distance code lengths */ +var LEN_$1 = 20; /* i: same as LEN below, but only first time in */ +var LEN$1 = 21; /* i: waiting for length/lit/eob code */ +var LENEXT$1 = 22; /* i: waiting for length extra bits */ +var DIST$1 = 23; /* i: waiting for distance code */ +var DISTEXT$1 = 24; /* i: waiting for distance extra bits */ +var MATCH$1 = 25; /* o: waiting for output space to copy string */ +var LIT$1 = 26; /* o: waiting for output space to write literal */ +var CHECK$1 = 27; /* i: waiting for 32-bit check value */ +var LENGTH$1 = 28; /* i: waiting for 32-bit length (gzip) */ +var DONE$1 = 29; /* finished check, done -- remain here until reset */ +var BAD$3 = 30; /* got a data error -- remain here until reset */ +var MEM$1 = 31; /* got an inflate() memory error -- remain here until reset */ +var SYNC$1 = 32; /* looking for synchronization bytes to restart inflate() */ + +/* ===========================================================================*/ + + + +var ENOUGH_LENS$3 = 852; +var ENOUGH_DISTS$3 = 592; +//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + +var MAX_WBITS$3 = 15; +/* 32K LZ77 window */ +var DEF_WBITS$1 = MAX_WBITS$3; + + +function zswap32$1(q) { + return (((q >>> 24) & 0xff) + + ((q >>> 8) & 0xff00) + + ((q & 0xff00) << 8) + + ((q & 0xff) << 24)); +} + + +function InflateState$1() { + this.mode = 0; /* current inflate mode */ + this.last = false; /* true if processing last block */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.havedict = false; /* true if dictionary provided */ + this.flags = 0; /* gzip header method and flags (0 if zlib) */ + this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */ + this.check = 0; /* protected copy of check value */ + this.total = 0; /* protected copy of output count */ + // TODO: may be {} + this.head = null; /* where to save gzip header information */ + + /* sliding window */ + this.wbits = 0; /* log base 2 of requested window size */ + this.wsize = 0; /* window size or zero if not using window */ + this.whave = 0; /* valid bytes in the window */ + this.wnext = 0; /* window write index */ + this.window = null; /* allocated sliding window, if needed */ + + /* bit accumulator */ + this.hold = 0; /* input bit accumulator */ + this.bits = 0; /* number of bits in "in" */ + + /* for string and stored block copying */ + this.length = 0; /* literal or length of data to copy */ + this.offset = 0; /* distance back to copy string from */ + + /* for table and code decoding */ + this.extra = 0; /* extra bits needed */ + + /* fixed and dynamic code tables */ + this.lencode = null; /* starting table for length/literal codes */ + this.distcode = null; /* starting table for distance codes */ + this.lenbits = 0; /* index bits for lencode */ + this.distbits = 0; /* index bits for distcode */ + + /* dynamic table building */ + this.ncode = 0; /* number of code length code lengths */ + this.nlen = 0; /* number of length code lengths */ + this.ndist = 0; /* number of distance code lengths */ + this.have = 0; /* number of code lengths in lens[] */ + this.next = null; /* next available space in codes[] */ + + this.lens = new common$1.Buf16(320); /* temporary storage for code lengths */ + this.work = new common$1.Buf16(288); /* work area for code table building */ + + /* + because we don't have pointers in js, we use lencode and distcode directly + as buffers so we don't need codes + */ + //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */ + this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */ + this.distdyn = null; /* dynamic table for distance codes (JS specific) */ + this.sane = 0; /* if false, allow invalid distance too far */ + this.back = 0; /* bits back of last unprocessed length/lit */ + this.was = 0; /* initial length of match */ +} + +function inflateResetKeep$1(strm) { + var state; + + if (!strm || !strm.state) { return Z_STREAM_ERROR$3; } + state = strm.state; + strm.total_in = strm.total_out = state.total = 0; + strm.msg = ''; /*Z_NULL*/ + if (state.wrap) { /* to support ill-conceived Java test suite */ + strm.adler = state.wrap & 1; + } + state.mode = HEAD$1; + state.last = 0; + state.havedict = 0; + state.dmax = 32768; + state.head = null/*Z_NULL*/; + state.hold = 0; + state.bits = 0; + //state.lencode = state.distcode = state.next = state.codes; + state.lencode = state.lendyn = new common$1.Buf32(ENOUGH_LENS$3); + state.distcode = state.distdyn = new common$1.Buf32(ENOUGH_DISTS$3); + + state.sane = 1; + state.back = -1; + //Tracev((stderr, "inflate: reset\n")); + return Z_OK$5; +} + +function inflateReset$1(strm) { + var state; + + if (!strm || !strm.state) { return Z_STREAM_ERROR$3; } + state = strm.state; + state.wsize = 0; + state.whave = 0; + state.wnext = 0; + return inflateResetKeep$1(strm); + +} + +function inflateReset2$1(strm, windowBits) { + var wrap; + var state; + + /* get the state */ + if (!strm || !strm.state) { return Z_STREAM_ERROR$3; } + state = strm.state; + + /* extract wrap request from windowBits parameter */ + if (windowBits < 0) { + wrap = 0; + windowBits = -windowBits; + } + else { + wrap = (windowBits >> 4) + 1; + if (windowBits < 48) { + windowBits &= 15; + } + } + + /* set number of window bits, free window if different */ + if (windowBits && (windowBits < 8 || windowBits > 15)) { + return Z_STREAM_ERROR$3; + } + if (state.window !== null && state.wbits !== windowBits) { + state.window = null; + } + + /* update state and reset the rest of it */ + state.wrap = wrap; + state.wbits = windowBits; + return inflateReset$1(strm); +} + +function inflateInit2$1(strm, windowBits) { + var ret; + var state; + + if (!strm) { return Z_STREAM_ERROR$3; } + //strm.msg = Z_NULL; /* in case we return an error */ + + state = new InflateState$1(); + + //if (state === Z_NULL) return Z_MEM_ERROR; + //Tracev((stderr, "inflate: allocated\n")); + strm.state = state; + state.window = null/*Z_NULL*/; + ret = inflateReset2$1(strm, windowBits); + if (ret !== Z_OK$5) { + strm.state = null/*Z_NULL*/; + } + return ret; +} + +function inflateInit$1(strm) { + return inflateInit2$1(strm, DEF_WBITS$1); +} + + +/* + Return state with length and distance decoding tables and index sizes set to + fixed code decoding. Normally this returns fixed tables from inffixed.h. + If BUILDFIXED is defined, then instead this routine builds the tables the + first time it's called, and returns those tables the first time and + thereafter. This reduces the size of the code by about 2K bytes, in + exchange for a little execution time. However, BUILDFIXED should not be + used for threaded applications, since the rewriting of the tables and virgin + may not be thread-safe. + */ +var virgin$1 = true; + +var lenfix$1, distfix$1; // We have no pointers in JS, so keep tables separate + +function fixedtables$1(state) { + /* build fixed huffman tables if first call (may not be thread safe) */ + if (virgin$1) { + var sym; + + lenfix$1 = new common$1.Buf32(512); + distfix$1 = new common$1.Buf32(32); + + /* literal/length table */ + sym = 0; + while (sym < 144) { state.lens[sym++] = 8; } + while (sym < 256) { state.lens[sym++] = 9; } + while (sym < 280) { state.lens[sym++] = 7; } + while (sym < 288) { state.lens[sym++] = 8; } + + inftrees$1(LENS$3, state.lens, 0, 288, lenfix$1, 0, state.work, { bits: 9 }); + + /* distance table */ + sym = 0; + while (sym < 32) { state.lens[sym++] = 5; } + + inftrees$1(DISTS$3, state.lens, 0, 32, distfix$1, 0, state.work, { bits: 5 }); + + /* do this just once */ + virgin$1 = false; + } + + state.lencode = lenfix$1; + state.lenbits = 9; + state.distcode = distfix$1; + state.distbits = 5; +} + + +/* + Update the window with the last wsize (normally 32K) bytes written before + returning. If window does not exist yet, create it. This is only called + when a window is already in use, or when output has been written during this + inflate call, but the end of the deflate stream has not been reached yet. + It is also called to create a window for dictionary data when a dictionary + is loaded. + + Providing output buffers larger than 32K to inflate() should provide a speed + advantage, since only the last 32K of output is copied to the sliding window + upon return from inflate(), and since all distances after the first 32K of + output will fall in the output data, making match copies simpler and faster. + The advantage may be dependent on the size of the processor's data caches. + */ +function updatewindow$1(strm, src, end, copy) { + var dist; + var state = strm.state; + + /* if it hasn't been done already, allocate space for the window */ + if (state.window === null) { + state.wsize = 1 << state.wbits; + state.wnext = 0; + state.whave = 0; + + state.window = new common$1.Buf8(state.wsize); + } + + /* copy state->wsize or less output bytes into the circular window */ + if (copy >= state.wsize) { + common$1.arraySet(state.window, src, end - state.wsize, state.wsize, 0); + state.wnext = 0; + state.whave = state.wsize; + } + else { + dist = state.wsize - state.wnext; + if (dist > copy) { + dist = copy; + } + //zmemcpy(state->window + state->wnext, end - copy, dist); + common$1.arraySet(state.window, src, end - copy, dist, state.wnext); + copy -= dist; + if (copy) { + //zmemcpy(state->window, end - copy, copy); + common$1.arraySet(state.window, src, end - copy, copy, 0); + state.wnext = copy; + state.whave = state.wsize; + } + else { + state.wnext += dist; + if (state.wnext === state.wsize) { state.wnext = 0; } + if (state.whave < state.wsize) { state.whave += dist; } + } + } + return 0; +} + +function inflate$2(strm, flush) { + var state; + var input, output; // input/output buffers + var next; /* next input INDEX */ + var put; /* next output INDEX */ + var have, left; /* available input and output */ + var hold; /* bit buffer */ + var bits; /* bits in bit buffer */ + var _in, _out; /* save starting available input and output */ + var copy; /* number of stored or match bytes to copy */ + var from; /* where to copy match bytes from */ + var from_source; + var here = 0; /* current decoding table entry */ + var here_bits, here_op, here_val; // paked "here" denormalized (JS specific) + //var last; /* parent table entry */ + var last_bits, last_op, last_val; // paked "last" denormalized (JS specific) + var len; /* length to copy for repeats, bits to drop */ + var ret; /* return code */ + var hbuf = new common$1.Buf8(4); /* buffer for gzip header crc calculation */ + var opts; + + var n; // temporary var for NEED_BITS + + var order = /* permutation of code lengths */ + [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; + + + if (!strm || !strm.state || !strm.output || + (!strm.input && strm.avail_in !== 0)) { + return Z_STREAM_ERROR$3; + } + + state = strm.state; + if (state.mode === TYPE$3) { state.mode = TYPEDO$1; } /* skip check */ + + + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + _in = have; + _out = left; + ret = Z_OK$5; + + inf_leave: // goto emulation + for (;;) { + switch (state.mode) { + case HEAD$1: + if (state.wrap === 0) { + state.mode = TYPEDO$1; + break; + } + //=== NEEDBITS(16); + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */ + state.check = 0/*crc32(0L, Z_NULL, 0)*/; + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$1(state.check, hbuf, 2, 0); + //===// + + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = FLAGS$1; + break; + } + state.flags = 0; /* expect zlib header */ + if (state.head) { + state.head.done = false; + } + if (!(state.wrap & 1) || /* check if zlib header allowed */ + (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) { + strm.msg = 'incorrect header check'; + state.mode = BAD$3; + break; + } + if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED$5) { + strm.msg = 'unknown compression method'; + state.mode = BAD$3; + break; + } + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// + len = (hold & 0x0f)/*BITS(4)*/ + 8; + if (state.wbits === 0) { + state.wbits = len; + } + else if (len > state.wbits) { + strm.msg = 'invalid window size'; + state.mode = BAD$3; + break; + } + state.dmax = 1 << len; + //Tracev((stderr, "inflate: zlib header ok\n")); + strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; + state.mode = hold & 0x200 ? DICTID$1 : TYPE$3; + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + break; + case FLAGS$1: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.flags = hold; + if ((state.flags & 0xff) !== Z_DEFLATED$5) { + strm.msg = 'unknown compression method'; + state.mode = BAD$3; + break; + } + if (state.flags & 0xe000) { + strm.msg = 'unknown header flags set'; + state.mode = BAD$3; + break; + } + if (state.head) { + state.head.text = ((hold >> 8) & 1); + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = TIME$1; + /* falls through */ + case TIME$1: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.time = hold; + } + if (state.flags & 0x0200) { + //=== CRC4(state.check, hold) + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + hbuf[2] = (hold >>> 16) & 0xff; + hbuf[3] = (hold >>> 24) & 0xff; + state.check = crc32_1$1(state.check, hbuf, 4, 0); + //=== + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = OS$1; + /* falls through */ + case OS$1: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.xflags = (hold & 0xff); + state.head.os = (hold >> 8); + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = EXLEN$1; + /* falls through */ + case EXLEN$1: + if (state.flags & 0x0400) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length = hold; + if (state.head) { + state.head.extra_len = hold; + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + else if (state.head) { + state.head.extra = null/*Z_NULL*/; + } + state.mode = EXTRA$1; + /* falls through */ + case EXTRA$1: + if (state.flags & 0x0400) { + copy = state.length; + if (copy > have) { copy = have; } + if (copy) { + if (state.head) { + len = state.head.extra_len - state.length; + if (!state.head.extra) { + // Use untyped array for more convenient processing later + state.head.extra = new Array(state.head.extra_len); + } + common$1.arraySet( + state.head.extra, + input, + next, + // extra field is limited to 65536 bytes + // - no need for additional size check + copy, + /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ + len + ); + //zmemcpy(state.head.extra + len, next, + // len + copy > state.head.extra_max ? + // state.head.extra_max - len : copy); + } + if (state.flags & 0x0200) { + state.check = crc32_1$1(state.check, input, copy, next); + } + have -= copy; + next += copy; + state.length -= copy; + } + if (state.length) { break inf_leave; } + } + state.length = 0; + state.mode = NAME$1; + /* falls through */ + case NAME$1: + if (state.flags & 0x0800) { + if (have === 0) { break inf_leave; } + copy = 0; + do { + // TODO: 2 or 1 bytes? + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && + (state.length < 65536 /*state.head.name_max*/)) { + state.head.name += String.fromCharCode(len); + } + } while (len && copy < have); + + if (state.flags & 0x0200) { + state.check = crc32_1$1(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { break inf_leave; } + } + else if (state.head) { + state.head.name = null; + } + state.length = 0; + state.mode = COMMENT$1; + /* falls through */ + case COMMENT$1: + if (state.flags & 0x1000) { + if (have === 0) { break inf_leave; } + copy = 0; + do { + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && + (state.length < 65536 /*state.head.comm_max*/)) { + state.head.comment += String.fromCharCode(len); + } + } while (len && copy < have); + if (state.flags & 0x0200) { + state.check = crc32_1$1(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { break inf_leave; } + } + else if (state.head) { + state.head.comment = null; + } + state.mode = HCRC$1; + /* falls through */ + case HCRC$1: + if (state.flags & 0x0200) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (hold !== (state.check & 0xffff)) { + strm.msg = 'header crc mismatch'; + state.mode = BAD$3; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + if (state.head) { + state.head.hcrc = ((state.flags >> 9) & 1); + state.head.done = true; + } + strm.adler = state.check = 0; + state.mode = TYPE$3; + break; + case DICTID$1: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + strm.adler = state.check = zswap32$1(hold); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = DICT$1; + /* falls through */ + case DICT$1: + if (state.havedict === 0) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + return Z_NEED_DICT$1; + } + strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; + state.mode = TYPE$3; + /* falls through */ + case TYPE$3: + if (flush === Z_BLOCK$3 || flush === Z_TREES$1) { break inf_leave; } + /* falls through */ + case TYPEDO$1: + if (state.last) { + //--- BYTEBITS() ---// + hold >>>= bits & 7; + bits -= bits & 7; + //---// + state.mode = CHECK$1; + break; + } + //=== NEEDBITS(3); */ + while (bits < 3) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.last = (hold & 0x01)/*BITS(1)*/; + //--- DROPBITS(1) ---// + hold >>>= 1; + bits -= 1; + //---// + + switch ((hold & 0x03)/*BITS(2)*/) { + case 0: /* stored block */ + //Tracev((stderr, "inflate: stored block%s\n", + // state.last ? " (last)" : "")); + state.mode = STORED$1; + break; + case 1: /* fixed block */ + fixedtables$1(state); + //Tracev((stderr, "inflate: fixed codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = LEN_$1; /* decode codes */ + if (flush === Z_TREES$1) { + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break inf_leave; + } + break; + case 2: /* dynamic block */ + //Tracev((stderr, "inflate: dynamic codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = TABLE$1; + break; + case 3: + strm.msg = 'invalid block type'; + state.mode = BAD$3; + } + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break; + case STORED$1: + //--- BYTEBITS() ---// /* go to byte boundary */ + hold >>>= bits & 7; + bits -= bits & 7; + //---// + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) { + strm.msg = 'invalid stored block lengths'; + state.mode = BAD$3; + break; + } + state.length = hold & 0xffff; + //Tracev((stderr, "inflate: stored length %u\n", + // state.length)); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = COPY_$1; + if (flush === Z_TREES$1) { break inf_leave; } + /* falls through */ + case COPY_$1: + state.mode = COPY$1; + /* falls through */ + case COPY$1: + copy = state.length; + if (copy) { + if (copy > have) { copy = have; } + if (copy > left) { copy = left; } + if (copy === 0) { break inf_leave; } + //--- zmemcpy(put, next, copy); --- + common$1.arraySet(output, input, next, copy, put); + //---// + have -= copy; + next += copy; + left -= copy; + put += copy; + state.length -= copy; + break; + } + //Tracev((stderr, "inflate: stored end\n")); + state.mode = TYPE$3; + break; + case TABLE$1: + //=== NEEDBITS(14); */ + while (bits < 14) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4; + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// +//#ifndef PKZIP_BUG_WORKAROUND + if (state.nlen > 286 || state.ndist > 30) { + strm.msg = 'too many length or distance symbols'; + state.mode = BAD$3; + break; + } +//#endif + //Tracev((stderr, "inflate: table sizes ok\n")); + state.have = 0; + state.mode = LENLENS$1; + /* falls through */ + case LENLENS$1: + while (state.have < state.ncode) { + //=== NEEDBITS(3); + while (bits < 3) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.lens[order[state.have++]] = (hold & 0x07);//BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + while (state.have < 19) { + state.lens[order[state.have++]] = 0; + } + // We have separate tables & no pointers. 2 commented lines below not needed. + //state.next = state.codes; + //state.lencode = state.next; + // Switch to use dynamic table + state.lencode = state.lendyn; + state.lenbits = 7; + + opts = { bits: state.lenbits }; + ret = inftrees$1(CODES$3, state.lens, 0, 19, state.lencode, 0, state.work, opts); + state.lenbits = opts.bits; + + if (ret) { + strm.msg = 'invalid code lengths set'; + state.mode = BAD$3; + break; + } + //Tracev((stderr, "inflate: code lengths ok\n")); + state.have = 0; + state.mode = CODELENS$1; + /* falls through */ + case CODELENS$1: + while (state.have < state.nlen + state.ndist) { + for (;;) { + here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_val < 16) { + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.lens[state.have++] = here_val; + } + else { + if (here_val === 16) { + //=== NEEDBITS(here.bits + 2); + n = here_bits + 2; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + if (state.have === 0) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD$3; + break; + } + len = state.lens[state.have - 1]; + copy = 3 + (hold & 0x03);//BITS(2); + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + } + else if (here_val === 17) { + //=== NEEDBITS(here.bits + 3); + n = here_bits + 3; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 3 + (hold & 0x07);//BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + else { + //=== NEEDBITS(here.bits + 7); + n = here_bits + 7; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 11 + (hold & 0x7f);//BITS(7); + //--- DROPBITS(7) ---// + hold >>>= 7; + bits -= 7; + //---// + } + if (state.have + copy > state.nlen + state.ndist) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD$3; + break; + } + while (copy--) { + state.lens[state.have++] = len; + } + } + } + + /* handle error breaks in while */ + if (state.mode === BAD$3) { break; } + + /* check for end-of-block code (better have one) */ + if (state.lens[256] === 0) { + strm.msg = 'invalid code -- missing end-of-block'; + state.mode = BAD$3; + break; + } + + /* build code tables -- note: do not change the lenbits or distbits + values here (9 and 6) without reading the comments in inftrees.h + concerning the ENOUGH constants, which depend on those values */ + state.lenbits = 9; + + opts = { bits: state.lenbits }; + ret = inftrees$1(LENS$3, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.lenbits = opts.bits; + // state.lencode = state.next; + + if (ret) { + strm.msg = 'invalid literal/lengths set'; + state.mode = BAD$3; + break; + } + + state.distbits = 6; + //state.distcode.copy(state.codes); + // Switch to use dynamic table + state.distcode = state.distdyn; + opts = { bits: state.distbits }; + ret = inftrees$1(DISTS$3, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.distbits = opts.bits; + // state.distcode = state.next; + + if (ret) { + strm.msg = 'invalid distances set'; + state.mode = BAD$3; + break; + } + //Tracev((stderr, 'inflate: codes ok\n')); + state.mode = LEN_$1; + if (flush === Z_TREES$1) { break inf_leave; } + /* falls through */ + case LEN_$1: + state.mode = LEN$1; + /* falls through */ + case LEN$1: + if (have >= 6 && left >= 258) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + inffast$1(strm, _out); + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + if (state.mode === TYPE$3) { + state.back = -1; + } + break; + } + state.back = 0; + for (;;) { + here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if (here_bits <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_op && (here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.lencode[last_val + + ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((last_bits + here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + state.length = here_val; + if (here_op === 0) { + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + state.mode = LIT$1; + break; + } + if (here_op & 32) { + //Tracevv((stderr, "inflate: end of block\n")); + state.back = -1; + state.mode = TYPE$3; + break; + } + if (here_op & 64) { + strm.msg = 'invalid literal/length code'; + state.mode = BAD$3; + break; + } + state.extra = here_op & 15; + state.mode = LENEXT$1; + /* falls through */ + case LENEXT$1: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } + //Tracevv((stderr, "inflate: length %u\n", state.length)); + state.was = state.length; + state.mode = DIST$1; + /* falls through */ + case DIST$1: + for (;;) { + here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if ((here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.distcode[last_val + + ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((last_bits + here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + if (here_op & 64) { + strm.msg = 'invalid distance code'; + state.mode = BAD$3; + break; + } + state.offset = here_val; + state.extra = (here_op) & 15; + state.mode = DISTEXT$1; + /* falls through */ + case DISTEXT$1: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } +//#ifdef INFLATE_STRICT + if (state.offset > state.dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$3; + break; + } +//#endif + //Tracevv((stderr, "inflate: distance %u\n", state.offset)); + state.mode = MATCH$1; + /* falls through */ + case MATCH$1: + if (left === 0) { break inf_leave; } + copy = _out - left; + if (state.offset > copy) { /* copy from window */ + copy = state.offset - copy; + if (copy > state.whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$3; + break; + } +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility +//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR +// Trace((stderr, "inflate.c too far\n")); +// copy -= state.whave; +// if (copy > state.length) { copy = state.length; } +// if (copy > left) { copy = left; } +// left -= copy; +// state.length -= copy; +// do { +// output[put++] = 0; +// } while (--copy); +// if (state.length === 0) { state.mode = LEN; } +// break; +//#endif + } + if (copy > state.wnext) { + copy -= state.wnext; + from = state.wsize - copy; + } + else { + from = state.wnext - copy; + } + if (copy > state.length) { copy = state.length; } + from_source = state.window; + } + else { /* copy from output */ + from_source = output; + from = put - state.offset; + copy = state.length; + } + if (copy > left) { copy = left; } + left -= copy; + state.length -= copy; + do { + output[put++] = from_source[from++]; + } while (--copy); + if (state.length === 0) { state.mode = LEN$1; } + break; + case LIT$1: + if (left === 0) { break inf_leave; } + output[put++] = state.length; + left--; + state.mode = LEN$1; + break; + case CHECK$1: + if (state.wrap) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + // Use '|' instead of '+' to make sure that result is signed + hold |= input[next++] << bits; + bits += 8; + } + //===// + _out -= left; + strm.total_out += _out; + state.total += _out; + if (_out) { + strm.adler = state.check = + /*UPDATE(state.check, put - _out, _out);*/ + (state.flags ? crc32_1$1(state.check, output, _out, put - _out) : adler32_1$1(state.check, output, _out, put - _out)); + + } + _out = left; + // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too + if ((state.flags ? hold : zswap32$1(hold)) !== state.check) { + strm.msg = 'incorrect data check'; + state.mode = BAD$3; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: check matches trailer\n")); + } + state.mode = LENGTH$1; + /* falls through */ + case LENGTH$1: + if (state.wrap && state.flags) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (hold !== (state.total & 0xffffffff)) { + strm.msg = 'incorrect length check'; + state.mode = BAD$3; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: length matches trailer\n")); + } + state.mode = DONE$1; + /* falls through */ + case DONE$1: + ret = Z_STREAM_END$5; + break inf_leave; + case BAD$3: + ret = Z_DATA_ERROR$3; + break inf_leave; + case MEM$1: + return Z_MEM_ERROR$1; + case SYNC$1: + /* falls through */ + default: + return Z_STREAM_ERROR$3; + } + } + + // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave" + + /* + Return from inflate(), updating the total counts and the check value. + If there was no progress during the inflate() call, return a buffer + error. Call updatewindow() to create and/or update the window state. + Note: a memory error from inflate() is non-recoverable. + */ + + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + + if (state.wsize || (_out !== strm.avail_out && state.mode < BAD$3 && + (state.mode < CHECK$1 || flush !== Z_FINISH$5))) { + if (updatewindow$1(strm, strm.output, strm.next_out, _out - strm.avail_out)) ; + } + _in -= strm.avail_in; + _out -= strm.avail_out; + strm.total_in += _in; + strm.total_out += _out; + state.total += _out; + if (state.wrap && _out) { + strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ + (state.flags ? crc32_1$1(state.check, output, _out, strm.next_out - _out) : adler32_1$1(state.check, output, _out, strm.next_out - _out)); + } + strm.data_type = state.bits + (state.last ? 64 : 0) + + (state.mode === TYPE$3 ? 128 : 0) + + (state.mode === LEN_$1 || state.mode === COPY_$1 ? 256 : 0); + if (((_in === 0 && _out === 0) || flush === Z_FINISH$5) && ret === Z_OK$5) { + ret = Z_BUF_ERROR$3; + } + return ret; +} + +function inflateEnd$1(strm) { + + if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) { + return Z_STREAM_ERROR$3; + } + + var state = strm.state; + if (state.window) { + state.window = null; + } + strm.state = null; + return Z_OK$5; +} + +function inflateGetHeader$1(strm, head) { + var state; + + /* check state */ + if (!strm || !strm.state) { return Z_STREAM_ERROR$3; } + state = strm.state; + if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$3; } + + /* save header structure */ + state.head = head; + head.done = false; + return Z_OK$5; +} + +function inflateSetDictionary$1(strm, dictionary) { + var dictLength = dictionary.length; + + var state; + var dictid; + var ret; + + /* check state */ + if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR$3; } + state = strm.state; + + if (state.wrap !== 0 && state.mode !== DICT$1) { + return Z_STREAM_ERROR$3; + } + + /* check for correct dictionary identifier */ + if (state.mode === DICT$1) { + dictid = 1; /* adler32(0, null, 0)*/ + /* dictid = adler32(dictid, dictionary, dictLength); */ + dictid = adler32_1$1(dictid, dictionary, dictLength, 0); + if (dictid !== state.check) { + return Z_DATA_ERROR$3; + } + } + /* copy dictionary to window using updatewindow(), which will amend the + existing dictionary if appropriate */ + ret = updatewindow$1(strm, dictionary, dictLength, dictLength); + if (ret) { + state.mode = MEM$1; + return Z_MEM_ERROR$1; + } + state.havedict = 1; + // Tracev((stderr, "inflate: dictionary set\n")); + return Z_OK$5; +} + +var inflateReset_1$1 = inflateReset$1; +var inflateReset2_1$1 = inflateReset2$1; +var inflateResetKeep_1$1 = inflateResetKeep$1; +var inflateInit_1$1 = inflateInit$1; +var inflateInit2_1$1 = inflateInit2$1; +var inflate_2$2 = inflate$2; +var inflateEnd_1$1 = inflateEnd$1; +var inflateGetHeader_1$1 = inflateGetHeader$1; +var inflateSetDictionary_1$1 = inflateSetDictionary$1; +var inflateInfo$1 = 'pako inflate (from Nodeca project)'; + +/* Not implemented +exports.inflateCopy = inflateCopy; +exports.inflateGetDictionary = inflateGetDictionary; +exports.inflateMark = inflateMark; +exports.inflatePrime = inflatePrime; +exports.inflateSync = inflateSync; +exports.inflateSyncPoint = inflateSyncPoint; +exports.inflateUndermine = inflateUndermine; +*/ + +var inflate_1$2 = { + inflateReset: inflateReset_1$1, + inflateReset2: inflateReset2_1$1, + inflateResetKeep: inflateResetKeep_1$1, + inflateInit: inflateInit_1$1, + inflateInit2: inflateInit2_1$1, + inflate: inflate_2$2, + inflateEnd: inflateEnd_1$1, + inflateGetHeader: inflateGetHeader_1$1, + inflateSetDictionary: inflateSetDictionary_1$1, + inflateInfo: inflateInfo$1 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +var constants$1 = { + + /* Allowed flush values; see deflate() and inflate() below for details */ + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + + /* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + //Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + //Z_VERSION_ERROR: -6, + + /* compression levels */ + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + + + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + + /* Possible values of the data_type field (though see inflate()) */ + Z_BINARY: 0, + Z_TEXT: 1, + //Z_ASCII: 1, // = Z_TEXT (deprecated) + Z_UNKNOWN: 2, + + /* The deflate compression method */ + Z_DEFLATED: 8 + //Z_NULL: null // Use -1 or null inline, depending on var type +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function GZheader$1() { + /* true if compressed data believed to be text */ + this.text = 0; + /* modification time */ + this.time = 0; + /* extra flags (not used when writing a gzip file) */ + this.xflags = 0; + /* operating system */ + this.os = 0; + /* pointer to extra field or Z_NULL if none */ + this.extra = null; + /* extra field length (valid if extra != Z_NULL) */ + this.extra_len = 0; // Actually, we don't need it in JS, + // but leave for few code modifications + + // + // Setup limits is not necessary because in js we should not preallocate memory + // for inflate use constant limit in 65536 bytes + // + + /* space at extra (only when reading header) */ + // this.extra_max = 0; + /* pointer to zero-terminated file name or Z_NULL */ + this.name = ''; + /* space at name (only when reading header) */ + // this.name_max = 0; + /* pointer to zero-terminated comment or Z_NULL */ + this.comment = ''; + /* space at comment (only when reading header) */ + // this.comm_max = 0; + /* true if there was or will be a header crc */ + this.hcrc = 0; + /* true when done reading gzip header (not used when writing a gzip file) */ + this.done = false; +} + +var gzheader$1 = GZheader$1; + +var toString$3 = Object.prototype.toString; + +/** + * class Inflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[inflate]] + * and [[inflateRaw]]. + **/ + +/* internal + * inflate.chunks -> Array + * + * Chunks of output data, if [[Inflate#onData]] not overridden. + **/ + +/** + * Inflate.result -> Uint8Array|Array|String + * + * Uncompressed result, generated by default [[Inflate#onData]] + * and [[Inflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you + * push a chunk with explicit flush (call [[Inflate#push]] with + * `Z_SYNC_FLUSH` param). + **/ + +/** + * Inflate.err -> Number + * + * Error code after inflate finished. 0 (Z_OK) on success. + * Should be checked if broken data possible. + **/ + +/** + * Inflate.msg -> String + * + * Error message, if [[Inflate.err]] != 0 + **/ + + +/** + * new Inflate(options) + * - options (Object): zlib inflate options. + * + * Creates new inflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `windowBits` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw inflate + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * By default, when no options set, autodetect deflate/gzip data format via + * wrapper header. + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * var inflate = new pako.Inflate({ level: 3}); + * + * inflate.push(chunk1, false); + * inflate.push(chunk2, true); // true -> last chunk + * + * if (inflate.err) { throw new Error(inflate.err); } + * + * console.log(inflate.result); + * ``` + **/ +function Inflate$1(options) { + if (!(this instanceof Inflate$1)) return new Inflate$1(options); + + this.options = common$1.assign({ + chunkSize: 16384, + windowBits: 0, + to: '' + }, options || {}); + + var opt = this.options; + + // Force window size for `raw` data, if not set directly, + // because we have no header for autodetect. + if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) { + opt.windowBits = -opt.windowBits; + if (opt.windowBits === 0) { opt.windowBits = -15; } + } + + // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate + if ((opt.windowBits >= 0) && (opt.windowBits < 16) && + !(options && options.windowBits)) { + opt.windowBits += 32; + } + + // Gzip header has no info about windows size, we can do autodetect only + // for deflate. So, if window size not set, force it to max when gzip possible + if ((opt.windowBits > 15) && (opt.windowBits < 48)) { + // bit 3 (16) -> gzipped data + // bit 4 (32) -> autodetect gzip/deflate + if ((opt.windowBits & 15) === 0) { + opt.windowBits |= 15; + } + } + + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream$1(); + this.strm.avail_out = 0; + + var status = inflate_1$2.inflateInit2( + this.strm, + opt.windowBits + ); + + if (status !== constants$1.Z_OK) { + throw new Error(messages$1[status]); + } + + this.header = new gzheader$1(); + + inflate_1$2.inflateGetHeader(this.strm, this.header); + + // Setup dictionary + if (opt.dictionary) { + // Convert data if needed + if (typeof opt.dictionary === 'string') { + opt.dictionary = strings$1.string2buf(opt.dictionary); + } else if (toString$3.call(opt.dictionary) === '[object ArrayBuffer]') { + opt.dictionary = new Uint8Array(opt.dictionary); + } + if (opt.raw) { //In raw mode we need to set the dictionary early + status = inflate_1$2.inflateSetDictionary(this.strm, opt.dictionary); + if (status !== constants$1.Z_OK) { + throw new Error(messages$1[status]); + } + } + } +} + +/** + * Inflate#push(data[, mode]) -> Boolean + * - data (Uint8Array|Array|ArrayBuffer|String): input data + * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with + * new output chunks. Returns `true` on success. The last data block must have + * mode Z_FINISH (or `true`). That will flush internal pending buffers and call + * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you + * can use mode Z_SYNC_FLUSH, keeping the decompression context. + * + * On fail call [[Inflate#onEnd]] with error code and return false. + * + * We strongly recommend to use `Uint8Array` on input for best speed (output + * format is detected automatically). Also, don't skip last param and always + * use the same type in your code (boolean or number). That will improve JS speed. + * + * For regular `Array`-s make sure all elements are [0..255]. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ +Inflate$1.prototype.push = function (data, mode) { + var strm = this.strm; + var chunkSize = this.options.chunkSize; + var dictionary = this.options.dictionary; + var status, _mode; + var next_out_utf8, tail, utf8str; + + // Flag to properly process Z_BUF_ERROR on testing inflate call + // when we check that all output data was flushed. + var allowBufError = false; + + if (this.ended) { return false; } + _mode = (mode === ~~mode) ? mode : ((mode === true) ? constants$1.Z_FINISH : constants$1.Z_NO_FLUSH); + + // Convert data if needed + if (typeof data === 'string') { + // Only binary strings can be decompressed on practice + strm.input = strings$1.binstring2buf(data); + } else if (toString$3.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + + strm.next_in = 0; + strm.avail_in = strm.input.length; + + do { + if (strm.avail_out === 0) { + strm.output = new common$1.Buf8(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + + status = inflate_1$2.inflate(strm, constants$1.Z_NO_FLUSH); /* no bad return value */ + + if (status === constants$1.Z_NEED_DICT && dictionary) { + status = inflate_1$2.inflateSetDictionary(this.strm, dictionary); + } + + if (status === constants$1.Z_BUF_ERROR && allowBufError === true) { + status = constants$1.Z_OK; + allowBufError = false; + } + + if (status !== constants$1.Z_STREAM_END && status !== constants$1.Z_OK) { + this.onEnd(status); + this.ended = true; + return false; + } + + if (strm.next_out) { + if (strm.avail_out === 0 || status === constants$1.Z_STREAM_END || (strm.avail_in === 0 && (_mode === constants$1.Z_FINISH || _mode === constants$1.Z_SYNC_FLUSH))) { + + if (this.options.to === 'string') { + + next_out_utf8 = strings$1.utf8border(strm.output, strm.next_out); + + tail = strm.next_out - next_out_utf8; + utf8str = strings$1.buf2string(strm.output, next_out_utf8); + + // move tail + strm.next_out = tail; + strm.avail_out = chunkSize - tail; + if (tail) { common$1.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); } + + this.onData(utf8str); + + } else { + this.onData(common$1.shrinkBuf(strm.output, strm.next_out)); + } + } + } + + // When no more input data, we should check that internal inflate buffers + // are flushed. The only way to do it when avail_out = 0 - run one more + // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR. + // Here we set flag to process this error properly. + // + // NOTE. Deflate does not return error in this case and does not needs such + // logic. + if (strm.avail_in === 0 && strm.avail_out === 0) { + allowBufError = true; + } + + } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== constants$1.Z_STREAM_END); + + if (status === constants$1.Z_STREAM_END) { + _mode = constants$1.Z_FINISH; + } + + // Finalize on the last chunk. + if (_mode === constants$1.Z_FINISH) { + status = inflate_1$2.inflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === constants$1.Z_OK; + } + + // callback interim results if Z_SYNC_FLUSH. + if (_mode === constants$1.Z_SYNC_FLUSH) { + this.onEnd(constants$1.Z_OK); + strm.avail_out = 0; + return true; + } + + return true; +}; + + +/** + * Inflate#onData(chunk) -> Void + * - chunk (Uint8Array|Array|String): output data. Type of array depends + * on js engine support. When string output requested, each chunk + * will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ +Inflate$1.prototype.onData = function (chunk) { + this.chunks.push(chunk); +}; + + +/** + * Inflate#onEnd(status) -> Void + * - status (Number): inflate status. 0 (Z_OK) on success, + * other if not. + * + * Called either after you tell inflate that the input stream is + * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH) + * or if an error happened. By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ +Inflate$1.prototype.onEnd = function (status) { + // On success - join + if (status === constants$1.Z_OK) { + if (this.options.to === 'string') { + // Glue & convert here, until we teach pako to send + // utf8 aligned strings to onData + this.result = this.chunks.join(''); + } else { + this.result = common$1.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; +}; + + +/** + * inflate(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * Decompress `data` with inflate/ungzip and `options`. Autodetect + * format via wrapper header by default. That's why we don't provide + * separate `ungzip` method. + * + * Supported options are: + * + * - windowBits + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , input = pako.deflate([1,2,3,4,5,6,7,8,9]) + * , output; + * + * try { + * output = pako.inflate(input); + * } catch (err) + * console.log(err); + * } + * ``` + **/ +function inflate$3(input, options) { + var inflator = new Inflate$1(options); + + inflator.push(input, true); + + // That will never happens, if you don't cheat with options :) + if (inflator.err) { throw inflator.msg || messages$1[inflator.err]; } + + return inflator.result; +} + + +/** + * inflateRaw(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * The same as [[inflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ +function inflateRaw$1(input, options) { + options = options || {}; + options.raw = true; + return inflate$3(input, options); +} + + +/** + * ungzip(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * Just shortcut to [[inflate]], because it autodetects format + * by header.content. Done for convenience. + **/ + + +var Inflate_1$1 = Inflate$1; +var inflate_2$3 = inflate$3; +var inflateRaw_1$1 = inflateRaw$1; +var ungzip$1 = inflate$3; + +var inflate_1$3 = { + Inflate: Inflate_1$1, + inflate: inflate_2$3, + inflateRaw: inflateRaw_1$1, + ungzip: ungzip$1 +}; + +var assign$1 = common$1.assign; + + + + + +var pako$1 = {}; + +assign$1(pako$1, deflate_1$3, inflate_1$3, constants$1); + +var pako_1$1 = pako$1; + +var PDFHeader = /** @class */ (function () { + function PDFHeader(major, minor) { + this.major = String(major); + this.minor = String(minor); + } + PDFHeader.prototype.toString = function () { + var bc = charFromCode(129); + return "%PDF-" + this.major + "." + this.minor + "\n%" + bc + bc + bc + bc; + }; + PDFHeader.prototype.sizeInBytes = function () { + return 12 + this.major.length + this.minor.length; + }; + PDFHeader.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes$1.Percent; + buffer[offset++] = CharCodes$1.P; + buffer[offset++] = CharCodes$1.D; + buffer[offset++] = CharCodes$1.F; + buffer[offset++] = CharCodes$1.Dash; + offset += copyStringIntoBuffer(this.major, buffer, offset); + buffer[offset++] = CharCodes$1.Period; + offset += copyStringIntoBuffer(this.minor, buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.Percent; + buffer[offset++] = 129; + buffer[offset++] = 129; + buffer[offset++] = 129; + buffer[offset++] = 129; + return offset - initialOffset; + }; + PDFHeader.forVersion = function (major, minor) { + return new PDFHeader(major, minor); + }; + return PDFHeader; +}()); + +var PDFObject = /** @class */ (function () { + function PDFObject() { + } + PDFObject.prototype.clone = function (_context) { + throw new MethodNotImplementedError(this.constructor.name, 'clone'); + }; + PDFObject.prototype.toString = function () { + throw new MethodNotImplementedError(this.constructor.name, 'toString'); + }; + PDFObject.prototype.sizeInBytes = function () { + throw new MethodNotImplementedError(this.constructor.name, 'sizeInBytes'); + }; + PDFObject.prototype.copyBytesInto = function (_buffer, _offset) { + throw new MethodNotImplementedError(this.constructor.name, 'copyBytesInto'); + }; + return PDFObject; +}()); + +var PDFNumber = /** @class */ (function (_super) { + __extends(PDFNumber, _super); + function PDFNumber(value) { + var _this = _super.call(this) || this; + _this.numberValue = value; + _this.stringValue = numberToString(value); + return _this; + } + PDFNumber.prototype.asNumber = function () { + return this.numberValue; + }; + /** @deprecated in favor of [[PDFNumber.asNumber]] */ + PDFNumber.prototype.value = function () { + return this.numberValue; + }; + PDFNumber.prototype.clone = function () { + return PDFNumber.of(this.numberValue); + }; + PDFNumber.prototype.toString = function () { + return this.stringValue; + }; + PDFNumber.prototype.sizeInBytes = function () { + return this.stringValue.length; + }; + PDFNumber.prototype.copyBytesInto = function (buffer, offset) { + offset += copyStringIntoBuffer(this.stringValue, buffer, offset); + return this.stringValue.length; + }; + PDFNumber.of = function (value) { return new PDFNumber(value); }; + return PDFNumber; +}(PDFObject)); + +var PDFArray = /** @class */ (function (_super) { + __extends(PDFArray, _super); + function PDFArray(context) { + var _this = _super.call(this) || this; + _this.array = []; + _this.context = context; + return _this; + } + PDFArray.prototype.size = function () { + return this.array.length; + }; + PDFArray.prototype.push = function (object) { + this.array.push(object); + }; + PDFArray.prototype.insert = function (index, object) { + this.array.splice(index, 0, object); + }; + PDFArray.prototype.indexOf = function (object) { + var index = this.array.indexOf(object); + return index === -1 ? undefined : index; + }; + PDFArray.prototype.remove = function (index) { + this.array.splice(index, 1); + }; + PDFArray.prototype.set = function (idx, object) { + this.array[idx] = object; + }; + PDFArray.prototype.get = function (index) { + return this.array[index]; + }; + PDFArray.prototype.lookupMaybe = function (index) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + return (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(index)], types)); + }; + PDFArray.prototype.lookup = function (index) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + return (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(index)], types)); + }; + PDFArray.prototype.asRectangle = function () { + if (this.size() !== 4) + throw new PDFArrayIsNotRectangleError(this.size()); + var lowerLeftX = this.lookup(0, PDFNumber).asNumber(); + var lowerLeftY = this.lookup(1, PDFNumber).asNumber(); + var upperRightX = this.lookup(2, PDFNumber).asNumber(); + var upperRightY = this.lookup(3, PDFNumber).asNumber(); + var x = lowerLeftX; + var y = lowerLeftY; + var width = upperRightX - lowerLeftX; + var height = upperRightY - lowerLeftY; + return { x: x, y: y, width: width, height: height }; + }; + PDFArray.prototype.asArray = function () { + return this.array.slice(); + }; + PDFArray.prototype.clone = function (context) { + var clone = PDFArray.withContext(context || this.context); + for (var idx = 0, len = this.size(); idx < len; idx++) { + clone.push(this.array[idx]); + } + return clone; + }; + PDFArray.prototype.toString = function () { + var arrayString = '[ '; + for (var idx = 0, len = this.size(); idx < len; idx++) { + arrayString += this.get(idx).toString(); + arrayString += ' '; + } + arrayString += ']'; + return arrayString; + }; + PDFArray.prototype.sizeInBytes = function () { + var size = 3; + for (var idx = 0, len = this.size(); idx < len; idx++) { + size += this.get(idx).sizeInBytes() + 1; + } + return size; + }; + PDFArray.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes$1.LeftSquareBracket; + buffer[offset++] = CharCodes$1.Space; + for (var idx = 0, len = this.size(); idx < len; idx++) { + offset += this.get(idx).copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Space; + } + buffer[offset++] = CharCodes$1.RightSquareBracket; + return offset - initialOffset; + }; + PDFArray.prototype.scalePDFNumbers = function (x, y) { + for (var idx = 0, len = this.size(); idx < len; idx++) { + var el = this.lookup(idx); + if (el instanceof PDFNumber) { + var factor = idx % 2 === 0 ? x : y; + this.set(idx, PDFNumber.of(el.asNumber() * factor)); + } + } + }; + PDFArray.withContext = function (context) { return new PDFArray(context); }; + return PDFArray; +}(PDFObject)); + +var ENFORCER = {}; +var PDFBool = /** @class */ (function (_super) { + __extends(PDFBool, _super); + function PDFBool(enforcer, value) { + var _this = this; + if (enforcer !== ENFORCER) + throw new PrivateConstructorError('PDFBool'); + _this = _super.call(this) || this; + _this.value = value; + return _this; + } + PDFBool.prototype.asBoolean = function () { + return this.value; + }; + PDFBool.prototype.clone = function () { + return this; + }; + PDFBool.prototype.toString = function () { + return String(this.value); + }; + PDFBool.prototype.sizeInBytes = function () { + return this.value ? 4 : 5; + }; + PDFBool.prototype.copyBytesInto = function (buffer, offset) { + if (this.value) { + buffer[offset++] = CharCodes$1.t; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.u; + buffer[offset++] = CharCodes$1.e; + return 4; + } + else { + buffer[offset++] = CharCodes$1.f; + buffer[offset++] = CharCodes$1.a; + buffer[offset++] = CharCodes$1.l; + buffer[offset++] = CharCodes$1.s; + buffer[offset++] = CharCodes$1.e; + return 5; + } + }; + PDFBool.True = new PDFBool(ENFORCER, true); + PDFBool.False = new PDFBool(ENFORCER, false); + return PDFBool; +}(PDFObject)); + +var IsDelimiter = new Uint8Array(256); +IsDelimiter[CharCodes$1.LeftParen] = 1; +IsDelimiter[CharCodes$1.RightParen] = 1; +IsDelimiter[CharCodes$1.LessThan] = 1; +IsDelimiter[CharCodes$1.GreaterThan] = 1; +IsDelimiter[CharCodes$1.LeftSquareBracket] = 1; +IsDelimiter[CharCodes$1.RightSquareBracket] = 1; +IsDelimiter[CharCodes$1.LeftCurly] = 1; +IsDelimiter[CharCodes$1.RightCurly] = 1; +IsDelimiter[CharCodes$1.ForwardSlash] = 1; +IsDelimiter[CharCodes$1.Percent] = 1; + +var IsWhitespace = new Uint8Array(256); +IsWhitespace[CharCodes$1.Null] = 1; +IsWhitespace[CharCodes$1.Tab] = 1; +IsWhitespace[CharCodes$1.Newline] = 1; +IsWhitespace[CharCodes$1.FormFeed] = 1; +IsWhitespace[CharCodes$1.CarriageReturn] = 1; +IsWhitespace[CharCodes$1.Space] = 1; + +var IsIrregular = new Uint8Array(256); +for (var idx$1 = 0, len = 256; idx$1 < len; idx$1++) { + IsIrregular[idx$1] = IsWhitespace[idx$1] || IsDelimiter[idx$1] ? 1 : 0; +} +IsIrregular[CharCodes$1.Hash] = 1; + +var decodeName = function (name) { + return name.replace(/#([\dABCDEF]{2})/g, function (_, hex) { return charFromHexCode(hex); }); +}; +var isRegularChar = function (charCode) { + return charCode >= CharCodes$1.ExclamationPoint && + charCode <= CharCodes$1.Tilde && + !IsIrregular[charCode]; +}; +var ENFORCER$1 = {}; +var pool = new Map(); +var PDFName = /** @class */ (function (_super) { + __extends(PDFName, _super); + function PDFName(enforcer, name) { + var _this = this; + if (enforcer !== ENFORCER$1) + throw new PrivateConstructorError('PDFName'); + _this = _super.call(this) || this; + var encodedName = '/'; + for (var idx = 0, len = name.length; idx < len; idx++) { + var character = name[idx]; + var code = toCharCode(character); + encodedName += isRegularChar(code) ? character : "#" + toHexString(code); + } + _this.encodedName = encodedName; + return _this; + } + PDFName.prototype.asBytes = function () { + var bytes = []; + var hex = ''; + var escaped = false; + var pushByte = function (byte) { + if (byte !== undefined) + bytes.push(byte); + escaped = false; + }; + for (var idx = 1, len = this.encodedName.length; idx < len; idx++) { + var char = this.encodedName[idx]; + var byte = toCharCode(char); + var nextChar = this.encodedName[idx + 1]; + if (!escaped) { + if (byte === CharCodes$1.Hash) + escaped = true; + else + pushByte(byte); + } + else { + if ((byte >= CharCodes$1.Zero && byte <= CharCodes$1.Nine) || + (byte >= CharCodes$1.a && byte <= CharCodes$1.f) || + (byte >= CharCodes$1.A && byte <= CharCodes$1.F)) { + hex += char; + if (hex.length === 2 || + !((nextChar >= '0' && nextChar <= '9') || + (nextChar >= 'a' && nextChar <= 'f') || + (nextChar >= 'A' && nextChar <= 'F'))) { + pushByte(parseInt(hex, 16)); + hex = ''; + } + } + else { + pushByte(byte); + } + } + } + return new Uint8Array(bytes); + }; + // TODO: This should probably use `utf8Decode()` + // TODO: Polyfill Array.from? + PDFName.prototype.decodeText = function () { + var bytes = this.asBytes(); + return String.fromCharCode.apply(String, Array.from(bytes)); + }; + PDFName.prototype.asString = function () { + return this.encodedName; + }; + /** @deprecated in favor of [[PDFName.asString]] */ + PDFName.prototype.value = function () { + return this.encodedName; + }; + PDFName.prototype.clone = function () { + return this; + }; + PDFName.prototype.toString = function () { + return this.encodedName; + }; + PDFName.prototype.sizeInBytes = function () { + return this.encodedName.length; + }; + PDFName.prototype.copyBytesInto = function (buffer, offset) { + offset += copyStringIntoBuffer(this.encodedName, buffer, offset); + return this.encodedName.length; + }; + PDFName.of = function (name) { + var decodedValue = decodeName(name); + var instance = pool.get(decodedValue); + if (!instance) { + instance = new PDFName(ENFORCER$1, decodedValue); + pool.set(decodedValue, instance); + } + return instance; + }; + /* tslint:disable member-ordering */ + PDFName.Length = PDFName.of('Length'); + PDFName.FlateDecode = PDFName.of('FlateDecode'); + PDFName.Resources = PDFName.of('Resources'); + PDFName.Font = PDFName.of('Font'); + PDFName.XObject = PDFName.of('XObject'); + PDFName.ExtGState = PDFName.of('ExtGState'); + PDFName.Contents = PDFName.of('Contents'); + PDFName.Type = PDFName.of('Type'); + PDFName.Parent = PDFName.of('Parent'); + PDFName.MediaBox = PDFName.of('MediaBox'); + PDFName.Page = PDFName.of('Page'); + PDFName.Annots = PDFName.of('Annots'); + PDFName.TrimBox = PDFName.of('TrimBox'); + PDFName.ArtBox = PDFName.of('ArtBox'); + PDFName.BleedBox = PDFName.of('BleedBox'); + PDFName.CropBox = PDFName.of('CropBox'); + PDFName.Rotate = PDFName.of('Rotate'); + PDFName.Title = PDFName.of('Title'); + PDFName.Author = PDFName.of('Author'); + PDFName.Subject = PDFName.of('Subject'); + PDFName.Creator = PDFName.of('Creator'); + PDFName.Keywords = PDFName.of('Keywords'); + PDFName.Producer = PDFName.of('Producer'); + PDFName.CreationDate = PDFName.of('CreationDate'); + PDFName.ModDate = PDFName.of('ModDate'); + return PDFName; +}(PDFObject)); + +var PDFNull = /** @class */ (function (_super) { + __extends(PDFNull, _super); + function PDFNull() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFNull.prototype.asNull = function () { + return null; + }; + PDFNull.prototype.clone = function () { + return this; + }; + PDFNull.prototype.toString = function () { + return 'null'; + }; + PDFNull.prototype.sizeInBytes = function () { + return 4; + }; + PDFNull.prototype.copyBytesInto = function (buffer, offset) { + buffer[offset++] = CharCodes$1.n; + buffer[offset++] = CharCodes$1.u; + buffer[offset++] = CharCodes$1.l; + buffer[offset++] = CharCodes$1.l; + return 4; + }; + return PDFNull; +}(PDFObject)); +var PDFNull$1 = new PDFNull(); + +var PDFDict = /** @class */ (function (_super) { + __extends(PDFDict, _super); + function PDFDict(map, context) { + var _this = _super.call(this) || this; + _this.dict = map; + _this.context = context; + return _this; + } + PDFDict.prototype.keys = function () { + return Array.from(this.dict.keys()); + }; + PDFDict.prototype.values = function () { + return Array.from(this.dict.values()); + }; + PDFDict.prototype.entries = function () { + return Array.from(this.dict.entries()); + }; + PDFDict.prototype.set = function (key, value) { + this.dict.set(key, value); + }; + PDFDict.prototype.get = function (key, + // TODO: `preservePDFNull` is for backwards compatibility. Should be + // removed in next breaking API change. + preservePDFNull) { + if (preservePDFNull === void 0) { preservePDFNull = false; } + var value = this.dict.get(key); + if (value === PDFNull$1 && !preservePDFNull) + return undefined; + return value; + }; + PDFDict.prototype.has = function (key) { + var value = this.dict.get(key); + return value !== undefined && value !== PDFNull$1; + }; + PDFDict.prototype.lookupMaybe = function (key) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + // TODO: `preservePDFNull` is for backwards compatibility. Should be + // removed in next breaking API change. + var preservePDFNull = types.includes(PDFNull$1); + var value = (_a = this.context).lookupMaybe.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); + if (value === PDFNull$1 && !preservePDFNull) + return undefined; + return value; + }; + PDFDict.prototype.lookup = function (key) { + var _a; + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + // TODO: `preservePDFNull` is for backwards compatibility. Should be + // removed in next breaking API change. + var preservePDFNull = types.includes(PDFNull$1); + var value = (_a = this.context).lookup.apply(_a, __spreadArrays([this.get(key, preservePDFNull)], types)); + if (value === PDFNull$1 && !preservePDFNull) + return undefined; + return value; + }; + PDFDict.prototype.delete = function (key) { + return this.dict.delete(key); + }; + PDFDict.prototype.asMap = function () { + return new Map(this.dict); + }; + /** Generate a random key that doesn't exist in current key set */ + PDFDict.prototype.uniqueKey = function (tag) { + if (tag === void 0) { tag = ''; } + var existingKeys = this.keys(); + var key = PDFName.of(this.context.addRandomSuffix(tag, 10)); + while (existingKeys.includes(key)) { + key = PDFName.of(this.context.addRandomSuffix(tag, 10)); + } + return key; + }; + PDFDict.prototype.clone = function (context) { + var clone = PDFDict.withContext(context || this.context); + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + clone.set(key, value); + } + return clone; + }; + PDFDict.prototype.toString = function () { + var dictString = '<<\n'; + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + dictString += key.toString() + ' ' + value.toString() + '\n'; + } + dictString += '>>'; + return dictString; + }; + PDFDict.prototype.sizeInBytes = function () { + var size = 5; + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + size += key.sizeInBytes() + value.sizeInBytes() + 2; + } + return size; + }; + PDFDict.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes$1.LessThan; + buffer[offset++] = CharCodes$1.LessThan; + buffer[offset++] = CharCodes$1.Newline; + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + offset += key.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Space; + offset += value.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + } + buffer[offset++] = CharCodes$1.GreaterThan; + buffer[offset++] = CharCodes$1.GreaterThan; + return offset - initialOffset; + }; + PDFDict.withContext = function (context) { return new PDFDict(new Map(), context); }; + PDFDict.fromMapWithContext = function (map, context) { + return new PDFDict(map, context); + }; + return PDFDict; +}(PDFObject)); + +var PDFStream = /** @class */ (function (_super) { + __extends(PDFStream, _super); + function PDFStream(dict) { + var _this = _super.call(this) || this; + _this.dict = dict; + return _this; + } + PDFStream.prototype.clone = function (_context) { + throw new MethodNotImplementedError(this.constructor.name, 'clone'); + }; + PDFStream.prototype.getContentsString = function () { + throw new MethodNotImplementedError(this.constructor.name, 'getContentsString'); + }; + PDFStream.prototype.getContents = function () { + throw new MethodNotImplementedError(this.constructor.name, 'getContents'); + }; + PDFStream.prototype.getContentsSize = function () { + throw new MethodNotImplementedError(this.constructor.name, 'getContentsSize'); + }; + PDFStream.prototype.updateDict = function () { + var contentsSize = this.getContentsSize(); + this.dict.set(PDFName.Length, PDFNumber.of(contentsSize)); + }; + PDFStream.prototype.sizeInBytes = function () { + this.updateDict(); + return this.dict.sizeInBytes() + this.getContentsSize() + 18; + }; + PDFStream.prototype.toString = function () { + this.updateDict(); + var streamString = this.dict.toString(); + streamString += '\nstream\n'; + streamString += this.getContentsString(); + streamString += '\nendstream'; + return streamString; + }; + PDFStream.prototype.copyBytesInto = function (buffer, offset) { + this.updateDict(); + var initialOffset = offset; + offset += this.dict.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.s; + buffer[offset++] = CharCodes$1.t; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.a; + buffer[offset++] = CharCodes$1.m; + buffer[offset++] = CharCodes$1.Newline; + var contents = this.getContents(); + for (var idx = 0, len = contents.length; idx < len; idx++) { + buffer[offset++] = contents[idx]; + } + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.n; + buffer[offset++] = CharCodes$1.d; + buffer[offset++] = CharCodes$1.s; + buffer[offset++] = CharCodes$1.t; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.a; + buffer[offset++] = CharCodes$1.m; + return offset - initialOffset; + }; + return PDFStream; +}(PDFObject)); + +var PDFRawStream = /** @class */ (function (_super) { + __extends(PDFRawStream, _super); + function PDFRawStream(dict, contents) { + var _this = _super.call(this, dict) || this; + _this.contents = contents; + return _this; + } + PDFRawStream.prototype.asUint8Array = function () { + return this.contents.slice(); + }; + PDFRawStream.prototype.clone = function (context) { + return PDFRawStream.of(this.dict.clone(context), this.contents.slice()); + }; + PDFRawStream.prototype.getContentsString = function () { + return arrayAsString(this.contents); + }; + PDFRawStream.prototype.getContents = function () { + return this.contents; + }; + PDFRawStream.prototype.getContentsSize = function () { + return this.contents.length; + }; + PDFRawStream.of = function (dict, contents) { + return new PDFRawStream(dict, contents); + }; + return PDFRawStream; +}(PDFStream)); + +var ENFORCER$2 = {}; +var pool$1 = new Map(); +var PDFRef = /** @class */ (function (_super) { + __extends(PDFRef, _super); + function PDFRef(enforcer, objectNumber, generationNumber) { + var _this = this; + if (enforcer !== ENFORCER$2) + throw new PrivateConstructorError('PDFRef'); + _this = _super.call(this) || this; + _this.objectNumber = objectNumber; + _this.generationNumber = generationNumber; + _this.tag = objectNumber + " " + generationNumber + " R"; + return _this; + } + PDFRef.prototype.clone = function () { + return this; + }; + PDFRef.prototype.toString = function () { + return this.tag; + }; + PDFRef.prototype.sizeInBytes = function () { + return this.tag.length; + }; + PDFRef.prototype.copyBytesInto = function (buffer, offset) { + offset += copyStringIntoBuffer(this.tag, buffer, offset); + return this.tag.length; + }; + PDFRef.of = function (objectNumber, generationNumber) { + if (generationNumber === void 0) { generationNumber = 0; } + var tag = objectNumber + " " + generationNumber + " R"; + var instance = pool$1.get(tag); + if (!instance) { + instance = new PDFRef(ENFORCER$2, objectNumber, generationNumber); + pool$1.set(tag, instance); + } + return instance; + }; + return PDFRef; +}(PDFObject)); + +var PDFOperator = /** @class */ (function () { + function PDFOperator(name, args) { + this.name = name; + this.args = args || []; + } + PDFOperator.prototype.clone = function (context) { + var args = new Array(this.args.length); + for (var idx = 0, len = args.length; idx < len; idx++) { + var arg = this.args[idx]; + args[idx] = arg instanceof PDFObject ? arg.clone(context) : arg; + } + return PDFOperator.of(this.name, args); + }; + PDFOperator.prototype.toString = function () { + var value = ''; + for (var idx = 0, len = this.args.length; idx < len; idx++) { + value += String(this.args[idx]) + ' '; + } + value += this.name; + return value; + }; + PDFOperator.prototype.sizeInBytes = function () { + var size = 0; + for (var idx = 0, len = this.args.length; idx < len; idx++) { + var arg = this.args[idx]; + size += (arg instanceof PDFObject ? arg.sizeInBytes() : arg.length) + 1; + } + size += this.name.length; + return size; + }; + PDFOperator.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + for (var idx = 0, len = this.args.length; idx < len; idx++) { + var arg = this.args[idx]; + if (arg instanceof PDFObject) { + offset += arg.copyBytesInto(buffer, offset); + } + else { + offset += copyStringIntoBuffer(arg, buffer, offset); + } + buffer[offset++] = CharCodes$1.Space; + } + offset += copyStringIntoBuffer(this.name, buffer, offset); + return offset - initialOffset; + }; + PDFOperator.of = function (name, args) { + return new PDFOperator(name, args); + }; + return PDFOperator; +}()); + +var PDFOperatorNames; +(function (PDFOperatorNames) { + // Non Stroking Color Operators + PDFOperatorNames["NonStrokingColor"] = "sc"; + PDFOperatorNames["NonStrokingColorN"] = "scn"; + PDFOperatorNames["NonStrokingColorRgb"] = "rg"; + PDFOperatorNames["NonStrokingColorGray"] = "g"; + PDFOperatorNames["NonStrokingColorCmyk"] = "k"; + PDFOperatorNames["NonStrokingColorspace"] = "cs"; + // Stroking Color Operators + PDFOperatorNames["StrokingColor"] = "SC"; + PDFOperatorNames["StrokingColorN"] = "SCN"; + PDFOperatorNames["StrokingColorRgb"] = "RG"; + PDFOperatorNames["StrokingColorGray"] = "G"; + PDFOperatorNames["StrokingColorCmyk"] = "K"; + PDFOperatorNames["StrokingColorspace"] = "CS"; + // Marked Content Operators + PDFOperatorNames["BeginMarkedContentSequence"] = "BDC"; + PDFOperatorNames["BeginMarkedContent"] = "BMC"; + PDFOperatorNames["EndMarkedContent"] = "EMC"; + PDFOperatorNames["MarkedContentPointWithProps"] = "DP"; + PDFOperatorNames["MarkedContentPoint"] = "MP"; + PDFOperatorNames["DrawObject"] = "Do"; + // Graphics State Operators + PDFOperatorNames["ConcatTransformationMatrix"] = "cm"; + PDFOperatorNames["PopGraphicsState"] = "Q"; + PDFOperatorNames["PushGraphicsState"] = "q"; + PDFOperatorNames["SetFlatness"] = "i"; + PDFOperatorNames["SetGraphicsStateParams"] = "gs"; + PDFOperatorNames["SetLineCapStyle"] = "J"; + PDFOperatorNames["SetLineDashPattern"] = "d"; + PDFOperatorNames["SetLineJoinStyle"] = "j"; + PDFOperatorNames["SetLineMiterLimit"] = "M"; + PDFOperatorNames["SetLineWidth"] = "w"; + PDFOperatorNames["SetTextMatrix"] = "Tm"; + PDFOperatorNames["SetRenderingIntent"] = "ri"; + // Graphics Operators + PDFOperatorNames["AppendRectangle"] = "re"; + PDFOperatorNames["BeginInlineImage"] = "BI"; + PDFOperatorNames["BeginInlineImageData"] = "ID"; + PDFOperatorNames["EndInlineImage"] = "EI"; + PDFOperatorNames["ClipEvenOdd"] = "W*"; + PDFOperatorNames["ClipNonZero"] = "W"; + PDFOperatorNames["CloseAndStroke"] = "s"; + PDFOperatorNames["CloseFillEvenOddAndStroke"] = "b*"; + PDFOperatorNames["CloseFillNonZeroAndStroke"] = "b"; + PDFOperatorNames["ClosePath"] = "h"; + PDFOperatorNames["AppendBezierCurve"] = "c"; + PDFOperatorNames["CurveToReplicateFinalPoint"] = "y"; + PDFOperatorNames["CurveToReplicateInitialPoint"] = "v"; + PDFOperatorNames["EndPath"] = "n"; + PDFOperatorNames["FillEvenOddAndStroke"] = "B*"; + PDFOperatorNames["FillEvenOdd"] = "f*"; + PDFOperatorNames["FillNonZeroAndStroke"] = "B"; + PDFOperatorNames["FillNonZero"] = "f"; + PDFOperatorNames["LegacyFillNonZero"] = "F"; + PDFOperatorNames["LineTo"] = "l"; + PDFOperatorNames["MoveTo"] = "m"; + PDFOperatorNames["ShadingFill"] = "sh"; + PDFOperatorNames["StrokePath"] = "S"; + // Text Operators + PDFOperatorNames["BeginText"] = "BT"; + PDFOperatorNames["EndText"] = "ET"; + PDFOperatorNames["MoveText"] = "Td"; + PDFOperatorNames["MoveTextSetLeading"] = "TD"; + PDFOperatorNames["NextLine"] = "T*"; + PDFOperatorNames["SetCharacterSpacing"] = "Tc"; + PDFOperatorNames["SetFontAndSize"] = "Tf"; + PDFOperatorNames["SetTextHorizontalScaling"] = "Tz"; + PDFOperatorNames["SetTextLineHeight"] = "TL"; + PDFOperatorNames["SetTextRenderingMode"] = "Tr"; + PDFOperatorNames["SetTextRise"] = "Ts"; + PDFOperatorNames["SetWordSpacing"] = "Tw"; + PDFOperatorNames["ShowText"] = "Tj"; + PDFOperatorNames["ShowTextAdjusted"] = "TJ"; + PDFOperatorNames["ShowTextLine"] = "'"; + PDFOperatorNames["ShowTextLineAndSpace"] = "\""; + // Type3 Font Operators + PDFOperatorNames["Type3D0"] = "d0"; + PDFOperatorNames["Type3D1"] = "d1"; + // Compatibility Section Operators + PDFOperatorNames["BeginCompatibilitySection"] = "BX"; + PDFOperatorNames["EndCompatibilitySection"] = "EX"; +})(PDFOperatorNames || (PDFOperatorNames = {})); +var Ops = PDFOperatorNames; + +var PDFFlateStream = /** @class */ (function (_super) { + __extends(PDFFlateStream, _super); + function PDFFlateStream(dict, encode) { + var _this = _super.call(this, dict) || this; + _this.computeContents = function () { + var unencodedContents = _this.getUnencodedContents(); + return _this.encode ? pako_1$1.deflate(unencodedContents) : unencodedContents; + }; + _this.encode = encode; + if (encode) + dict.set(PDFName.of('Filter'), PDFName.of('FlateDecode')); + _this.contentsCache = Cache.populatedBy(_this.computeContents); + return _this; + } + PDFFlateStream.prototype.getContents = function () { + return this.contentsCache.access(); + }; + PDFFlateStream.prototype.getContentsSize = function () { + return this.contentsCache.access().length; + }; + PDFFlateStream.prototype.getUnencodedContents = function () { + throw new MethodNotImplementedError(this.constructor.name, 'getUnencodedContents'); + }; + return PDFFlateStream; +}(PDFStream)); + +var PDFContentStream = /** @class */ (function (_super) { + __extends(PDFContentStream, _super); + function PDFContentStream(dict, operators, encode) { + if (encode === void 0) { encode = true; } + var _this = _super.call(this, dict, encode) || this; + _this.operators = operators; + return _this; + } + PDFContentStream.prototype.push = function () { + var _a; + var operators = []; + for (var _i = 0; _i < arguments.length; _i++) { + operators[_i] = arguments[_i]; + } + (_a = this.operators).push.apply(_a, operators); + }; + PDFContentStream.prototype.clone = function (context) { + var operators = new Array(this.operators.length); + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + operators[idx] = this.operators[idx].clone(context); + } + var _a = this, dict = _a.dict, encode = _a.encode; + return PDFContentStream.of(dict.clone(context), operators, encode); + }; + PDFContentStream.prototype.getContentsString = function () { + var value = ''; + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + value += this.operators[idx] + "\n"; + } + return value; + }; + PDFContentStream.prototype.getUnencodedContents = function () { + var buffer = new Uint8Array(this.getUnencodedContentsSize()); + var offset = 0; + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + offset += this.operators[idx].copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + } + return buffer; + }; + PDFContentStream.prototype.getUnencodedContentsSize = function () { + var size = 0; + for (var idx = 0, len = this.operators.length; idx < len; idx++) { + size += this.operators[idx].sizeInBytes() + 1; + } + return size; + }; + PDFContentStream.of = function (dict, operators, encode) { + if (encode === void 0) { encode = true; } + return new PDFContentStream(dict, operators, encode); + }; + return PDFContentStream; +}(PDFFlateStream)); + +/** + * Generates a pseudo random number. Although it is not cryptographically secure + * and uniformly distributed, it is not a concern for the intended use-case, + * which is to generate distinct numbers. + * + * Credit: https://stackoverflow.com/a/19303725/10254049 + */ +var SimpleRNG = /** @class */ (function () { + function SimpleRNG(seed) { + this.seed = seed; + } + SimpleRNG.prototype.nextInt = function () { + var x = Math.sin(this.seed++) * 10000; + return x - Math.floor(x); + }; + SimpleRNG.withSeed = function (seed) { return new SimpleRNG(seed); }; + return SimpleRNG; +}()); + +var byAscendingObjectNumber = function (_a, _b) { + var a = _a[0]; + var b = _b[0]; + return a.objectNumber - b.objectNumber; +}; +var PDFContext = /** @class */ (function () { + function PDFContext() { + this.largestObjectNumber = 0; + this.header = PDFHeader.forVersion(1, 7); + this.trailerInfo = {}; + this.indirectObjects = new Map(); + this.rng = SimpleRNG.withSeed(1); + } + PDFContext.prototype.assign = function (ref, object) { + this.indirectObjects.set(ref, object); + if (ref.objectNumber > this.largestObjectNumber) { + this.largestObjectNumber = ref.objectNumber; + } + }; + PDFContext.prototype.nextRef = function () { + this.largestObjectNumber += 1; + return PDFRef.of(this.largestObjectNumber); + }; + PDFContext.prototype.register = function (object) { + var ref = this.nextRef(); + this.assign(ref, object); + return ref; + }; + PDFContext.prototype.delete = function (ref) { + return this.indirectObjects.delete(ref); + }; + PDFContext.prototype.lookupMaybe = function (ref) { + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + // TODO: `preservePDFNull` is for backwards compatibility. Should be + // removed in next breaking API change. + var preservePDFNull = types.includes(PDFNull$1); + var result = ref instanceof PDFRef ? this.indirectObjects.get(ref) : ref; + if (!result || (result === PDFNull$1 && !preservePDFNull)) + return undefined; + for (var idx = 0, len = types.length; idx < len; idx++) { + var type = types[idx]; + if (type === PDFNull$1) { + if (result === PDFNull$1) + return result; + } + else { + if (result instanceof type) + return result; + } + } + throw new UnexpectedObjectTypeError(types, result); + }; + PDFContext.prototype.lookup = function (ref) { + var types = []; + for (var _i = 1; _i < arguments.length; _i++) { + types[_i - 1] = arguments[_i]; + } + var result = ref instanceof PDFRef ? this.indirectObjects.get(ref) : ref; + if (types.length === 0) + return result; + for (var idx = 0, len = types.length; idx < len; idx++) { + var type = types[idx]; + if (type === PDFNull$1) { + if (result === PDFNull$1) + return result; + } + else { + if (result instanceof type) + return result; + } + } + throw new UnexpectedObjectTypeError(types, result); + }; + PDFContext.prototype.getObjectRef = function (pdfObject) { + var entries = Array.from(this.indirectObjects.entries()); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], ref = _a[0], object = _a[1]; + if (object === pdfObject) { + return ref; + } + } + return undefined; + }; + PDFContext.prototype.enumerateIndirectObjects = function () { + return Array.from(this.indirectObjects.entries()).sort(byAscendingObjectNumber); + }; + PDFContext.prototype.obj = function (literal) { + if (literal instanceof PDFObject) { + return literal; + } + else if (literal === null || literal === undefined) { + return PDFNull$1; + } + else if (typeof literal === 'string') { + return PDFName.of(literal); + } + else if (typeof literal === 'number') { + return PDFNumber.of(literal); + } + else if (typeof literal === 'boolean') { + return literal ? PDFBool.True : PDFBool.False; + } + else if (Array.isArray(literal)) { + var array = PDFArray.withContext(this); + for (var idx = 0, len = literal.length; idx < len; idx++) { + array.push(this.obj(literal[idx])); + } + return array; + } + else { + var dict = PDFDict.withContext(this); + var keys = Object.keys(literal); + for (var idx = 0, len = keys.length; idx < len; idx++) { + var key = keys[idx]; + var value = literal[key]; + if (value !== undefined) + dict.set(PDFName.of(key), this.obj(value)); + } + return dict; + } + }; + PDFContext.prototype.stream = function (contents, dict) { + if (dict === void 0) { dict = {}; } + return PDFRawStream.of(this.obj(dict), typedArrayFor(contents)); + }; + PDFContext.prototype.flateStream = function (contents, dict) { + if (dict === void 0) { dict = {}; } + return this.stream(pako_1$1.deflate(typedArrayFor(contents)), __assign(__assign({}, dict), { Filter: 'FlateDecode' })); + }; + PDFContext.prototype.contentStream = function (operators, dict) { + if (dict === void 0) { dict = {}; } + return PDFContentStream.of(this.obj(dict), operators); + }; + PDFContext.prototype.formXObject = function (operators, dict) { + if (dict === void 0) { dict = {}; } + return this.contentStream(operators, __assign(__assign({ BBox: this.obj([0, 0, 0, 0]), Matrix: this.obj([1, 0, 0, 1, 0, 0]) }, dict), { Type: 'XObject', Subtype: 'Form' })); + }; + /* + * Reference to PDFContentStream that contains a single PDFOperator: `q`. + * Used by [[PDFPageLeaf]] instances to ensure that when content streams are + * added to a modified PDF, they start in the default, unchanged graphics + * state. + */ + PDFContext.prototype.getPushGraphicsStateContentStream = function () { + if (this.pushGraphicsStateContentStreamRef) { + return this.pushGraphicsStateContentStreamRef; + } + var dict = this.obj({}); + var op = PDFOperator.of(Ops.PushGraphicsState); + var stream = PDFContentStream.of(dict, [op]); + this.pushGraphicsStateContentStreamRef = this.register(stream); + return this.pushGraphicsStateContentStreamRef; + }; + /* + * Reference to PDFContentStream that contains a single PDFOperator: `Q`. + * Used by [[PDFPageLeaf]] instances to ensure that when content streams are + * added to a modified PDF, they start in the default, unchanged graphics + * state. + */ + PDFContext.prototype.getPopGraphicsStateContentStream = function () { + if (this.popGraphicsStateContentStreamRef) { + return this.popGraphicsStateContentStreamRef; + } + var dict = this.obj({}); + var op = PDFOperator.of(Ops.PopGraphicsState); + var stream = PDFContentStream.of(dict, [op]); + this.popGraphicsStateContentStreamRef = this.register(stream); + return this.popGraphicsStateContentStreamRef; + }; + PDFContext.prototype.addRandomSuffix = function (prefix, suffixLength) { + if (suffixLength === void 0) { suffixLength = 4; } + return prefix + "-" + Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength)); + }; + PDFContext.create = function () { return new PDFContext(); }; + return PDFContext; +}()); + +var PDFPageLeaf = /** @class */ (function (_super) { + __extends(PDFPageLeaf, _super); + function PDFPageLeaf(map, context, autoNormalizeCTM) { + if (autoNormalizeCTM === void 0) { autoNormalizeCTM = true; } + var _this = _super.call(this, map, context) || this; + _this.normalized = false; + _this.autoNormalizeCTM = autoNormalizeCTM; + return _this; + } + PDFPageLeaf.prototype.clone = function (context) { + var clone = PDFPageLeaf.fromMapWithContext(new Map(), context || this.context, this.autoNormalizeCTM); + var entries = this.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + clone.set(key, value); + } + return clone; + }; + PDFPageLeaf.prototype.Parent = function () { + return this.lookupMaybe(PDFName.Parent, PDFDict); + }; + PDFPageLeaf.prototype.Contents = function () { + return this.lookup(PDFName.of('Contents')); + }; + PDFPageLeaf.prototype.Annots = function () { + return this.lookupMaybe(PDFName.Annots, PDFArray); + }; + PDFPageLeaf.prototype.BleedBox = function () { + return this.lookupMaybe(PDFName.BleedBox, PDFArray); + }; + PDFPageLeaf.prototype.TrimBox = function () { + return this.lookupMaybe(PDFName.TrimBox, PDFArray); + }; + PDFPageLeaf.prototype.ArtBox = function () { + return this.lookupMaybe(PDFName.ArtBox, PDFArray); + }; + PDFPageLeaf.prototype.Resources = function () { + var dictOrRef = this.getInheritableAttribute(PDFName.Resources); + return this.context.lookupMaybe(dictOrRef, PDFDict); + }; + PDFPageLeaf.prototype.MediaBox = function () { + var arrayOrRef = this.getInheritableAttribute(PDFName.MediaBox); + return this.context.lookup(arrayOrRef, PDFArray); + }; + PDFPageLeaf.prototype.CropBox = function () { + var arrayOrRef = this.getInheritableAttribute(PDFName.CropBox); + return this.context.lookupMaybe(arrayOrRef, PDFArray); + }; + PDFPageLeaf.prototype.Rotate = function () { + var numberOrRef = this.getInheritableAttribute(PDFName.Rotate); + return this.context.lookupMaybe(numberOrRef, PDFNumber); + }; + PDFPageLeaf.prototype.getInheritableAttribute = function (name) { + var attribute; + this.ascend(function (node) { + if (!attribute) + attribute = node.get(name); + }); + return attribute; + }; + PDFPageLeaf.prototype.setParent = function (parentRef) { + this.set(PDFName.Parent, parentRef); + }; + PDFPageLeaf.prototype.addContentStream = function (contentStreamRef) { + var Contents = this.normalizedEntries().Contents || this.context.obj([]); + this.set(PDFName.Contents, Contents); + Contents.push(contentStreamRef); + }; + PDFPageLeaf.prototype.wrapContentStreams = function (startStream, endStream) { + var Contents = this.Contents(); + if (Contents instanceof PDFArray) { + Contents.insert(0, startStream); + Contents.push(endStream); + return true; + } + return false; + }; + PDFPageLeaf.prototype.addAnnot = function (annotRef) { + var Annots = this.normalizedEntries().Annots; + Annots.push(annotRef); + }; + PDFPageLeaf.prototype.removeAnnot = function (annotRef) { + var Annots = this.normalizedEntries().Annots; + var index = Annots.indexOf(annotRef); + if (index !== undefined) { + Annots.remove(index); + } + }; + PDFPageLeaf.prototype.setFontDictionary = function (name, fontDictRef) { + var Font = this.normalizedEntries().Font; + Font.set(name, fontDictRef); + }; + PDFPageLeaf.prototype.newFontDictionaryKey = function (tag) { + var Font = this.normalizedEntries().Font; + return Font.uniqueKey(tag); + }; + PDFPageLeaf.prototype.newFontDictionary = function (tag, fontDictRef) { + var key = this.newFontDictionaryKey(tag); + this.setFontDictionary(key, fontDictRef); + return key; + }; + PDFPageLeaf.prototype.setXObject = function (name, xObjectRef) { + var XObject = this.normalizedEntries().XObject; + XObject.set(name, xObjectRef); + }; + PDFPageLeaf.prototype.newXObjectKey = function (tag) { + var XObject = this.normalizedEntries().XObject; + return XObject.uniqueKey(tag); + }; + PDFPageLeaf.prototype.newXObject = function (tag, xObjectRef) { + var key = this.newXObjectKey(tag); + this.setXObject(key, xObjectRef); + return key; + }; + PDFPageLeaf.prototype.setExtGState = function (name, extGStateRef) { + var ExtGState = this.normalizedEntries().ExtGState; + ExtGState.set(name, extGStateRef); + }; + PDFPageLeaf.prototype.newExtGStateKey = function (tag) { + var ExtGState = this.normalizedEntries().ExtGState; + return ExtGState.uniqueKey(tag); + }; + PDFPageLeaf.prototype.newExtGState = function (tag, extGStateRef) { + var key = this.newExtGStateKey(tag); + this.setExtGState(key, extGStateRef); + return key; + }; + PDFPageLeaf.prototype.ascend = function (visitor) { + visitor(this); + var Parent = this.Parent(); + if (Parent) + Parent.ascend(visitor); + }; + PDFPageLeaf.prototype.normalize = function () { + if (this.normalized) + return; + var context = this.context; + var contentsRef = this.get(PDFName.Contents); + var contents = this.context.lookup(contentsRef); + if (contents instanceof PDFStream) { + this.set(PDFName.Contents, context.obj([contentsRef])); + } + if (this.autoNormalizeCTM) { + this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(), this.context.getPopGraphicsStateContentStream()); + } + // TODO: Clone `Resources` if it is inherited + var dictOrRef = this.getInheritableAttribute(PDFName.Resources); + var Resources = context.lookupMaybe(dictOrRef, PDFDict) || context.obj({}); + this.set(PDFName.Resources, Resources); + // TODO: Clone `Font` if it is inherited + var Font = Resources.lookupMaybe(PDFName.Font, PDFDict) || context.obj({}); + Resources.set(PDFName.Font, Font); + // TODO: Clone `XObject` if it is inherited + var XObject = Resources.lookupMaybe(PDFName.XObject, PDFDict) || context.obj({}); + Resources.set(PDFName.XObject, XObject); + // TODO: Clone `ExtGState` if it is inherited + var ExtGState = Resources.lookupMaybe(PDFName.ExtGState, PDFDict) || context.obj({}); + Resources.set(PDFName.ExtGState, ExtGState); + var Annots = this.Annots() || context.obj([]); + this.set(PDFName.Annots, Annots); + this.normalized = true; + }; + PDFPageLeaf.prototype.normalizedEntries = function () { + this.normalize(); + var Annots = this.Annots(); + var Resources = this.Resources(); + var Contents = this.Contents(); + return { + Annots: Annots, + Resources: Resources, + Contents: Contents, + Font: Resources.lookup(PDFName.Font, PDFDict), + XObject: Resources.lookup(PDFName.XObject, PDFDict), + ExtGState: Resources.lookup(PDFName.ExtGState, PDFDict), + }; + }; + PDFPageLeaf.InheritableEntries = [ + 'Resources', + 'MediaBox', + 'CropBox', + 'Rotate', + ]; + PDFPageLeaf.withContextAndParent = function (context, parent) { + var dict = new Map(); + dict.set(PDFName.Type, PDFName.Page); + dict.set(PDFName.Parent, parent); + dict.set(PDFName.Resources, context.obj({})); + dict.set(PDFName.MediaBox, context.obj([0, 0, 612, 792])); + return new PDFPageLeaf(dict, context, false); + }; + PDFPageLeaf.fromMapWithContext = function (map, context, autoNormalizeCTM) { + if (autoNormalizeCTM === void 0) { autoNormalizeCTM = true; } + return new PDFPageLeaf(map, context, autoNormalizeCTM); + }; + return PDFPageLeaf; +}(PDFDict)); + +/** + * PDFObjectCopier copies PDFObjects from a src context to a dest context. + * The primary use case for this is to copy pages between PDFs. + * + * _Copying_ an object with a PDFObjectCopier is different from _cloning_ an + * object with its [[PDFObject.clone]] method: + * + * ``` + * const src: PDFContext = ... + * const dest: PDFContext = ... + * const originalObject: PDFObject = ... + * const copiedObject = PDFObjectCopier.for(src, dest).copy(originalObject); + * const clonedObject = originalObject.clone(); + * ``` + * + * Copying an object is equivalent to cloning it and then copying over any other + * objects that it references. Note that only dictionaries, arrays, and streams + * (or structures build from them) can contain indirect references to other + * objects. Copying a PDFObject that is not a dictionary, array, or stream is + * supported, but is equivalent to cloning it. + */ +var PDFObjectCopier = /** @class */ (function () { + function PDFObjectCopier(src, dest) { + var _this = this; + this.traversedObjects = new Map(); + // prettier-ignore + this.copy = function (object) { return (object instanceof PDFPageLeaf ? _this.copyPDFPage(object) + : object instanceof PDFDict ? _this.copyPDFDict(object) + : object instanceof PDFArray ? _this.copyPDFArray(object) + : object instanceof PDFStream ? _this.copyPDFStream(object) + : object instanceof PDFRef ? _this.copyPDFIndirectObject(object) + : object.clone()); }; + this.copyPDFPage = function (originalPage) { + var clonedPage = originalPage.clone(); + // Move any entries that the originalPage is inheriting from its parent + // tree nodes directly into originalPage so they are preserved during + // the copy. + var InheritableEntries = PDFPageLeaf.InheritableEntries; + for (var idx = 0, len = InheritableEntries.length; idx < len; idx++) { + var key = PDFName.of(InheritableEntries[idx]); + var value = clonedPage.getInheritableAttribute(key); + if (!clonedPage.get(key) && value) + clonedPage.set(key, value); + } + // Remove the parent reference to prevent the whole donor document's page + // tree from being copied when we only need a single page. + clonedPage.delete(PDFName.of('Parent')); + return _this.copyPDFDict(clonedPage); + }; + this.copyPDFDict = function (originalDict) { + if (_this.traversedObjects.has(originalDict)) { + return _this.traversedObjects.get(originalDict); + } + var clonedDict = originalDict.clone(_this.dest); + _this.traversedObjects.set(originalDict, clonedDict); + var entries = originalDict.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + clonedDict.set(key, _this.copy(value)); + } + return clonedDict; + }; + this.copyPDFArray = function (originalArray) { + if (_this.traversedObjects.has(originalArray)) { + return _this.traversedObjects.get(originalArray); + } + var clonedArray = originalArray.clone(_this.dest); + _this.traversedObjects.set(originalArray, clonedArray); + for (var idx = 0, len = originalArray.size(); idx < len; idx++) { + var value = originalArray.get(idx); + clonedArray.set(idx, _this.copy(value)); + } + return clonedArray; + }; + this.copyPDFStream = function (originalStream) { + if (_this.traversedObjects.has(originalStream)) { + return _this.traversedObjects.get(originalStream); + } + var clonedStream = originalStream.clone(_this.dest); + _this.traversedObjects.set(originalStream, clonedStream); + var entries = originalStream.dict.entries(); + for (var idx = 0, len = entries.length; idx < len; idx++) { + var _a = entries[idx], key = _a[0], value = _a[1]; + clonedStream.dict.set(key, _this.copy(value)); + } + return clonedStream; + }; + this.copyPDFIndirectObject = function (ref) { + var alreadyMapped = _this.traversedObjects.has(ref); + if (!alreadyMapped) { + var newRef = _this.dest.nextRef(); + _this.traversedObjects.set(ref, newRef); + var dereferencedValue = _this.src.lookup(ref); + if (dereferencedValue) { + var cloned = _this.copy(dereferencedValue); + _this.dest.assign(newRef, cloned); + } + } + return _this.traversedObjects.get(ref); + }; + this.src = src; + this.dest = dest; + } + PDFObjectCopier.for = function (src, dest) { + return new PDFObjectCopier(src, dest); + }; + return PDFObjectCopier; +}()); + +/** + * Entries should be added using the [[addEntry]] and [[addDeletedEntry]] + * methods **in order of ascending object number**. + */ +var PDFCrossRefSection = /** @class */ (function () { + function PDFCrossRefSection(firstEntry) { + this.subsections = firstEntry ? [[firstEntry]] : []; + this.chunkIdx = 0; + this.chunkLength = firstEntry ? 1 : 0; + } + PDFCrossRefSection.prototype.addEntry = function (ref, offset) { + this.append({ ref: ref, offset: offset, deleted: false }); + }; + PDFCrossRefSection.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) { + this.append({ ref: ref, offset: nextFreeObjectNumber, deleted: true }); + }; + PDFCrossRefSection.prototype.toString = function () { + var section = "xref\n"; + for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) { + var range = this.subsections[rangeIdx]; + section += range[0].ref.objectNumber + " " + range.length + "\n"; + for (var entryIdx = 0, entryLen = range.length; entryIdx < entryLen; entryIdx++) { + var entry = range[entryIdx]; + section += padStart(String(entry.offset), 10, '0'); + section += ' '; + section += padStart(String(entry.ref.generationNumber), 5, '0'); + section += ' '; + section += entry.deleted ? 'f' : 'n'; + section += ' \n'; + } + } + return section; + }; + PDFCrossRefSection.prototype.sizeInBytes = function () { + var size = 5; + for (var idx = 0, len = this.subsections.length; idx < len; idx++) { + var subsection = this.subsections[idx]; + var subsectionLength = subsection.length; + var firstEntry = subsection[0]; + size += 2; + size += String(firstEntry.ref.objectNumber).length; + size += String(subsectionLength).length; + size += 20 * subsectionLength; + } + return size; + }; + PDFCrossRefSection.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes$1.x; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.f; + buffer[offset++] = CharCodes$1.Newline; + offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset); + return offset - initialOffset; + }; + PDFCrossRefSection.prototype.copySubsectionsIntoBuffer = function (subsections, buffer, offset) { + var initialOffset = offset; + var length = subsections.length; + for (var idx = 0; idx < length; idx++) { + var subsection = this.subsections[idx]; + var firstObjectNumber = String(subsection[0].ref.objectNumber); + offset += copyStringIntoBuffer(firstObjectNumber, buffer, offset); + buffer[offset++] = CharCodes$1.Space; + var rangeLength = String(subsection.length); + offset += copyStringIntoBuffer(rangeLength, buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + offset += this.copyEntriesIntoBuffer(subsection, buffer, offset); + } + return offset - initialOffset; + }; + PDFCrossRefSection.prototype.copyEntriesIntoBuffer = function (entries, buffer, offset) { + var length = entries.length; + for (var idx = 0; idx < length; idx++) { + var entry = entries[idx]; + var entryOffset = padStart(String(entry.offset), 10, '0'); + offset += copyStringIntoBuffer(entryOffset, buffer, offset); + buffer[offset++] = CharCodes$1.Space; + var entryGen = padStart(String(entry.ref.generationNumber), 5, '0'); + offset += copyStringIntoBuffer(entryGen, buffer, offset); + buffer[offset++] = CharCodes$1.Space; + buffer[offset++] = entry.deleted ? CharCodes$1.f : CharCodes$1.n; + buffer[offset++] = CharCodes$1.Space; + buffer[offset++] = CharCodes$1.Newline; + } + return 20 * length; + }; + PDFCrossRefSection.prototype.append = function (currEntry) { + if (this.chunkLength === 0) { + this.subsections.push([currEntry]); + this.chunkIdx = 0; + this.chunkLength = 1; + return; + } + var chunk = this.subsections[this.chunkIdx]; + var prevEntry = chunk[this.chunkLength - 1]; + if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { + this.subsections.push([currEntry]); + this.chunkIdx += 1; + this.chunkLength = 1; + } + else { + chunk.push(currEntry); + this.chunkLength += 1; + } + }; + PDFCrossRefSection.create = function () { + return new PDFCrossRefSection({ + ref: PDFRef.of(0, 65535), + offset: 0, + deleted: true, + }); + }; + PDFCrossRefSection.createEmpty = function () { return new PDFCrossRefSection(); }; + return PDFCrossRefSection; +}()); + +var PDFTrailer = /** @class */ (function () { + function PDFTrailer(lastXRefOffset) { + this.lastXRefOffset = String(lastXRefOffset); + } + PDFTrailer.prototype.toString = function () { + return "startxref\n" + this.lastXRefOffset + "\n%%EOF"; + }; + PDFTrailer.prototype.sizeInBytes = function () { + return 16 + this.lastXRefOffset.length; + }; + PDFTrailer.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes$1.s; + buffer[offset++] = CharCodes$1.t; + buffer[offset++] = CharCodes$1.a; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.t; + buffer[offset++] = CharCodes$1.x; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.f; + buffer[offset++] = CharCodes$1.Newline; + offset += copyStringIntoBuffer(this.lastXRefOffset, buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.Percent; + buffer[offset++] = CharCodes$1.Percent; + buffer[offset++] = CharCodes$1.E; + buffer[offset++] = CharCodes$1.O; + buffer[offset++] = CharCodes$1.F; + return offset - initialOffset; + }; + PDFTrailer.forLastCrossRefSectionOffset = function (offset) { + return new PDFTrailer(offset); + }; + return PDFTrailer; +}()); + +var PDFTrailerDict = /** @class */ (function () { + function PDFTrailerDict(dict) { + this.dict = dict; + } + PDFTrailerDict.prototype.toString = function () { + return "trailer\n" + this.dict.toString(); + }; + PDFTrailerDict.prototype.sizeInBytes = function () { + return 8 + this.dict.sizeInBytes(); + }; + PDFTrailerDict.prototype.copyBytesInto = function (buffer, offset) { + var initialOffset = offset; + buffer[offset++] = CharCodes$1.t; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.a; + buffer[offset++] = CharCodes$1.i; + buffer[offset++] = CharCodes$1.l; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.r; + buffer[offset++] = CharCodes$1.Newline; + offset += this.dict.copyBytesInto(buffer, offset); + return offset - initialOffset; + }; + PDFTrailerDict.of = function (dict) { return new PDFTrailerDict(dict); }; + return PDFTrailerDict; +}()); + +var PDFObjectStream = /** @class */ (function (_super) { + __extends(PDFObjectStream, _super); + function PDFObjectStream(context, objects, encode) { + if (encode === void 0) { encode = true; } + var _this = _super.call(this, context.obj({}), encode) || this; + _this.objects = objects; + _this.offsets = _this.computeObjectOffsets(); + _this.offsetsString = _this.computeOffsetsString(); + _this.dict.set(PDFName.of('Type'), PDFName.of('ObjStm')); + _this.dict.set(PDFName.of('N'), PDFNumber.of(_this.objects.length)); + _this.dict.set(PDFName.of('First'), PDFNumber.of(_this.offsetsString.length)); + return _this; + } + PDFObjectStream.prototype.getObjectsCount = function () { + return this.objects.length; + }; + PDFObjectStream.prototype.clone = function (context) { + return PDFObjectStream.withContextAndObjects(context || this.dict.context, this.objects.slice(), this.encode); + }; + PDFObjectStream.prototype.getContentsString = function () { + var value = this.offsetsString; + for (var idx = 0, len = this.objects.length; idx < len; idx++) { + var _a = this.objects[idx], object = _a[1]; + value += object + "\n"; + } + return value; + }; + PDFObjectStream.prototype.getUnencodedContents = function () { + var buffer = new Uint8Array(this.getUnencodedContentsSize()); + var offset = copyStringIntoBuffer(this.offsetsString, buffer, 0); + for (var idx = 0, len = this.objects.length; idx < len; idx++) { + var _a = this.objects[idx], object = _a[1]; + offset += object.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + } + return buffer; + }; + PDFObjectStream.prototype.getUnencodedContentsSize = function () { + return (this.offsetsString.length + + last(this.offsets)[1] + + last(this.objects)[1].sizeInBytes() + + 1); + }; + PDFObjectStream.prototype.computeOffsetsString = function () { + var offsetsString = ''; + for (var idx = 0, len = this.offsets.length; idx < len; idx++) { + var _a = this.offsets[idx], objectNumber = _a[0], offset = _a[1]; + offsetsString += objectNumber + " " + offset + " "; + } + return offsetsString; + }; + PDFObjectStream.prototype.computeObjectOffsets = function () { + var offset = 0; + var offsets = new Array(this.objects.length); + for (var idx = 0, len = this.objects.length; idx < len; idx++) { + var _a = this.objects[idx], ref = _a[0], object = _a[1]; + offsets[idx] = [ref.objectNumber, offset]; + offset += object.sizeInBytes() + 1; // '\n' + } + return offsets; + }; + PDFObjectStream.withContextAndObjects = function (context, objects, encode) { + if (encode === void 0) { encode = true; } + return new PDFObjectStream(context, objects, encode); + }; + return PDFObjectStream; +}(PDFFlateStream)); + +var PDFWriter = /** @class */ (function () { + function PDFWriter(context, objectsPerTick) { + var _this = this; + this.parsedObjects = 0; + this.shouldWaitForTick = function (n) { + _this.parsedObjects += n; + return _this.parsedObjects % _this.objectsPerTick === 0; + }; + this.context = context; + this.objectsPerTick = objectsPerTick; + } + PDFWriter.prototype.serializeToBuffer = function () { + return __awaiter(this, void 0, void 0, function () { + var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: return [4 /*yield*/, this.computeBufferSize()]; + case 1: + _a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer; + offset = 0; + buffer = new Uint8Array(size); + offset += header.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.Newline; + idx = 0, len = indirectObjects.length; + _c.label = 2; + case 2: + if (!(idx < len)) return [3 /*break*/, 5]; + _b = indirectObjects[idx], ref = _b[0], object = _b[1]; + objectNumber = String(ref.objectNumber); + offset += copyStringIntoBuffer(objectNumber, buffer, offset); + buffer[offset++] = CharCodes$1.Space; + generationNumber = String(ref.generationNumber); + offset += copyStringIntoBuffer(generationNumber, buffer, offset); + buffer[offset++] = CharCodes$1.Space; + buffer[offset++] = CharCodes$1.o; + buffer[offset++] = CharCodes$1.b; + buffer[offset++] = CharCodes$1.j; + buffer[offset++] = CharCodes$1.Newline; + offset += object.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.e; + buffer[offset++] = CharCodes$1.n; + buffer[offset++] = CharCodes$1.d; + buffer[offset++] = CharCodes$1.o; + buffer[offset++] = CharCodes$1.b; + buffer[offset++] = CharCodes$1.j; + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.Newline; + n = object instanceof PDFObjectStream ? object.getObjectsCount() : 1; + if (!this.shouldWaitForTick(n)) return [3 /*break*/, 4]; + return [4 /*yield*/, waitForTick()]; + case 3: + _c.sent(); + _c.label = 4; + case 4: + idx++; + return [3 /*break*/, 2]; + case 5: + if (xref) { + offset += xref.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + } + if (trailerDict) { + offset += trailerDict.copyBytesInto(buffer, offset); + buffer[offset++] = CharCodes$1.Newline; + buffer[offset++] = CharCodes$1.Newline; + } + offset += trailer.copyBytesInto(buffer, offset); + return [2 /*return*/, buffer]; + } + }); + }); + }; + PDFWriter.prototype.computeIndirectObjectSize = function (_a) { + var ref = _a[0], object = _a[1]; + var refSize = ref.sizeInBytes() + 3; // 'R' -> 'obj\n' + var objectSize = object.sizeInBytes() + 9; // '\nendobj\n\n' + return refSize + objectSize; + }; + PDFWriter.prototype.createTrailerDict = function () { + return this.context.obj({ + Size: this.context.largestObjectNumber + 1, + Root: this.context.trailerInfo.Root, + Encrypt: this.context.trailerInfo.Encrypt, + Info: this.context.trailerInfo.Info, + ID: this.context.trailerInfo.ID, + }); + }; + PDFWriter.prototype.computeBufferSize = function () { + return __awaiter(this, void 0, void 0, function () { + var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + header = PDFHeader.forVersion(1, 7); + size = header.sizeInBytes() + 2; + xref = PDFCrossRefSection.create(); + indirectObjects = this.context.enumerateIndirectObjects(); + idx = 0, len = indirectObjects.length; + _a.label = 1; + case 1: + if (!(idx < len)) return [3 /*break*/, 4]; + indirectObject = indirectObjects[idx]; + ref = indirectObject[0]; + xref.addEntry(ref, size); + size += this.computeIndirectObjectSize(indirectObject); + if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3]; + return [4 /*yield*/, waitForTick()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + idx++; + return [3 /*break*/, 1]; + case 4: + xrefOffset = size; + size += xref.sizeInBytes() + 1; // '\n' + trailerDict = PDFTrailerDict.of(this.createTrailerDict()); + size += trailerDict.sizeInBytes() + 2; // '\n\n' + trailer = PDFTrailer.forLastCrossRefSectionOffset(xrefOffset); + size += trailer.sizeInBytes(); + return [2 /*return*/, { size: size, header: header, indirectObjects: indirectObjects, xref: xref, trailerDict: trailerDict, trailer: trailer }]; + } + }); + }); + }; + PDFWriter.forContext = function (context, objectsPerTick) { + return new PDFWriter(context, objectsPerTick); + }; + return PDFWriter; +}()); + +var PDFInvalidObject = /** @class */ (function (_super) { + __extends(PDFInvalidObject, _super); + function PDFInvalidObject(data) { + var _this = _super.call(this) || this; + _this.data = data; + return _this; + } + PDFInvalidObject.prototype.clone = function () { + return PDFInvalidObject.of(this.data.slice()); + }; + PDFInvalidObject.prototype.toString = function () { + return "PDFInvalidObject(" + this.data.length + " bytes)"; + }; + PDFInvalidObject.prototype.sizeInBytes = function () { + return this.data.length; + }; + PDFInvalidObject.prototype.copyBytesInto = function (buffer, offset) { + var length = this.data.length; + for (var idx = 0; idx < length; idx++) { + buffer[offset++] = this.data[idx]; + } + return length; + }; + PDFInvalidObject.of = function (data) { return new PDFInvalidObject(data); }; + return PDFInvalidObject; +}(PDFObject)); + +var EntryType; +(function (EntryType) { + EntryType[EntryType["Deleted"] = 0] = "Deleted"; + EntryType[EntryType["Uncompressed"] = 1] = "Uncompressed"; + EntryType[EntryType["Compressed"] = 2] = "Compressed"; +})(EntryType || (EntryType = {})); +/** + * Entries should be added using the [[addDeletedEntry]], + * [[addUncompressedEntry]], and [[addCompressedEntry]] methods + * **in order of ascending object number**. + */ +var PDFCrossRefStream = /** @class */ (function (_super) { + __extends(PDFCrossRefStream, _super); + function PDFCrossRefStream(dict, entries, encode) { + if (encode === void 0) { encode = true; } + var _this = _super.call(this, dict, encode) || this; + // Returns an array of integer pairs for each subsection of the cross ref + // section, where each integer pair represents: + // firstObjectNumber(OfSection), length(OfSection) + _this.computeIndex = function () { + var subsections = []; + var subsectionLength = 0; + for (var idx = 0, len = _this.entries.length; idx < len; idx++) { + var currEntry = _this.entries[idx]; + var prevEntry = _this.entries[idx - 1]; + if (idx === 0) { + subsections.push(currEntry.ref.objectNumber); + } + else if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) { + subsections.push(subsectionLength); + subsections.push(currEntry.ref.objectNumber); + subsectionLength = 0; + } + subsectionLength += 1; + } + subsections.push(subsectionLength); + return subsections; + }; + _this.computeEntryTuples = function () { + var entryTuples = new Array(_this.entries.length); + for (var idx = 0, len = _this.entries.length; idx < len; idx++) { + var entry = _this.entries[idx]; + if (entry.type === EntryType.Deleted) { + var type = entry.type, nextFreeObjectNumber = entry.nextFreeObjectNumber, ref = entry.ref; + entryTuples[idx] = [type, nextFreeObjectNumber, ref.generationNumber]; + } + if (entry.type === EntryType.Uncompressed) { + var type = entry.type, offset = entry.offset, ref = entry.ref; + entryTuples[idx] = [type, offset, ref.generationNumber]; + } + if (entry.type === EntryType.Compressed) { + var type = entry.type, objectStreamRef = entry.objectStreamRef, index = entry.index; + entryTuples[idx] = [type, objectStreamRef.objectNumber, index]; + } + } + return entryTuples; + }; + _this.computeMaxEntryByteWidths = function () { + var entryTuples = _this.entryTuplesCache.access(); + var widths = [0, 0, 0]; + for (var idx = 0, len = entryTuples.length; idx < len; idx++) { + var _a = entryTuples[idx], first = _a[0], second = _a[1], third = _a[2]; + var firstSize = sizeInBytes(first); + var secondSize = sizeInBytes(second); + var thirdSize = sizeInBytes(third); + if (firstSize > widths[0]) + widths[0] = firstSize; + if (secondSize > widths[1]) + widths[1] = secondSize; + if (thirdSize > widths[2]) + widths[2] = thirdSize; + } + return widths; + }; + _this.entries = entries || []; + _this.entryTuplesCache = Cache.populatedBy(_this.computeEntryTuples); + _this.maxByteWidthsCache = Cache.populatedBy(_this.computeMaxEntryByteWidths); + _this.indexCache = Cache.populatedBy(_this.computeIndex); + dict.set(PDFName.of('Type'), PDFName.of('XRef')); + return _this; + } + PDFCrossRefStream.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) { + var type = EntryType.Deleted; + this.entries.push({ type: type, ref: ref, nextFreeObjectNumber: nextFreeObjectNumber }); + this.entryTuplesCache.invalidate(); + this.maxByteWidthsCache.invalidate(); + this.indexCache.invalidate(); + this.contentsCache.invalidate(); + }; + PDFCrossRefStream.prototype.addUncompressedEntry = function (ref, offset) { + var type = EntryType.Uncompressed; + this.entries.push({ type: type, ref: ref, offset: offset }); + this.entryTuplesCache.invalidate(); + this.maxByteWidthsCache.invalidate(); + this.indexCache.invalidate(); + this.contentsCache.invalidate(); + }; + PDFCrossRefStream.prototype.addCompressedEntry = function (ref, objectStreamRef, index) { + var type = EntryType.Compressed; + this.entries.push({ type: type, ref: ref, objectStreamRef: objectStreamRef, index: index }); + this.entryTuplesCache.invalidate(); + this.maxByteWidthsCache.invalidate(); + this.indexCache.invalidate(); + this.contentsCache.invalidate(); + }; + PDFCrossRefStream.prototype.clone = function (context) { + var _a = this, dict = _a.dict, entries = _a.entries, encode = _a.encode; + return PDFCrossRefStream.of(dict.clone(context), entries.slice(), encode); + }; + PDFCrossRefStream.prototype.getContentsString = function () { + var entryTuples = this.entryTuplesCache.access(); + var byteWidths = this.maxByteWidthsCache.access(); + var value = ''; + for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { + var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; + var firstBytes = reverseArray(bytesFor(first)); + var secondBytes = reverseArray(bytesFor(second)); + var thirdBytes = reverseArray(bytesFor(third)); + for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { + value += (firstBytes[idx] || 0).toString(2); + } + for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { + value += (secondBytes[idx] || 0).toString(2); + } + for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { + value += (thirdBytes[idx] || 0).toString(2); + } + } + return value; + }; + PDFCrossRefStream.prototype.getUnencodedContents = function () { + var entryTuples = this.entryTuplesCache.access(); + var byteWidths = this.maxByteWidthsCache.access(); + var buffer = new Uint8Array(this.getUnencodedContentsSize()); + var offset = 0; + for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) { + var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2]; + var firstBytes = reverseArray(bytesFor(first)); + var secondBytes = reverseArray(bytesFor(second)); + var thirdBytes = reverseArray(bytesFor(third)); + for (var idx = byteWidths[0] - 1; idx >= 0; idx--) { + buffer[offset++] = firstBytes[idx] || 0; + } + for (var idx = byteWidths[1] - 1; idx >= 0; idx--) { + buffer[offset++] = secondBytes[idx] || 0; + } + for (var idx = byteWidths[2] - 1; idx >= 0; idx--) { + buffer[offset++] = thirdBytes[idx] || 0; + } + } + return buffer; + }; + PDFCrossRefStream.prototype.getUnencodedContentsSize = function () { + var byteWidths = this.maxByteWidthsCache.access(); + var entryWidth = sum(byteWidths); + return entryWidth * this.entries.length; + }; + PDFCrossRefStream.prototype.updateDict = function () { + _super.prototype.updateDict.call(this); + var byteWidths = this.maxByteWidthsCache.access(); + var index = this.indexCache.access(); + var context = this.dict.context; + this.dict.set(PDFName.of('W'), context.obj(byteWidths)); + this.dict.set(PDFName.of('Index'), context.obj(index)); + }; + PDFCrossRefStream.create = function (dict, encode) { + if (encode === void 0) { encode = true; } + var stream = new PDFCrossRefStream(dict, [], encode); + stream.addDeletedEntry(PDFRef.of(0, 65535), 0); + return stream; + }; + PDFCrossRefStream.of = function (dict, entries, encode) { + if (encode === void 0) { encode = true; } + return new PDFCrossRefStream(dict, entries, encode); + }; + return PDFCrossRefStream; +}(PDFFlateStream)); + +var PDFStreamWriter = /** @class */ (function (_super) { + __extends(PDFStreamWriter, _super); + function PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream) { + var _this = _super.call(this, context, objectsPerTick) || this; + _this.encodeStreams = encodeStreams; + _this.objectsPerStream = objectsPerStream; + return _this; + } + PDFStreamWriter.prototype.computeBufferSize = function () { + return __awaiter(this, void 0, void 0, function () { + var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + objectNumber = this.context.largestObjectNumber + 1; + header = PDFHeader.forVersion(1, 7); + size = header.sizeInBytes() + 2; + xrefStream = PDFCrossRefStream.create(this.createTrailerDict(), this.encodeStreams); + uncompressedObjects = []; + compressedObjects = []; + objectStreamRefs = []; + indirectObjects = this.context.enumerateIndirectObjects(); + idx = 0, len = indirectObjects.length; + _a.label = 1; + case 1: + if (!(idx < len)) return [3 /*break*/, 6]; + indirectObject = indirectObjects[idx]; + ref = indirectObject[0], object = indirectObject[1]; + shouldNotCompress = ref === this.context.trailerInfo.Encrypt || + object instanceof PDFStream || + object instanceof PDFInvalidObject || + ref.generationNumber !== 0; + if (!shouldNotCompress) return [3 /*break*/, 4]; + uncompressedObjects.push(indirectObject); + xrefStream.addUncompressedEntry(ref, size); + size += this.computeIndirectObjectSize(indirectObject); + if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3]; + return [4 /*yield*/, waitForTick()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: return [3 /*break*/, 5]; + case 4: + chunk = last(compressedObjects); + objectStreamRef = last(objectStreamRefs); + if (!chunk || chunk.length % this.objectsPerStream === 0) { + chunk = []; + compressedObjects.push(chunk); + objectStreamRef = PDFRef.of(objectNumber++); + objectStreamRefs.push(objectStreamRef); + } + xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length); + chunk.push(indirectObject); + _a.label = 5; + case 5: + idx++; + return [3 /*break*/, 1]; + case 6: + idx = 0, len = compressedObjects.length; + _a.label = 7; + case 7: + if (!(idx < len)) return [3 /*break*/, 10]; + chunk = compressedObjects[idx]; + ref = objectStreamRefs[idx]; + objectStream = PDFObjectStream.withContextAndObjects(this.context, chunk, this.encodeStreams); + xrefStream.addUncompressedEntry(ref, size); + size += this.computeIndirectObjectSize([ref, objectStream]); + uncompressedObjects.push([ref, objectStream]); + if (!this.shouldWaitForTick(chunk.length)) return [3 /*break*/, 9]; + return [4 /*yield*/, waitForTick()]; + case 8: + _a.sent(); + _a.label = 9; + case 9: + idx++; + return [3 /*break*/, 7]; + case 10: + xrefStreamRef = PDFRef.of(objectNumber++); + xrefStream.dict.set(PDFName.of('Size'), PDFNumber.of(objectNumber)); + xrefStream.addUncompressedEntry(xrefStreamRef, size); + xrefOffset = size; + size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]); + uncompressedObjects.push([xrefStreamRef, xrefStream]); + trailer = PDFTrailer.forLastCrossRefSectionOffset(xrefOffset); + size += trailer.sizeInBytes(); + return [2 /*return*/, { size: size, header: header, indirectObjects: uncompressedObjects, trailer: trailer }]; + } + }); + }); + }; + PDFStreamWriter.forContext = function (context, objectsPerTick, encodeStreams, objectsPerStream) { + if (encodeStreams === void 0) { encodeStreams = true; } + if (objectsPerStream === void 0) { objectsPerStream = 50; } + return new PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream); + }; + return PDFStreamWriter; +}(PDFWriter)); + +var PDFHexString = /** @class */ (function (_super) { + __extends(PDFHexString, _super); + function PDFHexString(value) { + var _this = _super.call(this) || this; + _this.value = value; + return _this; + } + PDFHexString.prototype.asBytes = function () { + // Append a zero if the number of digits is odd. See PDF spec 7.3.4.3 + var hex = this.value + (this.value.length % 2 === 1 ? '0' : ''); + var hexLength = hex.length; + var bytes = new Uint8Array(hex.length / 2); + var hexOffset = 0; + var bytesOffset = 0; + // Interpret each pair of hex digits as a single byte + while (hexOffset < hexLength) { + var byte = parseInt(hex.substring(hexOffset, hexOffset + 2), 16); + bytes[bytesOffset] = byte; + hexOffset += 2; + bytesOffset += 1; + } + return bytes; + }; + PDFHexString.prototype.decodeText = function () { + var bytes = this.asBytes(); + if (hasUtf16BOM(bytes)) + return utf16Decode(bytes); + return pdfDocEncodingDecode(bytes); + }; + PDFHexString.prototype.decodeDate = function () { + var text = this.decodeText(); + var date = parseDate(text); + if (!date) + throw new InvalidPDFDateStringError(text); + return date; + }; + PDFHexString.prototype.asString = function () { + return this.value; + }; + PDFHexString.prototype.clone = function () { + return PDFHexString.of(this.value); + }; + PDFHexString.prototype.toString = function () { + return "<" + this.value + ">"; + }; + PDFHexString.prototype.sizeInBytes = function () { + return this.value.length + 2; + }; + PDFHexString.prototype.copyBytesInto = function (buffer, offset) { + buffer[offset++] = CharCodes$1.LessThan; + offset += copyStringIntoBuffer(this.value, buffer, offset); + buffer[offset++] = CharCodes$1.GreaterThan; + return this.value.length + 2; + }; + PDFHexString.of = function (value) { return new PDFHexString(value); }; + PDFHexString.fromText = function (value) { + var encoded = utf16Encode(value); + var hex = ''; + for (var idx = 0, len = encoded.length; idx < len; idx++) { + hex += toHexStringOfMinLength(encoded[idx], 4); + } + return new PDFHexString(hex); + }; + return PDFHexString; +}(PDFObject)); + +/** + * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as + * this class borrows from: + * https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee + */ +var StandardFontEmbedder = /** @class */ (function () { + function StandardFontEmbedder(fontName, customName) { + // prettier-ignore + this.encoding = (fontName === FontNames.ZapfDingbats ? Encodings.ZapfDingbats + : fontName === FontNames.Symbol ? Encodings.Symbol + : Encodings.WinAnsi); + this.font = Font.load(fontName); + this.fontName = this.font.FontName; + this.customName = customName; + } + /** + * Encode the JavaScript string into this font. (JavaScript encodes strings in + * Unicode, but standard fonts use either WinAnsi, ZapfDingbats, or Symbol + * encodings) + */ + StandardFontEmbedder.prototype.encodeText = function (text) { + var glyphs = this.encodeTextAsGlyphs(text); + var hexCodes = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + hexCodes[idx] = toHexString(glyphs[idx].code); + } + return PDFHexString.of(hexCodes.join('')); + }; + StandardFontEmbedder.prototype.widthOfTextAtSize = function (text, size) { + var glyphs = this.encodeTextAsGlyphs(text); + var totalWidth = 0; + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var left = glyphs[idx].name; + var right = (glyphs[idx + 1] || {}).name; + var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0; + totalWidth += this.widthOfGlyph(left) + kernAmount; + } + var scale = size / 1000; + return totalWidth * scale; + }; + StandardFontEmbedder.prototype.heightOfFontAtSize = function (size, options) { + if (options === void 0) { options = {}; } + var _a = options.descender, descender = _a === void 0 ? true : _a; + var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox; + var yTop = Ascender || FontBBox[3]; + var yBottom = Descender || FontBBox[1]; + var height = yTop - yBottom; + if (!descender) + height += Descender || 0; + return (height / 1000) * size; + }; + StandardFontEmbedder.prototype.sizeOfFontAtHeight = function (height) { + var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox; + var yTop = Ascender || FontBBox[3]; + var yBottom = Descender || FontBBox[1]; + return (1000 * height) / (yTop - yBottom); + }; + StandardFontEmbedder.prototype.embedIntoContext = function (context, ref) { + var fontDict = context.obj({ + Type: 'Font', + Subtype: 'Type1', + BaseFont: this.customName || this.fontName, + Encoding: this.encoding === Encodings.WinAnsi ? 'WinAnsiEncoding' : undefined, + }); + if (ref) { + context.assign(ref, fontDict); + return ref; + } + else { + return context.register(fontDict); + } + }; + StandardFontEmbedder.prototype.widthOfGlyph = function (glyphName) { + // Default to 250 if font doesn't specify a width + return this.font.getWidthOfGlyph(glyphName) || 250; + }; + StandardFontEmbedder.prototype.encodeTextAsGlyphs = function (text) { + var codePoints = Array.from(text); + var glyphs = new Array(codePoints.length); + for (var idx = 0, len = codePoints.length; idx < len; idx++) { + var codePoint = toCodePoint(codePoints[idx]); + glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint); + } + return glyphs; + }; + StandardFontEmbedder.for = function (fontName, customName) { + return new StandardFontEmbedder(fontName, customName); + }; + return StandardFontEmbedder; +}()); + +/** `glyphs` should be an array of unique glyphs */ +var createCmap = function (glyphs, glyphId) { + var bfChars = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var glyph = glyphs[idx]; + var id = cmapHexFormat(cmapHexString(glyphId(glyph))); + var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat)); + bfChars[idx] = [id, unicode]; + } + return fillCmapTemplate(bfChars); +}; +/* =============================== Templates ================================ */ +var fillCmapTemplate = function (bfChars) { return "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange\n" + bfChars.length + " beginbfchar\n" + bfChars.map(function (_a) { + var glyphId = _a[0], codePoint = _a[1]; + return glyphId + " " + codePoint; +}).join('\n') + "\nendbfchar\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; }; +/* =============================== Utilities ================================ */ +var cmapHexFormat = function () { + var values = []; + for (var _i = 0; _i < arguments.length; _i++) { + values[_i] = arguments[_i]; + } + return "<" + values.join('') + ">"; +}; +var cmapHexString = function (value) { return toHexStringOfMinLength(value, 4); }; +var cmapCodePointFormat = function (codePoint) { + if (isWithinBMP(codePoint)) + return cmapHexString(codePoint); + if (hasSurrogates(codePoint)) { + var hs = highSurrogate(codePoint); + var ls = lowSurrogate(codePoint); + return "" + cmapHexString(hs) + cmapHexString(ls); + } + var hex = toHexString(codePoint); + var msg = "0x" + hex + " is not a valid UTF-8 or UTF-16 codepoint."; + throw new Error(msg); +}; + +// prettier-ignore +var makeFontFlags = function (options) { + var flags = 0; + var flipBit = function (bit) { flags |= (1 << (bit - 1)); }; + if (options.fixedPitch) + flipBit(1); + if (options.serif) + flipBit(2); + if (options.symbolic) + flipBit(3); + if (options.script) + flipBit(4); + if (options.nonsymbolic) + flipBit(6); + if (options.italic) + flipBit(7); + if (options.allCap) + flipBit(17); + if (options.smallCap) + flipBit(18); + if (options.forceBold) + flipBit(19); + return flags; +}; +// From: https://github.com/foliojs/pdfkit/blob/83f5f7243172a017adcf6a7faa5547c55982c57b/lib/font/embedded.js#L123-L129 +var deriveFontFlags = function (font) { + var familyClass = font['OS/2'] ? font['OS/2'].sFamilyClass : 0; + var flags = makeFontFlags({ + fixedPitch: font.post.isFixedPitch, + serif: 1 <= familyClass && familyClass <= 7, + symbolic: true, + script: familyClass === 10, + italic: font.head.macStyle.italic, + }); + return flags; +}; + +var PDFString = /** @class */ (function (_super) { + __extends(PDFString, _super); + function PDFString(value) { + var _this = _super.call(this) || this; + _this.value = value; + return _this; + } + PDFString.prototype.asBytes = function () { + var bytes = []; + var octal = ''; + var escaped = false; + var pushByte = function (byte) { + if (byte !== undefined) + bytes.push(byte); + escaped = false; + }; + for (var idx = 0, len = this.value.length; idx < len; idx++) { + var char = this.value[idx]; + var byte = toCharCode(char); + var nextChar = this.value[idx + 1]; + if (!escaped) { + if (byte === CharCodes$1.BackSlash) + escaped = true; + else + pushByte(byte); + } + else { + if (byte === CharCodes$1.Newline) + pushByte(); + else if (byte === CharCodes$1.CarriageReturn) + pushByte(); + else if (byte === CharCodes$1.n) + pushByte(CharCodes$1.Newline); + else if (byte === CharCodes$1.r) + pushByte(CharCodes$1.CarriageReturn); + else if (byte === CharCodes$1.t) + pushByte(CharCodes$1.Tab); + else if (byte === CharCodes$1.b) + pushByte(CharCodes$1.Backspace); + else if (byte === CharCodes$1.f) + pushByte(CharCodes$1.FormFeed); + else if (byte === CharCodes$1.LeftParen) + pushByte(CharCodes$1.LeftParen); + else if (byte === CharCodes$1.RightParen) + pushByte(CharCodes$1.RightParen); + else if (byte === CharCodes$1.Backspace) + pushByte(CharCodes$1.BackSlash); + else if (byte >= CharCodes$1.Zero && byte <= CharCodes$1.Seven) { + octal += char; + if (octal.length === 3 || !(nextChar >= '0' && nextChar <= '7')) { + pushByte(parseInt(octal, 8)); + octal = ''; + } + } + else { + pushByte(byte); + } + } + } + return new Uint8Array(bytes); + }; + PDFString.prototype.decodeText = function () { + var bytes = this.asBytes(); + if (hasUtf16BOM(bytes)) + return utf16Decode(bytes); + return pdfDocEncodingDecode(bytes); + }; + PDFString.prototype.decodeDate = function () { + var text = this.decodeText(); + var date = parseDate(text); + if (!date) + throw new InvalidPDFDateStringError(text); + return date; + }; + PDFString.prototype.asString = function () { + return this.value; + }; + PDFString.prototype.clone = function () { + return PDFString.of(this.value); + }; + PDFString.prototype.toString = function () { + return "(" + this.value + ")"; + }; + PDFString.prototype.sizeInBytes = function () { + return this.value.length + 2; + }; + PDFString.prototype.copyBytesInto = function (buffer, offset) { + buffer[offset++] = CharCodes$1.LeftParen; + offset += copyStringIntoBuffer(this.value, buffer, offset); + buffer[offset++] = CharCodes$1.RightParen; + return this.value.length + 2; + }; + // The PDF spec allows newlines and parens to appear directly within a literal + // string. These character _may_ be escaped. But they do not _have_ to be. So + // for simplicity, we will not bother escaping them. + PDFString.of = function (value) { return new PDFString(value); }; + PDFString.fromDate = function (date) { + var year = padStart(String(date.getUTCFullYear()), 4, '0'); + var month = padStart(String(date.getUTCMonth() + 1), 2, '0'); + var day = padStart(String(date.getUTCDate()), 2, '0'); + var hours = padStart(String(date.getUTCHours()), 2, '0'); + var mins = padStart(String(date.getUTCMinutes()), 2, '0'); + var secs = padStart(String(date.getUTCSeconds()), 2, '0'); + return new PDFString("D:" + year + month + day + hours + mins + secs + "Z"); + }; + return PDFString; +}(PDFObject)); + +/** + * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as + * this class borrows from: + * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee + */ +var CustomFontEmbedder = /** @class */ (function () { + function CustomFontEmbedder(font, fontData, customName, fontFeatures) { + var _this = this; + this.allGlyphsInFontSortedById = function () { + var glyphs = new Array(_this.font.characterSet.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var codePoint = _this.font.characterSet[idx]; + glyphs[idx] = _this.font.glyphForCodePoint(codePoint); + } + return sortedUniq(glyphs.sort(byAscendingId), function (g) { return g.id; }); + }; + this.font = font; + this.scale = 1000 / this.font.unitsPerEm; + this.fontData = fontData; + this.fontName = this.font.postscriptName || 'Font'; + this.customName = customName; + this.fontFeatures = fontFeatures; + this.baseFontName = ''; + this.glyphCache = Cache.populatedBy(this.allGlyphsInFontSortedById); + } + CustomFontEmbedder.for = function (fontkit, fontData, customName, fontFeatures) { + return __awaiter(this, void 0, void 0, function () { + var font; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, fontkit.create(fontData)]; + case 1: + font = _a.sent(); + return [2 /*return*/, new CustomFontEmbedder(font, fontData, customName, fontFeatures)]; + } + }); + }); + }; + /** + * Encode the JavaScript string into this font. (JavaScript encodes strings in + * Unicode, but embedded fonts use their own custom encodings) + */ + CustomFontEmbedder.prototype.encodeText = function (text) { + var glyphs = this.font.layout(text, this.fontFeatures).glyphs; + var hexCodes = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + hexCodes[idx] = toHexStringOfMinLength(glyphs[idx].id, 4); + } + return PDFHexString.of(hexCodes.join('')); + }; + // The advanceWidth takes into account kerning automatically, so we don't + // have to do that manually like we do for the standard fonts. + CustomFontEmbedder.prototype.widthOfTextAtSize = function (text, size) { + var glyphs = this.font.layout(text, this.fontFeatures).glyphs; + var totalWidth = 0; + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + totalWidth += glyphs[idx].advanceWidth * this.scale; + } + var scale = size / 1000; + return totalWidth * scale; + }; + CustomFontEmbedder.prototype.heightOfFontAtSize = function (size, options) { + if (options === void 0) { options = {}; } + var _a = options.descender, descender = _a === void 0 ? true : _a; + var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox; + var yTop = (ascent || bbox.maxY) * this.scale; + var yBottom = (descent || bbox.minY) * this.scale; + var height = yTop - yBottom; + if (!descender) + height -= Math.abs(descent) || 0; + return (height / 1000) * size; + }; + CustomFontEmbedder.prototype.sizeOfFontAtHeight = function (height) { + var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox; + var yTop = (ascent || bbox.maxY) * this.scale; + var yBottom = (descent || bbox.minY) * this.scale; + return (1000 * height) / (yTop - yBottom); + }; + CustomFontEmbedder.prototype.embedIntoContext = function (context, ref) { + this.baseFontName = + this.customName || context.addRandomSuffix(this.fontName); + return this.embedFontDict(context, ref); + }; + CustomFontEmbedder.prototype.embedFontDict = function (context, ref) { + return __awaiter(this, void 0, void 0, function () { + var cidFontDictRef, unicodeCMapRef, fontDict; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.embedCIDFontDict(context)]; + case 1: + cidFontDictRef = _a.sent(); + unicodeCMapRef = this.embedUnicodeCmap(context); + fontDict = context.obj({ + Type: 'Font', + Subtype: 'Type0', + BaseFont: this.baseFontName, + Encoding: 'Identity-H', + DescendantFonts: [cidFontDictRef], + ToUnicode: unicodeCMapRef, + }); + if (ref) { + context.assign(ref, fontDict); + return [2 /*return*/, ref]; + } + else { + return [2 /*return*/, context.register(fontDict)]; + } + } + }); + }); + }; + CustomFontEmbedder.prototype.isCFF = function () { + return this.font.cff; + }; + CustomFontEmbedder.prototype.embedCIDFontDict = function (context) { + return __awaiter(this, void 0, void 0, function () { + var fontDescriptorRef, cidFontDict; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.embedFontDescriptor(context)]; + case 1: + fontDescriptorRef = _a.sent(); + cidFontDict = context.obj({ + Type: 'Font', + Subtype: this.isCFF() ? 'CIDFontType0' : 'CIDFontType2', + CIDToGIDMap: 'Identity', + BaseFont: this.baseFontName, + CIDSystemInfo: { + Registry: PDFString.of('Adobe'), + Ordering: PDFString.of('Identity'), + Supplement: 0, + }, + FontDescriptor: fontDescriptorRef, + W: this.computeWidths(), + }); + return [2 /*return*/, context.register(cidFontDict)]; + } + }); + }); + }; + CustomFontEmbedder.prototype.embedFontDescriptor = function (context) { + return __awaiter(this, void 0, void 0, function () { + var fontStreamRef, scale, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor; + var _c; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: return [4 /*yield*/, this.embedFontStream(context)]; + case 1: + fontStreamRef = _d.sent(); + scale = this.scale; + _a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight; + _b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY; + fontDescriptor = context.obj((_c = { + Type: 'FontDescriptor', + FontName: this.baseFontName, + Flags: deriveFontFlags(this.font), + FontBBox: [minX * scale, minY * scale, maxX * scale, maxY * scale], + ItalicAngle: italicAngle, + Ascent: ascent * scale, + Descent: descent * scale, + CapHeight: (capHeight || ascent) * scale, + XHeight: (xHeight || 0) * scale, + // Not sure how to compute/find this, nor is anybody else really: + // https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font + StemV: 0 + }, + _c[this.isCFF() ? 'FontFile3' : 'FontFile2'] = fontStreamRef, + _c)); + return [2 /*return*/, context.register(fontDescriptor)]; + } + }); + }); + }; + CustomFontEmbedder.prototype.serializeFont = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/, this.fontData]; + }); + }); + }; + CustomFontEmbedder.prototype.embedFontStream = function (context) { + return __awaiter(this, void 0, void 0, function () { + var fontStream, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _b = (_a = context).flateStream; + return [4 /*yield*/, this.serializeFont()]; + case 1: + fontStream = _b.apply(_a, [_c.sent(), { + Subtype: this.isCFF() ? 'CIDFontType0C' : undefined, + }]); + return [2 /*return*/, context.register(fontStream)]; + } + }); + }); + }; + CustomFontEmbedder.prototype.embedUnicodeCmap = function (context) { + var cmap = createCmap(this.glyphCache.access(), this.glyphId.bind(this)); + var cmapStream = context.flateStream(cmap); + return context.register(cmapStream); + }; + CustomFontEmbedder.prototype.glyphId = function (glyph) { + return glyph ? glyph.id : -1; + }; + CustomFontEmbedder.prototype.computeWidths = function () { + var glyphs = this.glyphCache.access(); + var widths = []; + var currSection = []; + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var currGlyph = glyphs[idx]; + var prevGlyph = glyphs[idx - 1]; + var currGlyphId = this.glyphId(currGlyph); + var prevGlyphId = this.glyphId(prevGlyph); + if (idx === 0) { + widths.push(currGlyphId); + } + else if (currGlyphId - prevGlyphId !== 1) { + widths.push(currSection); + widths.push(currGlyphId); + currSection = []; + } + currSection.push(currGlyph.advanceWidth * this.scale); + } + widths.push(currSection); + return widths; + }; + return CustomFontEmbedder; +}()); + +/** + * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as + * this class borrows from: + * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee + */ +var CustomFontSubsetEmbedder = /** @class */ (function (_super) { + __extends(CustomFontSubsetEmbedder, _super); + function CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures) { + var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this; + _this.subset = _this.font.createSubset(); + _this.glyphs = []; + _this.glyphCache = Cache.populatedBy(function () { return _this.glyphs; }); + _this.glyphIdMap = new Map(); + return _this; + } + CustomFontSubsetEmbedder.for = function (fontkit, fontData, customFontName, fontFeatures) { + return __awaiter(this, void 0, void 0, function () { + var font; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, fontkit.create(fontData)]; + case 1: + font = _a.sent(); + return [2 /*return*/, new CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures)]; + } + }); + }); + }; + CustomFontSubsetEmbedder.prototype.encodeText = function (text) { + var glyphs = this.font.layout(text, this.fontFeatures).glyphs; + var hexCodes = new Array(glyphs.length); + for (var idx = 0, len = glyphs.length; idx < len; idx++) { + var glyph = glyphs[idx]; + var subsetGlyphId = this.subset.includeGlyph(glyph); + this.glyphs[subsetGlyphId - 1] = glyph; + this.glyphIdMap.set(glyph.id, subsetGlyphId); + hexCodes[idx] = toHexStringOfMinLength(subsetGlyphId, 4); + } + this.glyphCache.invalidate(); + return PDFHexString.of(hexCodes.join('')); + }; + CustomFontSubsetEmbedder.prototype.isCFF = function () { + return this.subset.cff; + }; + CustomFontSubsetEmbedder.prototype.glyphId = function (glyph) { + return glyph ? this.glyphIdMap.get(glyph.id) : -1; + }; + CustomFontSubsetEmbedder.prototype.serializeFont = function () { + var _this = this; + return new Promise(function (resolve, reject) { + var parts = []; + _this.subset + .encodeStream() + .on('data', function (bytes) { return parts.push(bytes); }) + .on('end', function () { return resolve(mergeUint8Arrays(parts)); }) + .on('error', function (err) { return reject(err); }); + }); + }; + return CustomFontSubsetEmbedder; +}(CustomFontEmbedder)); + +/** + * From the PDF-A3 specification, section **3.1. Requirements - General**. + * See: + * * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf + */ +var AFRelationship; +(function (AFRelationship) { + AFRelationship["Source"] = "Source"; + AFRelationship["Data"] = "Data"; + AFRelationship["Alternative"] = "Alternative"; + AFRelationship["Supplement"] = "Supplement"; + AFRelationship["EncryptedPayload"] = "EncryptedPayload"; + AFRelationship["FormData"] = "EncryptedPayload"; + AFRelationship["Schema"] = "Schema"; + AFRelationship["Unspecified"] = "Unspecified"; +})(AFRelationship || (AFRelationship = {})); +var FileEmbedder = /** @class */ (function () { + function FileEmbedder(fileData, fileName, options) { + if (options === void 0) { options = {}; } + this.fileData = fileData; + this.fileName = fileName; + this.options = options; + } + FileEmbedder.for = function (bytes, fileName, options) { + if (options === void 0) { options = {}; } + return new FileEmbedder(bytes, fileName, options); + }; + FileEmbedder.prototype.embedIntoContext = function (context, ref) { + return __awaiter(this, void 0, void 0, function () { + var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict; + return __generator(this, function (_b) { + _a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship; + embeddedFileStream = context.flateStream(this.fileData, { + Type: 'EmbeddedFile', + Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : undefined, + Params: { + Size: this.fileData.length, + CreationDate: creationDate + ? PDFString.fromDate(creationDate) + : undefined, + ModDate: modificationDate + ? PDFString.fromDate(modificationDate) + : undefined, + }, + }); + embeddedFileStreamRef = context.register(embeddedFileStream); + fileSpecDict = context.obj({ + Type: 'Filespec', + F: PDFString.of(this.fileName), + UF: PDFHexString.fromText(this.fileName), + EF: { F: embeddedFileStreamRef }, + Desc: description ? PDFHexString.fromText(description) : undefined, + AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : undefined, + }); + if (ref) { + context.assign(ref, fileSpecDict); + return [2 /*return*/, ref]; + } + else { + return [2 /*return*/, context.register(fileSpecDict)]; + } + }); + }); + }; + return FileEmbedder; +}()); + +// prettier-ignore +var MARKERS = [ + 0xffc0, 0xffc1, 0xffc2, + 0xffc3, 0xffc5, 0xffc6, + 0xffc7, 0xffc8, 0xffc9, + 0xffca, 0xffcb, 0xffcc, + 0xffcd, 0xffce, 0xffcf, +]; +var ColorSpace; +(function (ColorSpace) { + ColorSpace["DeviceGray"] = "DeviceGray"; + ColorSpace["DeviceRGB"] = "DeviceRGB"; + ColorSpace["DeviceCMYK"] = "DeviceCMYK"; +})(ColorSpace || (ColorSpace = {})); +var ChannelToColorSpace = { + 1: ColorSpace.DeviceGray, + 3: ColorSpace.DeviceRGB, + 4: ColorSpace.DeviceCMYK, +}; +/** + * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as + * this class borrows from: + * https://github.com/foliojs/pdfkit/blob/a6af76467ce06bd6a2af4aa7271ccac9ff152a7d/lib/image/jpeg.js + */ +var JpegEmbedder = /** @class */ (function () { + function JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace) { + this.imageData = imageData; + this.bitsPerComponent = bitsPerComponent; + this.width = width; + this.height = height; + this.colorSpace = colorSpace; + } + JpegEmbedder.for = function (imageData) { + return __awaiter(this, void 0, void 0, function () { + var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace; + return __generator(this, function (_a) { + dataView = new DataView(imageData.buffer); + soi = dataView.getUint16(0); + if (soi !== 0xffd8) + throw new Error('SOI not found in JPEG'); + pos = 2; + while (pos < dataView.byteLength) { + marker = dataView.getUint16(pos); + pos += 2; + if (MARKERS.includes(marker)) + break; + pos += dataView.getUint16(pos); + } + if (!MARKERS.includes(marker)) + throw new Error('Invalid JPEG'); + pos += 2; + bitsPerComponent = dataView.getUint8(pos++); + height = dataView.getUint16(pos); + pos += 2; + width = dataView.getUint16(pos); + pos += 2; + channelByte = dataView.getUint8(pos++); + channelName = ChannelToColorSpace[channelByte]; + if (!channelName) + throw new Error('Unknown JPEG channel.'); + colorSpace = channelName; + return [2 /*return*/, new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace)]; + }); + }); + }; + JpegEmbedder.prototype.embedIntoContext = function (context, ref) { + return __awaiter(this, void 0, void 0, function () { + var xObject; + return __generator(this, function (_a) { + xObject = context.stream(this.imageData, { + Type: 'XObject', + Subtype: 'Image', + BitsPerComponent: this.bitsPerComponent, + Width: this.width, + Height: this.height, + ColorSpace: this.colorSpace, + Filter: 'DCTDecode', + // CMYK JPEG streams in PDF are typically stored complemented, + // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4). + // + // Standalone CMYK JPEG (usually exported by Photoshop) are + // stored inverse, with 0 as 'off' and 1 as 'on', like RGB. + // + // Applying a swap here as a hedge that most bytes passing + // through this method will benefit from it. + Decode: this.colorSpace === ColorSpace.DeviceCMYK + ? [1, 0, 1, 0, 1, 0, 1, 0] + : undefined, + }); + if (ref) { + context.assign(ref, xObject); + return [2 /*return*/, ref]; + } + else { + return [2 /*return*/, context.register(xObject)]; + } + }); + }); + }; + return JpegEmbedder; +}()); + +var common$2 = createCommonjsModule(function (module, exports) { + + +var TYPED_OK = (typeof Uint8Array !== 'undefined') && + (typeof Uint16Array !== 'undefined') && + (typeof Int32Array !== 'undefined'); + +function _has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +exports.assign = function (obj /*from1, from2, from3, ...*/) { + var sources = Array.prototype.slice.call(arguments, 1); + while (sources.length) { + var source = sources.shift(); + if (!source) { continue; } + + if (typeof source !== 'object') { + throw new TypeError(source + 'must be non-object'); + } + + for (var p in source) { + if (_has(source, p)) { + obj[p] = source[p]; + } + } + } + + return obj; +}; + + +// reduce buffer size, avoiding mem copy +exports.shrinkBuf = function (buf, size) { + if (buf.length === size) { return buf; } + if (buf.subarray) { return buf.subarray(0, size); } + buf.length = size; + return buf; +}; + + +var fnTyped = { + arraySet: function (dest, src, src_offs, len, dest_offs) { + if (src.subarray && dest.subarray) { + dest.set(src.subarray(src_offs, src_offs + len), dest_offs); + return; + } + // Fallback to ordinary array + for (var i = 0; i < len; i++) { + dest[dest_offs + i] = src[src_offs + i]; + } + }, + // Join array of chunks to single array. + flattenChunks: function (chunks) { + var i, l, len, pos, chunk, result; + + // calculate data length + len = 0; + for (i = 0, l = chunks.length; i < l; i++) { + len += chunks[i].length; + } + + // join chunks + result = new Uint8Array(len); + pos = 0; + for (i = 0, l = chunks.length; i < l; i++) { + chunk = chunks[i]; + result.set(chunk, pos); + pos += chunk.length; + } + + return result; + } +}; + +var fnUntyped = { + arraySet: function (dest, src, src_offs, len, dest_offs) { + for (var i = 0; i < len; i++) { + dest[dest_offs + i] = src[src_offs + i]; + } + }, + // Join array of chunks to single array. + flattenChunks: function (chunks) { + return [].concat.apply([], chunks); + } +}; + + +// Enable/Disable typed arrays use, for testing +// +exports.setTyped = function (on) { + if (on) { + exports.Buf8 = Uint8Array; + exports.Buf16 = Uint16Array; + exports.Buf32 = Int32Array; + exports.assign(exports, fnTyped); + } else { + exports.Buf8 = Array; + exports.Buf16 = Array; + exports.Buf32 = Array; + exports.assign(exports, fnUntyped); + } +}; + +exports.setTyped(TYPED_OK); +}); + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +/* eslint-disable space-unary-ops */ + + + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +//var Z_FILTERED = 1; +//var Z_HUFFMAN_ONLY = 2; +//var Z_RLE = 3; +var Z_FIXED$4 = 4; +//var Z_DEFAULT_STRATEGY = 0; + +/* Possible values of the data_type field (though see inflate()) */ +var Z_BINARY$2 = 0; +var Z_TEXT$2 = 1; +//var Z_ASCII = 1; // = Z_TEXT +var Z_UNKNOWN$4 = 2; + +/*============================================================================*/ + + +function zero$4(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } + +// From zutil.h + +var STORED_BLOCK$2 = 0; +var STATIC_TREES$2 = 1; +var DYN_TREES$2 = 2; +/* The three kinds of block type */ + +var MIN_MATCH$4 = 3; +var MAX_MATCH$4 = 258; +/* The minimum and maximum match lengths */ + +// From deflate.h +/* =========================================================================== + * Internal compression state. + */ + +var LENGTH_CODES$4 = 29; +/* number of length codes, not counting the special END_BLOCK code */ + +var LITERALS$4 = 256; +/* number of literal bytes 0..255 */ + +var L_CODES$4 = LITERALS$4 + 1 + LENGTH_CODES$4; +/* number of Literal or Length codes, including the END_BLOCK code */ + +var D_CODES$4 = 30; +/* number of distance codes */ + +var BL_CODES$4 = 19; +/* number of codes used to transfer the bit lengths */ + +var HEAP_SIZE$4 = 2 * L_CODES$4 + 1; +/* maximum heap size */ + +var MAX_BITS$4 = 15; +/* All codes must not exceed MAX_BITS bits */ + +var Buf_size$2 = 16; +/* size of bit buffer in bi_buf */ + + +/* =========================================================================== + * Constants + */ + +var MAX_BL_BITS$2 = 7; +/* Bit length codes must not exceed MAX_BL_BITS bits */ + +var END_BLOCK$2 = 256; +/* end of block literal code */ + +var REP_3_6$2 = 16; +/* repeat previous bit length 3-6 times (2 bits of repeat count) */ + +var REPZ_3_10$2 = 17; +/* repeat a zero length 3-10 times (3 bits of repeat count) */ + +var REPZ_11_138$2 = 18; +/* repeat a zero length 11-138 times (7 bits of repeat count) */ + +/* eslint-disable comma-spacing,array-bracket-spacing */ +var extra_lbits$2 = /* extra bits for each length code */ + [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]; + +var extra_dbits$2 = /* extra bits for each distance code */ + [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]; + +var extra_blbits$2 = /* extra bits for each bit length code */ + [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]; + +var bl_order$2 = + [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]; +/* eslint-enable comma-spacing,array-bracket-spacing */ + +/* The lengths of the bit length codes are sent in order of decreasing + * probability, to avoid transmitting the lengths for unused bit length codes. + */ + +/* =========================================================================== + * Local data. These are initialized only once. + */ + +// We pre-fill arrays with 0 to avoid uninitialized gaps + +var DIST_CODE_LEN$2 = 512; /* see definition of array dist_code below */ + +// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1 +var static_ltree$2 = new Array((L_CODES$4 + 2) * 2); +zero$4(static_ltree$2); +/* The static literal tree. Since the bit lengths are imposed, there is no + * need for the L_CODES extra codes used during heap construction. However + * The codes 286 and 287 are needed to build a canonical tree (see _tr_init + * below). + */ + +var static_dtree$2 = new Array(D_CODES$4 * 2); +zero$4(static_dtree$2); +/* The static distance tree. (Actually a trivial tree since all codes use + * 5 bits.) + */ + +var _dist_code$2 = new Array(DIST_CODE_LEN$2); +zero$4(_dist_code$2); +/* Distance codes. The first 256 values correspond to the distances + * 3 .. 258, the last 256 values correspond to the top 8 bits of + * the 15 bit distances. + */ + +var _length_code$2 = new Array(MAX_MATCH$4 - MIN_MATCH$4 + 1); +zero$4(_length_code$2); +/* length code for each normalized match length (0 == MIN_MATCH) */ + +var base_length$2 = new Array(LENGTH_CODES$4); +zero$4(base_length$2); +/* First normalized length for each code (0 = MIN_MATCH) */ + +var base_dist$2 = new Array(D_CODES$4); +zero$4(base_dist$2); +/* First normalized distance for each code (0 = distance of 1) */ + + +function StaticTreeDesc$2(static_tree, extra_bits, extra_base, elems, max_length) { + + this.static_tree = static_tree; /* static tree or NULL */ + this.extra_bits = extra_bits; /* extra bits for each code or NULL */ + this.extra_base = extra_base; /* base index for extra_bits */ + this.elems = elems; /* max number of elements in the tree */ + this.max_length = max_length; /* max bit length for the codes */ + + // show if `static_tree` has data or dummy - needed for monomorphic objects + this.has_stree = static_tree && static_tree.length; +} + + +var static_l_desc$2; +var static_d_desc$2; +var static_bl_desc$2; + + +function TreeDesc$2(dyn_tree, stat_desc) { + this.dyn_tree = dyn_tree; /* the dynamic tree */ + this.max_code = 0; /* largest code with non zero frequency */ + this.stat_desc = stat_desc; /* the corresponding static tree */ +} + + + +function d_code$2(dist) { + return dist < 256 ? _dist_code$2[dist] : _dist_code$2[256 + (dist >>> 7)]; +} + + +/* =========================================================================== + * Output a short LSB first on the stream. + * IN assertion: there is enough room in pendingBuf. + */ +function put_short$2(s, w) { +// put_byte(s, (uch)((w) & 0xff)); +// put_byte(s, (uch)((ush)(w) >> 8)); + s.pending_buf[s.pending++] = (w) & 0xff; + s.pending_buf[s.pending++] = (w >>> 8) & 0xff; +} + + +/* =========================================================================== + * Send a value on a given number of bits. + * IN assertion: length <= 16 and value fits in length bits. + */ +function send_bits$2(s, value, length) { + if (s.bi_valid > (Buf_size$2 - length)) { + s.bi_buf |= (value << s.bi_valid) & 0xffff; + put_short$2(s, s.bi_buf); + s.bi_buf = value >> (Buf_size$2 - s.bi_valid); + s.bi_valid += length - Buf_size$2; + } else { + s.bi_buf |= (value << s.bi_valid) & 0xffff; + s.bi_valid += length; + } +} + + +function send_code$2(s, c, tree) { + send_bits$2(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/); +} + + +/* =========================================================================== + * Reverse the first len bits of a code, using straightforward code (a faster + * method would use a table) + * IN assertion: 1 <= len <= 15 + */ +function bi_reverse$2(code, len) { + var res = 0; + do { + res |= code & 1; + code >>>= 1; + res <<= 1; + } while (--len > 0); + return res >>> 1; +} + + +/* =========================================================================== + * Flush the bit buffer, keeping at most 7 bits in it. + */ +function bi_flush$2(s) { + if (s.bi_valid === 16) { + put_short$2(s, s.bi_buf); + s.bi_buf = 0; + s.bi_valid = 0; + + } else if (s.bi_valid >= 8) { + s.pending_buf[s.pending++] = s.bi_buf & 0xff; + s.bi_buf >>= 8; + s.bi_valid -= 8; + } +} + + +/* =========================================================================== + * Compute the optimal bit lengths for a tree and update the total bit length + * for the current block. + * IN assertion: the fields freq and dad are set, heap[heap_max] and + * above are the tree nodes sorted by increasing frequency. + * OUT assertions: the field len is set to the optimal bit length, the + * array bl_count contains the frequencies for each bit length. + * The length opt_len is updated; static_len is also updated if stree is + * not null. + */ +function gen_bitlen$2(s, desc) +// deflate_state *s; +// tree_desc *desc; /* the tree descriptor */ +{ + var tree = desc.dyn_tree; + var max_code = desc.max_code; + var stree = desc.stat_desc.static_tree; + var has_stree = desc.stat_desc.has_stree; + var extra = desc.stat_desc.extra_bits; + var base = desc.stat_desc.extra_base; + var max_length = desc.stat_desc.max_length; + var h; /* heap index */ + var n, m; /* iterate over the tree elements */ + var bits; /* bit length */ + var xbits; /* extra bits */ + var f; /* frequency */ + var overflow = 0; /* number of elements with bit length too large */ + + for (bits = 0; bits <= MAX_BITS$4; bits++) { + s.bl_count[bits] = 0; + } + + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ + tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */ + + for (h = s.heap_max + 1; h < HEAP_SIZE$4; h++) { + n = s.heap[h]; + bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1; + if (bits > max_length) { + bits = max_length; + overflow++; + } + tree[n * 2 + 1]/*.Len*/ = bits; + /* We overwrite tree[n].Dad which is no longer needed */ + + if (n > max_code) { continue; } /* not a leaf node */ + + s.bl_count[bits]++; + xbits = 0; + if (n >= base) { + xbits = extra[n - base]; + } + f = tree[n * 2]/*.Freq*/; + s.opt_len += f * (bits + xbits); + if (has_stree) { + s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits); + } + } + if (overflow === 0) { return; } + + // Trace((stderr,"\nbit length overflow\n")); + /* This happens for example on obj2 and pic of the Calgary corpus */ + + /* Find the first bit length which could increase: */ + do { + bits = max_length - 1; + while (s.bl_count[bits] === 0) { bits--; } + s.bl_count[bits]--; /* move one leaf down the tree */ + s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */ + s.bl_count[max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ + overflow -= 2; + } while (overflow > 0); + + /* Now recompute all bit lengths, scanning in increasing frequency. + * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all + * lengths instead of fixing only the wrong ones. This idea is taken + * from 'ar' written by Haruhiko Okumura.) + */ + for (bits = max_length; bits !== 0; bits--) { + n = s.bl_count[bits]; + while (n !== 0) { + m = s.heap[--h]; + if (m > max_code) { continue; } + if (tree[m * 2 + 1]/*.Len*/ !== bits) { + // Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); + s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/; + tree[m * 2 + 1]/*.Len*/ = bits; + } + n--; + } + } +} + + +/* =========================================================================== + * Generate the codes for a given tree and bit counts (which need not be + * optimal). + * IN assertion: the array bl_count contains the bit length statistics for + * the given tree and the field len is set for all tree elements. + * OUT assertion: the field code is set for all tree elements of non + * zero code length. + */ +function gen_codes$2(tree, max_code, bl_count) +// ct_data *tree; /* the tree to decorate */ +// int max_code; /* largest code with non zero frequency */ +// ushf *bl_count; /* number of codes at each bit length */ +{ + var next_code = new Array(MAX_BITS$4 + 1); /* next code value for each bit length */ + var code = 0; /* running code value */ + var bits; /* bit index */ + var n; /* code index */ + + /* The distribution counts are first used to generate the code values + * without bit reversal. + */ + for (bits = 1; bits <= MAX_BITS$4; bits++) { + next_code[bits] = code = (code + bl_count[bits - 1]) << 1; + } + /* Check that the bit counts in bl_count are consistent. The last code + * must be all ones. + */ + //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1, + // "inconsistent bit counts"); + //Tracev((stderr,"\ngen_codes: max_code %d ", max_code)); + + for (n = 0; n <= max_code; n++) { + var len = tree[n * 2 + 1]/*.Len*/; + if (len === 0) { continue; } + /* Now reverse the bits */ + tree[n * 2]/*.Code*/ = bi_reverse$2(next_code[len]++, len); + + //Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ", + // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1)); + } +} + + +/* =========================================================================== + * Initialize the various 'constant' tables. + */ +function tr_static_init$2() { + var n; /* iterates over tree elements */ + var bits; /* bit counter */ + var length; /* length value */ + var code; /* code value */ + var dist; /* distance index */ + var bl_count = new Array(MAX_BITS$4 + 1); + /* number of codes at each bit length for an optimal tree */ + + // do check in _tr_init() + //if (static_init_done) return; + + /* For some embedded targets, global variables are not initialized: */ +/*#ifdef NO_INIT_GLOBAL_POINTERS + static_l_desc.static_tree = static_ltree; + static_l_desc.extra_bits = extra_lbits; + static_d_desc.static_tree = static_dtree; + static_d_desc.extra_bits = extra_dbits; + static_bl_desc.extra_bits = extra_blbits; +#endif*/ + + /* Initialize the mapping length (0..255) -> length code (0..28) */ + length = 0; + for (code = 0; code < LENGTH_CODES$4 - 1; code++) { + base_length$2[code] = length; + for (n = 0; n < (1 << extra_lbits$2[code]); n++) { + _length_code$2[length++] = code; + } + } + //Assert (length == 256, "tr_static_init: length != 256"); + /* Note that the length 255 (match length 258) can be represented + * in two different ways: code 284 + 5 bits or code 285, so we + * overwrite length_code[255] to use the best encoding: + */ + _length_code$2[length - 1] = code; + + /* Initialize the mapping dist (0..32K) -> dist code (0..29) */ + dist = 0; + for (code = 0; code < 16; code++) { + base_dist$2[code] = dist; + for (n = 0; n < (1 << extra_dbits$2[code]); n++) { + _dist_code$2[dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: dist != 256"); + dist >>= 7; /* from now on, all distances are divided by 128 */ + for (; code < D_CODES$4; code++) { + base_dist$2[code] = dist << 7; + for (n = 0; n < (1 << (extra_dbits$2[code] - 7)); n++) { + _dist_code$2[256 + dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: 256+dist != 512"); + + /* Construct the codes of the static literal tree */ + for (bits = 0; bits <= MAX_BITS$4; bits++) { + bl_count[bits] = 0; + } + + n = 0; + while (n <= 143) { + static_ltree$2[n * 2 + 1]/*.Len*/ = 8; + n++; + bl_count[8]++; + } + while (n <= 255) { + static_ltree$2[n * 2 + 1]/*.Len*/ = 9; + n++; + bl_count[9]++; + } + while (n <= 279) { + static_ltree$2[n * 2 + 1]/*.Len*/ = 7; + n++; + bl_count[7]++; + } + while (n <= 287) { + static_ltree$2[n * 2 + 1]/*.Len*/ = 8; + n++; + bl_count[8]++; + } + /* Codes 286 and 287 do not exist, but we must include them in the + * tree construction to get a canonical Huffman tree (longest code + * all ones) + */ + gen_codes$2(static_ltree$2, L_CODES$4 + 1, bl_count); + + /* The static distance tree is trivial: */ + for (n = 0; n < D_CODES$4; n++) { + static_dtree$2[n * 2 + 1]/*.Len*/ = 5; + static_dtree$2[n * 2]/*.Code*/ = bi_reverse$2(n, 5); + } + + // Now data ready and we can init static trees + static_l_desc$2 = new StaticTreeDesc$2(static_ltree$2, extra_lbits$2, LITERALS$4 + 1, L_CODES$4, MAX_BITS$4); + static_d_desc$2 = new StaticTreeDesc$2(static_dtree$2, extra_dbits$2, 0, D_CODES$4, MAX_BITS$4); + static_bl_desc$2 = new StaticTreeDesc$2(new Array(0), extra_blbits$2, 0, BL_CODES$4, MAX_BL_BITS$2); + + //static_init_done = true; +} + + +/* =========================================================================== + * Initialize a new block. + */ +function init_block$2(s) { + var n; /* iterates over tree elements */ + + /* Initialize the trees. */ + for (n = 0; n < L_CODES$4; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; } + for (n = 0; n < D_CODES$4; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; } + for (n = 0; n < BL_CODES$4; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; } + + s.dyn_ltree[END_BLOCK$2 * 2]/*.Freq*/ = 1; + s.opt_len = s.static_len = 0; + s.last_lit = s.matches = 0; +} + + +/* =========================================================================== + * Flush the bit buffer and align the output on a byte boundary + */ +function bi_windup$2(s) +{ + if (s.bi_valid > 8) { + put_short$2(s, s.bi_buf); + } else if (s.bi_valid > 0) { + //put_byte(s, (Byte)s->bi_buf); + s.pending_buf[s.pending++] = s.bi_buf; + } + s.bi_buf = 0; + s.bi_valid = 0; +} + +/* =========================================================================== + * Copy a stored block, storing first the length and its + * one's complement if requested. + */ +function copy_block$2(s, buf, len, header) +//DeflateState *s; +//charf *buf; /* the input data */ +//unsigned len; /* its length */ +//int header; /* true if block header must be written */ +{ + bi_windup$2(s); /* align on byte boundary */ + + if (header) { + put_short$2(s, len); + put_short$2(s, ~len); + } +// while (len--) { +// put_byte(s, *buf++); +// } + common$2.arraySet(s.pending_buf, s.window, buf, len, s.pending); + s.pending += len; +} + +/* =========================================================================== + * Compares to subtrees, using the tree depth as tie breaker when + * the subtrees have equal frequency. This minimizes the worst case length. + */ +function smaller$2(tree, n, m, depth) { + var _n2 = n * 2; + var _m2 = m * 2; + return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ || + (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m])); +} + +/* =========================================================================== + * Restore the heap property by moving down the tree starting at node k, + * exchanging a node with the smallest of its two sons if necessary, stopping + * when the heap property is re-established (each father smaller than its + * two sons). + */ +function pqdownheap$2(s, tree, k) +// deflate_state *s; +// ct_data *tree; /* the tree to restore */ +// int k; /* node to move down */ +{ + var v = s.heap[k]; + var j = k << 1; /* left son of k */ + while (j <= s.heap_len) { + /* Set j to the smallest of the two sons: */ + if (j < s.heap_len && + smaller$2(tree, s.heap[j + 1], s.heap[j], s.depth)) { + j++; + } + /* Exit if v is smaller than both sons */ + if (smaller$2(tree, v, s.heap[j], s.depth)) { break; } + + /* Exchange v with the smallest son */ + s.heap[k] = s.heap[j]; + k = j; + + /* And continue down the tree, setting j to the left son of k */ + j <<= 1; + } + s.heap[k] = v; +} + + +// inlined manually +// var SMALLEST = 1; + +/* =========================================================================== + * Send the block data compressed using the given Huffman trees + */ +function compress_block$2(s, ltree, dtree) +// deflate_state *s; +// const ct_data *ltree; /* literal tree */ +// const ct_data *dtree; /* distance tree */ +{ + var dist; /* distance of matched string */ + var lc; /* match length or unmatched char (if dist == 0) */ + var lx = 0; /* running index in l_buf */ + var code; /* the code to send */ + var extra; /* number of extra bits to send */ + + if (s.last_lit !== 0) { + do { + dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]); + lc = s.pending_buf[s.l_buf + lx]; + lx++; + + if (dist === 0) { + send_code$2(s, lc, ltree); /* send a literal byte */ + //Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + /* Here, lc is the match length - MIN_MATCH */ + code = _length_code$2[lc]; + send_code$2(s, code + LITERALS$4 + 1, ltree); /* send the length code */ + extra = extra_lbits$2[code]; + if (extra !== 0) { + lc -= base_length$2[code]; + send_bits$2(s, lc, extra); /* send the extra length bits */ + } + dist--; /* dist is now the match distance - 1 */ + code = d_code$2(dist); + //Assert (code < D_CODES, "bad d_code"); + + send_code$2(s, code, dtree); /* send the distance code */ + extra = extra_dbits$2[code]; + if (extra !== 0) { + dist -= base_dist$2[code]; + send_bits$2(s, dist, extra); /* send the extra distance bits */ + } + } /* literal or match pair ? */ + + /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ + //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, + // "pendingBuf overflow"); + + } while (lx < s.last_lit); + } + + send_code$2(s, END_BLOCK$2, ltree); +} + + +/* =========================================================================== + * Construct one Huffman tree and assigns the code bit strings and lengths. + * Update the total bit length for the current block. + * IN assertion: the field freq is set for all tree elements. + * OUT assertions: the fields len and code are set to the optimal bit length + * and corresponding code. The length opt_len is updated; static_len is + * also updated if stree is not null. The field max_code is set. + */ +function build_tree$2(s, desc) +// deflate_state *s; +// tree_desc *desc; /* the tree descriptor */ +{ + var tree = desc.dyn_tree; + var stree = desc.stat_desc.static_tree; + var has_stree = desc.stat_desc.has_stree; + var elems = desc.stat_desc.elems; + var n, m; /* iterate over heap elements */ + var max_code = -1; /* largest code with non zero frequency */ + var node; /* new node being created */ + + /* Construct the initial heap, with least frequent element in + * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. + * heap[0] is not used. + */ + s.heap_len = 0; + s.heap_max = HEAP_SIZE$4; + + for (n = 0; n < elems; n++) { + if (tree[n * 2]/*.Freq*/ !== 0) { + s.heap[++s.heap_len] = max_code = n; + s.depth[n] = 0; + + } else { + tree[n * 2 + 1]/*.Len*/ = 0; + } + } + + /* The pkzip format requires that at least one distance code exists, + * and that at least one bit should be sent even if there is only one + * possible code. So to avoid special checks later on we force at least + * two codes of non zero frequency. + */ + while (s.heap_len < 2) { + node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0); + tree[node * 2]/*.Freq*/ = 1; + s.depth[node] = 0; + s.opt_len--; + + if (has_stree) { + s.static_len -= stree[node * 2 + 1]/*.Len*/; + } + /* node is 0 or 1 so it does not have extra bits */ + } + desc.max_code = max_code; + + /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, + * establish sub-heaps of increasing lengths: + */ + for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap$2(s, tree, n); } + + /* Construct the Huffman tree by repeatedly combining the least two + * frequent nodes. + */ + node = elems; /* next internal node of the tree */ + do { + //pqremove(s, tree, n); /* n = node of least frequency */ + /*** pqremove ***/ + n = s.heap[1/*SMALLEST*/]; + s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--]; + pqdownheap$2(s, tree, 1/*SMALLEST*/); + /***/ + + m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */ + + s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */ + s.heap[--s.heap_max] = m; + + /* Create a new node father of n and m */ + tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/; + s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; + tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node; + + /* and insert the new node in the heap */ + s.heap[1/*SMALLEST*/] = node++; + pqdownheap$2(s, tree, 1/*SMALLEST*/); + + } while (s.heap_len >= 2); + + s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. + */ + gen_bitlen$2(s, desc); + + /* The field len is now set, we can generate the bit codes */ + gen_codes$2(tree, max_code, s.bl_count); +} + + +/* =========================================================================== + * Scan a literal or distance tree to determine the frequencies of the codes + * in the bit length tree. + */ +function scan_tree$2(s, tree, max_code) +// deflate_state *s; +// ct_data *tree; /* the tree to be scanned */ +// int max_code; /* and its largest code of non zero frequency */ +{ + var n; /* iterates over all tree elements */ + var prevlen = -1; /* last emitted length */ + var curlen; /* length of current code */ + + var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ + + var count = 0; /* repeat count of the current code */ + var max_count = 7; /* max repeat count */ + var min_count = 4; /* min repeat count */ + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */ + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; + + if (++count < max_count && curlen === nextlen) { + continue; + + } else if (count < min_count) { + s.bl_tree[curlen * 2]/*.Freq*/ += count; + + } else if (curlen !== 0) { + + if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; } + s.bl_tree[REP_3_6$2 * 2]/*.Freq*/++; + + } else if (count <= 10) { + s.bl_tree[REPZ_3_10$2 * 2]/*.Freq*/++; + + } else { + s.bl_tree[REPZ_11_138$2 * 2]/*.Freq*/++; + } + + count = 0; + prevlen = curlen; + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + + } else { + max_count = 7; + min_count = 4; + } + } +} + + +/* =========================================================================== + * Send a literal or distance tree in compressed form, using the codes in + * bl_tree. + */ +function send_tree$2(s, tree, max_code) +// deflate_state *s; +// ct_data *tree; /* the tree to be scanned */ +// int max_code; /* and its largest code of non zero frequency */ +{ + var n; /* iterates over all tree elements */ + var prevlen = -1; /* last emitted length */ + var curlen; /* length of current code */ + + var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */ + + var count = 0; /* repeat count of the current code */ + var max_count = 7; /* max repeat count */ + var min_count = 4; /* min repeat count */ + + /* tree[max_code+1].Len = -1; */ /* guard already set */ + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1]/*.Len*/; + + if (++count < max_count && curlen === nextlen) { + continue; + + } else if (count < min_count) { + do { send_code$2(s, curlen, s.bl_tree); } while (--count !== 0); + + } else if (curlen !== 0) { + if (curlen !== prevlen) { + send_code$2(s, curlen, s.bl_tree); + count--; + } + //Assert(count >= 3 && count <= 6, " 3_6?"); + send_code$2(s, REP_3_6$2, s.bl_tree); + send_bits$2(s, count - 3, 2); + + } else if (count <= 10) { + send_code$2(s, REPZ_3_10$2, s.bl_tree); + send_bits$2(s, count - 3, 3); + + } else { + send_code$2(s, REPZ_11_138$2, s.bl_tree); + send_bits$2(s, count - 11, 7); + } + + count = 0; + prevlen = curlen; + if (nextlen === 0) { + max_count = 138; + min_count = 3; + + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + + } else { + max_count = 7; + min_count = 4; + } + } +} + + +/* =========================================================================== + * Construct the Huffman tree for the bit lengths and return the index in + * bl_order of the last bit length code to send. + */ +function build_bl_tree$2(s) { + var max_blindex; /* index of last bit length code of non zero freq */ + + /* Determine the bit length frequencies for literal and distance trees */ + scan_tree$2(s, s.dyn_ltree, s.l_desc.max_code); + scan_tree$2(s, s.dyn_dtree, s.d_desc.max_code); + + /* Build the bit length tree: */ + build_tree$2(s, s.bl_desc); + /* opt_len now includes the length of the tree representations, except + * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. + */ + + /* Determine the number of bit length codes to send. The pkzip format + * requires that at least 4 bit length codes be sent. (appnote.txt says + * 3 but the actual value used is 4.) + */ + for (max_blindex = BL_CODES$4 - 1; max_blindex >= 3; max_blindex--) { + if (s.bl_tree[bl_order$2[max_blindex] * 2 + 1]/*.Len*/ !== 0) { + break; + } + } + /* Update opt_len to include the bit length tree and counts */ + s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; + //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", + // s->opt_len, s->static_len)); + + return max_blindex; +} + + +/* =========================================================================== + * Send the header for a block using dynamic Huffman trees: the counts, the + * lengths of the bit length codes, the literal tree and the distance tree. + * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. + */ +function send_all_trees$2(s, lcodes, dcodes, blcodes) +// deflate_state *s; +// int lcodes, dcodes, blcodes; /* number of codes for each tree */ +{ + var rank; /* index in bl_order */ + + //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); + //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, + // "too many codes"); + //Tracev((stderr, "\nbl counts: ")); + send_bits$2(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */ + send_bits$2(s, dcodes - 1, 5); + send_bits$2(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */ + for (rank = 0; rank < blcodes; rank++) { + //Tracev((stderr, "\nbl code %2d ", bl_order[rank])); + send_bits$2(s, s.bl_tree[bl_order$2[rank] * 2 + 1]/*.Len*/, 3); + } + //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); + + send_tree$2(s, s.dyn_ltree, lcodes - 1); /* literal tree */ + //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); + + send_tree$2(s, s.dyn_dtree, dcodes - 1); /* distance tree */ + //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); +} + + +/* =========================================================================== + * Check if the data type is TEXT or BINARY, using the following algorithm: + * - TEXT if the two conditions below are satisfied: + * a) There are no non-portable control characters belonging to the + * "black list" (0..6, 14..25, 28..31). + * b) There is at least one printable character belonging to the + * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). + * - BINARY otherwise. + * - The following partially-portable control characters form a + * "gray list" that is ignored in this detection algorithm: + * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). + * IN assertion: the fields Freq of dyn_ltree are set. + */ +function detect_data_type$2(s) { + /* black_mask is the bit mask of black-listed bytes + * set bits 0..6, 14..25, and 28..31 + * 0xf3ffc07f = binary 11110011111111111100000001111111 + */ + var black_mask = 0xf3ffc07f; + var n; + + /* Check for non-textual ("black-listed") bytes. */ + for (n = 0; n <= 31; n++, black_mask >>>= 1) { + if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) { + return Z_BINARY$2; + } + } + + /* Check for textual ("white-listed") bytes. */ + if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 || + s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) { + return Z_TEXT$2; + } + for (n = 32; n < LITERALS$4; n++) { + if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) { + return Z_TEXT$2; + } + } + + /* There are no "black-listed" or "white-listed" bytes: + * this stream either is empty or has tolerated ("gray-listed") bytes only. + */ + return Z_BINARY$2; +} + + +var static_init_done$2 = false; + +/* =========================================================================== + * Initialize the tree data structures for a new zlib stream. + */ +function _tr_init$2(s) +{ + + if (!static_init_done$2) { + tr_static_init$2(); + static_init_done$2 = true; + } + + s.l_desc = new TreeDesc$2(s.dyn_ltree, static_l_desc$2); + s.d_desc = new TreeDesc$2(s.dyn_dtree, static_d_desc$2); + s.bl_desc = new TreeDesc$2(s.bl_tree, static_bl_desc$2); + + s.bi_buf = 0; + s.bi_valid = 0; + + /* Initialize the first block of the first file: */ + init_block$2(s); +} + + +/* =========================================================================== + * Send a stored block + */ +function _tr_stored_block$2(s, buf, stored_len, last) +//DeflateState *s; +//charf *buf; /* input block */ +//ulg stored_len; /* length of input block */ +//int last; /* one if this is the last block for a file */ +{ + send_bits$2(s, (STORED_BLOCK$2 << 1) + (last ? 1 : 0), 3); /* send block type */ + copy_block$2(s, buf, stored_len, true); /* with header */ +} + + +/* =========================================================================== + * Send one empty static block to give enough lookahead for inflate. + * This takes 10 bits, of which 7 may remain in the bit buffer. + */ +function _tr_align$2(s) { + send_bits$2(s, STATIC_TREES$2 << 1, 3); + send_code$2(s, END_BLOCK$2, static_ltree$2); + bi_flush$2(s); +} + + +/* =========================================================================== + * Determine the best encoding for the current block: dynamic trees, static + * trees or store, and output the encoded block to the zip file. + */ +function _tr_flush_block$2(s, buf, stored_len, last) +//DeflateState *s; +//charf *buf; /* input block, or NULL if too old */ +//ulg stored_len; /* length of input block */ +//int last; /* one if this is the last block for a file */ +{ + var opt_lenb, static_lenb; /* opt_len and static_len in bytes */ + var max_blindex = 0; /* index of last bit length code of non zero freq */ + + /* Build the Huffman trees unless a stored block is forced */ + if (s.level > 0) { + + /* Check if the file is binary or text */ + if (s.strm.data_type === Z_UNKNOWN$4) { + s.strm.data_type = detect_data_type$2(s); + } + + /* Construct the literal and distance trees */ + build_tree$2(s, s.l_desc); + // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + + build_tree$2(s, s.d_desc); + // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + /* At this point, opt_len and static_len are the total bit lengths of + * the compressed block data, excluding the tree representations. + */ + + /* Build the bit length tree for the above two trees, and get the index + * in bl_order of the last bit length code to send. + */ + max_blindex = build_bl_tree$2(s); + + /* Determine the best encoding. Compute the block lengths in bytes. */ + opt_lenb = (s.opt_len + 3 + 7) >>> 3; + static_lenb = (s.static_len + 3 + 7) >>> 3; + + // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", + // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, + // s->last_lit)); + + if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; } + + } else { + // Assert(buf != (char*)0, "lost buf"); + opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ + } + + if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) { + /* 4: two words for the lengths */ + + /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. + * Otherwise we can't have processed more than WSIZE input bytes since + * the last block flush, because compression would have been + * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to + * transform a block into a stored block. + */ + _tr_stored_block$2(s, buf, stored_len, last); + + } else if (s.strategy === Z_FIXED$4 || static_lenb === opt_lenb) { + + send_bits$2(s, (STATIC_TREES$2 << 1) + (last ? 1 : 0), 3); + compress_block$2(s, static_ltree$2, static_dtree$2); + + } else { + send_bits$2(s, (DYN_TREES$2 << 1) + (last ? 1 : 0), 3); + send_all_trees$2(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); + compress_block$2(s, s.dyn_ltree, s.dyn_dtree); + } + // Assert (s->compressed_len == s->bits_sent, "bad compressed size"); + /* The above check is made mod 2^32, for files larger than 512 MB + * and uLong implemented on 32 bits. + */ + init_block$2(s); + + if (last) { + bi_windup$2(s); + } + // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, + // s->compressed_len-7*last)); +} + +/* =========================================================================== + * Save the match info and tally the frequency counts. Return true if + * the current block must be flushed. + */ +function _tr_tally$2(s, dist, lc) +// deflate_state *s; +// unsigned dist; /* distance of matched string */ +// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ +{ + //var out_length, in_length, dcode; + + s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff; + s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff; + + s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff; + s.last_lit++; + + if (dist === 0) { + /* lc is the unmatched char */ + s.dyn_ltree[lc * 2]/*.Freq*/++; + } else { + s.matches++; + /* Here, lc is the match length - MIN_MATCH */ + dist--; /* dist = match distance - 1 */ + //Assert((ush)dist < (ush)MAX_DIST(s) && + // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && + // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); + + s.dyn_ltree[(_length_code$2[lc] + LITERALS$4 + 1) * 2]/*.Freq*/++; + s.dyn_dtree[d_code$2(dist) * 2]/*.Freq*/++; + } + +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility + +//#ifdef TRUNCATE_BLOCK +// /* Try to guess if it is profitable to stop the current block here */ +// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) { +// /* Compute an upper bound for the compressed length */ +// out_length = s.last_lit*8; +// in_length = s.strstart - s.block_start; +// +// for (dcode = 0; dcode < D_CODES; dcode++) { +// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]); +// } +// out_length >>>= 3; +// //Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", +// // s->last_lit, in_length, out_length, +// // 100L - out_length*100L/in_length)); +// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) { +// return true; +// } +// } +//#endif + + return (s.last_lit === s.lit_bufsize - 1); + /* We avoid equality with lit_bufsize because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ +} + +var _tr_init_1$2 = _tr_init$2; +var _tr_stored_block_1$2 = _tr_stored_block$2; +var _tr_flush_block_1$2 = _tr_flush_block$2; +var _tr_tally_1$2 = _tr_tally$2; +var _tr_align_1$2 = _tr_align$2; + +var trees$2 = { + _tr_init: _tr_init_1$2, + _tr_stored_block: _tr_stored_block_1$2, + _tr_flush_block: _tr_flush_block_1$2, + _tr_tally: _tr_tally_1$2, + _tr_align: _tr_align_1$2 +}; + +// Note: adler32 takes 12% for level 0 and 2% for level 6. +// It isn't worth it to make additional optimizations as in original. +// Small size is preferable. + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function adler32$2(adler, buf, len, pos) { + var s1 = (adler & 0xffff) |0, + s2 = ((adler >>> 16) & 0xffff) |0, + n = 0; + + while (len !== 0) { + // Set limit ~ twice less than 5552, to keep + // s2 in 31-bits, because we force signed ints. + // in other case %= will fail. + n = len > 2000 ? 2000 : len; + len -= n; + + do { + s1 = (s1 + buf[pos++]) |0; + s2 = (s2 + s1) |0; + } while (--n); + + s1 %= 65521; + s2 %= 65521; + } + + return (s1 | (s2 << 16)) |0; +} + + +var adler32_1$2 = adler32$2; + +// Note: we can't get significant speed boost here. +// So write code to minimize size - no pregenerated tables +// and array tools dependencies. + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +// Use ordinary array, since untyped makes no boost here +function makeTable$2() { + var c, table = []; + + for (var n = 0; n < 256; n++) { + c = n; + for (var k = 0; k < 8; k++) { + c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); + } + table[n] = c; + } + + return table; +} + +// Create table on load. Just 255 signed longs. Not a problem. +var crcTable$2 = makeTable$2(); + + +function crc32$2(crc, buf, len, pos) { + var t = crcTable$2, + end = pos + len; + + crc ^= -1; + + for (var i = pos; i < end; i++) { + crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF]; + } + + return (crc ^ (-1)); // >>> 0; +} + + +var crc32_1$2 = crc32$2; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +var messages$2 = { + 2: 'need dictionary', /* Z_NEED_DICT 2 */ + 1: 'stream end', /* Z_STREAM_END 1 */ + 0: '', /* Z_OK 0 */ + '-1': 'file error', /* Z_ERRNO (-1) */ + '-2': 'stream error', /* Z_STREAM_ERROR (-2) */ + '-3': 'data error', /* Z_DATA_ERROR (-3) */ + '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */ + '-5': 'buffer error', /* Z_BUF_ERROR (-5) */ + '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + + + + + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +/* Allowed flush values; see deflate() and inflate() below for details */ +var Z_NO_FLUSH$4 = 0; +var Z_PARTIAL_FLUSH$2 = 1; +//var Z_SYNC_FLUSH = 2; +var Z_FULL_FLUSH$2 = 3; +var Z_FINISH$6 = 4; +var Z_BLOCK$4 = 5; +//var Z_TREES = 6; + + +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +var Z_OK$6 = 0; +var Z_STREAM_END$6 = 1; +//var Z_NEED_DICT = 2; +//var Z_ERRNO = -1; +var Z_STREAM_ERROR$4 = -2; +var Z_DATA_ERROR$4 = -3; +//var Z_MEM_ERROR = -4; +var Z_BUF_ERROR$4 = -5; +//var Z_VERSION_ERROR = -6; + + +/* compression levels */ +//var Z_NO_COMPRESSION = 0; +//var Z_BEST_SPEED = 1; +//var Z_BEST_COMPRESSION = 9; +var Z_DEFAULT_COMPRESSION$4 = -1; + + +var Z_FILTERED$2 = 1; +var Z_HUFFMAN_ONLY$2 = 2; +var Z_RLE$2 = 3; +var Z_FIXED$5 = 4; +var Z_DEFAULT_STRATEGY$4 = 0; + +/* Possible values of the data_type field (though see inflate()) */ +//var Z_BINARY = 0; +//var Z_TEXT = 1; +//var Z_ASCII = 1; // = Z_TEXT +var Z_UNKNOWN$5 = 2; + + +/* The deflate compression method */ +var Z_DEFLATED$6 = 8; + +/*============================================================================*/ + + +var MAX_MEM_LEVEL$2 = 9; +/* Maximum value for memLevel in deflateInit2 */ +var MAX_WBITS$4 = 15; +/* 32K LZ77 window */ +var DEF_MEM_LEVEL$2 = 8; + + +var LENGTH_CODES$5 = 29; +/* number of length codes, not counting the special END_BLOCK code */ +var LITERALS$5 = 256; +/* number of literal bytes 0..255 */ +var L_CODES$5 = LITERALS$5 + 1 + LENGTH_CODES$5; +/* number of Literal or Length codes, including the END_BLOCK code */ +var D_CODES$5 = 30; +/* number of distance codes */ +var BL_CODES$5 = 19; +/* number of codes used to transfer the bit lengths */ +var HEAP_SIZE$5 = 2 * L_CODES$5 + 1; +/* maximum heap size */ +var MAX_BITS$5 = 15; +/* All codes must not exceed MAX_BITS bits */ + +var MIN_MATCH$5 = 3; +var MAX_MATCH$5 = 258; +var MIN_LOOKAHEAD$2 = (MAX_MATCH$5 + MIN_MATCH$5 + 1); + +var PRESET_DICT$2 = 0x20; + +var INIT_STATE$2 = 42; +var EXTRA_STATE$2 = 69; +var NAME_STATE$2 = 73; +var COMMENT_STATE$2 = 91; +var HCRC_STATE$2 = 103; +var BUSY_STATE$2 = 113; +var FINISH_STATE$2 = 666; + +var BS_NEED_MORE$2 = 1; /* block not completed, need more input or more output */ +var BS_BLOCK_DONE$2 = 2; /* block flush performed */ +var BS_FINISH_STARTED$2 = 3; /* finish started, need only more output at next deflate */ +var BS_FINISH_DONE$2 = 4; /* finish done, accept no more input or output */ + +var OS_CODE$2 = 0x03; // Unix :) . Don't detect, use this default. + +function err$2(strm, errorCode) { + strm.msg = messages$2[errorCode]; + return errorCode; +} + +function rank$2(f) { + return ((f) << 1) - ((f) > 4 ? 9 : 0); +} + +function zero$5(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } } + + +/* ========================================================================= + * Flush as much pending output as possible. All deflate() output goes + * through this function so some applications may wish to modify it + * to avoid allocating a large strm->output buffer and copying into it. + * (See also read_buf()). + */ +function flush_pending$2(strm) { + var s = strm.state; + + //_tr_flush_bits(s); + var len = s.pending; + if (len > strm.avail_out) { + len = strm.avail_out; + } + if (len === 0) { return; } + + common$2.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out); + strm.next_out += len; + s.pending_out += len; + strm.total_out += len; + strm.avail_out -= len; + s.pending -= len; + if (s.pending === 0) { + s.pending_out = 0; + } +} + + +function flush_block_only$2(s, last) { + trees$2._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last); + s.block_start = s.strstart; + flush_pending$2(s.strm); +} + + +function put_byte$2(s, b) { + s.pending_buf[s.pending++] = b; +} + + +/* ========================================================================= + * Put a short in the pending buffer. The 16-bit value is put in MSB order. + * IN assertion: the stream state is correct and there is enough room in + * pending_buf. + */ +function putShortMSB$2(s, b) { +// put_byte(s, (Byte)(b >> 8)); +// put_byte(s, (Byte)(b & 0xff)); + s.pending_buf[s.pending++] = (b >>> 8) & 0xff; + s.pending_buf[s.pending++] = b & 0xff; +} + + +/* =========================================================================== + * Read a new buffer from the current input stream, update the adler32 + * and total number of bytes read. All deflate() input goes through + * this function so some applications may wish to modify it to avoid + * allocating a large strm->input buffer and copying from it. + * (See also flush_pending()). + */ +function read_buf$2(strm, buf, start, size) { + var len = strm.avail_in; + + if (len > size) { len = size; } + if (len === 0) { return 0; } + + strm.avail_in -= len; + + // zmemcpy(buf, strm->next_in, len); + common$2.arraySet(buf, strm.input, strm.next_in, len, start); + if (strm.state.wrap === 1) { + strm.adler = adler32_1$2(strm.adler, buf, len, start); + } + + else if (strm.state.wrap === 2) { + strm.adler = crc32_1$2(strm.adler, buf, len, start); + } + + strm.next_in += len; + strm.total_in += len; + + return len; +} + + +/* =========================================================================== + * Set match_start to the longest match starting at the given string and + * return its length. Matches shorter or equal to prev_length are discarded, + * in which case the result is equal to prev_length and match_start is + * garbage. + * IN assertions: cur_match is the head of the hash chain for the current + * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 + * OUT assertion: the match length is not greater than s->lookahead. + */ +function longest_match$2(s, cur_match) { + var chain_length = s.max_chain_length; /* max hash chain length */ + var scan = s.strstart; /* current string */ + var match; /* matched string */ + var len; /* length of current match */ + var best_len = s.prev_length; /* best match length so far */ + var nice_match = s.nice_match; /* stop if match long enough */ + var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD$2)) ? + s.strstart - (s.w_size - MIN_LOOKAHEAD$2) : 0/*NIL*/; + + var _win = s.window; // shortcut + + var wmask = s.w_mask; + var prev = s.prev; + + /* Stop when cur_match becomes <= limit. To simplify the code, + * we prevent matches with the string of window index 0. + */ + + var strend = s.strstart + MAX_MATCH$5; + var scan_end1 = _win[scan + best_len - 1]; + var scan_end = _win[scan + best_len]; + + /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. + * It is easy to get rid of this optimization if necessary. + */ + // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); + + /* Do not waste too much time if we already have a good match: */ + if (s.prev_length >= s.good_match) { + chain_length >>= 2; + } + /* Do not look for matches beyond the end of the input. This is necessary + * to make deflate deterministic. + */ + if (nice_match > s.lookahead) { nice_match = s.lookahead; } + + // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); + + do { + // Assert(cur_match < s->strstart, "no future"); + match = cur_match; + + /* Skip to next match if the match length cannot increase + * or if the match length is less than 2. Note that the checks below + * for insufficient lookahead only occur occasionally for performance + * reasons. Therefore uninitialized memory will be accessed, and + * conditional jumps will be made that depend on those values. + * However the length of the match is limited to the lookahead, so + * the output of deflate is not affected by the uninitialized values. + */ + + if (_win[match + best_len] !== scan_end || + _win[match + best_len - 1] !== scan_end1 || + _win[match] !== _win[scan] || + _win[++match] !== _win[scan + 1]) { + continue; + } + + /* The check at best_len-1 can be removed because it will be made + * again later. (This heuristic is not always a win.) + * It is not necessary to compare scan[2] and match[2] since they + * are always equal when the other bytes match, given that + * the hash keys are equal and that HASH_BITS >= 8. + */ + scan += 2; + match++; + // Assert(*scan == *match, "match[2]?"); + + /* We check for insufficient lookahead only every 8th comparison; + * the 256th check will be made at strstart+258. + */ + do { + /*jshint noempty:false*/ + } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && + scan < strend); + + // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); + + len = MAX_MATCH$5 - (strend - scan); + scan = strend - MAX_MATCH$5; + + if (len > best_len) { + s.match_start = cur_match; + best_len = len; + if (len >= nice_match) { + break; + } + scan_end1 = _win[scan + best_len - 1]; + scan_end = _win[scan + best_len]; + } + } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); + + if (best_len <= s.lookahead) { + return best_len; + } + return s.lookahead; +} + + +/* =========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead. + * + * IN assertion: lookahead < MIN_LOOKAHEAD + * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD + * At least one byte has been read, or avail_in == 0; reads are + * performed for at least two bytes (required for the zip translate_eol + * option -- not supported here). + */ +function fill_window$2(s) { + var _w_size = s.w_size; + var p, n, m, more, str; + + //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); + + do { + more = s.window_size - s.lookahead - s.strstart; + + // JS ints have 32 bit, block below not needed + /* Deal with !@#$% 64K limit: */ + //if (sizeof(int) <= 2) { + // if (more == 0 && s->strstart == 0 && s->lookahead == 0) { + // more = wsize; + // + // } else if (more == (unsigned)(-1)) { + // /* Very unlikely, but possible on 16 bit machine if + // * strstart == 0 && lookahead == 1 (input done a byte at time) + // */ + // more--; + // } + //} + + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD$2)) { + + common$2.arraySet(s.window, s.window, _w_size, _w_size, 0); + s.match_start -= _w_size; + s.strstart -= _w_size; + /* we now have strstart >= MAX_DIST */ + s.block_start -= _w_size; + + /* Slide the hash table (could be avoided with 32 bit values + at the expense of memory usage). We slide even when level == 0 + to keep the hash table consistent if we switch back to level > 0 + later. (Using level 0 permanently is not an optimal usage of + zlib, so we don't care about this pathological case.) + */ + + n = s.hash_size; + p = n; + do { + m = s.head[--p]; + s.head[p] = (m >= _w_size ? m - _w_size : 0); + } while (--n); + + n = _w_size; + p = n; + do { + m = s.prev[--p]; + s.prev[p] = (m >= _w_size ? m - _w_size : 0); + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + } while (--n); + + more += _w_size; + } + if (s.strm.avail_in === 0) { + break; + } + + /* If there was no sliding: + * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && + * more == window_size - lookahead - strstart + * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) + * => more >= window_size - 2*WSIZE + 2 + * In the BIG_MEM or MMAP case (not yet supported), + * window_size == input_size + MIN_LOOKAHEAD && + * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. + * Otherwise, window_size == 2*WSIZE so more >= 2. + * If there was sliding, more >= WSIZE. So in all cases, more >= 2. + */ + //Assert(more >= 2, "more < 2"); + n = read_buf$2(s.strm, s.window, s.strstart + s.lookahead, more); + s.lookahead += n; + + /* Initialize the hash value now that we have some input: */ + if (s.lookahead + s.insert >= MIN_MATCH$5) { + str = s.strstart - s.insert; + s.ins_h = s.window[str]; + + /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask; +//#if MIN_MATCH != 3 +// Call update_hash() MIN_MATCH-3 more times +//#endif + while (s.insert) { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$5 - 1]) & s.hash_mask; + + s.prev[str & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = str; + str++; + s.insert--; + if (s.lookahead + s.insert < MIN_MATCH$5) { + break; + } + } + } + /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, + * but this is not important since only literal bytes will be emitted. + */ + + } while (s.lookahead < MIN_LOOKAHEAD$2 && s.strm.avail_in !== 0); + + /* If the WIN_INIT bytes after the end of the current data have never been + * written, then zero those bytes in order to avoid memory check reports of + * the use of uninitialized (or uninitialised as Julian writes) bytes by + * the longest match routines. Update the high water mark for the next + * time through here. WIN_INIT is set to MAX_MATCH since the longest match + * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. + */ +// if (s.high_water < s.window_size) { +// var curr = s.strstart + s.lookahead; +// var init = 0; +// +// if (s.high_water < curr) { +// /* Previous high water mark below current data -- zero WIN_INIT +// * bytes or up to end of window, whichever is less. +// */ +// init = s.window_size - curr; +// if (init > WIN_INIT) +// init = WIN_INIT; +// zmemzero(s->window + curr, (unsigned)init); +// s->high_water = curr + init; +// } +// else if (s->high_water < (ulg)curr + WIN_INIT) { +// /* High water mark at or above current data, but below current data +// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up +// * to end of window, whichever is less. +// */ +// init = (ulg)curr + WIN_INIT - s->high_water; +// if (init > s->window_size - s->high_water) +// init = s->window_size - s->high_water; +// zmemzero(s->window + s->high_water, (unsigned)init); +// s->high_water += init; +// } +// } +// +// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, +// "not enough room for search"); +} + +/* =========================================================================== + * Copy without compression as much as possible from the input stream, return + * the current block state. + * This function does not insert new strings in the dictionary since + * uncompressible data is probably not useful. This function is used + * only for the level=0 compression option. + * NOTE: this function should be optimized to avoid extra copying from + * window to pending_buf. + */ +function deflate_stored$2(s, flush) { + /* Stored blocks are limited to 0xffff bytes, pending_buf is limited + * to pending_buf_size, and each stored block has a 5 byte header: + */ + var max_block_size = 0xffff; + + if (max_block_size > s.pending_buf_size - 5) { + max_block_size = s.pending_buf_size - 5; + } + + /* Copy as much as possible from input to output: */ + for (;;) { + /* Fill the window as much as possible: */ + if (s.lookahead <= 1) { + + //Assert(s->strstart < s->w_size+MAX_DIST(s) || + // s->block_start >= (long)s->w_size, "slide too late"); +// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) || +// s.block_start >= s.w_size)) { +// throw new Error("slide too late"); +// } + + fill_window$2(s); + if (s.lookahead === 0 && flush === Z_NO_FLUSH$4) { + return BS_NEED_MORE$2; + } + + if (s.lookahead === 0) { + break; + } + /* flush the current block */ + } + //Assert(s->block_start >= 0L, "block gone"); +// if (s.block_start < 0) throw new Error("block gone"); + + s.strstart += s.lookahead; + s.lookahead = 0; + + /* Emit a stored block if pending_buf will be full: */ + var max_start = s.block_start + max_block_size; + + if (s.strstart === 0 || s.strstart >= max_start) { + /* strstart == 0 is possible when wraparound on 16-bit machine */ + s.lookahead = s.strstart - max_start; + s.strstart = max_start; + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + + + } + /* Flush if we may have to slide, otherwise block_start may become + * negative and the data will be gone: + */ + if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD$2)) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + } + + s.insert = 0; + + if (flush === Z_FINISH$6) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$2(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$2; + } + /***/ + return BS_FINISH_DONE$2; + } + + if (s.strstart > s.block_start) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + + return BS_NEED_MORE$2; +} + +/* =========================================================================== + * Compress as much as possible from the input stream, return the current + * block state. + * This function does not perform lazy evaluation of matches and inserts + * new strings in the dictionary only for unmatched strings or for short + * matches. It is used only for the fast compression options. + */ +function deflate_fast$2(s, flush) { + var hash_head; /* head of the hash chain */ + var bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD$2) { + fill_window$2(s); + if (s.lookahead < MIN_LOOKAHEAD$2 && flush === Z_NO_FLUSH$4) { + return BS_NEED_MORE$2; + } + if (s.lookahead === 0) { + break; /* flush the current block */ + } + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0/*NIL*/; + if (s.lookahead >= MIN_MATCH$5) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$5 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ + if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD$2))) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match$2(s, hash_head); + /* longest_match() sets match_start */ + } + if (s.match_length >= MIN_MATCH$5) { + // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only + + /*** _tr_tally_dist(s, s.strstart - s.match_start, + s.match_length - MIN_MATCH, bflush); ***/ + bflush = trees$2._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH$5); + + s.lookahead -= s.match_length; + + /* Insert new strings in the hash table only if the match length + * is not too large. This saves time but degrades compression. + */ + if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH$5) { + s.match_length--; /* string at strstart already in table */ + do { + s.strstart++; + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$5 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. + */ + } while (--s.match_length !== 0); + s.strstart++; + } else + { + s.strstart += s.match_length; + s.match_length = 0; + s.ins_h = s.window[s.strstart]; + /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask; + +//#if MIN_MATCH != 3 +// Call UPDATE_HASH() MIN_MATCH-3 more times +//#endif + /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not + * matter since it will be recomputed at next deflate call. + */ + } + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s.window[s.strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees$2._tr_tally(s, 0, s.window[s.strstart]); + + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + } + s.insert = ((s.strstart < (MIN_MATCH$5 - 1)) ? s.strstart : MIN_MATCH$5 - 1); + if (flush === Z_FINISH$6) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$2(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$2; + } + /***/ + return BS_FINISH_DONE$2; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + return BS_BLOCK_DONE$2; +} + +/* =========================================================================== + * Same as above, but achieves better compression. We use a lazy + * evaluation for matches: a match is finally adopted only if there is + * no better match at the next window position. + */ +function deflate_slow$2(s, flush) { + var hash_head; /* head of hash chain */ + var bflush; /* set if current block must be flushed */ + + var max_insert; + + /* Process the input block. */ + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD$2) { + fill_window$2(s); + if (s.lookahead < MIN_LOOKAHEAD$2 && flush === Z_NO_FLUSH$4) { + return BS_NEED_MORE$2; + } + if (s.lookahead === 0) { break; } /* flush the current block */ + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0/*NIL*/; + if (s.lookahead >= MIN_MATCH$5) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$5 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + */ + s.prev_length = s.match_length; + s.prev_match = s.match_start; + s.match_length = MIN_MATCH$5 - 1; + + if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match && + s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD$2)/*MAX_DIST(s)*/) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match$2(s, hash_head); + /* longest_match() sets match_start */ + + if (s.match_length <= 5 && + (s.strategy === Z_FILTERED$2 || (s.match_length === MIN_MATCH$5 && s.strstart - s.match_start > 4096/*TOO_FAR*/))) { + + /* If prev_match is also MIN_MATCH, match_start is garbage + * but we will ignore the current match anyway. + */ + s.match_length = MIN_MATCH$5 - 1; + } + } + /* If there was a match at the previous step and the current + * match is not better, output the previous match: + */ + if (s.prev_length >= MIN_MATCH$5 && s.match_length <= s.prev_length) { + max_insert = s.strstart + s.lookahead - MIN_MATCH$5; + /* Do not insert strings in hash table beyond this. */ + + //check_match(s, s.strstart-1, s.prev_match, s.prev_length); + + /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match, + s.prev_length - MIN_MATCH, bflush);***/ + bflush = trees$2._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH$5); + /* Insert in hash table all strings up to the end of the match. + * strstart-1 and strstart are already inserted. If there is not + * enough lookahead, the last two strings are not inserted in + * the hash table. + */ + s.lookahead -= s.prev_length - 1; + s.prev_length -= 2; + do { + if (++s.strstart <= max_insert) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$5 - 1]) & s.hash_mask; + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + } while (--s.prev_length !== 0); + s.match_available = 0; + s.match_length = MIN_MATCH$5 - 1; + s.strstart++; + + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + + } else if (s.match_available) { + /* If there was no match at the previous position, output a + * single literal. If there was a match but the current match + * is longer, truncate the previous match to a single literal. + */ + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = trees$2._tr_tally(s, 0, s.window[s.strstart - 1]); + + if (bflush) { + /*** FLUSH_BLOCK_ONLY(s, 0) ***/ + flush_block_only$2(s, false); + /***/ + } + s.strstart++; + s.lookahead--; + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + } else { + /* There is no previous match to compare with, wait for + * the next step to decide. + */ + s.match_available = 1; + s.strstart++; + s.lookahead--; + } + } + //Assert (flush != Z_NO_FLUSH, "no flush?"); + if (s.match_available) { + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = trees$2._tr_tally(s, 0, s.window[s.strstart - 1]); + + s.match_available = 0; + } + s.insert = s.strstart < MIN_MATCH$5 - 1 ? s.strstart : MIN_MATCH$5 - 1; + if (flush === Z_FINISH$6) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$2(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$2; + } + /***/ + return BS_FINISH_DONE$2; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + + return BS_BLOCK_DONE$2; +} + + +/* =========================================================================== + * For Z_RLE, simply look for runs of bytes, generate matches only of distance + * one. Do not maintain a hash table. (It will be regenerated if this run of + * deflate switches away from Z_RLE.) + */ +function deflate_rle$2(s, flush) { + var bflush; /* set if current block must be flushed */ + var prev; /* byte at distance one to match */ + var scan, strend; /* scan goes up to strend for length of run */ + + var _win = s.window; + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the longest run, plus one for the unrolled loop. + */ + if (s.lookahead <= MAX_MATCH$5) { + fill_window$2(s); + if (s.lookahead <= MAX_MATCH$5 && flush === Z_NO_FLUSH$4) { + return BS_NEED_MORE$2; + } + if (s.lookahead === 0) { break; } /* flush the current block */ + } + + /* See how many times the previous byte repeats */ + s.match_length = 0; + if (s.lookahead >= MIN_MATCH$5 && s.strstart > 0) { + scan = s.strstart - 1; + prev = _win[scan]; + if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { + strend = s.strstart + MAX_MATCH$5; + do { + /*jshint noempty:false*/ + } while (prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + prev === _win[++scan] && prev === _win[++scan] && + scan < strend); + s.match_length = MAX_MATCH$5 - (strend - scan); + if (s.match_length > s.lookahead) { + s.match_length = s.lookahead; + } + } + //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); + } + + /* Emit match if have run of MIN_MATCH or longer, else emit literal */ + if (s.match_length >= MIN_MATCH$5) { + //check_match(s, s.strstart, s.strstart - 1, s.match_length); + + /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/ + bflush = trees$2._tr_tally(s, 1, s.match_length - MIN_MATCH$5); + + s.lookahead -= s.match_length; + s.strstart += s.match_length; + s.match_length = 0; + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees$2._tr_tally(s, 0, s.window[s.strstart]); + + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH$6) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$2(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$2; + } + /***/ + return BS_FINISH_DONE$2; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + return BS_BLOCK_DONE$2; +} + +/* =========================================================================== + * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. + * (It will be regenerated if this run of deflate switches away from Huffman.) + */ +function deflate_huff$2(s, flush) { + var bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we have a literal to write. */ + if (s.lookahead === 0) { + fill_window$2(s); + if (s.lookahead === 0) { + if (flush === Z_NO_FLUSH$4) { + return BS_NEED_MORE$2; + } + break; /* flush the current block */ + } + } + + /* Output a literal byte */ + s.match_length = 0; + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = trees$2._tr_tally(s, 0, s.window[s.strstart]); + s.lookahead--; + s.strstart++; + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH$6) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only$2(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED$2; + } + /***/ + return BS_FINISH_DONE$2; + } + if (s.last_lit) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only$2(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE$2; + } + /***/ + } + return BS_BLOCK_DONE$2; +} + +/* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ +function Config$2(good_length, max_lazy, nice_length, max_chain, func) { + this.good_length = good_length; + this.max_lazy = max_lazy; + this.nice_length = nice_length; + this.max_chain = max_chain; + this.func = func; +} + +var configuration_table$2; + +configuration_table$2 = [ + /* good lazy nice chain */ + new Config$2(0, 0, 0, 0, deflate_stored$2), /* 0 store only */ + new Config$2(4, 4, 8, 4, deflate_fast$2), /* 1 max speed, no lazy matches */ + new Config$2(4, 5, 16, 8, deflate_fast$2), /* 2 */ + new Config$2(4, 6, 32, 32, deflate_fast$2), /* 3 */ + + new Config$2(4, 4, 16, 16, deflate_slow$2), /* 4 lazy matches */ + new Config$2(8, 16, 32, 32, deflate_slow$2), /* 5 */ + new Config$2(8, 16, 128, 128, deflate_slow$2), /* 6 */ + new Config$2(8, 32, 128, 256, deflate_slow$2), /* 7 */ + new Config$2(32, 128, 258, 1024, deflate_slow$2), /* 8 */ + new Config$2(32, 258, 258, 4096, deflate_slow$2) /* 9 max compression */ +]; + + +/* =========================================================================== + * Initialize the "longest match" routines for a new zlib stream + */ +function lm_init$2(s) { + s.window_size = 2 * s.w_size; + + /*** CLEAR_HASH(s); ***/ + zero$5(s.head); // Fill with NIL (= 0); + + /* Set the default configuration parameters: + */ + s.max_lazy_match = configuration_table$2[s.level].max_lazy; + s.good_match = configuration_table$2[s.level].good_length; + s.nice_match = configuration_table$2[s.level].nice_length; + s.max_chain_length = configuration_table$2[s.level].max_chain; + + s.strstart = 0; + s.block_start = 0; + s.lookahead = 0; + s.insert = 0; + s.match_length = s.prev_length = MIN_MATCH$5 - 1; + s.match_available = 0; + s.ins_h = 0; +} + + +function DeflateState$2() { + this.strm = null; /* pointer back to this zlib stream */ + this.status = 0; /* as the name implies */ + this.pending_buf = null; /* output still pending */ + this.pending_buf_size = 0; /* size of pending_buf */ + this.pending_out = 0; /* next pending byte to output to the stream */ + this.pending = 0; /* nb of bytes in the pending buffer */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.gzhead = null; /* gzip header information to write */ + this.gzindex = 0; /* where in extra, name, or comment */ + this.method = Z_DEFLATED$6; /* can only be DEFLATED */ + this.last_flush = -1; /* value of flush param for previous deflate call */ + + this.w_size = 0; /* LZ77 window size (32K by default) */ + this.w_bits = 0; /* log2(w_size) (8..16) */ + this.w_mask = 0; /* w_size - 1 */ + + this.window = null; + /* Sliding window. Input bytes are read into the second half of the window, + * and move to the first half later to keep a dictionary of at least wSize + * bytes. With this organization, matches are limited to a distance of + * wSize-MAX_MATCH bytes, but this ensures that IO is always + * performed with a length multiple of the block size. + */ + + this.window_size = 0; + /* Actual size of window: 2*wSize, except when the user input buffer + * is directly used as sliding window. + */ + + this.prev = null; + /* Link to older string with same hash index. To limit the size of this + * array to 64K, this link is maintained only for the last 32K strings. + * An index in this array is thus a window index modulo 32K. + */ + + this.head = null; /* Heads of the hash chains or NIL. */ + + this.ins_h = 0; /* hash index of string to be inserted */ + this.hash_size = 0; /* number of elements in hash table */ + this.hash_bits = 0; /* log2(hash_size) */ + this.hash_mask = 0; /* hash_size-1 */ + + this.hash_shift = 0; + /* Number of bits by which ins_h must be shifted at each input + * step. It must be such that after MIN_MATCH steps, the oldest + * byte no longer takes part in the hash key, that is: + * hash_shift * MIN_MATCH >= hash_bits + */ + + this.block_start = 0; + /* Window position at the beginning of the current output block. Gets + * negative when the window is moved backwards. + */ + + this.match_length = 0; /* length of best match */ + this.prev_match = 0; /* previous match */ + this.match_available = 0; /* set if previous match exists */ + this.strstart = 0; /* start of string to insert */ + this.match_start = 0; /* start of matching string */ + this.lookahead = 0; /* number of valid bytes ahead in window */ + + this.prev_length = 0; + /* Length of the best match at previous step. Matches not greater than this + * are discarded. This is used in the lazy match evaluation. + */ + + this.max_chain_length = 0; + /* To speed up deflation, hash chains are never searched beyond this + * length. A higher limit improves compression ratio but degrades the + * speed. + */ + + this.max_lazy_match = 0; + /* Attempt to find a better match only when the current match is strictly + * smaller than this value. This mechanism is used only for compression + * levels >= 4. + */ + // That's alias to max_lazy_match, don't use directly + //this.max_insert_length = 0; + /* Insert new strings in the hash table only if the match length is not + * greater than this length. This saves time but degrades compression. + * max_insert_length is used only for compression levels <= 3. + */ + + this.level = 0; /* compression level (1..9) */ + this.strategy = 0; /* favor or force Huffman coding*/ + + this.good_match = 0; + /* Use a faster search when the previous match is longer than this */ + + this.nice_match = 0; /* Stop searching when current match exceeds this */ + + /* used by trees.c: */ + + /* Didn't use ct_data typedef below to suppress compiler warning */ + + // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ + // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ + // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ + + // Use flat array of DOUBLE size, with interleaved fata, + // because JS does not support effective + this.dyn_ltree = new common$2.Buf16(HEAP_SIZE$5 * 2); + this.dyn_dtree = new common$2.Buf16((2 * D_CODES$5 + 1) * 2); + this.bl_tree = new common$2.Buf16((2 * BL_CODES$5 + 1) * 2); + zero$5(this.dyn_ltree); + zero$5(this.dyn_dtree); + zero$5(this.bl_tree); + + this.l_desc = null; /* desc. for literal tree */ + this.d_desc = null; /* desc. for distance tree */ + this.bl_desc = null; /* desc. for bit length tree */ + + //ush bl_count[MAX_BITS+1]; + this.bl_count = new common$2.Buf16(MAX_BITS$5 + 1); + /* number of codes at each bit length for an optimal tree */ + + //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ + this.heap = new common$2.Buf16(2 * L_CODES$5 + 1); /* heap used to build the Huffman trees */ + zero$5(this.heap); + + this.heap_len = 0; /* number of elements in the heap */ + this.heap_max = 0; /* element of largest frequency */ + /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. + * The same heap array is used to build all trees. + */ + + this.depth = new common$2.Buf16(2 * L_CODES$5 + 1); //uch depth[2*L_CODES+1]; + zero$5(this.depth); + /* Depth of each subtree used as tie breaker for trees of equal frequency + */ + + this.l_buf = 0; /* buffer index for literals or lengths */ + + this.lit_bufsize = 0; + /* Size of match buffer for literals/lengths. There are 4 reasons for + * limiting lit_bufsize to 64K: + * - frequencies can be kept in 16 bit counters + * - if compression is not successful for the first block, all input + * data is still in the window so we can still emit a stored block even + * when input comes from standard input. (This can also be done for + * all blocks if lit_bufsize is not greater than 32K.) + * - if compression is not successful for a file smaller than 64K, we can + * even emit a stored file instead of a stored block (saving 5 bytes). + * This is applicable only for zip (not gzip or zlib). + * - creating new Huffman trees less frequently may not provide fast + * adaptation to changes in the input data statistics. (Take for + * example a binary file with poorly compressible code followed by + * a highly compressible string table.) Smaller buffer sizes give + * fast adaptation but have of course the overhead of transmitting + * trees more frequently. + * - I can't count above 4 + */ + + this.last_lit = 0; /* running index in l_buf */ + + this.d_buf = 0; + /* Buffer index for distances. To simplify the code, d_buf and l_buf have + * the same number of elements. To use different lengths, an extra flag + * array would be necessary. + */ + + this.opt_len = 0; /* bit length of current block with optimal trees */ + this.static_len = 0; /* bit length of current block with static trees */ + this.matches = 0; /* number of string matches in current block */ + this.insert = 0; /* bytes at end of window left to insert */ + + + this.bi_buf = 0; + /* Output buffer. bits are inserted starting at the bottom (least + * significant bits). + */ + this.bi_valid = 0; + /* Number of valid bits in bi_buf. All bits above the last valid bit + * are always zero. + */ + + // Used for window memory init. We safely ignore it for JS. That makes + // sense only for pointers and memory check tools. + //this.high_water = 0; + /* High water mark offset in window for initialized bytes -- bytes above + * this are set to zero in order to avoid memory check warnings when + * longest match routines access bytes past the input. This is then + * updated to the new high water mark. + */ +} + + +function deflateResetKeep$2(strm) { + var s; + + if (!strm || !strm.state) { + return err$2(strm, Z_STREAM_ERROR$4); + } + + strm.total_in = strm.total_out = 0; + strm.data_type = Z_UNKNOWN$5; + + s = strm.state; + s.pending = 0; + s.pending_out = 0; + + if (s.wrap < 0) { + s.wrap = -s.wrap; + /* was made negative by deflate(..., Z_FINISH); */ + } + s.status = (s.wrap ? INIT_STATE$2 : BUSY_STATE$2); + strm.adler = (s.wrap === 2) ? + 0 // crc32(0, Z_NULL, 0) + : + 1; // adler32(0, Z_NULL, 0) + s.last_flush = Z_NO_FLUSH$4; + trees$2._tr_init(s); + return Z_OK$6; +} + + +function deflateReset$2(strm) { + var ret = deflateResetKeep$2(strm); + if (ret === Z_OK$6) { + lm_init$2(strm.state); + } + return ret; +} + + +function deflateSetHeader$2(strm, head) { + if (!strm || !strm.state) { return Z_STREAM_ERROR$4; } + if (strm.state.wrap !== 2) { return Z_STREAM_ERROR$4; } + strm.state.gzhead = head; + return Z_OK$6; +} + + +function deflateInit2$2(strm, level, method, windowBits, memLevel, strategy) { + if (!strm) { // === Z_NULL + return Z_STREAM_ERROR$4; + } + var wrap = 1; + + if (level === Z_DEFAULT_COMPRESSION$4) { + level = 6; + } + + if (windowBits < 0) { /* suppress zlib wrapper */ + wrap = 0; + windowBits = -windowBits; + } + + else if (windowBits > 15) { + wrap = 2; /* write gzip wrapper instead */ + windowBits -= 16; + } + + + if (memLevel < 1 || memLevel > MAX_MEM_LEVEL$2 || method !== Z_DEFLATED$6 || + windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || + strategy < 0 || strategy > Z_FIXED$5) { + return err$2(strm, Z_STREAM_ERROR$4); + } + + + if (windowBits === 8) { + windowBits = 9; + } + /* until 256-byte window bug fixed */ + + var s = new DeflateState$2(); + + strm.state = s; + s.strm = strm; + + s.wrap = wrap; + s.gzhead = null; + s.w_bits = windowBits; + s.w_size = 1 << s.w_bits; + s.w_mask = s.w_size - 1; + + s.hash_bits = memLevel + 7; + s.hash_size = 1 << s.hash_bits; + s.hash_mask = s.hash_size - 1; + s.hash_shift = ~~((s.hash_bits + MIN_MATCH$5 - 1) / MIN_MATCH$5); + + s.window = new common$2.Buf8(s.w_size * 2); + s.head = new common$2.Buf16(s.hash_size); + s.prev = new common$2.Buf16(s.w_size); + + // Don't need mem init magic for JS. + //s.high_water = 0; /* nothing written to s->window yet */ + + s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ + + s.pending_buf_size = s.lit_bufsize * 4; + + //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); + //s->pending_buf = (uchf *) overlay; + s.pending_buf = new common$2.Buf8(s.pending_buf_size); + + // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`) + //s->d_buf = overlay + s->lit_bufsize/sizeof(ush); + s.d_buf = 1 * s.lit_bufsize; + + //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; + s.l_buf = (1 + 2) * s.lit_bufsize; + + s.level = level; + s.strategy = strategy; + s.method = method; + + return deflateReset$2(strm); +} + +function deflateInit$2(strm, level) { + return deflateInit2$2(strm, level, Z_DEFLATED$6, MAX_WBITS$4, DEF_MEM_LEVEL$2, Z_DEFAULT_STRATEGY$4); +} + + +function deflate$4(strm, flush) { + var old_flush, s; + var beg, val; // for gzip header write only + + if (!strm || !strm.state || + flush > Z_BLOCK$4 || flush < 0) { + return strm ? err$2(strm, Z_STREAM_ERROR$4) : Z_STREAM_ERROR$4; + } + + s = strm.state; + + if (!strm.output || + (!strm.input && strm.avail_in !== 0) || + (s.status === FINISH_STATE$2 && flush !== Z_FINISH$6)) { + return err$2(strm, (strm.avail_out === 0) ? Z_BUF_ERROR$4 : Z_STREAM_ERROR$4); + } + + s.strm = strm; /* just in case */ + old_flush = s.last_flush; + s.last_flush = flush; + + /* Write the header */ + if (s.status === INIT_STATE$2) { + + if (s.wrap === 2) { // GZIP header + strm.adler = 0; //crc32(0L, Z_NULL, 0); + put_byte$2(s, 31); + put_byte$2(s, 139); + put_byte$2(s, 8); + if (!s.gzhead) { // s->gzhead == Z_NULL + put_byte$2(s, 0); + put_byte$2(s, 0); + put_byte$2(s, 0); + put_byte$2(s, 0); + put_byte$2(s, 0); + put_byte$2(s, s.level === 9 ? 2 : + (s.strategy >= Z_HUFFMAN_ONLY$2 || s.level < 2 ? + 4 : 0)); + put_byte$2(s, OS_CODE$2); + s.status = BUSY_STATE$2; + } + else { + put_byte$2(s, (s.gzhead.text ? 1 : 0) + + (s.gzhead.hcrc ? 2 : 0) + + (!s.gzhead.extra ? 0 : 4) + + (!s.gzhead.name ? 0 : 8) + + (!s.gzhead.comment ? 0 : 16) + ); + put_byte$2(s, s.gzhead.time & 0xff); + put_byte$2(s, (s.gzhead.time >> 8) & 0xff); + put_byte$2(s, (s.gzhead.time >> 16) & 0xff); + put_byte$2(s, (s.gzhead.time >> 24) & 0xff); + put_byte$2(s, s.level === 9 ? 2 : + (s.strategy >= Z_HUFFMAN_ONLY$2 || s.level < 2 ? + 4 : 0)); + put_byte$2(s, s.gzhead.os & 0xff); + if (s.gzhead.extra && s.gzhead.extra.length) { + put_byte$2(s, s.gzhead.extra.length & 0xff); + put_byte$2(s, (s.gzhead.extra.length >> 8) & 0xff); + } + if (s.gzhead.hcrc) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending, 0); + } + s.gzindex = 0; + s.status = EXTRA_STATE$2; + } + } + else // DEFLATE header + { + var header = (Z_DEFLATED$6 + ((s.w_bits - 8) << 4)) << 8; + var level_flags = -1; + + if (s.strategy >= Z_HUFFMAN_ONLY$2 || s.level < 2) { + level_flags = 0; + } else if (s.level < 6) { + level_flags = 1; + } else if (s.level === 6) { + level_flags = 2; + } else { + level_flags = 3; + } + header |= (level_flags << 6); + if (s.strstart !== 0) { header |= PRESET_DICT$2; } + header += 31 - (header % 31); + + s.status = BUSY_STATE$2; + putShortMSB$2(s, header); + + /* Save the adler32 of the preset dictionary: */ + if (s.strstart !== 0) { + putShortMSB$2(s, strm.adler >>> 16); + putShortMSB$2(s, strm.adler & 0xffff); + } + strm.adler = 1; // adler32(0L, Z_NULL, 0); + } + } + +//#ifdef GZIP + if (s.status === EXTRA_STATE$2) { + if (s.gzhead.extra/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + + while (s.gzindex < (s.gzhead.extra.length & 0xffff)) { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending$2(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + break; + } + } + put_byte$2(s, s.gzhead.extra[s.gzindex] & 0xff); + s.gzindex++; + } + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (s.gzindex === s.gzhead.extra.length) { + s.gzindex = 0; + s.status = NAME_STATE$2; + } + } + else { + s.status = NAME_STATE$2; + } + } + if (s.status === NAME_STATE$2) { + if (s.gzhead.name/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + //int val; + + do { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending$2(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + val = 1; + break; + } + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.name.length) { + val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte$2(s, val); + } while (val !== 0); + + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (val === 0) { + s.gzindex = 0; + s.status = COMMENT_STATE$2; + } + } + else { + s.status = COMMENT_STATE$2; + } + } + if (s.status === COMMENT_STATE$2) { + if (s.gzhead.comment/* != Z_NULL*/) { + beg = s.pending; /* start of bytes to update crc */ + //int val; + + do { + if (s.pending === s.pending_buf_size) { + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending - beg, beg); + } + flush_pending$2(strm); + beg = s.pending; + if (s.pending === s.pending_buf_size) { + val = 1; + break; + } + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.comment.length) { + val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte$2(s, val); + } while (val !== 0); + + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1$2(strm.adler, s.pending_buf, s.pending - beg, beg); + } + if (val === 0) { + s.status = HCRC_STATE$2; + } + } + else { + s.status = HCRC_STATE$2; + } + } + if (s.status === HCRC_STATE$2) { + if (s.gzhead.hcrc) { + if (s.pending + 2 > s.pending_buf_size) { + flush_pending$2(strm); + } + if (s.pending + 2 <= s.pending_buf_size) { + put_byte$2(s, strm.adler & 0xff); + put_byte$2(s, (strm.adler >> 8) & 0xff); + strm.adler = 0; //crc32(0L, Z_NULL, 0); + s.status = BUSY_STATE$2; + } + } + else { + s.status = BUSY_STATE$2; + } + } +//#endif + + /* Flush as much pending output as possible */ + if (s.pending !== 0) { + flush_pending$2(strm); + if (strm.avail_out === 0) { + /* Since avail_out is 0, deflate will be called again with + * more output space, but possibly with both pending and + * avail_in equal to zero. There won't be anything to do, + * but this is not an error situation so make sure we + * return OK instead of BUF_ERROR at next call of deflate: + */ + s.last_flush = -1; + return Z_OK$6; + } + + /* Make sure there is something to do and avoid duplicate consecutive + * flushes. For repeated and useless calls with Z_FINISH, we keep + * returning Z_STREAM_END instead of Z_BUF_ERROR. + */ + } else if (strm.avail_in === 0 && rank$2(flush) <= rank$2(old_flush) && + flush !== Z_FINISH$6) { + return err$2(strm, Z_BUF_ERROR$4); + } + + /* User must not provide more input after the first FINISH: */ + if (s.status === FINISH_STATE$2 && strm.avail_in !== 0) { + return err$2(strm, Z_BUF_ERROR$4); + } + + /* Start a new block or continue the current one. + */ + if (strm.avail_in !== 0 || s.lookahead !== 0 || + (flush !== Z_NO_FLUSH$4 && s.status !== FINISH_STATE$2)) { + var bstate = (s.strategy === Z_HUFFMAN_ONLY$2) ? deflate_huff$2(s, flush) : + (s.strategy === Z_RLE$2 ? deflate_rle$2(s, flush) : + configuration_table$2[s.level].func(s, flush)); + + if (bstate === BS_FINISH_STARTED$2 || bstate === BS_FINISH_DONE$2) { + s.status = FINISH_STATE$2; + } + if (bstate === BS_NEED_MORE$2 || bstate === BS_FINISH_STARTED$2) { + if (strm.avail_out === 0) { + s.last_flush = -1; + /* avoid BUF_ERROR next call, see above */ + } + return Z_OK$6; + /* If flush != Z_NO_FLUSH && avail_out == 0, the next call + * of deflate should use the same flush parameter to make sure + * that the flush is complete. So we don't have to output an + * empty block here, this will be done at next call. This also + * ensures that for a very small output buffer, we emit at most + * one empty block. + */ + } + if (bstate === BS_BLOCK_DONE$2) { + if (flush === Z_PARTIAL_FLUSH$2) { + trees$2._tr_align(s); + } + else if (flush !== Z_BLOCK$4) { /* FULL_FLUSH or SYNC_FLUSH */ + + trees$2._tr_stored_block(s, 0, 0, false); + /* For a full flush, this empty block will be recognized + * as a special marker by inflate_sync(). + */ + if (flush === Z_FULL_FLUSH$2) { + /*** CLEAR_HASH(s); ***/ /* forget history */ + zero$5(s.head); // Fill with NIL (= 0); + + if (s.lookahead === 0) { + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + } + } + flush_pending$2(strm); + if (strm.avail_out === 0) { + s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */ + return Z_OK$6; + } + } + } + //Assert(strm->avail_out > 0, "bug2"); + //if (strm.avail_out <= 0) { throw new Error("bug2");} + + if (flush !== Z_FINISH$6) { return Z_OK$6; } + if (s.wrap <= 0) { return Z_STREAM_END$6; } + + /* Write the trailer */ + if (s.wrap === 2) { + put_byte$2(s, strm.adler & 0xff); + put_byte$2(s, (strm.adler >> 8) & 0xff); + put_byte$2(s, (strm.adler >> 16) & 0xff); + put_byte$2(s, (strm.adler >> 24) & 0xff); + put_byte$2(s, strm.total_in & 0xff); + put_byte$2(s, (strm.total_in >> 8) & 0xff); + put_byte$2(s, (strm.total_in >> 16) & 0xff); + put_byte$2(s, (strm.total_in >> 24) & 0xff); + } + else + { + putShortMSB$2(s, strm.adler >>> 16); + putShortMSB$2(s, strm.adler & 0xffff); + } + + flush_pending$2(strm); + /* If avail_out is zero, the application will call deflate again + * to flush the rest. + */ + if (s.wrap > 0) { s.wrap = -s.wrap; } + /* write the trailer only once! */ + return s.pending !== 0 ? Z_OK$6 : Z_STREAM_END$6; +} + +function deflateEnd$2(strm) { + var status; + + if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { + return Z_STREAM_ERROR$4; + } + + status = strm.state.status; + if (status !== INIT_STATE$2 && + status !== EXTRA_STATE$2 && + status !== NAME_STATE$2 && + status !== COMMENT_STATE$2 && + status !== HCRC_STATE$2 && + status !== BUSY_STATE$2 && + status !== FINISH_STATE$2 + ) { + return err$2(strm, Z_STREAM_ERROR$4); + } + + strm.state = null; + + return status === BUSY_STATE$2 ? err$2(strm, Z_DATA_ERROR$4) : Z_OK$6; +} + + +/* ========================================================================= + * Initializes the compression dictionary from the given byte + * sequence without producing any compressed output. + */ +function deflateSetDictionary$2(strm, dictionary) { + var dictLength = dictionary.length; + + var s; + var str, n; + var wrap; + var avail; + var next; + var input; + var tmpDict; + + if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) { + return Z_STREAM_ERROR$4; + } + + s = strm.state; + wrap = s.wrap; + + if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE$2) || s.lookahead) { + return Z_STREAM_ERROR$4; + } + + /* when using zlib wrappers, compute Adler-32 for provided dictionary */ + if (wrap === 1) { + /* adler32(strm->adler, dictionary, dictLength); */ + strm.adler = adler32_1$2(strm.adler, dictionary, dictLength, 0); + } + + s.wrap = 0; /* avoid computing Adler-32 in read_buf */ + + /* if dictionary would fill window, just replace the history */ + if (dictLength >= s.w_size) { + if (wrap === 0) { /* already empty otherwise */ + /*** CLEAR_HASH(s); ***/ + zero$5(s.head); // Fill with NIL (= 0); + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + /* use the tail */ + // dictionary = dictionary.slice(dictLength - s.w_size); + tmpDict = new common$2.Buf8(s.w_size); + common$2.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0); + dictionary = tmpDict; + dictLength = s.w_size; + } + /* insert dictionary into window and hash */ + avail = strm.avail_in; + next = strm.next_in; + input = strm.input; + strm.avail_in = dictLength; + strm.next_in = 0; + strm.input = dictionary; + fill_window$2(s); + while (s.lookahead >= MIN_MATCH$5) { + str = s.strstart; + n = s.lookahead - (MIN_MATCH$5 - 1); + do { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$5 - 1]) & s.hash_mask; + + s.prev[str & s.w_mask] = s.head[s.ins_h]; + + s.head[s.ins_h] = str; + str++; + } while (--n); + s.strstart = str; + s.lookahead = MIN_MATCH$5 - 1; + fill_window$2(s); + } + s.strstart += s.lookahead; + s.block_start = s.strstart; + s.insert = s.lookahead; + s.lookahead = 0; + s.match_length = s.prev_length = MIN_MATCH$5 - 1; + s.match_available = 0; + strm.next_in = next; + strm.input = input; + strm.avail_in = avail; + s.wrap = wrap; + return Z_OK$6; +} + + +var deflateInit_1$2 = deflateInit$2; +var deflateInit2_1$2 = deflateInit2$2; +var deflateReset_1$2 = deflateReset$2; +var deflateResetKeep_1$2 = deflateResetKeep$2; +var deflateSetHeader_1$2 = deflateSetHeader$2; +var deflate_2$4 = deflate$4; +var deflateEnd_1$2 = deflateEnd$2; +var deflateSetDictionary_1$2 = deflateSetDictionary$2; +var deflateInfo$2 = 'pako deflate (from Nodeca project)'; + +/* Not implemented +exports.deflateBound = deflateBound; +exports.deflateCopy = deflateCopy; +exports.deflateParams = deflateParams; +exports.deflatePending = deflatePending; +exports.deflatePrime = deflatePrime; +exports.deflateTune = deflateTune; +*/ + +var deflate_1$4 = { + deflateInit: deflateInit_1$2, + deflateInit2: deflateInit2_1$2, + deflateReset: deflateReset_1$2, + deflateResetKeep: deflateResetKeep_1$2, + deflateSetHeader: deflateSetHeader_1$2, + deflate: deflate_2$4, + deflateEnd: deflateEnd_1$2, + deflateSetDictionary: deflateSetDictionary_1$2, + deflateInfo: deflateInfo$2 +}; + +// Quick check if we can use fast array to bin string conversion +// +// - apply(Array) can fail on Android 2.2 +// - apply(Uint8Array) can fail on iOS 5.1 Safari +// +var STR_APPLY_OK$2 = true; +var STR_APPLY_UIA_OK$2 = true; + +try { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK$2 = false; } +try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK$2 = false; } + + +// Table with utf8 lengths (calculated by first byte of sequence) +// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS, +// because max possible codepoint is 0x10ffff +var _utf8len$2 = new common$2.Buf8(256); +for (var q$2 = 0; q$2 < 256; q$2++) { + _utf8len$2[q$2] = (q$2 >= 252 ? 6 : q$2 >= 248 ? 5 : q$2 >= 240 ? 4 : q$2 >= 224 ? 3 : q$2 >= 192 ? 2 : 1); +} +_utf8len$2[254] = _utf8len$2[254] = 1; // Invalid sequence start + + +// convert string to array (typed, when possible) +var string2buf$2 = function (str) { + var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; + + // count binary size + for (m_pos = 0; m_pos < str_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; + } + + // allocate buffer + buf = new common$2.Buf8(buf_len); + + // convert + for (i = 0, m_pos = 0; i < buf_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00); + m_pos++; + } + } + if (c < 0x80) { + /* one byte */ + buf[i++] = c; + } else if (c < 0x800) { + /* two bytes */ + buf[i++] = 0xC0 | (c >>> 6); + buf[i++] = 0x80 | (c & 0x3f); + } else if (c < 0x10000) { + /* three bytes */ + buf[i++] = 0xE0 | (c >>> 12); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } else { + /* four bytes */ + buf[i++] = 0xf0 | (c >>> 18); + buf[i++] = 0x80 | (c >>> 12 & 0x3f); + buf[i++] = 0x80 | (c >>> 6 & 0x3f); + buf[i++] = 0x80 | (c & 0x3f); + } + } + + return buf; +}; + +// Helper (used in 2 places) +function buf2binstring$2(buf, len) { + // On Chrome, the arguments in a function call that are allowed is `65534`. + // If the length of the buffer is smaller than that, we can use this optimization, + // otherwise we will take a slower path. + if (len < 65534) { + if ((buf.subarray && STR_APPLY_UIA_OK$2) || (!buf.subarray && STR_APPLY_OK$2)) { + return String.fromCharCode.apply(null, common$2.shrinkBuf(buf, len)); + } + } + + var result = ''; + for (var i = 0; i < len; i++) { + result += String.fromCharCode(buf[i]); + } + return result; +} + + +// Convert byte array to binary string +var buf2binstring_1$2 = function (buf) { + return buf2binstring$2(buf, buf.length); +}; + + +// Convert binary string (typed, when possible) +var binstring2buf$2 = function (str) { + var buf = new common$2.Buf8(str.length); + for (var i = 0, len = buf.length; i < len; i++) { + buf[i] = str.charCodeAt(i); + } + return buf; +}; + + +// convert array to string +var buf2string$2 = function (buf, max) { + var i, out, c, c_len; + var len = max || buf.length; + + // Reserve max possible length (2 words per char) + // NB: by unknown reasons, Array is significantly faster for + // String.fromCharCode.apply than Uint16Array. + var utf16buf = new Array(len * 2); + + for (out = 0, i = 0; i < len;) { + c = buf[i++]; + // quick process ascii + if (c < 0x80) { utf16buf[out++] = c; continue; } + + c_len = _utf8len$2[c]; + // skip 5 & 6 byte codes + if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; } + + // apply mask on first byte + c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07; + // join the rest + while (c_len > 1 && i < len) { + c = (c << 6) | (buf[i++] & 0x3f); + c_len--; + } + + // terminated by end of string? + if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; } + + if (c < 0x10000) { + utf16buf[out++] = c; + } else { + c -= 0x10000; + utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff); + utf16buf[out++] = 0xdc00 | (c & 0x3ff); + } + } + + return buf2binstring$2(utf16buf, out); +}; + + +// Calculate max possible position in utf8 buffer, +// that will not break sequence. If that's not possible +// - (very small limits) return max size as is. +// +// buf[] - utf8 bytes array +// max - length limit (mandatory); +var utf8border$2 = function (buf, max) { + var pos; + + max = max || buf.length; + if (max > buf.length) { max = buf.length; } + + // go back from last position, until start of sequence found + pos = max - 1; + while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; } + + // Very small and broken sequence, + // return max, because we should return something anyway. + if (pos < 0) { return max; } + + // If we came to start of buffer - that means buffer is too small, + // return max too. + if (pos === 0) { return max; } + + return (pos + _utf8len$2[buf[pos]] > max) ? pos : max; +}; + +var strings$2 = { + string2buf: string2buf$2, + buf2binstring: buf2binstring_1$2, + binstring2buf: binstring2buf$2, + buf2string: buf2string$2, + utf8border: utf8border$2 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function ZStream$2() { + /* next input byte */ + this.input = null; // JS specific, because we have no pointers + this.next_in = 0; + /* number of bytes available at input */ + this.avail_in = 0; + /* total number of input bytes read so far */ + this.total_in = 0; + /* next output byte should be put there */ + this.output = null; // JS specific, because we have no pointers + this.next_out = 0; + /* remaining free space at output */ + this.avail_out = 0; + /* total number of bytes output so far */ + this.total_out = 0; + /* last error message, NULL if no error */ + this.msg = ''/*Z_NULL*/; + /* not visible by applications */ + this.state = null; + /* best guess about the data type: binary or text */ + this.data_type = 2/*Z_UNKNOWN*/; + /* adler32 value of the uncompressed data */ + this.adler = 0; +} + +var zstream$2 = ZStream$2; + +var toString$4 = Object.prototype.toString; + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + +var Z_NO_FLUSH$5 = 0; +var Z_FINISH$7 = 4; + +var Z_OK$7 = 0; +var Z_STREAM_END$7 = 1; +var Z_SYNC_FLUSH$2 = 2; + +var Z_DEFAULT_COMPRESSION$5 = -1; + +var Z_DEFAULT_STRATEGY$5 = 0; + +var Z_DEFLATED$7 = 8; + +/* ===========================================================================*/ + + +/** + * class Deflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[deflate]], + * [[deflateRaw]] and [[gzip]]. + **/ + +/* internal + * Deflate.chunks -> Array + * + * Chunks of output data, if [[Deflate#onData]] not overridden. + **/ + +/** + * Deflate.result -> Uint8Array|Array + * + * Compressed result, generated by default [[Deflate#onData]] + * and [[Deflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you + * push a chunk with explicit flush (call [[Deflate#push]] with + * `Z_SYNC_FLUSH` param). + **/ + +/** + * Deflate.err -> Number + * + * Error code after deflate finished. 0 (Z_OK) on success. + * You will not need it in real life, because deflate errors + * are possible only on wrong options or bad `onData` / `onEnd` + * custom handlers. + **/ + +/** + * Deflate.msg -> String + * + * Error message, if [[Deflate.err]] != 0 + **/ + + +/** + * new Deflate(options) + * - options (Object): zlib deflate options. + * + * Creates new deflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `level` + * - `windowBits` + * - `memLevel` + * - `strategy` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw deflate + * - `gzip` (Boolean) - create gzip wrapper + * - `to` (String) - if equal to 'string', then result will be "binary string" + * (each char code [0..255]) + * - `header` (Object) - custom header for gzip + * - `text` (Boolean) - true if compressed data believed to be text + * - `time` (Number) - modification time, unix timestamp + * - `os` (Number) - operation system code + * - `extra` (Array) - array of bytes with extra data (max 65536) + * - `name` (String) - file name (binary string) + * - `comment` (String) - comment (binary string) + * - `hcrc` (Boolean) - true if header crc should be added + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * var deflate = new pako.Deflate({ level: 3}); + * + * deflate.push(chunk1, false); + * deflate.push(chunk2, true); // true -> last chunk + * + * if (deflate.err) { throw new Error(deflate.err); } + * + * console.log(deflate.result); + * ``` + **/ +function Deflate$2(options) { + if (!(this instanceof Deflate$2)) return new Deflate$2(options); + + this.options = common$2.assign({ + level: Z_DEFAULT_COMPRESSION$5, + method: Z_DEFLATED$7, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: Z_DEFAULT_STRATEGY$5, + to: '' + }, options || {}); + + var opt = this.options; + + if (opt.raw && (opt.windowBits > 0)) { + opt.windowBits = -opt.windowBits; + } + + else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) { + opt.windowBits += 16; + } + + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream$2(); + this.strm.avail_out = 0; + + var status = deflate_1$4.deflateInit2( + this.strm, + opt.level, + opt.method, + opt.windowBits, + opt.memLevel, + opt.strategy + ); + + if (status !== Z_OK$7) { + throw new Error(messages$2[status]); + } + + if (opt.header) { + deflate_1$4.deflateSetHeader(this.strm, opt.header); + } + + if (opt.dictionary) { + var dict; + // Convert data if needed + if (typeof opt.dictionary === 'string') { + // If we need to compress text, change encoding to utf8. + dict = strings$2.string2buf(opt.dictionary); + } else if (toString$4.call(opt.dictionary) === '[object ArrayBuffer]') { + dict = new Uint8Array(opt.dictionary); + } else { + dict = opt.dictionary; + } + + status = deflate_1$4.deflateSetDictionary(this.strm, dict); + + if (status !== Z_OK$7) { + throw new Error(messages$2[status]); + } + + this._dict_set = true; + } +} + +/** + * Deflate#push(data[, mode]) -> Boolean + * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be + * converted to utf8 byte sequence. + * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with + * new compressed chunks. Returns `true` on success. The last data block must have + * mode Z_FINISH (or `true`). That will flush internal pending buffers and call + * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you + * can use mode Z_SYNC_FLUSH, keeping the compression context. + * + * On fail call [[Deflate#onEnd]] with error code and return false. + * + * We strongly recommend to use `Uint8Array` on input for best speed (output + * array format is detected automatically). Also, don't skip last param and always + * use the same type in your code (boolean or number). That will improve JS speed. + * + * For regular `Array`-s make sure all elements are [0..255]. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ +Deflate$2.prototype.push = function (data, mode) { + var strm = this.strm; + var chunkSize = this.options.chunkSize; + var status, _mode; + + if (this.ended) { return false; } + + _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH$7 : Z_NO_FLUSH$5); + + // Convert data if needed + if (typeof data === 'string') { + // If we need to compress text, change encoding to utf8. + strm.input = strings$2.string2buf(data); + } else if (toString$4.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + + strm.next_in = 0; + strm.avail_in = strm.input.length; + + do { + if (strm.avail_out === 0) { + strm.output = new common$2.Buf8(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + status = deflate_1$4.deflate(strm, _mode); /* no bad return value */ + + if (status !== Z_STREAM_END$7 && status !== Z_OK$7) { + this.onEnd(status); + this.ended = true; + return false; + } + if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH$7 || _mode === Z_SYNC_FLUSH$2))) { + if (this.options.to === 'string') { + this.onData(strings$2.buf2binstring(common$2.shrinkBuf(strm.output, strm.next_out))); + } else { + this.onData(common$2.shrinkBuf(strm.output, strm.next_out)); + } + } + } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END$7); + + // Finalize on the last chunk. + if (_mode === Z_FINISH$7) { + status = deflate_1$4.deflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === Z_OK$7; + } + + // callback interim results if Z_SYNC_FLUSH. + if (_mode === Z_SYNC_FLUSH$2) { + this.onEnd(Z_OK$7); + strm.avail_out = 0; + return true; + } + + return true; +}; + + +/** + * Deflate#onData(chunk) -> Void + * - chunk (Uint8Array|Array|String): output data. Type of array depends + * on js engine support. When string output requested, each chunk + * will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ +Deflate$2.prototype.onData = function (chunk) { + this.chunks.push(chunk); +}; + + +/** + * Deflate#onEnd(status) -> Void + * - status (Number): deflate status. 0 (Z_OK) on success, + * other if not. + * + * Called once after you tell deflate that the input stream is + * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH) + * or if an error happened. By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ +Deflate$2.prototype.onEnd = function (status) { + // On success - join + if (status === Z_OK$7) { + if (this.options.to === 'string') { + this.result = this.chunks.join(''); + } else { + this.result = common$2.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; +}; + + +/** + * deflate(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * Compress `data` with deflate algorithm and `options`. + * + * Supported options are: + * + * - level + * - windowBits + * - memLevel + * - strategy + * - dictionary + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be "binary string" + * (each char code [0..255]) + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , data = Uint8Array([1,2,3,4,5,6,7,8,9]); + * + * console.log(pako.deflate(data)); + * ``` + **/ +function deflate$5(input, options) { + var deflator = new Deflate$2(options); + + deflator.push(input, true); + + // That will never happens, if you don't cheat with options :) + if (deflator.err) { throw deflator.msg || messages$2[deflator.err]; } + + return deflator.result; +} + + +/** + * deflateRaw(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * The same as [[deflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ +function deflateRaw$2(input, options) { + options = options || {}; + options.raw = true; + return deflate$5(input, options); +} + + +/** + * gzip(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to compress. + * - options (Object): zlib deflate options. + * + * The same as [[deflate]], but create gzip wrapper instead of + * deflate one. + **/ +function gzip$2(input, options) { + options = options || {}; + options.gzip = true; + return deflate$5(input, options); +} + + +var Deflate_1$2 = Deflate$2; +var deflate_2$5 = deflate$5; +var deflateRaw_1$2 = deflateRaw$2; +var gzip_1$2 = gzip$2; + +var deflate_1$5 = { + Deflate: Deflate_1$2, + deflate: deflate_2$5, + deflateRaw: deflateRaw_1$2, + gzip: gzip_1$2 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +// See state defs from inflate.js +var BAD$4 = 30; /* got a data error -- remain here until reset */ +var TYPE$4 = 12; /* i: waiting for type bits, including last-flag bit */ + +/* + Decode literal, length, and distance codes and write out the resulting + literal and match bytes until either not enough input or output is + available, an end-of-block is encountered, or a data error is encountered. + When large enough input and output buffers are supplied to inflate(), for + example, a 16K input buffer and a 64K output buffer, more than 95% of the + inflate execution time is spent in this routine. + + Entry assumptions: + + state.mode === LEN + strm.avail_in >= 6 + strm.avail_out >= 258 + start >= strm.avail_out + state.bits < 8 + + On return, state.mode is one of: + + LEN -- ran out of enough output space or enough available input + TYPE -- reached end of block code, inflate() to interpret next block + BAD -- error in block data + + Notes: + + - The maximum input bits used by a length/distance pair is 15 bits for the + length code, 5 bits for the length extra, 15 bits for the distance code, + and 13 bits for the distance extra. This totals 48 bits, or six bytes. + Therefore if strm.avail_in >= 6, then there is enough input to avoid + checking for available input while decoding. + + - The maximum bytes that a single length/distance pair can output is 258 + bytes, which is the maximum length that can be coded. inflate_fast() + requires strm.avail_out >= 258 for each loop to avoid checking for + output space. + */ +var inffast$2 = function inflate_fast(strm, start) { + var state; + var _in; /* local strm.input */ + var last; /* have enough input while in < last */ + var _out; /* local strm.output */ + var beg; /* inflate()'s initial strm.output */ + var end; /* while out < end, enough space available */ +//#ifdef INFLATE_STRICT + var dmax; /* maximum distance from zlib header */ +//#endif + var wsize; /* window size or zero if not using window */ + var whave; /* valid bytes in the window */ + var wnext; /* window write index */ + // Use `s_window` instead `window`, avoid conflict with instrumentation tools + var s_window; /* allocated sliding window, if wsize != 0 */ + var hold; /* local strm.hold */ + var bits; /* local strm.bits */ + var lcode; /* local strm.lencode */ + var dcode; /* local strm.distcode */ + var lmask; /* mask for first level of length codes */ + var dmask; /* mask for first level of distance codes */ + var here; /* retrieved table entry */ + var op; /* code bits, operation, extra bits, or */ + /* window position, window bytes to copy */ + var len; /* match length, unused bytes */ + var dist; /* match distance */ + var from; /* where to copy match from */ + var from_source; + + + var input, output; // JS specific, because we have no pointers + + /* copy state to local variables */ + state = strm.state; + //here = state.here; + _in = strm.next_in; + input = strm.input; + last = _in + (strm.avail_in - 5); + _out = strm.next_out; + output = strm.output; + beg = _out - (start - strm.avail_out); + end = _out + (strm.avail_out - 257); +//#ifdef INFLATE_STRICT + dmax = state.dmax; +//#endif + wsize = state.wsize; + whave = state.whave; + wnext = state.wnext; + s_window = state.window; + hold = state.hold; + bits = state.bits; + lcode = state.lencode; + dcode = state.distcode; + lmask = (1 << state.lenbits) - 1; + dmask = (1 << state.distbits) - 1; + + + /* decode literals and length/distances until end-of-block or not enough + input data or output space */ + + top: + do { + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + + here = lcode[hold & lmask]; + + dolen: + for (;;) { // Goto emulation + op = here >>> 24/*here.bits*/; + hold >>>= op; + bits -= op; + op = (here >>> 16) & 0xff/*here.op*/; + if (op === 0) { /* literal */ + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + output[_out++] = here & 0xffff/*here.val*/; + } + else if (op & 16) { /* length base */ + len = here & 0xffff/*here.val*/; + op &= 15; /* number of extra bits */ + if (op) { + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + len += hold & ((1 << op) - 1); + hold >>>= op; + bits -= op; + } + //Tracevv((stderr, "inflate: length %u\n", len)); + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + here = dcode[hold & dmask]; + + dodist: + for (;;) { // goto emulation + op = here >>> 24/*here.bits*/; + hold >>>= op; + bits -= op; + op = (here >>> 16) & 0xff/*here.op*/; + + if (op & 16) { /* distance base */ + dist = here & 0xffff/*here.val*/; + op &= 15; /* number of extra bits */ + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + } + dist += hold & ((1 << op) - 1); +//#ifdef INFLATE_STRICT + if (dist > dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$4; + break top; + } +//#endif + hold >>>= op; + bits -= op; + //Tracevv((stderr, "inflate: distance %u\n", dist)); + op = _out - beg; /* max distance in output */ + if (dist > op) { /* see if copy from window */ + op = dist - op; /* distance back in window */ + if (op > whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$4; + break top; + } + +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility +//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR +// if (len <= op - whave) { +// do { +// output[_out++] = 0; +// } while (--len); +// continue top; +// } +// len -= op - whave; +// do { +// output[_out++] = 0; +// } while (--op > whave); +// if (op === 0) { +// from = _out - dist; +// do { +// output[_out++] = output[from++]; +// } while (--len); +// continue top; +// } +//#endif + } + from = 0; // window index + from_source = s_window; + if (wnext === 0) { /* very common case */ + from += wsize - op; + if (op < len) { /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + else if (wnext < op) { /* wrap around window */ + from += wsize + wnext - op; + op -= wnext; + if (op < len) { /* some from end of window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = 0; + if (wnext < len) { /* some from start of window */ + op = wnext; + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + } + else { /* contiguous in window */ + from += wnext - op; + if (op < len) { /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + while (len > 2) { + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + len -= 3; + } + if (len) { + output[_out++] = from_source[from++]; + if (len > 1) { + output[_out++] = from_source[from++]; + } + } + } + else { + from = _out - dist; /* copy direct from output */ + do { /* minimum length is three */ + output[_out++] = output[from++]; + output[_out++] = output[from++]; + output[_out++] = output[from++]; + len -= 3; + } while (len > 2); + if (len) { + output[_out++] = output[from++]; + if (len > 1) { + output[_out++] = output[from++]; + } + } + } + } + else if ((op & 64) === 0) { /* 2nd level distance code */ + here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; + continue dodist; + } + else { + strm.msg = 'invalid distance code'; + state.mode = BAD$4; + break top; + } + + break; // need to emulate goto via "continue" + } + } + else if ((op & 64) === 0) { /* 2nd level length code */ + here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))]; + continue dolen; + } + else if (op & 32) { /* end-of-block */ + //Tracevv((stderr, "inflate: end of block\n")); + state.mode = TYPE$4; + break top; + } + else { + strm.msg = 'invalid literal/length code'; + state.mode = BAD$4; + break top; + } + + break; // need to emulate goto via "continue" + } + } while (_in < last && _out < end); + + /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ + len = bits >> 3; + _in -= len; + bits -= len << 3; + hold &= (1 << bits) - 1; + + /* update state and return */ + strm.next_in = _in; + strm.next_out = _out; + strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last)); + strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end)); + state.hold = hold; + state.bits = bits; + return; +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + +var MAXBITS$2 = 15; +var ENOUGH_LENS$4 = 852; +var ENOUGH_DISTS$4 = 592; +//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + +var CODES$4 = 0; +var LENS$4 = 1; +var DISTS$4 = 2; + +var lbase$2 = [ /* Length codes 257..285 base */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, + 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 +]; + +var lext$2 = [ /* Length codes 257..285 extra */ + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 +]; + +var dbase$2 = [ /* Distance codes 0..29 base */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, + 8193, 12289, 16385, 24577, 0, 0 +]; + +var dext$2 = [ /* Distance codes 0..29 extra */ + 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, + 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, + 28, 28, 29, 29, 64, 64 +]; + +var inftrees$2 = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) +{ + var bits = opts.bits; + //here = opts.here; /* table entry for duplication */ + + var len = 0; /* a code's length in bits */ + var sym = 0; /* index of code symbols */ + var min = 0, max = 0; /* minimum and maximum code lengths */ + var root = 0; /* number of index bits for root table */ + var curr = 0; /* number of index bits for current table */ + var drop = 0; /* code bits to drop for sub-table */ + var left = 0; /* number of prefix codes available */ + var used = 0; /* code entries in table used */ + var huff = 0; /* Huffman code */ + var incr; /* for incrementing code, index */ + var fill; /* index for replicating entries */ + var low; /* low bits for current root entry */ + var mask; /* mask for low root bits */ + var next; /* next available space in table */ + var base = null; /* base value table to use */ + var base_index = 0; +// var shoextra; /* extra bits table to use */ + var end; /* use base and extra for symbol > end */ + var count = new common$2.Buf16(MAXBITS$2 + 1); //[MAXBITS+1]; /* number of codes of each length */ + var offs = new common$2.Buf16(MAXBITS$2 + 1); //[MAXBITS+1]; /* offsets in table for each length */ + var extra = null; + var extra_index = 0; + + var here_bits, here_op, here_val; + + /* + Process a set of code lengths to create a canonical Huffman code. The + code lengths are lens[0..codes-1]. Each length corresponds to the + symbols 0..codes-1. The Huffman code is generated by first sorting the + symbols by length from short to long, and retaining the symbol order + for codes with equal lengths. Then the code starts with all zero bits + for the first code of the shortest length, and the codes are integer + increments for the same length, and zeros are appended as the length + increases. For the deflate format, these bits are stored backwards + from their more natural integer increment ordering, and so when the + decoding tables are built in the large loop below, the integer codes + are incremented backwards. + + This routine assumes, but does not check, that all of the entries in + lens[] are in the range 0..MAXBITS. The caller must assure this. + 1..MAXBITS is interpreted as that code length. zero means that that + symbol does not occur in this code. + + The codes are sorted by computing a count of codes for each length, + creating from that a table of starting indices for each length in the + sorted table, and then entering the symbols in order in the sorted + table. The sorted table is work[], with that space being provided by + the caller. + + The length counts are used for other purposes as well, i.e. finding + the minimum and maximum length codes, determining if there are any + codes at all, checking for a valid set of lengths, and looking ahead + at length counts to determine sub-table sizes when building the + decoding tables. + */ + + /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ + for (len = 0; len <= MAXBITS$2; len++) { + count[len] = 0; + } + for (sym = 0; sym < codes; sym++) { + count[lens[lens_index + sym]]++; + } + + /* bound code lengths, force root to be within code lengths */ + root = bits; + for (max = MAXBITS$2; max >= 1; max--) { + if (count[max] !== 0) { break; } + } + if (root > max) { + root = max; + } + if (max === 0) { /* no symbols to code at all */ + //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */ + //table.bits[opts.table_index] = 1; //here.bits = (var char)1; + //table.val[opts.table_index++] = 0; //here.val = (var short)0; + table[table_index++] = (1 << 24) | (64 << 16) | 0; + + + //table.op[opts.table_index] = 64; + //table.bits[opts.table_index] = 1; + //table.val[opts.table_index++] = 0; + table[table_index++] = (1 << 24) | (64 << 16) | 0; + + opts.bits = 1; + return 0; /* no symbols, but wait for decoding to report error */ + } + for (min = 1; min < max; min++) { + if (count[min] !== 0) { break; } + } + if (root < min) { + root = min; + } + + /* check for an over-subscribed or incomplete set of lengths */ + left = 1; + for (len = 1; len <= MAXBITS$2; len++) { + left <<= 1; + left -= count[len]; + if (left < 0) { + return -1; + } /* over-subscribed */ + } + if (left > 0 && (type === CODES$4 || max !== 1)) { + return -1; /* incomplete set */ + } + + /* generate offsets into symbol table for each length for sorting */ + offs[1] = 0; + for (len = 1; len < MAXBITS$2; len++) { + offs[len + 1] = offs[len] + count[len]; + } + + /* sort symbols by length, by symbol order within each length */ + for (sym = 0; sym < codes; sym++) { + if (lens[lens_index + sym] !== 0) { + work[offs[lens[lens_index + sym]]++] = sym; + } + } + + /* + Create and fill in decoding tables. In this loop, the table being + filled is at next and has curr index bits. The code being used is huff + with length len. That code is converted to an index by dropping drop + bits off of the bottom. For codes where len is less than drop + curr, + those top drop + curr - len bits are incremented through all values to + fill the table with replicated entries. + + root is the number of index bits for the root table. When len exceeds + root, sub-tables are created pointed to by the root entry with an index + of the low root bits of huff. This is saved in low to check for when a + new sub-table should be started. drop is zero when the root table is + being filled, and drop is root when sub-tables are being filled. + + When a new sub-table is needed, it is necessary to look ahead in the + code lengths to determine what size sub-table is needed. The length + counts are used for this, and so count[] is decremented as codes are + entered in the tables. + + used keeps track of how many table entries have been allocated from the + provided *table space. It is checked for LENS and DIST tables against + the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in + the initial root table size constants. See the comments in inftrees.h + for more information. + + sym increments through all symbols, and the loop terminates when + all codes of length max, i.e. all codes, have been processed. This + routine permits incomplete codes, so another loop after this one fills + in the rest of the decoding tables with invalid code markers. + */ + + /* set up for code type */ + // poor man optimization - use if-else instead of switch, + // to avoid deopts in old v8 + if (type === CODES$4) { + base = extra = work; /* dummy value--not used */ + end = 19; + + } else if (type === LENS$4) { + base = lbase$2; + base_index -= 257; + extra = lext$2; + extra_index -= 257; + end = 256; + + } else { /* DISTS */ + base = dbase$2; + extra = dext$2; + end = -1; + } + + /* initialize opts for loop */ + huff = 0; /* starting code */ + sym = 0; /* starting code symbol */ + len = min; /* starting code length */ + next = table_index; /* current table to fill in */ + curr = root; /* current table index bits */ + drop = 0; /* current bits to drop from code for index */ + low = -1; /* trigger new sub-table when len > root */ + used = 1 << root; /* use root table entries */ + mask = used - 1; /* mask for comparing low */ + + /* check available table space */ + if ((type === LENS$4 && used > ENOUGH_LENS$4) || + (type === DISTS$4 && used > ENOUGH_DISTS$4)) { + return 1; + } + + /* process all codes and make table entries */ + for (;;) { + /* create table entry */ + here_bits = len - drop; + if (work[sym] < end) { + here_op = 0; + here_val = work[sym]; + } + else if (work[sym] > end) { + here_op = extra[extra_index + work[sym]]; + here_val = base[base_index + work[sym]]; + } + else { + here_op = 32 + 64; /* end of block */ + here_val = 0; + } + + /* replicate for those indices with low len bits equal to huff */ + incr = 1 << (len - drop); + fill = 1 << curr; + min = fill; /* save offset to next table */ + do { + fill -= incr; + table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0; + } while (fill !== 0); + + /* backwards increment the len-bit code huff */ + incr = 1 << (len - 1); + while (huff & incr) { + incr >>= 1; + } + if (incr !== 0) { + huff &= incr - 1; + huff += incr; + } else { + huff = 0; + } + + /* go to next symbol, update count, len */ + sym++; + if (--count[len] === 0) { + if (len === max) { break; } + len = lens[lens_index + work[sym]]; + } + + /* create new sub-table if needed */ + if (len > root && (huff & mask) !== low) { + /* if first time, transition to sub-tables */ + if (drop === 0) { + drop = root; + } + + /* increment past last table */ + next += min; /* here min is 1 << curr */ + + /* determine length of next table */ + curr = len - drop; + left = 1 << curr; + while (curr + drop < max) { + left -= count[curr + drop]; + if (left <= 0) { break; } + curr++; + left <<= 1; + } + + /* check for enough space */ + used += 1 << curr; + if ((type === LENS$4 && used > ENOUGH_LENS$4) || + (type === DISTS$4 && used > ENOUGH_DISTS$4)) { + return 1; + } + + /* point entry in root table to sub-table */ + low = huff & mask; + /*table.op[low] = curr; + table.bits[low] = root; + table.val[low] = next - opts.table_index;*/ + table[low] = (root << 24) | (curr << 16) | (next - table_index) |0; + } + } + + /* fill in remaining table entry if code is incomplete (guaranteed to have + at most one remaining entry, since if the code is incomplete, the + maximum code length that was allowed to get this far is one bit) */ + if (huff !== 0) { + //table.op[next + huff] = 64; /* invalid code marker */ + //table.bits[next + huff] = len - drop; + //table.val[next + huff] = 0; + table[next + huff] = ((len - drop) << 24) | (64 << 16) |0; + } + + /* set return parameters */ + //opts.table_index += used; + opts.bits = root; + return 0; +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + + + + + + + +var CODES$5 = 0; +var LENS$5 = 1; +var DISTS$5 = 2; + +/* Public constants ==========================================================*/ +/* ===========================================================================*/ + + +/* Allowed flush values; see deflate() and inflate() below for details */ +//var Z_NO_FLUSH = 0; +//var Z_PARTIAL_FLUSH = 1; +//var Z_SYNC_FLUSH = 2; +//var Z_FULL_FLUSH = 3; +var Z_FINISH$8 = 4; +var Z_BLOCK$5 = 5; +var Z_TREES$2 = 6; + + +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ +var Z_OK$8 = 0; +var Z_STREAM_END$8 = 1; +var Z_NEED_DICT$2 = 2; +//var Z_ERRNO = -1; +var Z_STREAM_ERROR$5 = -2; +var Z_DATA_ERROR$5 = -3; +var Z_MEM_ERROR$2 = -4; +var Z_BUF_ERROR$5 = -5; +//var Z_VERSION_ERROR = -6; + +/* The deflate compression method */ +var Z_DEFLATED$8 = 8; + + +/* STATES ====================================================================*/ +/* ===========================================================================*/ + + +var HEAD$2 = 1; /* i: waiting for magic header */ +var FLAGS$2 = 2; /* i: waiting for method and flags (gzip) */ +var TIME$2 = 3; /* i: waiting for modification time (gzip) */ +var OS$2 = 4; /* i: waiting for extra flags and operating system (gzip) */ +var EXLEN$2 = 5; /* i: waiting for extra length (gzip) */ +var EXTRA$2 = 6; /* i: waiting for extra bytes (gzip) */ +var NAME$2 = 7; /* i: waiting for end of file name (gzip) */ +var COMMENT$2 = 8; /* i: waiting for end of comment (gzip) */ +var HCRC$2 = 9; /* i: waiting for header crc (gzip) */ +var DICTID$2 = 10; /* i: waiting for dictionary check value */ +var DICT$2 = 11; /* waiting for inflateSetDictionary() call */ +var TYPE$5 = 12; /* i: waiting for type bits, including last-flag bit */ +var TYPEDO$2 = 13; /* i: same, but skip check to exit inflate on new block */ +var STORED$2 = 14; /* i: waiting for stored size (length and complement) */ +var COPY_$2 = 15; /* i/o: same as COPY below, but only first time in */ +var COPY$2 = 16; /* i/o: waiting for input or output to copy stored block */ +var TABLE$2 = 17; /* i: waiting for dynamic block table lengths */ +var LENLENS$2 = 18; /* i: waiting for code length code lengths */ +var CODELENS$2 = 19; /* i: waiting for length/lit and distance code lengths */ +var LEN_$2 = 20; /* i: same as LEN below, but only first time in */ +var LEN$2 = 21; /* i: waiting for length/lit/eob code */ +var LENEXT$2 = 22; /* i: waiting for length extra bits */ +var DIST$2 = 23; /* i: waiting for distance code */ +var DISTEXT$2 = 24; /* i: waiting for distance extra bits */ +var MATCH$2 = 25; /* o: waiting for output space to copy string */ +var LIT$2 = 26; /* o: waiting for output space to write literal */ +var CHECK$2 = 27; /* i: waiting for 32-bit check value */ +var LENGTH$2 = 28; /* i: waiting for 32-bit length (gzip) */ +var DONE$2 = 29; /* finished check, done -- remain here until reset */ +var BAD$5 = 30; /* got a data error -- remain here until reset */ +var MEM$2 = 31; /* got an inflate() memory error -- remain here until reset */ +var SYNC$2 = 32; /* looking for synchronization bytes to restart inflate() */ + +/* ===========================================================================*/ + + + +var ENOUGH_LENS$5 = 852; +var ENOUGH_DISTS$5 = 592; +//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + +var MAX_WBITS$5 = 15; +/* 32K LZ77 window */ +var DEF_WBITS$2 = MAX_WBITS$5; + + +function zswap32$2(q) { + return (((q >>> 24) & 0xff) + + ((q >>> 8) & 0xff00) + + ((q & 0xff00) << 8) + + ((q & 0xff) << 24)); +} + + +function InflateState$2() { + this.mode = 0; /* current inflate mode */ + this.last = false; /* true if processing last block */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.havedict = false; /* true if dictionary provided */ + this.flags = 0; /* gzip header method and flags (0 if zlib) */ + this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */ + this.check = 0; /* protected copy of check value */ + this.total = 0; /* protected copy of output count */ + // TODO: may be {} + this.head = null; /* where to save gzip header information */ + + /* sliding window */ + this.wbits = 0; /* log base 2 of requested window size */ + this.wsize = 0; /* window size or zero if not using window */ + this.whave = 0; /* valid bytes in the window */ + this.wnext = 0; /* window write index */ + this.window = null; /* allocated sliding window, if needed */ + + /* bit accumulator */ + this.hold = 0; /* input bit accumulator */ + this.bits = 0; /* number of bits in "in" */ + + /* for string and stored block copying */ + this.length = 0; /* literal or length of data to copy */ + this.offset = 0; /* distance back to copy string from */ + + /* for table and code decoding */ + this.extra = 0; /* extra bits needed */ + + /* fixed and dynamic code tables */ + this.lencode = null; /* starting table for length/literal codes */ + this.distcode = null; /* starting table for distance codes */ + this.lenbits = 0; /* index bits for lencode */ + this.distbits = 0; /* index bits for distcode */ + + /* dynamic table building */ + this.ncode = 0; /* number of code length code lengths */ + this.nlen = 0; /* number of length code lengths */ + this.ndist = 0; /* number of distance code lengths */ + this.have = 0; /* number of code lengths in lens[] */ + this.next = null; /* next available space in codes[] */ + + this.lens = new common$2.Buf16(320); /* temporary storage for code lengths */ + this.work = new common$2.Buf16(288); /* work area for code table building */ + + /* + because we don't have pointers in js, we use lencode and distcode directly + as buffers so we don't need codes + */ + //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */ + this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */ + this.distdyn = null; /* dynamic table for distance codes (JS specific) */ + this.sane = 0; /* if false, allow invalid distance too far */ + this.back = 0; /* bits back of last unprocessed length/lit */ + this.was = 0; /* initial length of match */ +} + +function inflateResetKeep$2(strm) { + var state; + + if (!strm || !strm.state) { return Z_STREAM_ERROR$5; } + state = strm.state; + strm.total_in = strm.total_out = state.total = 0; + strm.msg = ''; /*Z_NULL*/ + if (state.wrap) { /* to support ill-conceived Java test suite */ + strm.adler = state.wrap & 1; + } + state.mode = HEAD$2; + state.last = 0; + state.havedict = 0; + state.dmax = 32768; + state.head = null/*Z_NULL*/; + state.hold = 0; + state.bits = 0; + //state.lencode = state.distcode = state.next = state.codes; + state.lencode = state.lendyn = new common$2.Buf32(ENOUGH_LENS$5); + state.distcode = state.distdyn = new common$2.Buf32(ENOUGH_DISTS$5); + + state.sane = 1; + state.back = -1; + //Tracev((stderr, "inflate: reset\n")); + return Z_OK$8; +} + +function inflateReset$2(strm) { + var state; + + if (!strm || !strm.state) { return Z_STREAM_ERROR$5; } + state = strm.state; + state.wsize = 0; + state.whave = 0; + state.wnext = 0; + return inflateResetKeep$2(strm); + +} + +function inflateReset2$2(strm, windowBits) { + var wrap; + var state; + + /* get the state */ + if (!strm || !strm.state) { return Z_STREAM_ERROR$5; } + state = strm.state; + + /* extract wrap request from windowBits parameter */ + if (windowBits < 0) { + wrap = 0; + windowBits = -windowBits; + } + else { + wrap = (windowBits >> 4) + 1; + if (windowBits < 48) { + windowBits &= 15; + } + } + + /* set number of window bits, free window if different */ + if (windowBits && (windowBits < 8 || windowBits > 15)) { + return Z_STREAM_ERROR$5; + } + if (state.window !== null && state.wbits !== windowBits) { + state.window = null; + } + + /* update state and reset the rest of it */ + state.wrap = wrap; + state.wbits = windowBits; + return inflateReset$2(strm); +} + +function inflateInit2$2(strm, windowBits) { + var ret; + var state; + + if (!strm) { return Z_STREAM_ERROR$5; } + //strm.msg = Z_NULL; /* in case we return an error */ + + state = new InflateState$2(); + + //if (state === Z_NULL) return Z_MEM_ERROR; + //Tracev((stderr, "inflate: allocated\n")); + strm.state = state; + state.window = null/*Z_NULL*/; + ret = inflateReset2$2(strm, windowBits); + if (ret !== Z_OK$8) { + strm.state = null/*Z_NULL*/; + } + return ret; +} + +function inflateInit$2(strm) { + return inflateInit2$2(strm, DEF_WBITS$2); +} + + +/* + Return state with length and distance decoding tables and index sizes set to + fixed code decoding. Normally this returns fixed tables from inffixed.h. + If BUILDFIXED is defined, then instead this routine builds the tables the + first time it's called, and returns those tables the first time and + thereafter. This reduces the size of the code by about 2K bytes, in + exchange for a little execution time. However, BUILDFIXED should not be + used for threaded applications, since the rewriting of the tables and virgin + may not be thread-safe. + */ +var virgin$2 = true; + +var lenfix$2, distfix$2; // We have no pointers in JS, so keep tables separate + +function fixedtables$2(state) { + /* build fixed huffman tables if first call (may not be thread safe) */ + if (virgin$2) { + var sym; + + lenfix$2 = new common$2.Buf32(512); + distfix$2 = new common$2.Buf32(32); + + /* literal/length table */ + sym = 0; + while (sym < 144) { state.lens[sym++] = 8; } + while (sym < 256) { state.lens[sym++] = 9; } + while (sym < 280) { state.lens[sym++] = 7; } + while (sym < 288) { state.lens[sym++] = 8; } + + inftrees$2(LENS$5, state.lens, 0, 288, lenfix$2, 0, state.work, { bits: 9 }); + + /* distance table */ + sym = 0; + while (sym < 32) { state.lens[sym++] = 5; } + + inftrees$2(DISTS$5, state.lens, 0, 32, distfix$2, 0, state.work, { bits: 5 }); + + /* do this just once */ + virgin$2 = false; + } + + state.lencode = lenfix$2; + state.lenbits = 9; + state.distcode = distfix$2; + state.distbits = 5; +} + + +/* + Update the window with the last wsize (normally 32K) bytes written before + returning. If window does not exist yet, create it. This is only called + when a window is already in use, or when output has been written during this + inflate call, but the end of the deflate stream has not been reached yet. + It is also called to create a window for dictionary data when a dictionary + is loaded. + + Providing output buffers larger than 32K to inflate() should provide a speed + advantage, since only the last 32K of output is copied to the sliding window + upon return from inflate(), and since all distances after the first 32K of + output will fall in the output data, making match copies simpler and faster. + The advantage may be dependent on the size of the processor's data caches. + */ +function updatewindow$2(strm, src, end, copy) { + var dist; + var state = strm.state; + + /* if it hasn't been done already, allocate space for the window */ + if (state.window === null) { + state.wsize = 1 << state.wbits; + state.wnext = 0; + state.whave = 0; + + state.window = new common$2.Buf8(state.wsize); + } + + /* copy state->wsize or less output bytes into the circular window */ + if (copy >= state.wsize) { + common$2.arraySet(state.window, src, end - state.wsize, state.wsize, 0); + state.wnext = 0; + state.whave = state.wsize; + } + else { + dist = state.wsize - state.wnext; + if (dist > copy) { + dist = copy; + } + //zmemcpy(state->window + state->wnext, end - copy, dist); + common$2.arraySet(state.window, src, end - copy, dist, state.wnext); + copy -= dist; + if (copy) { + //zmemcpy(state->window, end - copy, copy); + common$2.arraySet(state.window, src, end - copy, copy, 0); + state.wnext = copy; + state.whave = state.wsize; + } + else { + state.wnext += dist; + if (state.wnext === state.wsize) { state.wnext = 0; } + if (state.whave < state.wsize) { state.whave += dist; } + } + } + return 0; +} + +function inflate$4(strm, flush) { + var state; + var input, output; // input/output buffers + var next; /* next input INDEX */ + var put; /* next output INDEX */ + var have, left; /* available input and output */ + var hold; /* bit buffer */ + var bits; /* bits in bit buffer */ + var _in, _out; /* save starting available input and output */ + var copy; /* number of stored or match bytes to copy */ + var from; /* where to copy match bytes from */ + var from_source; + var here = 0; /* current decoding table entry */ + var here_bits, here_op, here_val; // paked "here" denormalized (JS specific) + //var last; /* parent table entry */ + var last_bits, last_op, last_val; // paked "last" denormalized (JS specific) + var len; /* length to copy for repeats, bits to drop */ + var ret; /* return code */ + var hbuf = new common$2.Buf8(4); /* buffer for gzip header crc calculation */ + var opts; + + var n; // temporary var for NEED_BITS + + var order = /* permutation of code lengths */ + [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; + + + if (!strm || !strm.state || !strm.output || + (!strm.input && strm.avail_in !== 0)) { + return Z_STREAM_ERROR$5; + } + + state = strm.state; + if (state.mode === TYPE$5) { state.mode = TYPEDO$2; } /* skip check */ + + + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + _in = have; + _out = left; + ret = Z_OK$8; + + inf_leave: // goto emulation + for (;;) { + switch (state.mode) { + case HEAD$2: + if (state.wrap === 0) { + state.mode = TYPEDO$2; + break; + } + //=== NEEDBITS(16); + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */ + state.check = 0/*crc32(0L, Z_NULL, 0)*/; + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$2(state.check, hbuf, 2, 0); + //===// + + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = FLAGS$2; + break; + } + state.flags = 0; /* expect zlib header */ + if (state.head) { + state.head.done = false; + } + if (!(state.wrap & 1) || /* check if zlib header allowed */ + (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) { + strm.msg = 'incorrect header check'; + state.mode = BAD$5; + break; + } + if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED$8) { + strm.msg = 'unknown compression method'; + state.mode = BAD$5; + break; + } + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// + len = (hold & 0x0f)/*BITS(4)*/ + 8; + if (state.wbits === 0) { + state.wbits = len; + } + else if (len > state.wbits) { + strm.msg = 'invalid window size'; + state.mode = BAD$5; + break; + } + state.dmax = 1 << len; + //Tracev((stderr, "inflate: zlib header ok\n")); + strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; + state.mode = hold & 0x200 ? DICTID$2 : TYPE$5; + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + break; + case FLAGS$2: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.flags = hold; + if ((state.flags & 0xff) !== Z_DEFLATED$8) { + strm.msg = 'unknown compression method'; + state.mode = BAD$5; + break; + } + if (state.flags & 0xe000) { + strm.msg = 'unknown header flags set'; + state.mode = BAD$5; + break; + } + if (state.head) { + state.head.text = ((hold >> 8) & 1); + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$2(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = TIME$2; + /* falls through */ + case TIME$2: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.time = hold; + } + if (state.flags & 0x0200) { + //=== CRC4(state.check, hold) + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + hbuf[2] = (hold >>> 16) & 0xff; + hbuf[3] = (hold >>> 24) & 0xff; + state.check = crc32_1$2(state.check, hbuf, 4, 0); + //=== + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = OS$2; + /* falls through */ + case OS$2: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.xflags = (hold & 0xff); + state.head.os = (hold >> 8); + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$2(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = EXLEN$2; + /* falls through */ + case EXLEN$2: + if (state.flags & 0x0400) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length = hold; + if (state.head) { + state.head.extra_len = hold; + } + if (state.flags & 0x0200) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = (hold >>> 8) & 0xff; + state.check = crc32_1$2(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + else if (state.head) { + state.head.extra = null/*Z_NULL*/; + } + state.mode = EXTRA$2; + /* falls through */ + case EXTRA$2: + if (state.flags & 0x0400) { + copy = state.length; + if (copy > have) { copy = have; } + if (copy) { + if (state.head) { + len = state.head.extra_len - state.length; + if (!state.head.extra) { + // Use untyped array for more convenient processing later + state.head.extra = new Array(state.head.extra_len); + } + common$2.arraySet( + state.head.extra, + input, + next, + // extra field is limited to 65536 bytes + // - no need for additional size check + copy, + /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ + len + ); + //zmemcpy(state.head.extra + len, next, + // len + copy > state.head.extra_max ? + // state.head.extra_max - len : copy); + } + if (state.flags & 0x0200) { + state.check = crc32_1$2(state.check, input, copy, next); + } + have -= copy; + next += copy; + state.length -= copy; + } + if (state.length) { break inf_leave; } + } + state.length = 0; + state.mode = NAME$2; + /* falls through */ + case NAME$2: + if (state.flags & 0x0800) { + if (have === 0) { break inf_leave; } + copy = 0; + do { + // TODO: 2 or 1 bytes? + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && + (state.length < 65536 /*state.head.name_max*/)) { + state.head.name += String.fromCharCode(len); + } + } while (len && copy < have); + + if (state.flags & 0x0200) { + state.check = crc32_1$2(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { break inf_leave; } + } + else if (state.head) { + state.head.name = null; + } + state.length = 0; + state.mode = COMMENT$2; + /* falls through */ + case COMMENT$2: + if (state.flags & 0x1000) { + if (have === 0) { break inf_leave; } + copy = 0; + do { + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && + (state.length < 65536 /*state.head.comm_max*/)) { + state.head.comment += String.fromCharCode(len); + } + } while (len && copy < have); + if (state.flags & 0x0200) { + state.check = crc32_1$2(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { break inf_leave; } + } + else if (state.head) { + state.head.comment = null; + } + state.mode = HCRC$2; + /* falls through */ + case HCRC$2: + if (state.flags & 0x0200) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (hold !== (state.check & 0xffff)) { + strm.msg = 'header crc mismatch'; + state.mode = BAD$5; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + if (state.head) { + state.head.hcrc = ((state.flags >> 9) & 1); + state.head.done = true; + } + strm.adler = state.check = 0; + state.mode = TYPE$5; + break; + case DICTID$2: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + strm.adler = state.check = zswap32$2(hold); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = DICT$2; + /* falls through */ + case DICT$2: + if (state.havedict === 0) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + return Z_NEED_DICT$2; + } + strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/; + state.mode = TYPE$5; + /* falls through */ + case TYPE$5: + if (flush === Z_BLOCK$5 || flush === Z_TREES$2) { break inf_leave; } + /* falls through */ + case TYPEDO$2: + if (state.last) { + //--- BYTEBITS() ---// + hold >>>= bits & 7; + bits -= bits & 7; + //---// + state.mode = CHECK$2; + break; + } + //=== NEEDBITS(3); */ + while (bits < 3) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.last = (hold & 0x01)/*BITS(1)*/; + //--- DROPBITS(1) ---// + hold >>>= 1; + bits -= 1; + //---// + + switch ((hold & 0x03)/*BITS(2)*/) { + case 0: /* stored block */ + //Tracev((stderr, "inflate: stored block%s\n", + // state.last ? " (last)" : "")); + state.mode = STORED$2; + break; + case 1: /* fixed block */ + fixedtables$2(state); + //Tracev((stderr, "inflate: fixed codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = LEN_$2; /* decode codes */ + if (flush === Z_TREES$2) { + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break inf_leave; + } + break; + case 2: /* dynamic block */ + //Tracev((stderr, "inflate: dynamic codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = TABLE$2; + break; + case 3: + strm.msg = 'invalid block type'; + state.mode = BAD$5; + } + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break; + case STORED$2: + //--- BYTEBITS() ---// /* go to byte boundary */ + hold >>>= bits & 7; + bits -= bits & 7; + //---// + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) { + strm.msg = 'invalid stored block lengths'; + state.mode = BAD$5; + break; + } + state.length = hold & 0xffff; + //Tracev((stderr, "inflate: stored length %u\n", + // state.length)); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = COPY_$2; + if (flush === Z_TREES$2) { break inf_leave; } + /* falls through */ + case COPY_$2: + state.mode = COPY$2; + /* falls through */ + case COPY$2: + copy = state.length; + if (copy) { + if (copy > have) { copy = have; } + if (copy > left) { copy = left; } + if (copy === 0) { break inf_leave; } + //--- zmemcpy(put, next, copy); --- + common$2.arraySet(output, input, next, copy, put); + //---// + have -= copy; + next += copy; + left -= copy; + put += copy; + state.length -= copy; + break; + } + //Tracev((stderr, "inflate: stored end\n")); + state.mode = TYPE$5; + break; + case TABLE$2: + //=== NEEDBITS(14); */ + while (bits < 14) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4; + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// +//#ifndef PKZIP_BUG_WORKAROUND + if (state.nlen > 286 || state.ndist > 30) { + strm.msg = 'too many length or distance symbols'; + state.mode = BAD$5; + break; + } +//#endif + //Tracev((stderr, "inflate: table sizes ok\n")); + state.have = 0; + state.mode = LENLENS$2; + /* falls through */ + case LENLENS$2: + while (state.have < state.ncode) { + //=== NEEDBITS(3); + while (bits < 3) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.lens[order[state.have++]] = (hold & 0x07);//BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + while (state.have < 19) { + state.lens[order[state.have++]] = 0; + } + // We have separate tables & no pointers. 2 commented lines below not needed. + //state.next = state.codes; + //state.lencode = state.next; + // Switch to use dynamic table + state.lencode = state.lendyn; + state.lenbits = 7; + + opts = { bits: state.lenbits }; + ret = inftrees$2(CODES$5, state.lens, 0, 19, state.lencode, 0, state.work, opts); + state.lenbits = opts.bits; + + if (ret) { + strm.msg = 'invalid code lengths set'; + state.mode = BAD$5; + break; + } + //Tracev((stderr, "inflate: code lengths ok\n")); + state.have = 0; + state.mode = CODELENS$2; + /* falls through */ + case CODELENS$2: + while (state.have < state.nlen + state.ndist) { + for (;;) { + here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_val < 16) { + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.lens[state.have++] = here_val; + } + else { + if (here_val === 16) { + //=== NEEDBITS(here.bits + 2); + n = here_bits + 2; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + if (state.have === 0) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD$5; + break; + } + len = state.lens[state.have - 1]; + copy = 3 + (hold & 0x03);//BITS(2); + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + } + else if (here_val === 17) { + //=== NEEDBITS(here.bits + 3); + n = here_bits + 3; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 3 + (hold & 0x07);//BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + else { + //=== NEEDBITS(here.bits + 7); + n = here_bits + 7; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 11 + (hold & 0x7f);//BITS(7); + //--- DROPBITS(7) ---// + hold >>>= 7; + bits -= 7; + //---// + } + if (state.have + copy > state.nlen + state.ndist) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD$5; + break; + } + while (copy--) { + state.lens[state.have++] = len; + } + } + } + + /* handle error breaks in while */ + if (state.mode === BAD$5) { break; } + + /* check for end-of-block code (better have one) */ + if (state.lens[256] === 0) { + strm.msg = 'invalid code -- missing end-of-block'; + state.mode = BAD$5; + break; + } + + /* build code tables -- note: do not change the lenbits or distbits + values here (9 and 6) without reading the comments in inftrees.h + concerning the ENOUGH constants, which depend on those values */ + state.lenbits = 9; + + opts = { bits: state.lenbits }; + ret = inftrees$2(LENS$5, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.lenbits = opts.bits; + // state.lencode = state.next; + + if (ret) { + strm.msg = 'invalid literal/lengths set'; + state.mode = BAD$5; + break; + } + + state.distbits = 6; + //state.distcode.copy(state.codes); + // Switch to use dynamic table + state.distcode = state.distdyn; + opts = { bits: state.distbits }; + ret = inftrees$2(DISTS$5, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.distbits = opts.bits; + // state.distcode = state.next; + + if (ret) { + strm.msg = 'invalid distances set'; + state.mode = BAD$5; + break; + } + //Tracev((stderr, 'inflate: codes ok\n')); + state.mode = LEN_$2; + if (flush === Z_TREES$2) { break inf_leave; } + /* falls through */ + case LEN_$2: + state.mode = LEN$2; + /* falls through */ + case LEN$2: + if (have >= 6 && left >= 258) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + inffast$2(strm, _out); + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + if (state.mode === TYPE$5) { + state.back = -1; + } + break; + } + state.back = 0; + for (;;) { + here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if (here_bits <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_op && (here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.lencode[last_val + + ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((last_bits + here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + state.length = here_val; + if (here_op === 0) { + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + state.mode = LIT$2; + break; + } + if (here_op & 32) { + //Tracevv((stderr, "inflate: end of block\n")); + state.back = -1; + state.mode = TYPE$5; + break; + } + if (here_op & 64) { + strm.msg = 'invalid literal/length code'; + state.mode = BAD$5; + break; + } + state.extra = here_op & 15; + state.mode = LENEXT$2; + /* falls through */ + case LENEXT$2: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } + //Tracevv((stderr, "inflate: length %u\n", state.length)); + state.was = state.length; + state.mode = DIST$2; + /* falls through */ + case DIST$2: + for (;;) { + here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/ + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if ((here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.distcode[last_val + + ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)]; + here_bits = here >>> 24; + here_op = (here >>> 16) & 0xff; + here_val = here & 0xffff; + + if ((last_bits + here_bits) <= bits) { break; } + //--- PULLBYTE() ---// + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + if (here_op & 64) { + strm.msg = 'invalid distance code'; + state.mode = BAD$5; + break; + } + state.offset = here_val; + state.extra = (here_op) & 15; + state.mode = DISTEXT$2; + /* falls through */ + case DISTEXT$2: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } +//#ifdef INFLATE_STRICT + if (state.offset > state.dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$5; + break; + } +//#endif + //Tracevv((stderr, "inflate: distance %u\n", state.offset)); + state.mode = MATCH$2; + /* falls through */ + case MATCH$2: + if (left === 0) { break inf_leave; } + copy = _out - left; + if (state.offset > copy) { /* copy from window */ + copy = state.offset - copy; + if (copy > state.whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$5; + break; + } +// (!) This block is disabled in zlib defaults, +// don't enable it for binary compatibility +//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR +// Trace((stderr, "inflate.c too far\n")); +// copy -= state.whave; +// if (copy > state.length) { copy = state.length; } +// if (copy > left) { copy = left; } +// left -= copy; +// state.length -= copy; +// do { +// output[put++] = 0; +// } while (--copy); +// if (state.length === 0) { state.mode = LEN; } +// break; +//#endif + } + if (copy > state.wnext) { + copy -= state.wnext; + from = state.wsize - copy; + } + else { + from = state.wnext - copy; + } + if (copy > state.length) { copy = state.length; } + from_source = state.window; + } + else { /* copy from output */ + from_source = output; + from = put - state.offset; + copy = state.length; + } + if (copy > left) { copy = left; } + left -= copy; + state.length -= copy; + do { + output[put++] = from_source[from++]; + } while (--copy); + if (state.length === 0) { state.mode = LEN$2; } + break; + case LIT$2: + if (left === 0) { break inf_leave; } + output[put++] = state.length; + left--; + state.mode = LEN$2; + break; + case CHECK$2: + if (state.wrap) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + // Use '|' instead of '+' to make sure that result is signed + hold |= input[next++] << bits; + bits += 8; + } + //===// + _out -= left; + strm.total_out += _out; + state.total += _out; + if (_out) { + strm.adler = state.check = + /*UPDATE(state.check, put - _out, _out);*/ + (state.flags ? crc32_1$2(state.check, output, _out, put - _out) : adler32_1$2(state.check, output, _out, put - _out)); + + } + _out = left; + // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too + if ((state.flags ? hold : zswap32$2(hold)) !== state.check) { + strm.msg = 'incorrect data check'; + state.mode = BAD$5; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: check matches trailer\n")); + } + state.mode = LENGTH$2; + /* falls through */ + case LENGTH$2: + if (state.wrap && state.flags) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { break inf_leave; } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (hold !== (state.total & 0xffffffff)) { + strm.msg = 'incorrect length check'; + state.mode = BAD$5; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: length matches trailer\n")); + } + state.mode = DONE$2; + /* falls through */ + case DONE$2: + ret = Z_STREAM_END$8; + break inf_leave; + case BAD$5: + ret = Z_DATA_ERROR$5; + break inf_leave; + case MEM$2: + return Z_MEM_ERROR$2; + case SYNC$2: + /* falls through */ + default: + return Z_STREAM_ERROR$5; + } + } + + // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave" + + /* + Return from inflate(), updating the total counts and the check value. + If there was no progress during the inflate() call, return a buffer + error. Call updatewindow() to create and/or update the window state. + Note: a memory error from inflate() is non-recoverable. + */ + + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + + if (state.wsize || (_out !== strm.avail_out && state.mode < BAD$5 && + (state.mode < CHECK$2 || flush !== Z_FINISH$8))) { + if (updatewindow$2(strm, strm.output, strm.next_out, _out - strm.avail_out)) ; + } + _in -= strm.avail_in; + _out -= strm.avail_out; + strm.total_in += _in; + strm.total_out += _out; + state.total += _out; + if (state.wrap && _out) { + strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ + (state.flags ? crc32_1$2(state.check, output, _out, strm.next_out - _out) : adler32_1$2(state.check, output, _out, strm.next_out - _out)); + } + strm.data_type = state.bits + (state.last ? 64 : 0) + + (state.mode === TYPE$5 ? 128 : 0) + + (state.mode === LEN_$2 || state.mode === COPY_$2 ? 256 : 0); + if (((_in === 0 && _out === 0) || flush === Z_FINISH$8) && ret === Z_OK$8) { + ret = Z_BUF_ERROR$5; + } + return ret; +} + +function inflateEnd$2(strm) { + + if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) { + return Z_STREAM_ERROR$5; + } + + var state = strm.state; + if (state.window) { + state.window = null; + } + strm.state = null; + return Z_OK$8; +} + +function inflateGetHeader$2(strm, head) { + var state; + + /* check state */ + if (!strm || !strm.state) { return Z_STREAM_ERROR$5; } + state = strm.state; + if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$5; } + + /* save header structure */ + state.head = head; + head.done = false; + return Z_OK$8; +} + +function inflateSetDictionary$2(strm, dictionary) { + var dictLength = dictionary.length; + + var state; + var dictid; + var ret; + + /* check state */ + if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR$5; } + state = strm.state; + + if (state.wrap !== 0 && state.mode !== DICT$2) { + return Z_STREAM_ERROR$5; + } + + /* check for correct dictionary identifier */ + if (state.mode === DICT$2) { + dictid = 1; /* adler32(0, null, 0)*/ + /* dictid = adler32(dictid, dictionary, dictLength); */ + dictid = adler32_1$2(dictid, dictionary, dictLength, 0); + if (dictid !== state.check) { + return Z_DATA_ERROR$5; + } + } + /* copy dictionary to window using updatewindow(), which will amend the + existing dictionary if appropriate */ + ret = updatewindow$2(strm, dictionary, dictLength, dictLength); + if (ret) { + state.mode = MEM$2; + return Z_MEM_ERROR$2; + } + state.havedict = 1; + // Tracev((stderr, "inflate: dictionary set\n")); + return Z_OK$8; +} + +var inflateReset_1$2 = inflateReset$2; +var inflateReset2_1$2 = inflateReset2$2; +var inflateResetKeep_1$2 = inflateResetKeep$2; +var inflateInit_1$2 = inflateInit$2; +var inflateInit2_1$2 = inflateInit2$2; +var inflate_2$4 = inflate$4; +var inflateEnd_1$2 = inflateEnd$2; +var inflateGetHeader_1$2 = inflateGetHeader$2; +var inflateSetDictionary_1$2 = inflateSetDictionary$2; +var inflateInfo$2 = 'pako inflate (from Nodeca project)'; + +/* Not implemented +exports.inflateCopy = inflateCopy; +exports.inflateGetDictionary = inflateGetDictionary; +exports.inflateMark = inflateMark; +exports.inflatePrime = inflatePrime; +exports.inflateSync = inflateSync; +exports.inflateSyncPoint = inflateSyncPoint; +exports.inflateUndermine = inflateUndermine; +*/ + +var inflate_1$4 = { + inflateReset: inflateReset_1$2, + inflateReset2: inflateReset2_1$2, + inflateResetKeep: inflateResetKeep_1$2, + inflateInit: inflateInit_1$2, + inflateInit2: inflateInit2_1$2, + inflate: inflate_2$4, + inflateEnd: inflateEnd_1$2, + inflateGetHeader: inflateGetHeader_1$2, + inflateSetDictionary: inflateSetDictionary_1$2, + inflateInfo: inflateInfo$2 +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +var constants$2 = { + + /* Allowed flush values; see deflate() and inflate() below for details */ + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + + /* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + //Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + //Z_VERSION_ERROR: -6, + + /* compression levels */ + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + + + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + + /* Possible values of the data_type field (though see inflate()) */ + Z_BINARY: 0, + Z_TEXT: 1, + //Z_ASCII: 1, // = Z_TEXT (deprecated) + Z_UNKNOWN: 2, + + /* The deflate compression method */ + Z_DEFLATED: 8 + //Z_NULL: null // Use -1 or null inline, depending on var type +}; + +// (C) 1995-2013 Jean-loup Gailly and Mark Adler +// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. + +function GZheader$2() { + /* true if compressed data believed to be text */ + this.text = 0; + /* modification time */ + this.time = 0; + /* extra flags (not used when writing a gzip file) */ + this.xflags = 0; + /* operating system */ + this.os = 0; + /* pointer to extra field or Z_NULL if none */ + this.extra = null; + /* extra field length (valid if extra != Z_NULL) */ + this.extra_len = 0; // Actually, we don't need it in JS, + // but leave for few code modifications + + // + // Setup limits is not necessary because in js we should not preallocate memory + // for inflate use constant limit in 65536 bytes + // + + /* space at extra (only when reading header) */ + // this.extra_max = 0; + /* pointer to zero-terminated file name or Z_NULL */ + this.name = ''; + /* space at name (only when reading header) */ + // this.name_max = 0; + /* pointer to zero-terminated comment or Z_NULL */ + this.comment = ''; + /* space at comment (only when reading header) */ + // this.comm_max = 0; + /* true if there was or will be a header crc */ + this.hcrc = 0; + /* true when done reading gzip header (not used when writing a gzip file) */ + this.done = false; +} + +var gzheader$2 = GZheader$2; + +var toString$5 = Object.prototype.toString; + +/** + * class Inflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[inflate]] + * and [[inflateRaw]]. + **/ + +/* internal + * inflate.chunks -> Array + * + * Chunks of output data, if [[Inflate#onData]] not overridden. + **/ + +/** + * Inflate.result -> Uint8Array|Array|String + * + * Uncompressed result, generated by default [[Inflate#onData]] + * and [[Inflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you + * push a chunk with explicit flush (call [[Inflate#push]] with + * `Z_SYNC_FLUSH` param). + **/ + +/** + * Inflate.err -> Number + * + * Error code after inflate finished. 0 (Z_OK) on success. + * Should be checked if broken data possible. + **/ + +/** + * Inflate.msg -> String + * + * Error message, if [[Inflate.err]] != 0 + **/ + + +/** + * new Inflate(options) + * - options (Object): zlib inflate options. + * + * Creates new inflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `windowBits` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw inflate + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * By default, when no options set, autodetect deflate/gzip data format via + * wrapper header. + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * var inflate = new pako.Inflate({ level: 3}); + * + * inflate.push(chunk1, false); + * inflate.push(chunk2, true); // true -> last chunk + * + * if (inflate.err) { throw new Error(inflate.err); } + * + * console.log(inflate.result); + * ``` + **/ +function Inflate$2(options) { + if (!(this instanceof Inflate$2)) return new Inflate$2(options); + + this.options = common$2.assign({ + chunkSize: 16384, + windowBits: 0, + to: '' + }, options || {}); + + var opt = this.options; + + // Force window size for `raw` data, if not set directly, + // because we have no header for autodetect. + if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) { + opt.windowBits = -opt.windowBits; + if (opt.windowBits === 0) { opt.windowBits = -15; } + } + + // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate + if ((opt.windowBits >= 0) && (opt.windowBits < 16) && + !(options && options.windowBits)) { + opt.windowBits += 32; + } + + // Gzip header has no info about windows size, we can do autodetect only + // for deflate. So, if window size not set, force it to max when gzip possible + if ((opt.windowBits > 15) && (opt.windowBits < 48)) { + // bit 3 (16) -> gzipped data + // bit 4 (32) -> autodetect gzip/deflate + if ((opt.windowBits & 15) === 0) { + opt.windowBits |= 15; + } + } + + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream$2(); + this.strm.avail_out = 0; + + var status = inflate_1$4.inflateInit2( + this.strm, + opt.windowBits + ); + + if (status !== constants$2.Z_OK) { + throw new Error(messages$2[status]); + } + + this.header = new gzheader$2(); + + inflate_1$4.inflateGetHeader(this.strm, this.header); + + // Setup dictionary + if (opt.dictionary) { + // Convert data if needed + if (typeof opt.dictionary === 'string') { + opt.dictionary = strings$2.string2buf(opt.dictionary); + } else if (toString$5.call(opt.dictionary) === '[object ArrayBuffer]') { + opt.dictionary = new Uint8Array(opt.dictionary); + } + if (opt.raw) { //In raw mode we need to set the dictionary early + status = inflate_1$4.inflateSetDictionary(this.strm, opt.dictionary); + if (status !== constants$2.Z_OK) { + throw new Error(messages$2[status]); + } + } + } +} + +/** + * Inflate#push(data[, mode]) -> Boolean + * - data (Uint8Array|Array|ArrayBuffer|String): input data + * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with + * new output chunks. Returns `true` on success. The last data block must have + * mode Z_FINISH (or `true`). That will flush internal pending buffers and call + * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you + * can use mode Z_SYNC_FLUSH, keeping the decompression context. + * + * On fail call [[Inflate#onEnd]] with error code and return false. + * + * We strongly recommend to use `Uint8Array` on input for best speed (output + * format is detected automatically). Also, don't skip last param and always + * use the same type in your code (boolean or number). That will improve JS speed. + * + * For regular `Array`-s make sure all elements are [0..255]. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ +Inflate$2.prototype.push = function (data, mode) { + var strm = this.strm; + var chunkSize = this.options.chunkSize; + var dictionary = this.options.dictionary; + var status, _mode; + var next_out_utf8, tail, utf8str; + + // Flag to properly process Z_BUF_ERROR on testing inflate call + // when we check that all output data was flushed. + var allowBufError = false; + + if (this.ended) { return false; } + _mode = (mode === ~~mode) ? mode : ((mode === true) ? constants$2.Z_FINISH : constants$2.Z_NO_FLUSH); + + // Convert data if needed + if (typeof data === 'string') { + // Only binary strings can be decompressed on practice + strm.input = strings$2.binstring2buf(data); + } else if (toString$5.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + + strm.next_in = 0; + strm.avail_in = strm.input.length; + + do { + if (strm.avail_out === 0) { + strm.output = new common$2.Buf8(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + + status = inflate_1$4.inflate(strm, constants$2.Z_NO_FLUSH); /* no bad return value */ + + if (status === constants$2.Z_NEED_DICT && dictionary) { + status = inflate_1$4.inflateSetDictionary(this.strm, dictionary); + } + + if (status === constants$2.Z_BUF_ERROR && allowBufError === true) { + status = constants$2.Z_OK; + allowBufError = false; + } + + if (status !== constants$2.Z_STREAM_END && status !== constants$2.Z_OK) { + this.onEnd(status); + this.ended = true; + return false; + } + + if (strm.next_out) { + if (strm.avail_out === 0 || status === constants$2.Z_STREAM_END || (strm.avail_in === 0 && (_mode === constants$2.Z_FINISH || _mode === constants$2.Z_SYNC_FLUSH))) { + + if (this.options.to === 'string') { + + next_out_utf8 = strings$2.utf8border(strm.output, strm.next_out); + + tail = strm.next_out - next_out_utf8; + utf8str = strings$2.buf2string(strm.output, next_out_utf8); + + // move tail + strm.next_out = tail; + strm.avail_out = chunkSize - tail; + if (tail) { common$2.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); } + + this.onData(utf8str); + + } else { + this.onData(common$2.shrinkBuf(strm.output, strm.next_out)); + } + } + } + + // When no more input data, we should check that internal inflate buffers + // are flushed. The only way to do it when avail_out = 0 - run one more + // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR. + // Here we set flag to process this error properly. + // + // NOTE. Deflate does not return error in this case and does not needs such + // logic. + if (strm.avail_in === 0 && strm.avail_out === 0) { + allowBufError = true; + } + + } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== constants$2.Z_STREAM_END); + + if (status === constants$2.Z_STREAM_END) { + _mode = constants$2.Z_FINISH; + } + + // Finalize on the last chunk. + if (_mode === constants$2.Z_FINISH) { + status = inflate_1$4.inflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === constants$2.Z_OK; + } + + // callback interim results if Z_SYNC_FLUSH. + if (_mode === constants$2.Z_SYNC_FLUSH) { + this.onEnd(constants$2.Z_OK); + strm.avail_out = 0; + return true; + } + + return true; +}; + + +/** + * Inflate#onData(chunk) -> Void + * - chunk (Uint8Array|Array|String): output data. Type of array depends + * on js engine support. When string output requested, each chunk + * will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ +Inflate$2.prototype.onData = function (chunk) { + this.chunks.push(chunk); +}; + + +/** + * Inflate#onEnd(status) -> Void + * - status (Number): inflate status. 0 (Z_OK) on success, + * other if not. + * + * Called either after you tell inflate that the input stream is + * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH) + * or if an error happened. By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ +Inflate$2.prototype.onEnd = function (status) { + // On success - join + if (status === constants$2.Z_OK) { + if (this.options.to === 'string') { + // Glue & convert here, until we teach pako to send + // utf8 aligned strings to onData + this.result = this.chunks.join(''); + } else { + this.result = common$2.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; +}; + + +/** + * inflate(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * Decompress `data` with inflate/ungzip and `options`. Autodetect + * format via wrapper header by default. That's why we don't provide + * separate `ungzip` method. + * + * Supported options are: + * + * - windowBits + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * + * ##### Example: + * + * ```javascript + * var pako = require('pako') + * , input = pako.deflate([1,2,3,4,5,6,7,8,9]) + * , output; + * + * try { + * output = pako.inflate(input); + * } catch (err) + * console.log(err); + * } + * ``` + **/ +function inflate$5(input, options) { + var inflator = new Inflate$2(options); + + inflator.push(input, true); + + // That will never happens, if you don't cheat with options :) + if (inflator.err) { throw inflator.msg || messages$2[inflator.err]; } + + return inflator.result; +} + + +/** + * inflateRaw(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * The same as [[inflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ +function inflateRaw$2(input, options) { + options = options || {}; + options.raw = true; + return inflate$5(input, options); +} + + +/** + * ungzip(data[, options]) -> Uint8Array|Array|String + * - data (Uint8Array|Array|String): input data to decompress. + * - options (Object): zlib inflate options. + * + * Just shortcut to [[inflate]], because it autodetects format + * by header.content. Done for convenience. + **/ + + +var Inflate_1$2 = Inflate$2; +var inflate_2$5 = inflate$5; +var inflateRaw_1$2 = inflateRaw$2; +var ungzip$2 = inflate$5; + +var inflate_1$5 = { + Inflate: Inflate_1$2, + inflate: inflate_2$5, + inflateRaw: inflateRaw_1$2, + ungzip: ungzip$2 +}; + +var assign$2 = common$2.assign; + + + + + +var pako$2 = {}; + +assign$2(pako$2, deflate_1$5, inflate_1$5, constants$2); + +var pako_1$2 = pako$2; + +var UPNG = {}; + + + +UPNG.toRGBA8 = function(out) +{ + var w = out.width, h = out.height; + if(out.tabs.acTL==null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer]; + + var frms = []; + if(out.frames[0].data==null) out.frames[0].data = out.data; + + var len = w*h*4, img = new Uint8Array(len), empty = new Uint8Array(len), prev=new Uint8Array(len); + for(var i=0; i<out.frames.length; i++) + { + var frm = out.frames[i]; + var fx=frm.rect.x, fy=frm.rect.y, fw = frm.rect.width, fh = frm.rect.height; + var fdata = UPNG.toRGBA8.decodeImage(frm.data, fw,fh, out); + + if(i!=0) for(var j=0; j<len; j++) prev[j]=img[j]; + + if (frm.blend==0) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 0); + else if(frm.blend==1) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 1); + + frms.push(img.buffer.slice(0)); + + if (frm.dispose==0) ; + else if(frm.dispose==1) UPNG._copyTile(empty, fw, fh, img, w, h, fx, fy, 0); + else if(frm.dispose==2) for(var j=0; j<len; j++) img[j]=prev[j]; + } + return frms; +}; +UPNG.toRGBA8.decodeImage = function(data, w, h, out) +{ + var area = w*h, bpp = UPNG.decode._getBPP(out); + var bpl = Math.ceil(w*bpp/8); // bytes per line + + var bf = new Uint8Array(area*4), bf32 = new Uint32Array(bf.buffer); + var ctype = out.ctype, depth = out.depth; + var rs = UPNG._bin.readUshort; + + if (ctype==6) { // RGB + alpha + var qarea = area<<2; + if(depth== 8) for(var i=0; i<qarea;i+=4) { bf[i] = data[i]; bf[i+1] = data[i+1]; bf[i+2] = data[i+2]; bf[i+3] = data[i+3]; } + if(depth==16) for(var i=0; i<qarea;i++ ) { bf[i] = data[i<<1]; } + } + else if(ctype==2) { // RGB + var ts=out.tabs["tRNS"]; + if(ts==null) { + if(depth== 8) for(var i=0; i<area; i++) { var ti=i*3; bf32[i] = (255<<24)|(data[ti+2]<<16)|(data[ti+1]<<8)|data[ti]; } + if(depth==16) for(var i=0; i<area; i++) { var ti=i*6; bf32[i] = (255<<24)|(data[ti+4]<<16)|(data[ti+2]<<8)|data[ti]; } + } + else { var tr=ts[0], tg=ts[1], tb=ts[2]; + if(depth== 8) for(var i=0; i<area; i++) { var qi=i<<2, ti=i*3; bf32[i] = (255<<24)|(data[ti+2]<<16)|(data[ti+1]<<8)|data[ti]; + if(data[ti] ==tr && data[ti+1] ==tg && data[ti+2] ==tb) bf[qi+3] = 0; } + if(depth==16) for(var i=0; i<area; i++) { var qi=i<<2, ti=i*6; bf32[i] = (255<<24)|(data[ti+4]<<16)|(data[ti+2]<<8)|data[ti]; + if(rs(data,ti)==tr && rs(data,ti+2)==tg && rs(data,ti+4)==tb) bf[qi+3] = 0; } + } + } + else if(ctype==3) { // palette + var p=out.tabs["PLTE"], ap=out.tabs["tRNS"], tl=ap?ap.length:0; + //console.log(p, ap); + if(depth==1) for(var y=0; y<h; y++) { var s0 = y*bpl, t0 = y*w; + for(var i=0; i<w; i++) { var qi=(t0+i)<<2, j=((data[s0+(i>>3)]>>(7-((i&7)<<0)))& 1), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j<tl)?ap[j]:255; } + } + if(depth==2) for(var y=0; y<h; y++) { var s0 = y*bpl, t0 = y*w; + for(var i=0; i<w; i++) { var qi=(t0+i)<<2, j=((data[s0+(i>>2)]>>(6-((i&3)<<1)))& 3), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j<tl)?ap[j]:255; } + } + if(depth==4) for(var y=0; y<h; y++) { var s0 = y*bpl, t0 = y*w; + for(var i=0; i<w; i++) { var qi=(t0+i)<<2, j=((data[s0+(i>>1)]>>(4-((i&1)<<2)))&15), cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j<tl)?ap[j]:255; } + } + if(depth==8) for(var i=0; i<area; i++ ) { var qi=i<<2, j=data[i] , cj=3*j; bf[qi]=p[cj]; bf[qi+1]=p[cj+1]; bf[qi+2]=p[cj+2]; bf[qi+3]=(j<tl)?ap[j]:255; } + } + else if(ctype==4) { // gray + alpha + if(depth== 8) for(var i=0; i<area; i++) { var qi=i<<2, di=i<<1, gr=data[di]; bf[qi]=gr; bf[qi+1]=gr; bf[qi+2]=gr; bf[qi+3]=data[di+1]; } + if(depth==16) for(var i=0; i<area; i++) { var qi=i<<2, di=i<<2, gr=data[di]; bf[qi]=gr; bf[qi+1]=gr; bf[qi+2]=gr; bf[qi+3]=data[di+2]; } + } + else if(ctype==0) { // gray + var tr = out.tabs["tRNS"] ? out.tabs["tRNS"] : -1; + for(var y=0; y<h; y++) { + var off = y*bpl, to = y*w; + if (depth== 1) for(var x=0; x<w; x++) { var gr=255*((data[off+(x>>>3)]>>>(7 -((x&7) )))& 1), al=(gr==tr*255)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth== 2) for(var x=0; x<w; x++) { var gr= 85*((data[off+(x>>>2)]>>>(6 -((x&3)<<1)))& 3), al=(gr==tr* 85)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth== 4) for(var x=0; x<w; x++) { var gr= 17*((data[off+(x>>>1)]>>>(4 -((x&1)<<2)))&15), al=(gr==tr* 17)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth== 8) for(var x=0; x<w; x++) { var gr=data[off+ x], al=(gr ==tr)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + else if(depth==16) for(var x=0; x<w; x++) { var gr=data[off+(x<<1)], al=(rs(data,off+(x<<i))==tr)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; } + } + } + //console.log(Date.now()-time); + return bf; +}; + + + +UPNG.decode = function(buff) +{ + var data = new Uint8Array(buff), offset = 8, bin = UPNG._bin, rUs = bin.readUshort, rUi = bin.readUint; + var out = {tabs:{}, frames:[]}; + var dd = new Uint8Array(data.length), doff = 0; // put all IDAT data into it + var fd, foff = 0; // frames + + var mgck = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]; + for(var i=0; i<8; i++) if(data[i]!=mgck[i]) throw "The input is not a PNG file!"; + + while(offset<data.length) + { + var len = bin.readUint(data, offset); offset += 4; + var type = bin.readASCII(data, offset, 4); offset += 4; + //console.log(type,len); + + if (type=="IHDR") { UPNG.decode._IHDR(data, offset, out); } + else if(type=="IDAT") { + for(var i=0; i<len; i++) dd[doff+i] = data[offset+i]; + doff += len; + } + else if(type=="acTL") { + out.tabs[type] = { num_frames:rUi(data, offset), num_plays:rUi(data, offset+4) }; + fd = new Uint8Array(data.length); + } + else if(type=="fcTL") { + if(foff!=0) { var fr = out.frames[out.frames.length-1]; + fr.data = UPNG.decode._decompress(out, fd.slice(0,foff), fr.rect.width, fr.rect.height); foff=0; + } + var rct = {x:rUi(data, offset+12),y:rUi(data, offset+16),width:rUi(data, offset+4),height:rUi(data, offset+8)}; + var del = rUs(data, offset+22); del = rUs(data, offset+20) / (del==0?100:del); + var frm = {rect:rct, delay:Math.round(del*1000), dispose:data[offset+24], blend:data[offset+25]}; + //console.log(frm); + out.frames.push(frm); + } + else if(type=="fdAT") { + for(var i=0; i<len-4; i++) fd[foff+i] = data[offset+i+4]; + foff += len-4; + } + else if(type=="pHYs") { + out.tabs[type] = [bin.readUint(data, offset), bin.readUint(data, offset+4), data[offset+8]]; + } + else if(type=="cHRM") { + out.tabs[type] = []; + for(var i=0; i<8; i++) out.tabs[type].push(bin.readUint(data, offset+i*4)); + } + else if(type=="tEXt") { + if(out.tabs[type]==null) out.tabs[type] = {}; + var nz = bin.nextZero(data, offset); + var keyw = bin.readASCII(data, offset, nz-offset); + var text = bin.readASCII(data, nz+1, offset+len-nz-1); + out.tabs[type][keyw] = text; + } + else if(type=="iTXt") { + if(out.tabs[type]==null) out.tabs[type] = {}; + var nz = 0, off = offset; + nz = bin.nextZero(data, off); + var keyw = bin.readASCII(data, off, nz-off); off = nz + 1; + off+=2; + nz = bin.nextZero(data, off); + var ltag = bin.readASCII(data, off, nz-off); off = nz + 1; + nz = bin.nextZero(data, off); + var tkeyw = bin.readUTF8(data, off, nz-off); off = nz + 1; + var text = bin.readUTF8(data, off, len-(off-offset)); + out.tabs[type][keyw] = text; + } + else if(type=="PLTE") { + out.tabs[type] = bin.readBytes(data, offset, len); + } + else if(type=="hIST") { + var pl = out.tabs["PLTE"].length/3; + out.tabs[type] = []; for(var i=0; i<pl; i++) out.tabs[type].push(rUs(data, offset+i*2)); + } + else if(type=="tRNS") { + if (out.ctype==3) out.tabs[type] = bin.readBytes(data, offset, len); + else if(out.ctype==0) out.tabs[type] = rUs(data, offset); + else if(out.ctype==2) out.tabs[type] = [ rUs(data,offset),rUs(data,offset+2),rUs(data,offset+4) ]; + //else console.log("tRNS for unsupported color type",out.ctype, len); + } + else if(type=="gAMA") out.tabs[type] = bin.readUint(data, offset)/100000; + else if(type=="sRGB") out.tabs[type] = data[offset]; + else if(type=="bKGD") + { + if (out.ctype==0 || out.ctype==4) out.tabs[type] = [rUs(data, offset)]; + else if(out.ctype==2 || out.ctype==6) out.tabs[type] = [rUs(data, offset), rUs(data, offset+2), rUs(data, offset+4)]; + else if(out.ctype==3) out.tabs[type] = data[offset]; + } + else if(type=="IEND") { + break; + } + //else { log("unknown chunk type", type, len); } + offset += len; + var crc = bin.readUint(data, offset); offset += 4; + } + if(foff!=0) { var fr = out.frames[out.frames.length-1]; + fr.data = UPNG.decode._decompress(out, fd.slice(0,foff), fr.rect.width, fr.rect.height); foff=0; + } + out.data = UPNG.decode._decompress(out, dd, out.width, out.height); + + delete out.compress; delete out.interlace; delete out.filter; + return out; +}; + +UPNG.decode._decompress = function(out, dd, w, h) { + var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), buff = new Uint8Array((bpl+1+out.interlace)*h); + dd = UPNG.decode._inflate(dd,buff); + if (out.interlace==0) dd = UPNG.decode._filterZero(dd, out, 0, w, h); + else if(out.interlace==1) dd = UPNG.decode._readInterlace(dd, out); + //console.log(Date.now()-time); + return dd; +}; + +UPNG.decode._inflate = function(data, buff) { var out=UPNG["inflateRaw"](new Uint8Array(data.buffer, 2,data.length-6),buff); return out; }; +UPNG.inflateRaw=function(){var H={};H.H={};H.H.N=function(N,W){var R=Uint8Array,i=0,m=0,J=0,h=0,Q=0,X=0,u=0,w=0,d=0,v,C; +if(N[0]==3&&N[1]==0)return W?W:new R(0);var V=H.H,n=V.b,A=V.e,l=V.R,M=V.n,I=V.A,e=V.Z,b=V.m,Z=W==null; +if(Z)W=new R(N.length>>>2<<3);while(i==0){i=n(N,d,1);m=n(N,d+1,2);d+=3;if(m==0){if((d&7)!=0)d+=8-(d&7); +var D=(d>>>3)+4,q=N[D-4]|N[D-3]<<8;if(Z)W=H.H.W(W,w+q);W.set(new R(N.buffer,N.byteOffset+D,q),w);d=D+q<<3; +w+=q;continue}if(Z)W=H.H.W(W,w+(1<<17));if(m==1){v=b.J;C=b.h;X=(1<<9)-1;u=(1<<5)-1;}if(m==2){J=A(N,d,5)+257; +h=A(N,d+5,5)+1;Q=A(N,d+10,4)+4;d+=14;var j=1;for(var c=0;c<38;c+=2){b.Q[c]=0;b.Q[c+1]=0;}for(var c=0; +c<Q;c++){var K=A(N,d+c*3,3);b.Q[(b.X[c]<<1)+1]=K;if(K>j)j=K;}d+=3*Q;M(b.Q,j);I(b.Q,j,b.u);v=b.w;C=b.d; +d=l(b.u,(1<<j)-1,J+h,N,d,b.v);var r=V.V(b.v,0,J,b.C);X=(1<<r)-1;var S=V.V(b.v,J,h,b.D);u=(1<<S)-1;M(b.C,r); +I(b.C,r,v);M(b.D,S);I(b.D,S,C);}while(!0){var T=v[e(N,d)&X];d+=T&15;var p=T>>>4;if(p>>>8==0){W[w++]=p;}else if(p==256){break}else {var z=w+p-254; +if(p>264){var _=b.q[p-257];z=w+(_>>>3)+A(N,d,_&7);d+=_&7;}var $=C[e(N,d)&u];d+=$&15;var s=$>>>4,Y=b.c[s],a=(Y>>>4)+n(N,d,Y&15); +d+=Y&15;while(w<z){W[w]=W[w++-a];W[w]=W[w++-a];W[w]=W[w++-a];W[w]=W[w++-a];}w=z;}}}return W.length==w?W:W.slice(0,w)}; +H.H.W=function(N,W){var R=N.length;if(W<=R)return N;var V=new Uint8Array(R<<1);V.set(N,0);return V}; +H.H.R=function(N,W,R,V,n,A){var l=H.H.e,M=H.H.Z,I=0;while(I<R){var e=N[M(V,n)&W];n+=e&15;var b=e>>>4; +if(b<=15){A[I]=b;I++;}else {var Z=0,m=0;if(b==16){m=3+l(V,n,2);n+=2;Z=A[I-1];}else if(b==17){m=3+l(V,n,3); +n+=3;}else if(b==18){m=11+l(V,n,7);n+=7;}var J=I+m;while(I<J){A[I]=Z;I++;}}}return n};H.H.V=function(N,W,R,V){var n=0,A=0,l=V.length>>>1; +while(A<R){var M=N[A+W];V[A<<1]=0;V[(A<<1)+1]=M;if(M>n)n=M;A++;}while(A<l){V[A<<1]=0;V[(A<<1)+1]=0;A++;}return n}; +H.H.n=function(N,W){var R=H.H.m,V=N.length,n,A,l,M,I,e=R.j;for(var M=0;M<=W;M++)e[M]=0;for(M=1;M<V;M+=2)e[N[M]]++; +var b=R.K;n=0;e[0]=0;for(A=1;A<=W;A++){n=n+e[A-1]<<1;b[A]=n;}for(l=0;l<V;l+=2){I=N[l+1];if(I!=0){N[l]=b[I]; +b[I]++;}}};H.H.A=function(N,W,R){var V=N.length,n=H.H.m,A=n.r;for(var l=0;l<V;l+=2)if(N[l+1]!=0){var M=l>>1,I=N[l+1],e=M<<4|I,b=W-I,Z=N[l]<<b,m=Z+(1<<b); +while(Z!=m){var J=A[Z]>>>15-W;R[J]=e;Z++;}}};H.H.l=function(N,W){var R=H.H.m.r,V=15-W;for(var n=0;n<N.length; +n+=2){var A=N[n]<<W-N[n+1];N[n]=R[A]>>>V;}};H.H.M=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8;}; +H.H.I=function(N,W,R){R=R<<(W&7);var V=W>>>3;N[V]|=R;N[V+1]|=R>>>8;N[V+2]|=R>>>16;};H.H.e=function(N,W,R){return (N[W>>>3]|N[(W>>>3)+1]<<8)>>>(W&7)&(1<<R)-1}; +H.H.b=function(N,W,R){return (N[W>>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)&(1<<R)-1};H.H.Z=function(N,W){return (N[W>>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16)>>>(W&7)}; +H.H.i=function(N,W){return (N[W>>>3]|N[(W>>>3)+1]<<8|N[(W>>>3)+2]<<16|N[(W>>>3)+3]<<24)>>>(W&7)};H.H.m=function(){var N=Uint16Array,W=Uint32Array; +return {K:new N(16),j:new N(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new N(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new W(32),J:new N(512),_:[],h:new N(32),$:[],w:new N(32768),C:[],v:[],d:new N(32768),D:[],u:new N(512),Q:[],r:new N(1<<15),s:new W(286),Y:new W(30),a:new W(19),t:new W(15e3),k:new N(1<<16),g:new N(1<<15)}}(); +(function(){var N=H.H.m,W=1<<15;for(var R=0;R<W;R++){var V=R;V=(V&2863311530)>>>1|(V&1431655765)<<1; +V=(V&3435973836)>>>2|(V&858993459)<<2;V=(V&4042322160)>>>4|(V&252645135)<<4;V=(V&4278255360)>>>8|(V&16711935)<<8; +N.r[R]=(V>>>16|V<<16)>>>17;}function n(A,l,M){while(l--!=0)A.push(0,M);}for(var R=0;R<32;R++){N.q[R]=N.S[R]<<3|N.T[R]; +N.c[R]=N.p[R]<<4|N.z[R];}n(N._,144,8);n(N._,255-143,9);n(N._,279-255,7);n(N._,287-279,8);H.H.n(N._,9); +H.H.A(N._,9,N.J);H.H.l(N._,9);n(N.$,32,5);H.H.n(N.$,5);H.H.A(N.$,5,N.h);H.H.l(N.$,5);n(N.Q,19,0);n(N.C,286,0); +n(N.D,30,0);n(N.v,320,0);}());return H.H.N}(); + + +UPNG.decode._readInterlace = function(data, out) +{ + var w = out.width, h = out.height; + var bpp = UPNG.decode._getBPP(out), cbpp = bpp>>3, bpl = Math.ceil(w*bpp/8); + var img = new Uint8Array( h * bpl ); + var di = 0; + + var starting_row = [ 0, 0, 4, 0, 2, 0, 1 ]; + var starting_col = [ 0, 4, 0, 2, 0, 1, 0 ]; + var row_increment = [ 8, 8, 8, 4, 4, 2, 2 ]; + var col_increment = [ 8, 8, 4, 4, 2, 2, 1 ]; + + var pass=0; + while(pass<7) + { + var ri = row_increment[pass], ci = col_increment[pass]; + var sw = 0, sh = 0; + var cr = starting_row[pass]; while(cr<h) { cr+=ri; sh++; } + var cc = starting_col[pass]; while(cc<w) { cc+=ci; sw++; } + var bpll = Math.ceil(sw*bpp/8); + UPNG.decode._filterZero(data, out, di, sw, sh); + + var y=0, row = starting_row[pass]; + while(row<h) + { + var col = starting_col[pass]; + var cdi = (di+y*bpll)<<3; + + while(col<w) + { + if(bpp==1) { + var val = data[cdi>>3]; val = (val>>(7-(cdi&7)))&1; + img[row*bpl + (col>>3)] |= (val << (7-((col&7)<<0))); + } + if(bpp==2) { + var val = data[cdi>>3]; val = (val>>(6-(cdi&7)))&3; + img[row*bpl + (col>>2)] |= (val << (6-((col&3)<<1))); + } + if(bpp==4) { + var val = data[cdi>>3]; val = (val>>(4-(cdi&7)))&15; + img[row*bpl + (col>>1)] |= (val << (4-((col&1)<<2))); + } + if(bpp>=8) { + var ii = row*bpl+col*cbpp; + for(var j=0; j<cbpp; j++) img[ii+j] = data[(cdi>>3)+j]; + } + cdi+=bpp; col+=ci; + } + y++; row += ri; + } + if(sw*sh!=0) di += sh * (1 + bpll); + pass = pass + 1; + } + return img; +}; + +UPNG.decode._getBPP = function(out) { + var noc = [1,null,3,1,2,null,4][out.ctype]; + return noc * out.depth; +}; + +UPNG.decode._filterZero = function(data, out, off, w, h) +{ + var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), paeth = UPNG.decode._paeth; + bpp = Math.ceil(bpp/8); + + var i=0, di=1, type=data[off], x=0; + + if(type>1) data[off]=[0,0,1][type-2]; + if(type==3) for(x=bpp; x<bpl; x++) data[x+1] = (data[x+1] + (data[x+1-bpp]>>>1) )&255; + + for(var y=0; y<h; y++) { + i = off+y*bpl; di = i+y+1; + type = data[di-1]; x=0; + + if (type==0) for(; x<bpl; x++) data[i+x] = data[di+x]; + else if(type==1) { for(; x<bpp; x++) data[i+x] = data[di+x]; + for(; x<bpl; x++) data[i+x] = (data[di+x] + data[i+x-bpp]); } + else if(type==2) { for(; x<bpl; x++) data[i+x] = (data[di+x] + data[i+x-bpl]); } + else if(type==3) { for(; x<bpp; x++) data[i+x] = (data[di+x] + ( data[i+x-bpl]>>>1)); + for(; x<bpl; x++) data[i+x] = (data[di+x] + ((data[i+x-bpl]+data[i+x-bpp])>>>1) ); } + else { for(; x<bpp; x++) data[i+x] = (data[di+x] + paeth(0, data[i+x-bpl], 0)); + for(; x<bpl; x++) data[i+x] = (data[di+x] + paeth(data[i+x-bpp], data[i+x-bpl], data[i+x-bpp-bpl]) ); } + } + return data; +}; + +UPNG.decode._paeth = function(a,b,c) +{ + var p = a+b-c, pa = (p-a), pb = (p-b), pc = (p-c); + if (pa*pa <= pb*pb && pa*pa <= pc*pc) return a; + else if (pb*pb <= pc*pc) return b; + return c; +}; + +UPNG.decode._IHDR = function(data, offset, out) +{ + var bin = UPNG._bin; + out.width = bin.readUint(data, offset); offset += 4; + out.height = bin.readUint(data, offset); offset += 4; + out.depth = data[offset]; offset++; + out.ctype = data[offset]; offset++; + out.compress = data[offset]; offset++; + out.filter = data[offset]; offset++; + out.interlace = data[offset]; offset++; +}; + +UPNG._bin = { + nextZero : function(data,p) { while(data[p]!=0) p++; return p; }, + readUshort : function(buff,p) { return (buff[p]<< 8) | buff[p+1]; }, + writeUshort: function(buff,p,n){ buff[p] = (n>>8)&255; buff[p+1] = n&255; }, + readUint : function(buff,p) { return (buff[p]*(256*256*256)) + ((buff[p+1]<<16) | (buff[p+2]<< 8) | buff[p+3]); }, + writeUint : function(buff,p,n){ buff[p]=(n>>24)&255; buff[p+1]=(n>>16)&255; buff[p+2]=(n>>8)&255; buff[p+3]=n&255; }, + readASCII : function(buff,p,l){ var s = ""; for(var i=0; i<l; i++) s += String.fromCharCode(buff[p+i]); return s; }, + writeASCII : function(data,p,s){ for(var i=0; i<s.length; i++) data[p+i] = s.charCodeAt(i); }, + readBytes : function(buff,p,l){ var arr = []; for(var i=0; i<l; i++) arr.push(buff[p+i]); return arr; }, + pad : function(n) { return n.length < 2 ? "0" + n : n; }, + readUTF8 : function(buff, p, l) { + var s = "", ns; + for(var i=0; i<l; i++) s += "%" + UPNG._bin.pad(buff[p+i].toString(16)); + try { ns = decodeURIComponent(s); } + catch(e) { return UPNG._bin.readASCII(buff, p, l); } + return ns; + } +}; +UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) +{ + var w = Math.min(sw,tw), h = Math.min(sh,th); + var si=0, ti=0; + for(var y=0; y<h; y++) + for(var x=0; x<w; x++) + { + if(xoff>=0 && yoff>=0) { si = (y*sw+x)<<2; ti = (( yoff+y)*tw+xoff+x)<<2; } + else { si = ((-yoff+y)*sw-xoff+x)<<2; ti = (y*tw+x)<<2; } + + if (mode==0) { tb[ti] = sb[si]; tb[ti+1] = sb[si+1]; tb[ti+2] = sb[si+2]; tb[ti+3] = sb[si+3]; } + else if(mode==1) { + var fa = sb[si+3]*(1/255), fr=sb[si]*fa, fg=sb[si+1]*fa, fb=sb[si+2]*fa; + var ba = tb[ti+3]*(1/255), br=tb[ti]*ba, bg=tb[ti+1]*ba, bb=tb[ti+2]*ba; + + var ifa=1-fa, oa = fa+ba*ifa, ioa = (oa==0?0:1/oa); + tb[ti+3] = 255*oa; + tb[ti+0] = (fr+br*ifa)*ioa; + tb[ti+1] = (fg+bg*ifa)*ioa; + tb[ti+2] = (fb+bb*ifa)*ioa; + } + else if(mode==2){ // copy only differences, otherwise zero + var fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; + var ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; + if(fa==ba && fr==br && fg==bg && fb==bb) { tb[ti]=0; tb[ti+1]=0; tb[ti+2]=0; tb[ti+3]=0; } + else { tb[ti]=fr; tb[ti+1]=fg; tb[ti+2]=fb; tb[ti+3]=fa; } + } + else if(mode==3){ // check if can be blended + var fa = sb[si+3], fr=sb[si], fg=sb[si+1], fb=sb[si+2]; + var ba = tb[ti+3], br=tb[ti], bg=tb[ti+1], bb=tb[ti+2]; + if(fa==ba && fr==br && fg==bg && fb==bb) continue; + //if(fa!=255 && ba!=0) return false; + if(fa<220 && ba>20) return false; + } + } + return true; +}; + + + + +UPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte) +{ + if(ps==null) ps=0; + if(forbidPlte==null) forbidPlte = false; + + var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]); + UPNG.encode.compressPNG(nimg, -1); + + return UPNG.encode._main(nimg, w, h, dels, tabs); +}; + +UPNG.encodeLL = function(bufs, w, h, cc, ac, depth, dels, tabs) { + var nimg = { ctype: 0 + (cc==1 ? 0 : 2) + (ac==0 ? 0 : 4), depth: depth, frames: [] }; + var bipp = (cc+ac)*depth, bipl = bipp * w; + for(var i=0; i<bufs.length; i++) + nimg.frames.push({ rect:{x:0,y:0,width:w,height:h}, img:new Uint8Array(bufs[i]), blend:0, dispose:1, bpp:Math.ceil(bipp/8), bpl:Math.ceil(bipl/8) }); + + UPNG.encode.compressPNG(nimg, 0, true); + + var out = UPNG.encode._main(nimg, w, h, dels, tabs); + return out; +}; + +UPNG.encode._main = function(nimg, w, h, dels, tabs) { + if(tabs==null) tabs={}; + var crc = UPNG.crc.crc, wUi = UPNG._bin.writeUint, wUs = UPNG._bin.writeUshort, wAs = UPNG._bin.writeASCII; + var offset = 8, anim = nimg.frames.length>1, pltAlpha = false; + + var leng = 8 + (16+5+4) /*+ (9+4)*/ + (anim ? 20 : 0); + if(tabs["sRGB"]!=null) leng += 8+1+4; + if(tabs["pHYs"]!=null) leng += 8+9+4; + if(nimg.ctype==3) { + var dl = nimg.plte.length; + for(var i=0; i<dl; i++) if((nimg.plte[i]>>>24)!=255) pltAlpha = true; + leng += (8 + dl*3 + 4) + (pltAlpha ? (8 + dl*1 + 4) : 0); + } + for(var j=0; j<nimg.frames.length; j++) + { + var fr = nimg.frames[j]; + if(anim) leng += 38; + leng += fr.cimg.length + 12; + if(j!=0) leng+=4; + } + leng += 12; + + var data = new Uint8Array(leng); + var wr=[0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]; + for(var i=0; i<8; i++) data[i]=wr[i]; + + wUi(data,offset, 13); offset+=4; + wAs(data,offset,"IHDR"); offset+=4; + wUi(data,offset,w); offset+=4; + wUi(data,offset,h); offset+=4; + data[offset] = nimg.depth; offset++; // depth + data[offset] = nimg.ctype; offset++; // ctype + data[offset] = 0; offset++; // compress + data[offset] = 0; offset++; // filter + data[offset] = 0; offset++; // interlace + wUi(data,offset,crc(data,offset-17,17)); offset+=4; // crc + + // 13 bytes to say, that it is sRGB + if(tabs["sRGB"]!=null) { + wUi(data,offset, 1); offset+=4; + wAs(data,offset,"sRGB"); offset+=4; + data[offset] = tabs["sRGB"]; offset++; + wUi(data,offset,crc(data,offset-5,5)); offset+=4; // crc + } + if(tabs["pHYs"]!=null) { + wUi(data,offset, 9); offset+=4; + wAs(data,offset,"pHYs"); offset+=4; + wUi(data,offset, tabs["pHYs"][0]); offset+=4; + wUi(data,offset, tabs["pHYs"][1]); offset+=4; + data[offset]=tabs["pHYs"][2]; offset++; + wUi(data,offset,crc(data,offset-13,13)); offset+=4; // crc + } + + if(anim) { + wUi(data,offset, 8); offset+=4; + wAs(data,offset,"acTL"); offset+=4; + wUi(data,offset, nimg.frames.length); offset+=4; + wUi(data,offset, tabs["loop"]!=null?tabs["loop"]:0); offset+=4; + wUi(data,offset,crc(data,offset-12,12)); offset+=4; // crc + } + + if(nimg.ctype==3) { + var dl = nimg.plte.length; + wUi(data,offset, dl*3); offset+=4; + wAs(data,offset,"PLTE"); offset+=4; + for(var i=0; i<dl; i++){ + var ti=i*3, c=nimg.plte[i], r=(c)&255, g=(c>>>8)&255, b=(c>>>16)&255; + data[offset+ti+0]=r; data[offset+ti+1]=g; data[offset+ti+2]=b; + } + offset+=dl*3; + wUi(data,offset,crc(data,offset-dl*3-4,dl*3+4)); offset+=4; // crc + + if(pltAlpha) { + wUi(data,offset, dl); offset+=4; + wAs(data,offset,"tRNS"); offset+=4; + for(var i=0; i<dl; i++) data[offset+i]=(nimg.plte[i]>>>24)&255; + offset+=dl; + wUi(data,offset,crc(data,offset-dl-4,dl+4)); offset+=4; // crc + } + } + + var fi = 0; + for(var j=0; j<nimg.frames.length; j++) + { + var fr = nimg.frames[j]; + if(anim) { + wUi(data, offset, 26); offset+=4; + wAs(data, offset,"fcTL"); offset+=4; + wUi(data, offset, fi++); offset+=4; + wUi(data, offset, fr.rect.width ); offset+=4; + wUi(data, offset, fr.rect.height); offset+=4; + wUi(data, offset, fr.rect.x); offset+=4; + wUi(data, offset, fr.rect.y); offset+=4; + wUs(data, offset, dels[j]); offset+=2; + wUs(data, offset, 1000); offset+=2; + data[offset] = fr.dispose; offset++; // dispose + data[offset] = fr.blend ; offset++; // blend + wUi(data,offset,crc(data,offset-30,30)); offset+=4; // crc + } + + var imgd = fr.cimg, dl = imgd.length; + wUi(data,offset, dl+(j==0?0:4)); offset+=4; + var ioff = offset; + wAs(data,offset,(j==0)?"IDAT":"fdAT"); offset+=4; + if(j!=0) { wUi(data, offset, fi++); offset+=4; } + data.set(imgd,offset); + offset += dl; + wUi(data,offset,crc(data,ioff,offset-ioff)); offset+=4; // crc + } + + wUi(data,offset, 0); offset+=4; + wAs(data,offset,"IEND"); offset+=4; + wUi(data,offset,crc(data,offset-4,4)); offset+=4; // crc + + return data.buffer; +}; + +UPNG.encode.compressPNG = function(out, filter, levelZero) { + for(var i=0; i<out.frames.length; i++) { + var frm = out.frames[i], nw=frm.rect.width, nh=frm.rect.height; + var fdata = new Uint8Array(nh*frm.bpl+nh); + frm.cimg = UPNG.encode._filterZero(frm.img,nh,frm.bpp,frm.bpl,fdata, filter, levelZero); + } +}; + + + +UPNG.encode.compress = function(bufs, w, h, ps, prms) // prms: onlyBlend, minBits, forbidPlte +{ + //var time = Date.now(); + var onlyBlend = prms[0], evenCrd = prms[1], forbidPrev = prms[2], minBits = prms[3], forbidPlte = prms[4]; + + var ctype = 6, depth = 8, alphaAnd=255; + + for(var j=0; j<bufs.length; j++) { // when not quantized, other frames can contain colors, that are not in an initial frame + var img = new Uint8Array(bufs[j]), ilen = img.length; + for(var i=0; i<ilen; i+=4) alphaAnd &= img[i+3]; + } + var gotAlpha = (alphaAnd!=255); + + //console.log("alpha check", Date.now()-time); time = Date.now(); + + //var brute = gotAlpha && forGIF; // brute : frames can only be copied, not "blended" + var frms = UPNG.encode.framize(bufs, w, h, onlyBlend, evenCrd, forbidPrev); + //console.log("framize", Date.now()-time); time = Date.now(); + + var cmap={}, plte=[], inds=[]; + + if(ps!=0) { + var nbufs = []; for(var i=0; i<frms.length; i++) nbufs.push(frms[i].img.buffer); + + var abuf = UPNG.encode.concatRGBA(nbufs), qres = UPNG.quantize(abuf, ps); + var cof = 0, bb = new Uint8Array(qres.abuf); + for(var i=0; i<frms.length; i++) { var ti=frms[i].img, bln=ti.length; inds.push(new Uint8Array(qres.inds.buffer, cof>>2, bln>>2)); + for(var j=0; j<bln; j+=4) { ti[j]=bb[cof+j]; ti[j+1]=bb[cof+j+1]; ti[j+2]=bb[cof+j+2]; ti[j+3]=bb[cof+j+3]; } cof+=bln; } + + for(var i=0; i<qres.plte.length; i++) plte.push(qres.plte[i].est.rgba); + //console.log("quantize", Date.now()-time); time = Date.now(); + } + else { + // what if ps==0, but there are <=256 colors? we still need to detect, if the palette could be used + for(var j=0; j<frms.length; j++) { // when not quantized, other frames can contain colors, that are not in an initial frame + var frm = frms[j], img32 = new Uint32Array(frm.img.buffer), nw=frm.rect.width, ilen = img32.length; + var ind = new Uint8Array(ilen); inds.push(ind); + for(var i=0; i<ilen; i++) { + var c = img32[i]; + if (i!=0 && c==img32[i- 1]) ind[i]=ind[i-1]; + else if(i>nw && c==img32[i-nw]) ind[i]=ind[i-nw]; + else { + var cmc = cmap[c]; + if(cmc==null) { cmap[c]=cmc=plte.length; plte.push(c); if(plte.length>=300) break; } + ind[i]=cmc; + } + } + } + //console.log("make palette", Date.now()-time); time = Date.now(); + } + + var cc=plte.length; //console.log("colors:",cc); + if(cc<=256 && forbidPlte==false) { + if(cc<= 2) depth=1; else if(cc<= 4) depth=2; else if(cc<=16) depth=4; else depth=8; + depth = Math.max(depth, minBits); + } + + for(var j=0; j<frms.length; j++) + { + var frm = frms[j], nx=frm.rect.x, ny=frm.rect.y, nw=frm.rect.width, nh=frm.rect.height; + var cimg = frm.img, cimg32 = new Uint32Array(cimg.buffer); + var bpl = 4*nw, bpp=4; + if(cc<=256 && forbidPlte==false) { + bpl = Math.ceil(depth*nw/8); + var nimg = new Uint8Array(bpl*nh); + var inj = inds[j]; + for(var y=0; y<nh; y++) { var i=y*bpl, ii=y*nw; + if (depth==8) for(var x=0; x<nw; x++) nimg[i+(x) ] = (inj[ii+x] ); + else if(depth==4) for(var x=0; x<nw; x++) nimg[i+(x>>1)] |= (inj[ii+x]<<(4-(x&1)*4)); + else if(depth==2) for(var x=0; x<nw; x++) nimg[i+(x>>2)] |= (inj[ii+x]<<(6-(x&3)*2)); + else if(depth==1) for(var x=0; x<nw; x++) nimg[i+(x>>3)] |= (inj[ii+x]<<(7-(x&7)*1)); + } + cimg=nimg; ctype=3; bpp=1; + } + else if(gotAlpha==false && frms.length==1) { // some next "reduced" frames may contain alpha for blending + var nimg = new Uint8Array(nw*nh*3), area=nw*nh; + for(var i=0; i<area; i++) { var ti=i*3, qi=i*4; nimg[ti]=cimg[qi]; nimg[ti+1]=cimg[qi+1]; nimg[ti+2]=cimg[qi+2]; } + cimg=nimg; ctype=2; bpp=3; bpl=3*nw; + } + frm.img=cimg; frm.bpl=bpl; frm.bpp=bpp; + } + //console.log("colors => palette indices", Date.now()-time); time = Date.now(); + + return {ctype:ctype, depth:depth, plte:plte, frames:frms }; +}; +UPNG.encode.framize = function(bufs,w,h,alwaysBlend,evenCrd,forbidPrev) { + /* DISPOSE + - 0 : no change + - 1 : clear to transparent + - 2 : retstore to content before rendering (previous frame disposed) + BLEND + - 0 : replace + - 1 : blend + */ + var frms = []; + for(var j=0; j<bufs.length; j++) { + var cimg = new Uint8Array(bufs[j]), cimg32 = new Uint32Array(cimg.buffer); + var nimg; + + var nx=0, ny=0, nw=w, nh=h, blend=alwaysBlend?1:0; + if(j!=0) { + var tlim = (forbidPrev || alwaysBlend || j==1 || frms[j-2].dispose!=0)?1:2, tstp = 0, tarea = 1e9; + for(var it=0; it<tlim; it++) + { + var pimg = new Uint8Array(bufs[j-1-it]), p32 = new Uint32Array(bufs[j-1-it]); + var mix=w,miy=h,max=-1,may=-1; + for(var y=0; y<h; y++) for(var x=0; x<w; x++) { + var i = y*w+x; + if(cimg32[i]!=p32[i]) { + if(x<mix) mix=x; if(x>max) max=x; + if(y<miy) miy=y; if(y>may) may=y; + } + } + if(max==-1) mix=miy=max=may=0; + if(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; } + var sarea = (max-mix+1)*(may-miy+1); + if(sarea<tarea) { + tarea = sarea; tstp = it; + nx = mix; ny = miy; nw = max-mix+1; nh = may-miy+1; + } + } + + // alwaysBlend: pokud zjistím, že blendit nelze, nastavím předchozímu snímku dispose=1. Zajistím, aby obsahoval můj obdélník. + var pimg = new Uint8Array(bufs[j-1-tstp]); + if(tstp==1) frms[j-1].dispose = 2; + + nimg = new Uint8Array(nw*nh*4); + UPNG._copyTile(pimg,w,h, nimg,nw,nh, -nx,-ny, 0); + + blend = UPNG._copyTile(cimg,w,h, nimg,nw,nh, -nx,-ny, 3) ? 1 : 0; + if(blend==1) UPNG.encode._prepareDiff(cimg,w,h,nimg,{x:nx,y:ny,width:nw,height:nh}); + else UPNG._copyTile(cimg,w,h, nimg,nw,nh, -nx,-ny, 0); + //UPNG._copyTile(cimg,w,h, nimg,nw,nh, -nx,-ny, blend==1?2:0); + } + else nimg = cimg.slice(0); // img may be rewritten further ... don't rewrite input + + frms.push({rect:{x:nx,y:ny,width:nw,height:nh}, img:nimg, blend:blend, dispose:0}); + } + + + if(alwaysBlend) for(var j=0; j<frms.length; j++) { + var frm = frms[j]; if(frm.blend==1) continue; + var r0 = frm.rect, r1 = frms[j-1].rect; + var miX = Math.min(r0.x, r1.x), miY = Math.min(r0.y, r1.y); + var maX = Math.max(r0.x+r0.width, r1.x+r1.width), maY = Math.max(r0.y+r0.height, r1.y+r1.height); + var r = {x:miX, y:miY, width:maX-miX, height:maY-miY}; + + frms[j-1].dispose = 1; + if(j-1!=0) + UPNG.encode._updateFrame(bufs, w,h,frms, j-1,r, evenCrd); + UPNG.encode._updateFrame(bufs, w,h,frms, j ,r, evenCrd); + } + var area = 0; + if(bufs.length!=1) for(var i=0; i<frms.length; i++) { + var frm = frms[i]; + area += frm.rect.width*frm.rect.height; + //if(i==0 || frm.blend!=1) continue; + //var ob = new Uint8Array( + //console.log(frm.blend, frm.dispose, frm.rect); + } + //if(area!=0) console.log(area); + return frms; +}; +UPNG.encode._updateFrame = function(bufs, w,h, frms, i, r, evenCrd) { + var U8 = Uint8Array, U32 = Uint32Array; + var pimg = new U8(bufs[i-1]), pimg32 = new U32(bufs[i-1]), nimg = i+1<bufs.length ? new U8(bufs[i+1]):null; + var cimg = new U8(bufs[i]), cimg32 = new U32(cimg.buffer); + + var mix=w,miy=h,max=-1,may=-1; + for(var y=0; y<r.height; y++) for(var x=0; x<r.width; x++) { + var cx = r.x+x, cy = r.y+y; + var j = cy*w+cx, cc = cimg32[j]; + // no need to draw transparency, or to dispose it. Or, if writing the same color and the next one does not need transparency. + if(cc==0 || (frms[i-1].dispose==0 && pimg32[j]==cc && (nimg==null || nimg[j*4+3]!=0))/**/) ; + else { + if(cx<mix) mix=cx; if(cx>max) max=cx; + if(cy<miy) miy=cy; if(cy>may) may=cy; + } + } + if(max==-1) mix=miy=max=may=0; + if(evenCrd) { if((mix&1)==1)mix--; if((miy&1)==1)miy--; } + r = {x:mix, y:miy, width:max-mix+1, height:may-miy+1}; + + var fr = frms[i]; fr.rect = r; fr.blend = 1; fr.img = new Uint8Array(r.width*r.height*4); + if(frms[i-1].dispose==0) { + UPNG._copyTile(pimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0); + UPNG.encode._prepareDiff(cimg,w,h,fr.img,r); + //UPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 2); + } + else + UPNG._copyTile(cimg,w,h, fr.img,r.width,r.height, -r.x,-r.y, 0); +}; +UPNG.encode._prepareDiff = function(cimg, w,h, nimg, rec) { + UPNG._copyTile(cimg,w,h, nimg,rec.width,rec.height, -rec.x,-rec.y, 2); + /* + var n32 = new Uint32Array(nimg.buffer); + var og = new Uint8Array(rec.width*rec.height*4), o32 = new Uint32Array(og.buffer); + UPNG._copyTile(cimg,w,h, og,rec.width,rec.height, -rec.x,-rec.y, 0); + for(var i=4; i<nimg.length; i+=4) { + if(nimg[i-1]!=0 && nimg[i+3]==0 && o32[i>>>2]==o32[(i>>>2)-1]) { + n32[i>>>2]=o32[i>>>2]; + //var j = i, c=p32[(i>>>2)-1]; + //while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; } + } + } + for(var i=nimg.length-8; i>0; i-=4) { + if(nimg[i+7]!=0 && nimg[i+3]==0 && o32[i>>>2]==o32[(i>>>2)+1]) { + n32[i>>>2]=o32[i>>>2]; + //var j = i, c=p32[(i>>>2)-1]; + //while(p32[j>>>2]==c) { n32[j>>>2]=c; j+=4; } + } + }*/ +}; + +UPNG.encode._filterZero = function(img,h,bpp,bpl,data, filter, levelZero) +{ + var fls = [], ftry=[0,1,2,3,4]; + if (filter!=-1) ftry=[filter]; + else if(h*bpl>500000 || bpp==1) ftry=[0]; + var opts; if(levelZero) opts={level:0}; + + var CMPR = (levelZero && UZIP!=null) ? UZIP : pako_1$2; + + for(var i=0; i<ftry.length; i++) { + for(var y=0; y<h; y++) UPNG.encode._filterLine(data, img, y, bpl, bpp, ftry[i]); + //var nimg = new Uint8Array(data.length); + //var sz = UZIP.F.deflate(data, nimg); fls.push(nimg.slice(0,sz)); + //var dfl = pako["deflate"](data), dl=dfl.length-4; + //var crc = (dfl[dl+3]<<24)|(dfl[dl+2]<<16)|(dfl[dl+1]<<8)|(dfl[dl+0]<<0); + //console.log(crc, UZIP.adler(data,2,data.length-6)); + fls.push(CMPR["deflate"](data,opts)); + } + var ti, tsize=1e9; + for(var i=0; i<fls.length; i++) if(fls[i].length<tsize) { ti=i; tsize=fls[i].length; } + return fls[ti]; +}; +UPNG.encode._filterLine = function(data, img, y, bpl, bpp, type) +{ + var i = y*bpl, di = i+y, paeth = UPNG.decode._paeth; + data[di]=type; di++; + + if(type==0) { + if(bpl<500) for(var x=0; x<bpl; x++) data[di+x] = img[i+x]; + else data.set(new Uint8Array(img.buffer,i,bpl),di); + } + else if(type==1) { + for(var x= 0; x<bpp; x++) data[di+x] = img[i+x]; + for(var x=bpp; x<bpl; x++) data[di+x] = (img[i+x]-img[i+x-bpp]+256)&255; + } + else if(y==0) { + for(var x= 0; x<bpp; x++) data[di+x] = img[i+x]; + + if(type==2) for(var x=bpp; x<bpl; x++) data[di+x] = img[i+x]; + if(type==3) for(var x=bpp; x<bpl; x++) data[di+x] = (img[i+x] - (img[i+x-bpp]>>1) +256)&255; + if(type==4) for(var x=bpp; x<bpl; x++) data[di+x] = (img[i+x] - paeth(img[i+x-bpp], 0, 0) +256)&255; + } + else { + if(type==2) { for(var x= 0; x<bpl; x++) data[di+x] = (img[i+x]+256 - img[i+x-bpl])&255; } + if(type==3) { for(var x= 0; x<bpp; x++) data[di+x] = (img[i+x]+256 - (img[i+x-bpl]>>1))&255; + for(var x=bpp; x<bpl; x++) data[di+x] = (img[i+x]+256 - ((img[i+x-bpl]+img[i+x-bpp])>>1))&255; } + if(type==4) { for(var x= 0; x<bpp; x++) data[di+x] = (img[i+x]+256 - paeth(0, img[i+x-bpl], 0))&255; + for(var x=bpp; x<bpl; x++) data[di+x] = (img[i+x]+256 - paeth(img[i+x-bpp], img[i+x-bpl], img[i+x-bpp-bpl]))&255; } + } +}; + +UPNG.crc = { + table : ( function() { + var tab = new Uint32Array(256); + for (var n=0; n<256; n++) { + var c = n; + for (var k=0; k<8; k++) { + if (c & 1) c = 0xedb88320 ^ (c >>> 1); + else c = c >>> 1; + } + tab[n] = c; } + return tab; })(), + update : function(c, buf, off, len) { + for (var i=0; i<len; i++) c = UPNG.crc.table[(c ^ buf[off+i]) & 0xff] ^ (c >>> 8); + return c; + }, + crc : function(b,o,l) { return UPNG.crc.update(0xffffffff,b,o,l) ^ 0xffffffff; } +}; + + +UPNG.quantize = function(abuf, ps) +{ + var oimg = new Uint8Array(abuf), nimg = oimg.slice(0), nimg32 = new Uint32Array(nimg.buffer); + + var KD = UPNG.quantize.getKDtree(nimg, ps); + var root = KD[0], leafs = KD[1]; + + var planeDst = UPNG.quantize.planeDst; + var sb = oimg, tb = nimg32, len=sb.length; + + var inds = new Uint8Array(oimg.length>>2); + for(var i=0; i<len; i+=4) { + var r=sb[i]*(1/255), g=sb[i+1]*(1/255), b=sb[i+2]*(1/255), a=sb[i+3]*(1/255); + + // exact, but too slow :( + var nd = UPNG.quantize.getNearest(root, r, g, b, a); + //var nd = root; + //while(nd.left) nd = (planeDst(nd.est,r,g,b,a)<=0) ? nd.left : nd.right; + + inds[i>>2] = nd.ind; + tb[i>>2] = nd.est.rgba; + } + return { abuf:nimg.buffer, inds:inds, plte:leafs }; +}; + +UPNG.quantize.getKDtree = function(nimg, ps, err) { + if(err==null) err = 0.0001; + var nimg32 = new Uint32Array(nimg.buffer); + + var root = {i0:0, i1:nimg.length, bst:null, est:null, tdst:0, left:null, right:null }; // basic statistic, extra statistic + root.bst = UPNG.quantize.stats( nimg,root.i0, root.i1 ); root.est = UPNG.quantize.estats( root.bst ); + var leafs = [root]; + + while(leafs.length<ps) + { + var maxL = 0, mi=0; + for(var i=0; i<leafs.length; i++) if(leafs[i].est.L > maxL) { maxL=leafs[i].est.L; mi=i; } + if(maxL<err) break; + var node = leafs[mi]; + + var s0 = UPNG.quantize.splitPixels(nimg,nimg32, node.i0, node.i1, node.est.e, node.est.eMq255); + var s0wrong = (node.i0>=s0 || node.i1<=s0); + //console.log(maxL, leafs.length, mi); + if(s0wrong) { node.est.L=0; continue; } + + + var ln = {i0:node.i0, i1:s0, bst:null, est:null, tdst:0, left:null, right:null }; ln.bst = UPNG.quantize.stats( nimg, ln.i0, ln.i1 ); + ln.est = UPNG.quantize.estats( ln.bst ); + var rn = {i0:s0, i1:node.i1, bst:null, est:null, tdst:0, left:null, right:null }; rn.bst = {R:[], m:[], N:node.bst.N-ln.bst.N}; + for(var i=0; i<16; i++) rn.bst.R[i] = node.bst.R[i]-ln.bst.R[i]; + for(var i=0; i< 4; i++) rn.bst.m[i] = node.bst.m[i]-ln.bst.m[i]; + rn.est = UPNG.quantize.estats( rn.bst ); + + node.left = ln; node.right = rn; + leafs[mi]=ln; leafs.push(rn); + } + leafs.sort(function(a,b) { return b.bst.N-a.bst.N; }); + for(var i=0; i<leafs.length; i++) leafs[i].ind=i; + return [root, leafs]; +}; + +UPNG.quantize.getNearest = function(nd, r,g,b,a) +{ + if(nd.left==null) { nd.tdst = UPNG.quantize.dist(nd.est.q,r,g,b,a); return nd; } + var planeDst = UPNG.quantize.planeDst(nd.est,r,g,b,a); + + var node0 = nd.left, node1 = nd.right; + if(planeDst>0) { node0=nd.right; node1=nd.left; } + + var ln = UPNG.quantize.getNearest(node0, r,g,b,a); + if(ln.tdst<=planeDst*planeDst) return ln; + var rn = UPNG.quantize.getNearest(node1, r,g,b,a); + return rn.tdst<ln.tdst ? rn : ln; +}; +UPNG.quantize.planeDst = function(est, r,g,b,a) { var e = est.e; return e[0]*r + e[1]*g + e[2]*b + e[3]*a - est.eMq; }; +UPNG.quantize.dist = function(q, r,g,b,a) { var d0=r-q[0], d1=g-q[1], d2=b-q[2], d3=a-q[3]; return d0*d0+d1*d1+d2*d2+d3*d3; }; + +UPNG.quantize.splitPixels = function(nimg, nimg32, i0, i1, e, eMq) +{ + var vecDot = UPNG.quantize.vecDot; + i1-=4; + while(i0<i1) + { + while(vecDot(nimg, i0, e)<=eMq) i0+=4; + while(vecDot(nimg, i1, e)> eMq) i1-=4; + if(i0>=i1) break; + + var t = nimg32[i0>>2]; nimg32[i0>>2] = nimg32[i1>>2]; nimg32[i1>>2]=t; + + i0+=4; i1-=4; + } + while(vecDot(nimg, i0, e)>eMq) i0-=4; + return i0+4; +}; +UPNG.quantize.vecDot = function(nimg, i, e) +{ + return nimg[i]*e[0] + nimg[i+1]*e[1] + nimg[i+2]*e[2] + nimg[i+3]*e[3]; +}; +UPNG.quantize.stats = function(nimg, i0, i1){ + var R = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; + var m = [0,0,0,0]; + var N = (i1-i0)>>2; + for(var i=i0; i<i1; i+=4) + { + var r = nimg[i]*(1/255), g = nimg[i+1]*(1/255), b = nimg[i+2]*(1/255), a = nimg[i+3]*(1/255); + //var r = nimg[i], g = nimg[i+1], b = nimg[i+2], a = nimg[i+3]; + m[0]+=r; m[1]+=g; m[2]+=b; m[3]+=a; + + R[ 0] += r*r; R[ 1] += r*g; R[ 2] += r*b; R[ 3] += r*a; + R[ 5] += g*g; R[ 6] += g*b; R[ 7] += g*a; + R[10] += b*b; R[11] += b*a; + R[15] += a*a; + } + R[4]=R[1]; R[8]=R[2]; R[9]=R[6]; R[12]=R[3]; R[13]=R[7]; R[14]=R[11]; + + return {R:R, m:m, N:N}; +}; +UPNG.quantize.estats = function(stats){ + var R = stats.R, m = stats.m, N = stats.N; + + // when all samples are equal, but N is large (millions), the Rj can be non-zero ( 0.0003.... - precission error) + var m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3], iN = (N==0 ? 0 : 1/N); + var Rj = [ + R[ 0] - m0*m0*iN, R[ 1] - m0*m1*iN, R[ 2] - m0*m2*iN, R[ 3] - m0*m3*iN, + R[ 4] - m1*m0*iN, R[ 5] - m1*m1*iN, R[ 6] - m1*m2*iN, R[ 7] - m1*m3*iN, + R[ 8] - m2*m0*iN, R[ 9] - m2*m1*iN, R[10] - m2*m2*iN, R[11] - m2*m3*iN, + R[12] - m3*m0*iN, R[13] - m3*m1*iN, R[14] - m3*m2*iN, R[15] - m3*m3*iN + ]; + + var A = Rj, M = UPNG.M4; + var b = [0.5,0.5,0.5,0.5], mi = 0, tmi = 0; + + if(N!=0) + for(var i=0; i<10; i++) { + b = M.multVec(A, b); tmi = Math.sqrt(M.dot(b,b)); b = M.sml(1/tmi, b); + if(Math.abs(tmi-mi)<1e-9) break; mi = tmi; + } + //b = [0,0,1,0]; mi=N; + var q = [m0*iN, m1*iN, m2*iN, m3*iN]; + var eMq255 = M.dot(M.sml(255,q),b); + + return { Cov:Rj, q:q, e:b, L:mi, eMq255:eMq255, eMq : M.dot(b,q), + rgba: (((Math.round(255*q[3])<<24) | (Math.round(255*q[2])<<16) | (Math.round(255*q[1])<<8) | (Math.round(255*q[0])<<0))>>>0) }; +}; +UPNG.M4 = { + multVec : function(m,v) { + return [ + m[ 0]*v[0] + m[ 1]*v[1] + m[ 2]*v[2] + m[ 3]*v[3], + m[ 4]*v[0] + m[ 5]*v[1] + m[ 6]*v[2] + m[ 7]*v[3], + m[ 8]*v[0] + m[ 9]*v[1] + m[10]*v[2] + m[11]*v[3], + m[12]*v[0] + m[13]*v[1] + m[14]*v[2] + m[15]*v[3] + ]; + }, + dot : function(x,y) { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]; }, + sml : function(a,y) { return [a*y[0],a*y[1],a*y[2],a*y[3]]; } +}; + +UPNG.encode.concatRGBA = function(bufs) { + var tlen = 0; + for(var i=0; i<bufs.length; i++) tlen += bufs[i].byteLength; + var nimg = new Uint8Array(tlen), noff=0; + for(var i=0; i<bufs.length; i++) { + var img = new Uint8Array(bufs[i]), il = img.length; + for(var j=0; j<il; j+=4) { + var r=img[j], g=img[j+1], b=img[j+2], a = img[j+3]; + if(a==0) r=g=b=0; + nimg[noff+j]=r; nimg[noff+j+1]=g; nimg[noff+j+2]=b; nimg[noff+j+3]=a; } + noff += il; + } + return nimg.buffer; +}; + +var getImageType = function (ctype) { + if (ctype === 0) + return PngType.Greyscale; + if (ctype === 2) + return PngType.Truecolour; + if (ctype === 3) + return PngType.IndexedColour; + if (ctype === 4) + return PngType.GreyscaleWithAlpha; + if (ctype === 6) + return PngType.TruecolourWithAlpha; + throw new Error("Unknown color type: " + ctype); +}; +var splitAlphaChannel = function (rgbaChannel) { + var pixelCount = Math.floor(rgbaChannel.length / 4); + var rgbChannel = new Uint8Array(pixelCount * 3); + var alphaChannel = new Uint8Array(pixelCount * 1); + var rgbaOffset = 0; + var rgbOffset = 0; + var alphaOffset = 0; + while (rgbaOffset < rgbaChannel.length) { + rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; + rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; + rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++]; + alphaChannel[alphaOffset++] = rgbaChannel[rgbaOffset++]; + } + return { rgbChannel: rgbChannel, alphaChannel: alphaChannel }; +}; +var PngType; +(function (PngType) { + PngType["Greyscale"] = "Greyscale"; + PngType["Truecolour"] = "Truecolour"; + PngType["IndexedColour"] = "IndexedColour"; + PngType["GreyscaleWithAlpha"] = "GreyscaleWithAlpha"; + PngType["TruecolourWithAlpha"] = "TruecolourWithAlpha"; +})(PngType || (PngType = {})); +var PNG = /** @class */ (function () { + function PNG(pngData) { + var upng = UPNG.decode(pngData); + var frames = UPNG.toRGBA8(upng); + if (frames.length > 1) + throw new Error("Animated PNGs are not supported"); + var frame = new Uint8Array(frames[0]); + var _a = splitAlphaChannel(frame), rgbChannel = _a.rgbChannel, alphaChannel = _a.alphaChannel; + this.rgbChannel = rgbChannel; + var hasAlphaValues = alphaChannel.some(function (a) { return a < 255; }); + if (hasAlphaValues) + this.alphaChannel = alphaChannel; + this.type = getImageType(upng.ctype); + this.width = upng.width; + this.height = upng.height; + this.bitsPerComponent = 8; + } + PNG.load = function (pngData) { return new PNG(pngData); }; + return PNG; +}()); + +/** + * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as + * this class borrows from: + * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/png.coffee + */ +var PngEmbedder = /** @class */ (function () { + function PngEmbedder(png) { + this.image = png; + this.bitsPerComponent = png.bitsPerComponent; + this.width = png.width; + this.height = png.height; + this.colorSpace = 'DeviceRGB'; + } + PngEmbedder.for = function (imageData) { + return __awaiter(this, void 0, void 0, function () { + var png; + return __generator(this, function (_a) { + png = PNG.load(imageData); + return [2 /*return*/, new PngEmbedder(png)]; + }); + }); + }; + PngEmbedder.prototype.embedIntoContext = function (context, ref) { + return __awaiter(this, void 0, void 0, function () { + var SMask, xObject; + return __generator(this, function (_a) { + SMask = this.embedAlphaChannel(context); + xObject = context.flateStream(this.image.rgbChannel, { + Type: 'XObject', + Subtype: 'Image', + BitsPerComponent: this.image.bitsPerComponent, + Width: this.image.width, + Height: this.image.height, + ColorSpace: this.colorSpace, + SMask: SMask, + }); + if (ref) { + context.assign(ref, xObject); + return [2 /*return*/, ref]; + } + else { + return [2 /*return*/, context.register(xObject)]; + } + }); + }); + }; + PngEmbedder.prototype.embedAlphaChannel = function (context) { + if (!this.image.alphaChannel) + return undefined; + var xObject = context.flateStream(this.image.alphaChannel, { + Type: 'XObject', + Subtype: 'Image', + Height: this.image.height, + Width: this.image.width, + BitsPerComponent: this.image.bitsPerComponent, + ColorSpace: 'DeviceGray', + Decode: [0, 1], + }); + return context.register(xObject); + }; + return PngEmbedder; +}()); + +/* + * Copyright 2012 Mozilla Foundation + * + * The Stream class contained in this file is a TypeScript port of the + * JavaScript Stream class in Mozilla's pdf.js project, made available + * under the Apache 2.0 open source license. + */ +var Stream = /** @class */ (function () { + function Stream(buffer, start, length) { + this.bytes = buffer; + this.start = start || 0; + this.pos = this.start; + this.end = !!start && !!length ? start + length : this.bytes.length; + } + Object.defineProperty(Stream.prototype, "length", { + get: function () { + return this.end - this.start; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Stream.prototype, "isEmpty", { + get: function () { + return this.length === 0; + }, + enumerable: false, + configurable: true + }); + Stream.prototype.getByte = function () { + if (this.pos >= this.end) { + return -1; + } + return this.bytes[this.pos++]; + }; + Stream.prototype.getUint16 = function () { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }; + Stream.prototype.getInt32 = function () { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }; + // Returns subarray of original buffer, should only be read. + Stream.prototype.getBytes = function (length, forceClamped) { + if (forceClamped === void 0) { forceClamped = false; } + var bytes = this.bytes; + var pos = this.pos; + var strEnd = this.end; + if (!length) { + var subarray = bytes.subarray(pos, strEnd); + // `this.bytes` is always a `Uint8Array` here. + return forceClamped ? new Uint8ClampedArray(subarray) : subarray; + } + else { + var end = pos + length; + if (end > strEnd) { + end = strEnd; + } + this.pos = end; + var subarray = bytes.subarray(pos, end); + // `this.bytes` is always a `Uint8Array` here. + return forceClamped ? new Uint8ClampedArray(subarray) : subarray; + } + }; + Stream.prototype.peekByte = function () { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }; + Stream.prototype.peekBytes = function (length, forceClamped) { + if (forceClamped === void 0) { forceClamped = false; } + var bytes = this.getBytes(length, forceClamped); + this.pos -= bytes.length; + return bytes; + }; + Stream.prototype.skip = function (n) { + if (!n) { + n = 1; + } + this.pos += n; + }; + Stream.prototype.reset = function () { + this.pos = this.start; + }; + Stream.prototype.moveStart = function () { + this.start = this.pos; + }; + Stream.prototype.makeSubStream = function (start, length) { + return new Stream(this.bytes, start, length); + }; + Stream.prototype.decode = function () { + return this.bytes; + }; + return Stream; +}()); + +/* + * Copyright 2012 Mozilla Foundation + * + * The DecodeStream class contained in this file is a TypeScript port of the + * JavaScript DecodeStream class in Mozilla's pdf.js project, made available + * under the Apache 2.0 open source license. + */ +// Lots of DecodeStreams are created whose buffers are never used. For these +// we share a single empty buffer. This is (a) space-efficient and (b) avoids +// having special cases that would be required if we used |null| for an empty +// buffer. +var emptyBuffer = new Uint8Array(0); +/** + * Super class for the decoding streams + */ +var DecodeStream = /** @class */ (function () { + function DecodeStream(maybeMinBufferLength) { + this.pos = 0; + this.bufferLength = 0; + this.eof = false; + this.buffer = emptyBuffer; + this.minBufferLength = 512; + if (maybeMinBufferLength) { + // Compute the first power of two that is as big as maybeMinBufferLength. + while (this.minBufferLength < maybeMinBufferLength) { + this.minBufferLength *= 2; + } + } + } + Object.defineProperty(DecodeStream.prototype, "isEmpty", { + get: function () { + while (!this.eof && this.bufferLength === 0) { + this.readBlock(); + } + return this.bufferLength === 0; + }, + enumerable: false, + configurable: true + }); + DecodeStream.prototype.getByte = function () { + var pos = this.pos; + while (this.bufferLength <= pos) { + if (this.eof) { + return -1; + } + this.readBlock(); + } + return this.buffer[this.pos++]; + }; + DecodeStream.prototype.getUint16 = function () { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }; + DecodeStream.prototype.getInt32 = function () { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }; + DecodeStream.prototype.getBytes = function (length, forceClamped) { + if (forceClamped === void 0) { forceClamped = false; } + var end; + var pos = this.pos; + if (length) { + this.ensureBuffer(pos + length); + end = pos + length; + while (!this.eof && this.bufferLength < end) { + this.readBlock(); + } + var bufEnd = this.bufferLength; + if (end > bufEnd) { + end = bufEnd; + } + } + else { + while (!this.eof) { + this.readBlock(); + } + end = this.bufferLength; + } + this.pos = end; + var subarray = this.buffer.subarray(pos, end); + // `this.buffer` is either a `Uint8Array` or `Uint8ClampedArray` here. + return forceClamped && !(subarray instanceof Uint8ClampedArray) + ? new Uint8ClampedArray(subarray) + : subarray; + }; + DecodeStream.prototype.peekByte = function () { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }; + DecodeStream.prototype.peekBytes = function (length, forceClamped) { + if (forceClamped === void 0) { forceClamped = false; } + var bytes = this.getBytes(length, forceClamped); + this.pos -= bytes.length; + return bytes; + }; + DecodeStream.prototype.skip = function (n) { + if (!n) { + n = 1; + } + this.pos += n; + }; + DecodeStream.prototype.reset = function () { + this.pos = 0; + }; + DecodeStream.prototype.makeSubStream = function (start, length /* dict */) { + var end = start + length; + while (this.bufferLength <= end && !this.eof) { + this.readBlock(); + } + return new Stream(this.buffer, start, length /* dict */); + }; + DecodeStream.prototype.decode = function () { + while (!this.eof) + this.readBlock(); + return this.buffer.subarray(0, this.bufferLength); + }; + DecodeStream.prototype.readBlock = function () { + throw new MethodNotImplementedError(this.constructor.name, 'readBlock'); + }; + DecodeStream.prototype.ensureBuffer = function (requested) { + var buffer = this.buffer; + if (requested <= buffer.byteLength) { + return buffer; + } + var size = this.minBufferLength; + while (size < requested) { + size *= 2; + } + var buffer2 = new Uint8Array(size); + buffer2.set(buffer); + return (this.buffer = buffer2); + }; + return DecodeStream; +}()); + +/* + * Copyright 2012 Mozilla Foundation + * + * The Ascii85Stream class contained in this file is a TypeScript port of the + * JavaScript Ascii85Stream class in Mozilla's pdf.js project, made available + * under the Apache 2.0 open source license. + */ +var isSpace = function (ch) { + return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a; +}; +var Ascii85Stream = /** @class */ (function (_super) { + __extends(Ascii85Stream, _super); + function Ascii85Stream(stream, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream; + _this.input = new Uint8Array(5); + // Most streams increase in size when decoded, but Ascii85 streams + // typically shrink by ~20%. + if (maybeLength) { + maybeLength = 0.8 * maybeLength; + } + return _this; + } + Ascii85Stream.prototype.readBlock = function () { + var TILDA_CHAR = 0x7e; // '~' + var Z_LOWER_CHAR = 0x7a; // 'z' + var EOF = -1; + var stream = this.stream; + var c = stream.getByte(); + while (isSpace(c)) { + c = stream.getByte(); + } + if (c === EOF || c === TILDA_CHAR) { + this.eof = true; + return; + } + var bufferLength = this.bufferLength; + var buffer; + var i; + // special code for z + if (c === Z_LOWER_CHAR) { + buffer = this.ensureBuffer(bufferLength + 4); + for (i = 0; i < 4; ++i) { + buffer[bufferLength + i] = 0; + } + this.bufferLength += 4; + } + else { + var input = this.input; + input[0] = c; + for (i = 1; i < 5; ++i) { + c = stream.getByte(); + while (isSpace(c)) { + c = stream.getByte(); + } + input[i] = c; + if (c === EOF || c === TILDA_CHAR) { + break; + } + } + buffer = this.ensureBuffer(bufferLength + i - 1); + this.bufferLength += i - 1; + // partial ending; + if (i < 5) { + for (; i < 5; ++i) { + input[i] = 0x21 + 84; + } + this.eof = true; + } + var t = 0; + for (i = 0; i < 5; ++i) { + t = t * 85 + (input[i] - 0x21); + } + for (i = 3; i >= 0; --i) { + buffer[bufferLength + i] = t & 0xff; + t >>= 8; + } + } + }; + return Ascii85Stream; +}(DecodeStream)); + +/* + * Copyright 2012 Mozilla Foundation + * + * The AsciiHexStream class contained in this file is a TypeScript port of the + * JavaScript AsciiHexStream class in Mozilla's pdf.js project, made available + * under the Apache 2.0 open source license. + */ +var AsciiHexStream = /** @class */ (function (_super) { + __extends(AsciiHexStream, _super); + function AsciiHexStream(stream, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream; + _this.firstDigit = -1; + // Most streams increase in size when decoded, but AsciiHex streams shrink + // by 50%. + if (maybeLength) { + maybeLength = 0.5 * maybeLength; + } + return _this; + } + AsciiHexStream.prototype.readBlock = function () { + var UPSTREAM_BLOCK_SIZE = 8000; + var bytes = this.stream.getBytes(UPSTREAM_BLOCK_SIZE); + if (!bytes.length) { + this.eof = true; + return; + } + var maxDecodeLength = (bytes.length + 1) >> 1; + var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength); + var bufferLength = this.bufferLength; + var firstDigit = this.firstDigit; + for (var i = 0, ii = bytes.length; i < ii; i++) { + var ch = bytes[i]; + var digit = void 0; + if (ch >= 0x30 && ch <= 0x39) { + // '0'-'9' + digit = ch & 0x0f; + } + else if ((ch >= 0x41 && ch <= 0x46) || (ch >= 0x61 && ch <= 0x66)) { + // 'A'-'Z', 'a'-'z' + digit = (ch & 0x0f) + 9; + } + else if (ch === 0x3e) { + // '>' + this.eof = true; + break; + } + else { + // probably whitespace + continue; // ignoring + } + if (firstDigit < 0) { + firstDigit = digit; + } + else { + buffer[bufferLength++] = (firstDigit << 4) | digit; + firstDigit = -1; + } + } + if (firstDigit >= 0 && this.eof) { + // incomplete byte + buffer[bufferLength++] = firstDigit << 4; + firstDigit = -1; + } + this.firstDigit = firstDigit; + this.bufferLength = bufferLength; + }; + return AsciiHexStream; +}(DecodeStream)); + +/* + * Copyright 1996-2003 Glyph & Cog, LLC + * + * The flate stream implementation contained in this file is a JavaScript port + * of XPDF's implementation, made available under the Apache 2.0 open source + * license. + */ +// prettier-ignore +var codeLenCodeMap = new Int32Array([ + 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 +]); +// prettier-ignore +var lengthDecode = new Int32Array([ + 0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, + 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, + 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, + 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102 +]); +// prettier-ignore +var distDecode = new Int32Array([ + 0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, + 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, + 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, + 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001 +]); +// prettier-ignore +var fixedLitCodeTab = [new Int32Array([ + 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, + 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, + 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, + 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, + 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, + 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, + 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, + 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, + 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, + 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, + 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, + 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, + 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, + 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, + 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, + 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, + 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, + 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, + 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, + 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, + 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, + 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, + 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, + 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, + 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, + 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, + 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, + 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, + 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, + 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, + 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, + 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, + 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, + 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, + 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, + 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, + 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, + 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, + 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, + 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, + 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, + 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, + 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, + 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, + 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, + 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, + 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, + 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, + 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, + 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, + 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, + 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, + 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, + 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, + 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, + 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, + 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, + 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, + 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, + 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, + 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, + 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, + 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, + 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff + ]), 9]; +// prettier-ignore +var fixedDistCodeTab = [new Int32Array([ + 0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, + 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, + 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, + 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000 + ]), 5]; +var FlateStream = /** @class */ (function (_super) { + __extends(FlateStream, _super); + function FlateStream(stream, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream; + var cmf = stream.getByte(); + var flg = stream.getByte(); + if (cmf === -1 || flg === -1) { + throw new Error("Invalid header in flate stream: " + cmf + ", " + flg); + } + if ((cmf & 0x0f) !== 0x08) { + throw new Error("Unknown compression method in flate stream: " + cmf + ", " + flg); + } + if (((cmf << 8) + flg) % 31 !== 0) { + throw new Error("Bad FCHECK in flate stream: " + cmf + ", " + flg); + } + if (flg & 0x20) { + throw new Error("FDICT bit set in flate stream: " + cmf + ", " + flg); + } + _this.codeSize = 0; + _this.codeBuf = 0; + return _this; + } + FlateStream.prototype.readBlock = function () { + var buffer; + var len; + var str = this.stream; + // read block header + var hdr = this.getBits(3); + if (hdr & 1) { + this.eof = true; + } + hdr >>= 1; + if (hdr === 0) { + // uncompressed block + var b = void 0; + if ((b = str.getByte()) === -1) { + throw new Error('Bad block header in flate stream'); + } + var blockLen = b; + if ((b = str.getByte()) === -1) { + throw new Error('Bad block header in flate stream'); + } + blockLen |= b << 8; + if ((b = str.getByte()) === -1) { + throw new Error('Bad block header in flate stream'); + } + var check = b; + if ((b = str.getByte()) === -1) { + throw new Error('Bad block header in flate stream'); + } + check |= b << 8; + if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) { + // Ignoring error for bad "empty" block (see issue 1277) + throw new Error('Bad uncompressed block length in flate stream'); + } + this.codeBuf = 0; + this.codeSize = 0; + var bufferLength = this.bufferLength; + buffer = this.ensureBuffer(bufferLength + blockLen); + var end = bufferLength + blockLen; + this.bufferLength = end; + if (blockLen === 0) { + if (str.peekByte() === -1) { + this.eof = true; + } + } + else { + for (var n = bufferLength; n < end; ++n) { + if ((b = str.getByte()) === -1) { + this.eof = true; + break; + } + buffer[n] = b; + } + } + return; + } + var litCodeTable; + var distCodeTable; + if (hdr === 1) { + // compressed block, fixed codes + litCodeTable = fixedLitCodeTab; + distCodeTable = fixedDistCodeTab; + } + else if (hdr === 2) { + // compressed block, dynamic codes + var numLitCodes = this.getBits(5) + 257; + var numDistCodes = this.getBits(5) + 1; + var numCodeLenCodes = this.getBits(4) + 4; + // build the code lengths code table + var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length); + var i = void 0; + for (i = 0; i < numCodeLenCodes; ++i) { + codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3); + } + var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths); + // build the literal and distance code tables + len = 0; + i = 0; + var codes = numLitCodes + numDistCodes; + var codeLengths = new Uint8Array(codes); + var bitsLength = void 0; + var bitsOffset = void 0; + var what = void 0; + while (i < codes) { + var code = this.getCode(codeLenCodeTab); + if (code === 16) { + bitsLength = 2; + bitsOffset = 3; + what = len; + } + else if (code === 17) { + bitsLength = 3; + bitsOffset = 3; + what = len = 0; + } + else if (code === 18) { + bitsLength = 7; + bitsOffset = 11; + what = len = 0; + } + else { + codeLengths[i++] = len = code; + continue; + } + var repeatLength = this.getBits(bitsLength) + bitsOffset; + while (repeatLength-- > 0) { + codeLengths[i++] = what; + } + } + litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes)); + distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes)); + } + else { + throw new Error('Unknown block type in flate stream'); + } + buffer = this.buffer; + var limit = buffer ? buffer.length : 0; + var pos = this.bufferLength; + while (true) { + var code1 = this.getCode(litCodeTable); + if (code1 < 256) { + if (pos + 1 >= limit) { + buffer = this.ensureBuffer(pos + 1); + limit = buffer.length; + } + buffer[pos++] = code1; + continue; + } + if (code1 === 256) { + this.bufferLength = pos; + return; + } + code1 -= 257; + code1 = lengthDecode[code1]; + var code2 = code1 >> 16; + if (code2 > 0) { + code2 = this.getBits(code2); + } + len = (code1 & 0xffff) + code2; + code1 = this.getCode(distCodeTable); + code1 = distDecode[code1]; + code2 = code1 >> 16; + if (code2 > 0) { + code2 = this.getBits(code2); + } + var dist = (code1 & 0xffff) + code2; + if (pos + len >= limit) { + buffer = this.ensureBuffer(pos + len); + limit = buffer.length; + } + for (var k = 0; k < len; ++k, ++pos) { + buffer[pos] = buffer[pos - dist]; + } + } + }; + FlateStream.prototype.getBits = function (bits) { + var str = this.stream; + var codeSize = this.codeSize; + var codeBuf = this.codeBuf; + var b; + while (codeSize < bits) { + if ((b = str.getByte()) === -1) { + throw new Error('Bad encoding in flate stream'); + } + codeBuf |= b << codeSize; + codeSize += 8; + } + b = codeBuf & ((1 << bits) - 1); + this.codeBuf = codeBuf >> bits; + this.codeSize = codeSize -= bits; + return b; + }; + FlateStream.prototype.getCode = function (table) { + var str = this.stream; + var codes = table[0]; + var maxLen = table[1]; + var codeSize = this.codeSize; + var codeBuf = this.codeBuf; + var b; + while (codeSize < maxLen) { + if ((b = str.getByte()) === -1) { + // premature end of stream. code might however still be valid. + // codeSize < codeLen check below guards against incomplete codeVal. + break; + } + codeBuf |= b << codeSize; + codeSize += 8; + } + var code = codes[codeBuf & ((1 << maxLen) - 1)]; + if (typeof codes === 'number') { + console.log('FLATE:', code); + } + var codeLen = code >> 16; + var codeVal = code & 0xffff; + if (codeLen < 1 || codeSize < codeLen) { + throw new Error('Bad encoding in flate stream'); + } + this.codeBuf = codeBuf >> codeLen; + this.codeSize = codeSize - codeLen; + return codeVal; + }; + FlateStream.prototype.generateHuffmanTable = function (lengths) { + var n = lengths.length; + // find max code length + var maxLen = 0; + var i; + for (i = 0; i < n; ++i) { + if (lengths[i] > maxLen) { + maxLen = lengths[i]; + } + } + // build the table + var size = 1 << maxLen; + var codes = new Int32Array(size); + for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) { + for (var val = 0; val < n; ++val) { + if (lengths[val] === len) { + // bit-reverse the code + var code2 = 0; + var t = code; + for (i = 0; i < len; ++i) { + code2 = (code2 << 1) | (t & 1); + t >>= 1; + } + // fill the table entries + for (i = code2; i < size; i += skip) { + codes[i] = (len << 16) | val; + } + ++code; + } + } + } + return [codes, maxLen]; + }; + return FlateStream; +}(DecodeStream)); + +/* + * Copyright 2012 Mozilla Foundation + * + * The LZWStream class contained in this file is a TypeScript port of the + * JavaScript LZWStream class in Mozilla's pdf.js project, made available + * under the Apache 2.0 open source license. + */ +var LZWStream = /** @class */ (function (_super) { + __extends(LZWStream, _super); + function LZWStream(stream, maybeLength, earlyChange) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream; + _this.cachedData = 0; + _this.bitsCached = 0; + var maxLzwDictionarySize = 4096; + var lzwState = { + earlyChange: earlyChange, + codeLength: 9, + nextCode: 258, + dictionaryValues: new Uint8Array(maxLzwDictionarySize), + dictionaryLengths: new Uint16Array(maxLzwDictionarySize), + dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize), + currentSequence: new Uint8Array(maxLzwDictionarySize), + currentSequenceLength: 0, + }; + for (var i = 0; i < 256; ++i) { + lzwState.dictionaryValues[i] = i; + lzwState.dictionaryLengths[i] = 1; + } + _this.lzwState = lzwState; + return _this; + } + LZWStream.prototype.readBlock = function () { + var blockSize = 512; + var estimatedDecodedSize = blockSize * 2; + var decodedSizeDelta = blockSize; + var i; + var j; + var q; + var lzwState = this.lzwState; + if (!lzwState) { + return; // eof was found + } + var earlyChange = lzwState.earlyChange; + var nextCode = lzwState.nextCode; + var dictionaryValues = lzwState.dictionaryValues; + var dictionaryLengths = lzwState.dictionaryLengths; + var dictionaryPrevCodes = lzwState.dictionaryPrevCodes; + var codeLength = lzwState.codeLength; + var prevCode = lzwState.prevCode; + var currentSequence = lzwState.currentSequence; + var currentSequenceLength = lzwState.currentSequenceLength; + var decodedLength = 0; + var currentBufferLength = this.bufferLength; + var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); + for (i = 0; i < blockSize; i++) { + var code = this.readBits(codeLength); + var hasPrev = currentSequenceLength > 0; + if (!code || code < 256) { + currentSequence[0] = code; + currentSequenceLength = 1; + } + else if (code >= 258) { + if (code < nextCode) { + currentSequenceLength = dictionaryLengths[code]; + for (j = currentSequenceLength - 1, q = code; j >= 0; j--) { + currentSequence[j] = dictionaryValues[q]; + q = dictionaryPrevCodes[q]; + } + } + else { + currentSequence[currentSequenceLength++] = currentSequence[0]; + } + } + else if (code === 256) { + codeLength = 9; + nextCode = 258; + currentSequenceLength = 0; + continue; + } + else { + this.eof = true; + delete this.lzwState; + break; + } + if (hasPrev) { + dictionaryPrevCodes[nextCode] = prevCode; + dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1; + dictionaryValues[nextCode] = currentSequence[0]; + nextCode++; + codeLength = + (nextCode + earlyChange) & (nextCode + earlyChange - 1) + ? codeLength + : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0; + } + prevCode = code; + decodedLength += currentSequenceLength; + if (estimatedDecodedSize < decodedLength) { + do { + estimatedDecodedSize += decodedSizeDelta; + } while (estimatedDecodedSize < decodedLength); + buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); + } + for (j = 0; j < currentSequenceLength; j++) { + buffer[currentBufferLength++] = currentSequence[j]; + } + } + lzwState.nextCode = nextCode; + lzwState.codeLength = codeLength; + lzwState.prevCode = prevCode; + lzwState.currentSequenceLength = currentSequenceLength; + this.bufferLength = currentBufferLength; + }; + LZWStream.prototype.readBits = function (n) { + var bitsCached = this.bitsCached; + var cachedData = this.cachedData; + while (bitsCached < n) { + var c = this.stream.getByte(); + if (c === -1) { + this.eof = true; + return null; + } + cachedData = (cachedData << 8) | c; + bitsCached += 8; + } + this.bitsCached = bitsCached -= n; + this.cachedData = cachedData; + return (cachedData >>> bitsCached) & ((1 << n) - 1); + }; + return LZWStream; +}(DecodeStream)); + +/* + * Copyright 2012 Mozilla Foundation + * + * The RunLengthStream class contained in this file is a TypeScript port of the + * JavaScript RunLengthStream class in Mozilla's pdf.js project, made available + * under the Apache 2.0 open source license. + */ +var RunLengthStream = /** @class */ (function (_super) { + __extends(RunLengthStream, _super); + function RunLengthStream(stream, maybeLength) { + var _this = _super.call(this, maybeLength) || this; + _this.stream = stream; + return _this; + } + RunLengthStream.prototype.readBlock = function () { + // The repeatHeader has following format. The first byte defines type of run + // and amount of bytes to repeat/copy: n = 0 through 127 - copy next n bytes + // (in addition to the second byte from the header), n = 129 through 255 - + // duplicate the second byte from the header (257 - n) times, n = 128 - end. + var repeatHeader = this.stream.getBytes(2); + if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) { + this.eof = true; + return; + } + var buffer; + var bufferLength = this.bufferLength; + var n = repeatHeader[0]; + if (n < 128) { + // copy n bytes + buffer = this.ensureBuffer(bufferLength + n + 1); + buffer[bufferLength++] = repeatHeader[1]; + if (n > 0) { + var source = this.stream.getBytes(n); + buffer.set(source, bufferLength); + bufferLength += n; + } + } + else { + n = 257 - n; + var b = repeatHeader[1]; + buffer = this.ensureBuffer(bufferLength + n + 1); + for (var i = 0; i < n; i++) { + buffer[bufferLength++] = b; + } + } + this.bufferLength = bufferLength; + }; + return RunLengthStream; +}(DecodeStream)); + +var decodeStream = function (stream, encoding, params) { + if (encoding === PDFName.of('FlateDecode')) { + return new FlateStream(stream); + } + if (encoding === PDFName.of('LZWDecode')) { + var earlyChange = 1; + if (params instanceof PDFDict) { + var EarlyChange = params.lookup(PDFName.of('EarlyChange')); + if (EarlyChange instanceof PDFNumber) { + earlyChange = EarlyChange.asNumber(); + } + } + return new LZWStream(stream, undefined, earlyChange); + } + if (encoding === PDFName.of('ASCII85Decode')) { + return new Ascii85Stream(stream); + } + if (encoding === PDFName.of('ASCIIHexDecode')) { + return new AsciiHexStream(stream); + } + if (encoding === PDFName.of('RunLengthDecode')) { + return new RunLengthStream(stream); + } + throw new UnsupportedEncodingError(encoding.asString()); +}; +var decodePDFRawStream = function (_a) { + var dict = _a.dict, contents = _a.contents; + var stream = new Stream(contents); + var Filter = dict.lookup(PDFName.of('Filter')); + var DecodeParms = dict.lookup(PDFName.of('DecodeParms')); + if (Filter instanceof PDFName) { + stream = decodeStream(stream, Filter, DecodeParms); + } + else if (Filter instanceof PDFArray) { + for (var idx = 0, len = Filter.size(); idx < len; idx++) { + stream = decodeStream(stream, Filter.lookup(idx, PDFName), DecodeParms && DecodeParms.lookupMaybe(idx, PDFDict)); + } + } + else if (!!Filter) { + throw new UnexpectedObjectTypeError([PDFName, PDFArray], Filter); + } + return stream; +}; + +var fullPageBoundingBox = function (page) { + var mediaBox = page.MediaBox(); + var width = mediaBox.lookup(2, PDFNumber).asNumber() - + mediaBox.lookup(0, PDFNumber).asNumber(); + var height = mediaBox.lookup(3, PDFNumber).asNumber() - + mediaBox.lookup(1, PDFNumber).asNumber(); + return { left: 0, bottom: 0, right: width, top: height }; +}; +// Returns the identity matrix, modified to position the content of the given +// bounding box at (0, 0). +var boundingBoxAdjustedMatrix = function (bb) { return [1, 0, 0, 1, -bb.left, -bb.bottom]; }; +var PDFPageEmbedder = /** @class */ (function () { + function PDFPageEmbedder(page, boundingBox, transformationMatrix) { + this.page = page; + var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page); + this.width = bb.right - bb.left; + this.height = bb.top - bb.bottom; + this.boundingBox = bb; + this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb); + } + PDFPageEmbedder.for = function (page, boundingBox, transformationMatrix) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2 /*return*/, new PDFPageEmbedder(page, boundingBox, transformationMatrix)]; + }); + }); + }; + PDFPageEmbedder.prototype.embedIntoContext = function (context, ref) { + return __awaiter(this, void 0, void 0, function () { + var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject; + return __generator(this, function (_c) { + _a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources; + if (!Contents) + throw new MissingPageContentsEmbeddingError(); + decodedContents = this.decodeContents(Contents); + _b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top; + xObject = context.flateStream(decodedContents, { + Type: 'XObject', + Subtype: 'Form', + FormType: 1, + BBox: [left, bottom, right, top], + Matrix: this.transformationMatrix, + Resources: Resources, + }); + if (ref) { + context.assign(ref, xObject); + return [2 /*return*/, ref]; + } + else { + return [2 /*return*/, context.register(xObject)]; + } + }); + }); + }; + // `contents` is an array of streams which are merged to include them in the XObject. + // This methods extracts each stream and joins them with a newline character. + PDFPageEmbedder.prototype.decodeContents = function (contents) { + var newline = Uint8Array.of(CharCodes$1.Newline); + var decodedContents = []; + for (var idx = 0, len = contents.size(); idx < len; idx++) { + var stream = contents.lookup(idx, PDFStream); + var content = void 0; + if (stream instanceof PDFRawStream) { + content = decodePDFRawStream(stream).decode(); + } + else if (stream instanceof PDFContentStream) { + content = stream.getUnencodedContents(); + } + else { + throw new UnrecognizedStreamTypeError(stream); + } + decodedContents.push(content, newline); + } + return mergeIntoTypedArray.apply(void 0, decodedContents); + }; + return PDFPageEmbedder; +}()); + +var asEnum = function (rawValue, enumType) { + if (rawValue === undefined) + return undefined; + return enumType[rawValue]; +}; +var NonFullScreenPageMode; +(function (NonFullScreenPageMode) { + /** + * After exiting FullScreen mode, neither the document outline nor thumbnail + * images should be visible. + */ + NonFullScreenPageMode["UseNone"] = "UseNone"; + /** After exiting FullScreen mode, the document outline should be visible. */ + NonFullScreenPageMode["UseOutlines"] = "UseOutlines"; + /** After exiting FullScreen mode, thumbnail images should be visible. */ + NonFullScreenPageMode["UseThumbs"] = "UseThumbs"; + /** + * After exiting FullScreen mode, the optional content group panel should be + * visible. + */ + NonFullScreenPageMode["UseOC"] = "UseOC"; +})(NonFullScreenPageMode || (NonFullScreenPageMode = {})); +var ReadingDirection; +(function (ReadingDirection) { + /** The predominant reading order is Left to Right. */ + ReadingDirection["L2R"] = "L2R"; + /** + * The predominant reading order is Right to left (including vertical writing + * systems, such as Chinese, Japanese and Korean). + */ + ReadingDirection["R2L"] = "R2L"; +})(ReadingDirection || (ReadingDirection = {})); +var PrintScaling; +(function (PrintScaling) { + /** No page scaling. */ + PrintScaling["None"] = "None"; + /* Use the PDF reader's default print scaling. */ + PrintScaling["AppDefault"] = "AppDefault"; +})(PrintScaling || (PrintScaling = {})); +var Duplex; +(function (Duplex) { + /** The PDF reader should print single-sided. */ + Duplex["Simplex"] = "Simplex"; + /** + * The PDF reader should print double sided and flip on the short edge of the + * sheet. + */ + Duplex["DuplexFlipShortEdge"] = "DuplexFlipShortEdge"; + /** + * The PDF reader should print double sided and flip on the long edge of the + * sheet. + */ + Duplex["DuplexFlipLongEdge"] = "DuplexFlipLongEdge"; +})(Duplex || (Duplex = {})); +var ViewerPreferences = /** @class */ (function () { + /** @ignore */ + function ViewerPreferences(dict) { + this.dict = dict; + } + ViewerPreferences.prototype.lookupBool = function (key) { + var returnObj = this.dict.lookup(PDFName.of(key)); + if (returnObj instanceof PDFBool) + return returnObj; + return undefined; + }; + ViewerPreferences.prototype.lookupName = function (key) { + var returnObj = this.dict.lookup(PDFName.of(key)); + if (returnObj instanceof PDFName) + return returnObj; + return undefined; + }; + /** @ignore */ + ViewerPreferences.prototype.HideToolbar = function () { + return this.lookupBool('HideToolbar'); + }; + /** @ignore */ + ViewerPreferences.prototype.HideMenubar = function () { + return this.lookupBool('HideMenubar'); + }; + /** @ignore */ + ViewerPreferences.prototype.HideWindowUI = function () { + return this.lookupBool('HideWindowUI'); + }; + /** @ignore */ + ViewerPreferences.prototype.FitWindow = function () { + return this.lookupBool('FitWindow'); + }; + /** @ignore */ + ViewerPreferences.prototype.CenterWindow = function () { + return this.lookupBool('CenterWindow'); + }; + /** @ignore */ + ViewerPreferences.prototype.DisplayDocTitle = function () { + return this.lookupBool('DisplayDocTitle'); + }; + /** @ignore */ + ViewerPreferences.prototype.NonFullScreenPageMode = function () { + return this.lookupName('NonFullScreenPageMode'); + }; + /** @ignore */ + ViewerPreferences.prototype.Direction = function () { + return this.lookupName('Direction'); + }; + /** @ignore */ + ViewerPreferences.prototype.PrintScaling = function () { + return this.lookupName('PrintScaling'); + }; + /** @ignore */ + ViewerPreferences.prototype.Duplex = function () { + return this.lookupName('Duplex'); + }; + /** @ignore */ + ViewerPreferences.prototype.PickTrayByPDFSize = function () { + return this.lookupBool('PickTrayByPDFSize'); + }; + /** @ignore */ + ViewerPreferences.prototype.PrintPageRange = function () { + var PrintPageRange = this.dict.lookup(PDFName.of('PrintPageRange')); + if (PrintPageRange instanceof PDFArray) + return PrintPageRange; + return undefined; + }; + /** @ignore */ + ViewerPreferences.prototype.NumCopies = function () { + var NumCopies = this.dict.lookup(PDFName.of('NumCopies')); + if (NumCopies instanceof PDFNumber) + return NumCopies; + return undefined; + }; + /** + * Returns `true` if PDF readers should hide the toolbar menus when displaying + * this document. + * @returns Whether or not toolbars should be hidden. + */ + ViewerPreferences.prototype.getHideToolbar = function () { + var _a, _b; + return (_b = (_a = this.HideToolbar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + /** + * Returns `true` if PDF readers should hide the menu bar when displaying this + * document. + * @returns Whether or not the menu bar should be hidden. + */ + ViewerPreferences.prototype.getHideMenubar = function () { + var _a, _b; + return (_b = (_a = this.HideMenubar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + /** + * Returns `true` if PDF readers should hide the user interface elements in + * the document's window (such as scroll bars and navigation controls), + * leaving only the document's contents displayed. + * @returns Whether or not user interface elements should be hidden. + */ + ViewerPreferences.prototype.getHideWindowUI = function () { + var _a, _b; + return (_b = (_a = this.HideWindowUI()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + /** + * Returns `true` if PDF readers should resize the document's window to fit + * the size of the first displayed page. + * @returns Whether or not the window should be resized to fit. + */ + ViewerPreferences.prototype.getFitWindow = function () { + var _a, _b; + return (_b = (_a = this.FitWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + /** + * Returns `true` if PDF readers should position the document's window in the + * center of the screen. + * @returns Whether or not to center the document window. + */ + ViewerPreferences.prototype.getCenterWindow = function () { + var _a, _b; + return (_b = (_a = this.CenterWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + /** + * Returns `true` if the window's title bar should display the document + * `Title`, taken from the document metadata (see [[PDFDocument.getTitle]]). + * Returns `false` if the title bar should instead display the filename of the + * PDF file. + * @returns Whether to display the document title. + */ + ViewerPreferences.prototype.getDisplayDocTitle = function () { + var _a, _b; + return (_b = (_a = this.DisplayDocTitle()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false; + }; + /** + * Returns the page mode, which tells the PDF reader how to display the + * document after exiting full-screen mode. + * @returns The page mode after exiting full-screen mode. + */ + ViewerPreferences.prototype.getNonFullScreenPageMode = function () { + var _a, _b; + var mode = (_a = this.NonFullScreenPageMode()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return (_b = asEnum(mode, NonFullScreenPageMode)) !== null && _b !== void 0 ? _b : NonFullScreenPageMode.UseNone; + }; + /** + * Returns the predominant reading order for text. + * @returns The text reading order. + */ + ViewerPreferences.prototype.getReadingDirection = function () { + var _a, _b; + var direction = (_a = this.Direction()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return (_b = asEnum(direction, ReadingDirection)) !== null && _b !== void 0 ? _b : ReadingDirection.L2R; + }; + /** + * Returns the page scaling option that the PDF reader should select when the + * print dialog is displayed. + * @returns The page scaling option. + */ + ViewerPreferences.prototype.getPrintScaling = function () { + var _a, _b; + var scaling = (_a = this.PrintScaling()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return (_b = asEnum(scaling, PrintScaling)) !== null && _b !== void 0 ? _b : PrintScaling.AppDefault; + }; + /** + * Returns the paper handling option that should be used when printing the + * file from the print dialog. + * @returns The paper handling option. + */ + ViewerPreferences.prototype.getDuplex = function () { + var _a; + var duplex = (_a = this.Duplex()) === null || _a === void 0 ? void 0 : _a.decodeText(); + return asEnum(duplex, Duplex); + }; + /** + * Returns `true` if the PDF page size should be used to select the input + * paper tray. + * @returns Whether or not the PDF page size should be used to select the + * input paper tray. + */ + ViewerPreferences.prototype.getPickTrayByPDFSize = function () { + var _a; + return (_a = this.PickTrayByPDFSize()) === null || _a === void 0 ? void 0 : _a.asBoolean(); + }; + /** + * Returns an array of page number ranges, which are the values used to + * initialize the print dialog box when the file is printed. Each range + * specifies the first (`start`) and last (`end`) pages in a sub-range of + * pages to be printed. The first page of the PDF file is denoted by 0. + * For example: + * ```js + * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences() + * const includesPage3 = viewerPrefs + * .getPrintRanges() + * .some(pr => pr.start =< 2 && pr.end >= 2) + * if (includesPage3) console.log('printRange includes page 3') + * ``` + * @returns An array of objects, each with the properties `start` and `end`, + * denoting page indices. If not, specified an empty array is + * returned. + */ + ViewerPreferences.prototype.getPrintPageRange = function () { + var rng = this.PrintPageRange(); + if (!rng) + return []; + var pageRanges = []; + for (var i = 0; i < rng.size(); i += 2) { + // Despite the spec clearly stating that "The first page of the PDF file + // shall be donoted by 1", several test PDFs (spec 1.7) created in + // Acrobat XI 11.0 and also read with Reader DC 2020.013 indicate this is + // actually a 0 based index. + var start = rng.lookup(i, PDFNumber).asNumber(); + var end = rng.lookup(i + 1, PDFNumber).asNumber(); + pageRanges.push({ start: start, end: end }); + } + return pageRanges; + }; + /** + * Returns the number of copies to be printed when the print dialog is opened + * for this document. + * @returns The default number of copies to be printed. + */ + ViewerPreferences.prototype.getNumCopies = function () { + var _a, _b; + return (_b = (_a = this.NumCopies()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; + }; + /** + * Choose whether the PDF reader's toolbars should be hidden while the + * document is active. + * @param hideToolbar `true` if the toolbar should be hidden. + */ + ViewerPreferences.prototype.setHideToolbar = function (hideToolbar) { + var HideToolbar = this.dict.context.obj(hideToolbar); + this.dict.set(PDFName.of('HideToolbar'), HideToolbar); + }; + /** + * Choose whether the PDF reader's menu bar should be hidden while the + * document is active. + * @param hideMenubar `true` if the menu bar should be hidden. + */ + ViewerPreferences.prototype.setHideMenubar = function (hideMenubar) { + var HideMenubar = this.dict.context.obj(hideMenubar); + this.dict.set(PDFName.of('HideMenubar'), HideMenubar); + }; + /** + * Choose whether the PDF reader should hide user interface elements in the + * document's window (such as scroll bars and navigation controls), leaving + * only the document's contents displayed. + * @param hideWindowUI `true` if the user interface elements should be hidden. + */ + ViewerPreferences.prototype.setHideWindowUI = function (hideWindowUI) { + var HideWindowUI = this.dict.context.obj(hideWindowUI); + this.dict.set(PDFName.of('HideWindowUI'), HideWindowUI); + }; + /** + * Choose whether the PDF reader should resize the document's window to fit + * the size of the first displayed page. + * @param fitWindow `true` if the window should be resized. + */ + ViewerPreferences.prototype.setFitWindow = function (fitWindow) { + var FitWindow = this.dict.context.obj(fitWindow); + this.dict.set(PDFName.of('FitWindow'), FitWindow); + }; + /** + * Choose whether the PDF reader should position the document's window in the + * center of the screen. + * @param centerWindow `true` if the window should be centered. + */ + ViewerPreferences.prototype.setCenterWindow = function (centerWindow) { + var CenterWindow = this.dict.context.obj(centerWindow); + this.dict.set(PDFName.of('CenterWindow'), CenterWindow); + }; + /** + * Choose whether the window's title bar should display the document `Title` + * taken from the document metadata (see [[PDFDocument.setTitle]]). If + * `false`, the title bar should instead display the PDF filename. + * @param displayTitle `true` if the document title should be displayed. + */ + ViewerPreferences.prototype.setDisplayDocTitle = function (displayTitle) { + var DisplayDocTitle = this.dict.context.obj(displayTitle); + this.dict.set(PDFName.of('DisplayDocTitle'), DisplayDocTitle); + }; + /** + * Choose how the PDF reader should display the document upon exiting + * full-screen mode. This entry is meaningful only if the value of the + * `PageMode` entry in the document's [[PDFCatalog]] is `FullScreen`. + * + * For example: + * ```js + * import { PDFDocument, NonFullScreenPageMode, PDFName } from 'pdf-lib' + * + * const pdfDoc = await PDFDocument.create() + * + * // Set the PageMode + * pdfDoc.catalog.set(PDFName.of('PageMode'),PDFName.of('FullScreen')) + * + * // Set what happens when full-screen is closed + * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences() + * viewerPrefs.setNonFullScreenPageMode(NonFullScreenPageMode.UseOutlines) + * ``` + * + * @param nonFullScreenPageMode How the document should be displayed upon + * exiting full screen mode. + */ + ViewerPreferences.prototype.setNonFullScreenPageMode = function (nonFullScreenPageMode) { + assertIsOneOf(nonFullScreenPageMode, 'nonFullScreenPageMode', NonFullScreenPageMode); + var mode = PDFName.of(nonFullScreenPageMode); + this.dict.set(PDFName.of('NonFullScreenPageMode'), mode); + }; + /** + * Choose the predominant reading order for text. + * + * This entry has no direct effect on the document's contents or page + * numbering, but may be used to determine the relative positioning of pages + * when displayed side by side or printed n-up. + * + * For example: + * ```js + * import { PDFDocument, ReadingDirection } from 'pdf-lib' + * + * const pdfDoc = await PDFDocument.create() + * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences() + * viewerPrefs.setReadingDirection(ReadingDirection.R2L) + * ``` + * + * @param readingDirection The reading order for text. + */ + ViewerPreferences.prototype.setReadingDirection = function (readingDirection) { + assertIsOneOf(readingDirection, 'readingDirection', ReadingDirection); + var direction = PDFName.of(readingDirection); + this.dict.set(PDFName.of('Direction'), direction); + }; + /** + * Choose the page scaling option that should be selected when a print dialog + * is displayed for this document. + * + * For example: + * ```js + * import { PDFDocument, PrintScaling } from 'pdf-lib' + * + * const pdfDoc = await PDFDocument.create() + * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences() + * viewerPrefs.setPrintScaling(PrintScaling.None) + * ``` + * + * @param printScaling The print scaling option. + */ + ViewerPreferences.prototype.setPrintScaling = function (printScaling) { + assertIsOneOf(printScaling, 'printScaling', PrintScaling); + var scaling = PDFName.of(printScaling); + this.dict.set(PDFName.of('PrintScaling'), scaling); + }; + /** + * Choose the paper handling option that should be selected by default in the + * print dialog. + * + * For example: + * ```js + * import { PDFDocument, Duplex } from 'pdf-lib' + * + * const pdfDoc = await PDFDocument.create() + * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences() + * viewerPrefs.setDuplex(Duplex.DuplexFlipShortEdge) + * ``` + * + * @param duplex The double or single sided printing option. + */ + ViewerPreferences.prototype.setDuplex = function (duplex) { + assertIsOneOf(duplex, 'duplex', Duplex); + var dup = PDFName.of(duplex); + this.dict.set(PDFName.of('Duplex'), dup); + }; + /** + * Choose whether the PDF document's page size should be used to select the + * input paper tray when printing. This setting influences only the preset + * values used to populate the print dialog presented by a PDF reader. + * + * If PickTrayByPDFSize is true, the check box in the print dialog associated + * with input paper tray should be checked. This setting has no effect on + * operating systems that do not provide the ability to pick the input tray + * by size. + * + * @param pickTrayByPDFSize `true` if the document's page size should be used + * to select the input paper tray. + */ + ViewerPreferences.prototype.setPickTrayByPDFSize = function (pickTrayByPDFSize) { + var PickTrayByPDFSize = this.dict.context.obj(pickTrayByPDFSize); + this.dict.set(PDFName.of('PickTrayByPDFSize'), PickTrayByPDFSize); + }; + /** + * Choose the page numbers used to initialize the print dialog box when the + * file is printed. The first page of the PDF file is denoted by 0. + * + * For example: + * ```js + * import { PDFDocument } from 'pdf-lib' + * + * const pdfDoc = await PDFDocument.create() + * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences() + * + * // We can set the default print range to only the first page + * viewerPrefs.setPrintPageRange({ start: 0, end: 0 }) + * + * // Or we can supply noncontiguous ranges (e.g. pages 1, 3, and 5-7) + * viewerPrefs.setPrintPageRange([ + * { start: 0, end: 0 }, + * { start: 2, end: 2 }, + * { start: 4, end: 6 }, + * ]) + * ``` + * + * @param printPageRange An object or array of objects, each with the + * properties `start` and `end`, denoting a range of + * page indices. + */ + ViewerPreferences.prototype.setPrintPageRange = function (printPageRange) { + if (!Array.isArray(printPageRange)) + printPageRange = [printPageRange]; + var flatRange = []; + for (var idx = 0, len = printPageRange.length; idx < len; idx++) { + flatRange.push(printPageRange[idx].start); + flatRange.push(printPageRange[idx].end); + } + assertEachIs(flatRange, 'printPageRange', ['number']); + var pageRanges = this.dict.context.obj(flatRange); + this.dict.set(PDFName.of('PrintPageRange'), pageRanges); + }; + /** + * Choose the default number of copies to be printed when the print dialog is + * opened for this file. + * @param numCopies The default number of copies. + */ + ViewerPreferences.prototype.setNumCopies = function (numCopies) { + assertRange(numCopies, 'numCopies', 1, Number.MAX_VALUE); + assertInteger(numCopies, 'numCopies'); + var NumCopies = this.dict.context.obj(numCopies); + this.dict.set(PDFName.of('NumCopies'), NumCopies); + }; + /** @ignore */ + ViewerPreferences.fromDict = function (dict) { + return new ViewerPreferences(dict); + }; + /** @ignore */ + ViewerPreferences.create = function (context) { + var dict = context.obj({}); + return new ViewerPreferences(dict); + }; + return ViewerPreferences; +}()); + +// Examples: +// `/Helv 12 Tf` -> ['Helv', '12'] +// `/HeBo 8.00 Tf` -> ['HeBo', '8.00'] +// `/HeBo Tf` -> ['HeBo', undefined] +var tfRegex = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+Tf/; +var PDFAcroField = /** @class */ (function () { + function PDFAcroField(dict, ref) { + this.dict = dict; + this.ref = ref; + } + PDFAcroField.prototype.T = function () { + return this.dict.lookupMaybe(PDFName.of('T'), PDFString, PDFHexString); + }; + PDFAcroField.prototype.Ff = function () { + var numberOrRef = this.getInheritableAttribute(PDFName.of('Ff')); + return this.dict.context.lookupMaybe(numberOrRef, PDFNumber); + }; + PDFAcroField.prototype.V = function () { + var valueOrRef = this.getInheritableAttribute(PDFName.of('V')); + return this.dict.context.lookup(valueOrRef); + }; + PDFAcroField.prototype.Kids = function () { + return this.dict.lookupMaybe(PDFName.of('Kids'), PDFArray); + }; + // Parent(): PDFDict | undefined { + // return this.dict.lookupMaybe(PDFName.of('Parent'), PDFDict); + // } + PDFAcroField.prototype.DA = function () { + var da = this.dict.lookup(PDFName.of('DA')); + if (da instanceof PDFString || da instanceof PDFHexString) + return da; + return undefined; + }; + PDFAcroField.prototype.setKids = function (kids) { + this.dict.set(PDFName.of('Kids'), this.dict.context.obj(kids)); + }; + PDFAcroField.prototype.getParent = function () { + // const parent = this.Parent(); + // if (!parent) return undefined; + // return new PDFAcroField(parent); + var parentRef = this.dict.get(PDFName.of('Parent')); + if (parentRef instanceof PDFRef) { + var parent_1 = this.dict.lookup(PDFName.of('Parent'), PDFDict); + return new PDFAcroField(parent_1, parentRef); + } + return undefined; + }; + PDFAcroField.prototype.setParent = function (parent) { + if (!parent) + this.dict.delete(PDFName.of('Parent')); + else + this.dict.set(PDFName.of('Parent'), parent); + }; + PDFAcroField.prototype.getFullyQualifiedName = function () { + var parent = this.getParent(); + if (!parent) + return this.getPartialName(); + return parent.getFullyQualifiedName() + "." + this.getPartialName(); + }; + PDFAcroField.prototype.getPartialName = function () { + var _a; + return (_a = this.T()) === null || _a === void 0 ? void 0 : _a.decodeText(); + }; + PDFAcroField.prototype.setPartialName = function (partialName) { + if (!partialName) + this.dict.delete(PDFName.of('T')); + else + this.dict.set(PDFName.of('T'), PDFHexString.fromText(partialName)); + }; + PDFAcroField.prototype.setDefaultAppearance = function (appearance) { + this.dict.set(PDFName.of('DA'), PDFString.of(appearance)); + }; + PDFAcroField.prototype.getDefaultAppearance = function () { + var DA = this.DA(); + if (DA instanceof PDFHexString) { + return DA.decodeText(); + } + return DA === null || DA === void 0 ? void 0 : DA.asString(); + }; + PDFAcroField.prototype.setFontSize = function (fontSize) { + var _a; + var name = (_a = this.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ''; + var da = this.getDefaultAppearance(); + if (!da) + throw new MissingDAEntryError(name); + var daMatch = findLastMatch(da, tfRegex); + if (!daMatch.match) + throw new MissingTfOperatorError(name); + var daStart = da.slice(0, daMatch.pos - daMatch.match[0].length); + var daEnd = daMatch.pos <= da.length ? da.slice(daMatch.pos) : ''; + var fontName = daMatch.match[1]; + var modifiedDa = daStart + " /" + fontName + " " + fontSize + " Tf " + daEnd; + this.setDefaultAppearance(modifiedDa); + }; + PDFAcroField.prototype.getFlags = function () { + var _a, _b; + return (_b = (_a = this.Ff()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; + }; + PDFAcroField.prototype.setFlags = function (flags) { + this.dict.set(PDFName.of('Ff'), PDFNumber.of(flags)); + }; + PDFAcroField.prototype.hasFlag = function (flag) { + var flags = this.getFlags(); + return (flags & flag) !== 0; + }; + PDFAcroField.prototype.setFlag = function (flag) { + var flags = this.getFlags(); + this.setFlags(flags | flag); + }; + PDFAcroField.prototype.clearFlag = function (flag) { + var flags = this.getFlags(); + this.setFlags(flags & ~flag); + }; + PDFAcroField.prototype.setFlagTo = function (flag, enable) { + if (enable) + this.setFlag(flag); + else + this.clearFlag(flag); + }; + PDFAcroField.prototype.getInheritableAttribute = function (name) { + var attribute; + this.ascend(function (node) { + if (!attribute) + attribute = node.dict.get(name); + }); + return attribute; + }; + PDFAcroField.prototype.ascend = function (visitor) { + visitor(this); + var parent = this.getParent(); + if (parent) + parent.ascend(visitor); + }; + return PDFAcroField; +}()); + +// TODO: Also handle the `/S` and `/D` entries +var BorderStyle = /** @class */ (function () { + function BorderStyle(dict) { + this.dict = dict; + } + BorderStyle.prototype.W = function () { + var W = this.dict.lookup(PDFName.of('W')); + if (W instanceof PDFNumber) + return W; + return undefined; + }; + BorderStyle.prototype.getWidth = function () { + var _a, _b; + return (_b = (_a = this.W()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1; + }; + BorderStyle.prototype.setWidth = function (width) { + var W = this.dict.context.obj(width); + this.dict.set(PDFName.of('W'), W); + }; + BorderStyle.fromDict = function (dict) { return new BorderStyle(dict); }; + return BorderStyle; +}()); + +var PDFAnnotation = /** @class */ (function () { + function PDFAnnotation(dict) { + this.dict = dict; + } + // This is technically required by the PDF spec + PDFAnnotation.prototype.Rect = function () { + return this.dict.lookup(PDFName.of('Rect'), PDFArray); + }; + PDFAnnotation.prototype.AP = function () { + return this.dict.lookupMaybe(PDFName.of('AP'), PDFDict); + }; + PDFAnnotation.prototype.F = function () { + var numberOrRef = this.dict.lookup(PDFName.of('F')); + return this.dict.context.lookupMaybe(numberOrRef, PDFNumber); + }; + PDFAnnotation.prototype.getRectangle = function () { + var _a; + var Rect = this.Rect(); + return (_a = Rect === null || Rect === void 0 ? void 0 : Rect.asRectangle()) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 }; + }; + PDFAnnotation.prototype.setRectangle = function (rect) { + var x = rect.x, y = rect.y, width = rect.width, height = rect.height; + var Rect = this.dict.context.obj([x, y, x + width, y + height]); + this.dict.set(PDFName.of('Rect'), Rect); + }; + PDFAnnotation.prototype.getAppearanceState = function () { + var AS = this.dict.lookup(PDFName.of('AS')); + if (AS instanceof PDFName) + return AS; + return undefined; + }; + PDFAnnotation.prototype.setAppearanceState = function (state) { + this.dict.set(PDFName.of('AS'), state); + }; + PDFAnnotation.prototype.setAppearances = function (appearances) { + this.dict.set(PDFName.of('AP'), appearances); + }; + PDFAnnotation.prototype.ensureAP = function () { + var AP = this.AP(); + if (!AP) { + AP = this.dict.context.obj({}); + this.dict.set(PDFName.of('AP'), AP); + } + return AP; + }; + PDFAnnotation.prototype.getNormalAppearance = function () { + var AP = this.ensureAP(); + var N = AP.get(PDFName.of('N')); + if (N instanceof PDFRef || N instanceof PDFDict) + return N; + throw new Error("Unexpected N type: " + (N === null || N === void 0 ? void 0 : N.constructor.name)); + }; + /** @param appearance A PDFDict or PDFStream (direct or ref) */ + PDFAnnotation.prototype.setNormalAppearance = function (appearance) { + var AP = this.ensureAP(); + AP.set(PDFName.of('N'), appearance); + }; + /** @param appearance A PDFDict or PDFStream (direct or ref) */ + PDFAnnotation.prototype.setRolloverAppearance = function (appearance) { + var AP = this.ensureAP(); + AP.set(PDFName.of('R'), appearance); + }; + /** @param appearance A PDFDict or PDFStream (direct or ref) */ + PDFAnnotation.prototype.setDownAppearance = function (appearance) { + var AP = this.ensureAP(); + AP.set(PDFName.of('D'), appearance); + }; + PDFAnnotation.prototype.removeRolloverAppearance = function () { + var AP = this.AP(); + AP === null || AP === void 0 ? void 0 : AP.delete(PDFName.of('R')); + }; + PDFAnnotation.prototype.removeDownAppearance = function () { + var AP = this.AP(); + AP === null || AP === void 0 ? void 0 : AP.delete(PDFName.of('D')); + }; + PDFAnnotation.prototype.getAppearances = function () { + var AP = this.AP(); + if (!AP) + return undefined; + var N = AP.lookup(PDFName.of('N'), PDFDict, PDFStream); + var R = AP.lookupMaybe(PDFName.of('R'), PDFDict, PDFStream); + var D = AP.lookupMaybe(PDFName.of('D'), PDFDict, PDFStream); + return { normal: N, rollover: R, down: D }; + }; + PDFAnnotation.prototype.getFlags = function () { + var _a, _b; + return (_b = (_a = this.F()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0; + }; + PDFAnnotation.prototype.setFlags = function (flags) { + this.dict.set(PDFName.of('F'), PDFNumber.of(flags)); + }; + PDFAnnotation.prototype.hasFlag = function (flag) { + var flags = this.getFlags(); + return (flags & flag) !== 0; + }; + PDFAnnotation.prototype.setFlag = function (flag) { + var flags = this.getFlags(); + this.setFlags(flags | flag); + }; + PDFAnnotation.prototype.clearFlag = function (flag) { + var flags = this.getFlags(); + this.setFlags(flags & ~flag); + }; + PDFAnnotation.prototype.setFlagTo = function (flag, enable) { + if (enable) + this.setFlag(flag); + else + this.clearFlag(flag); + }; + PDFAnnotation.fromDict = function (dict) { return new PDFAnnotation(dict); }; + return PDFAnnotation; +}()); + +var AppearanceCharacteristics = /** @class */ (function () { + function AppearanceCharacteristics(dict) { + this.dict = dict; + } + AppearanceCharacteristics.prototype.R = function () { + var R = this.dict.lookup(PDFName.of('R')); + if (R instanceof PDFNumber) + return R; + return undefined; + }; + AppearanceCharacteristics.prototype.BC = function () { + var BC = this.dict.lookup(PDFName.of('BC')); + if (BC instanceof PDFArray) + return BC; + return undefined; + }; + AppearanceCharacteristics.prototype.BG = function () { + var BG = this.dict.lookup(PDFName.of('BG')); + if (BG instanceof PDFArray) + return BG; + return undefined; + }; + AppearanceCharacteristics.prototype.CA = function () { + var CA = this.dict.lookup(PDFName.of('CA')); + if (CA instanceof PDFHexString || CA instanceof PDFString) + return CA; + return undefined; + }; + AppearanceCharacteristics.prototype.RC = function () { + var RC = this.dict.lookup(PDFName.of('RC')); + if (RC instanceof PDFHexString || RC instanceof PDFString) + return RC; + return undefined; + }; + AppearanceCharacteristics.prototype.AC = function () { + var AC = this.dict.lookup(PDFName.of('AC')); + if (AC instanceof PDFHexString || AC instanceof PDFString) + return AC; + return undefined; + }; + AppearanceCharacteristics.prototype.getRotation = function () { + var _a; + return (_a = this.R()) === null || _a === void 0 ? void 0 : _a.asNumber(); + }; + AppearanceCharacteristics.prototype.getBorderColor = function () { + var BC = this.BC(); + if (!BC) + return undefined; + var components = []; + for (var idx = 0, len = BC === null || BC === void 0 ? void 0 : BC.size(); idx < len; idx++) { + var component = BC.get(idx); + if (component instanceof PDFNumber) + components.push(component.asNumber()); + } + return components; + }; + AppearanceCharacteristics.prototype.getBackgroundColor = function () { + var BG = this.BG(); + if (!BG) + return undefined; + var components = []; + for (var idx = 0, len = BG === null || BG === void 0 ? void 0 : BG.size(); idx < len; idx++) { + var component = BG.get(idx); + if (component instanceof PDFNumber) + components.push(component.asNumber()); + } + return components; + }; + AppearanceCharacteristics.prototype.getCaptions = function () { + var CA = this.CA(); + var RC = this.RC(); + var AC = this.AC(); + return { + normal: CA === null || CA === void 0 ? void 0 : CA.decodeText(), + rollover: RC === null || RC === void 0 ? void 0 : RC.decodeText(), + down: AC === null || AC === void 0 ? void 0 : AC.decodeText(), + }; + }; + AppearanceCharacteristics.prototype.setRotation = function (rotation) { + var R = this.dict.context.obj(rotation); + this.dict.set(PDFName.of('R'), R); + }; + AppearanceCharacteristics.prototype.setBorderColor = function (color) { + var BC = this.dict.context.obj(color); + this.dict.set(PDFName.of('BC'), BC); + }; + AppearanceCharacteristics.prototype.setBackgroundColor = function (color) { + var BG = this.dict.context.obj(color); + this.dict.set(PDFName.of('BG'), BG); + }; + AppearanceCharacteristics.prototype.setCaptions = function (captions) { + var CA = PDFHexString.fromText(captions.normal); + this.dict.set(PDFName.of('CA'), CA); + if (captions.rollover) { + var RC = PDFHexString.fromText(captions.rollover); + this.dict.set(PDFName.of('RC'), RC); + } + else { + this.dict.delete(PDFName.of('RC')); + } + if (captions.down) { + var AC = PDFHexString.fromText(captions.down); + this.dict.set(PDFName.of('AC'), AC); + } + else { + this.dict.delete(PDFName.of('AC')); + } + }; + AppearanceCharacteristics.fromDict = function (dict) { + return new AppearanceCharacteristics(dict); + }; + return AppearanceCharacteristics; +}()); + +var PDFWidgetAnnotation = /** @class */ (function (_super) { + __extends(PDFWidgetAnnotation, _super); + function PDFWidgetAnnotation() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFWidgetAnnotation.prototype.MK = function () { + var MK = this.dict.lookup(PDFName.of('MK')); + if (MK instanceof PDFDict) + return MK; + return undefined; + }; + PDFWidgetAnnotation.prototype.BS = function () { + var BS = this.dict.lookup(PDFName.of('BS')); + if (BS instanceof PDFDict) + return BS; + return undefined; + }; + PDFWidgetAnnotation.prototype.DA = function () { + var da = this.dict.lookup(PDFName.of('DA')); + if (da instanceof PDFString || da instanceof PDFHexString) + return da; + return undefined; + }; + PDFWidgetAnnotation.prototype.P = function () { + var P = this.dict.get(PDFName.of('P')); + if (P instanceof PDFRef) + return P; + return undefined; + }; + PDFWidgetAnnotation.prototype.setP = function (page) { + this.dict.set(PDFName.of('P'), page); + }; + PDFWidgetAnnotation.prototype.setDefaultAppearance = function (appearance) { + this.dict.set(PDFName.of('DA'), PDFString.of(appearance)); + }; + PDFWidgetAnnotation.prototype.getDefaultAppearance = function () { + var DA = this.DA(); + if (DA instanceof PDFHexString) { + return DA.decodeText(); + } + return DA === null || DA === void 0 ? void 0 : DA.asString(); + }; + PDFWidgetAnnotation.prototype.getAppearanceCharacteristics = function () { + var MK = this.MK(); + if (MK) + return AppearanceCharacteristics.fromDict(MK); + return undefined; + }; + PDFWidgetAnnotation.prototype.getOrCreateAppearanceCharacteristics = function () { + var MK = this.MK(); + if (MK) + return AppearanceCharacteristics.fromDict(MK); + var ac = AppearanceCharacteristics.fromDict(this.dict.context.obj({})); + this.dict.set(PDFName.of('MK'), ac.dict); + return ac; + }; + PDFWidgetAnnotation.prototype.getBorderStyle = function () { + var BS = this.BS(); + if (BS) + return BorderStyle.fromDict(BS); + return undefined; + }; + PDFWidgetAnnotation.prototype.getOrCreateBorderStyle = function () { + var BS = this.BS(); + if (BS) + return BorderStyle.fromDict(BS); + var bs = BorderStyle.fromDict(this.dict.context.obj({})); + this.dict.set(PDFName.of('BS'), bs.dict); + return bs; + }; + PDFWidgetAnnotation.prototype.getOnValue = function () { + var _a; + var normal = (_a = this.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; + if (normal instanceof PDFDict) { + var keys = normal.keys(); + for (var idx = 0, len = keys.length; idx < len; idx++) { + var key = keys[idx]; + if (key !== PDFName.of('Off')) + return key; + } + } + return undefined; + }; + PDFWidgetAnnotation.fromDict = function (dict) { + return new PDFWidgetAnnotation(dict); + }; + PDFWidgetAnnotation.create = function (context, parent) { + var dict = context.obj({ + Type: 'Annot', + Subtype: 'Widget', + Rect: [0, 0, 0, 0], + Parent: parent, + }); + return new PDFWidgetAnnotation(dict); + }; + return PDFWidgetAnnotation; +}(PDFAnnotation)); + +var PDFAcroTerminal = /** @class */ (function (_super) { + __extends(PDFAcroTerminal, _super); + function PDFAcroTerminal() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroTerminal.prototype.FT = function () { + var nameOrRef = this.getInheritableAttribute(PDFName.of('FT')); + return this.dict.context.lookup(nameOrRef, PDFName); + }; + PDFAcroTerminal.prototype.getWidgets = function () { + var kidDicts = this.Kids(); + // This field is itself a widget + if (!kidDicts) + return [PDFWidgetAnnotation.fromDict(this.dict)]; + // This field's kids are its widgets + var widgets = new Array(kidDicts.size()); + for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { + var dict = kidDicts.lookup(idx, PDFDict); + widgets[idx] = PDFWidgetAnnotation.fromDict(dict); + } + return widgets; + }; + PDFAcroTerminal.prototype.addWidget = function (ref) { + var Kids = this.normalizedEntries().Kids; + Kids.push(ref); + }; + PDFAcroTerminal.prototype.removeWidget = function (idx) { + var kidDicts = this.Kids(); + if (!kidDicts) { + // This field is itself a widget + if (idx !== 0) + throw new IndexOutOfBoundsError(idx, 0, 0); + this.setKids([]); + } + else { + // This field's kids are its widgets + if (idx < 0 || idx > kidDicts.size()) { + throw new IndexOutOfBoundsError(idx, 0, kidDicts.size()); + } + kidDicts.remove(idx); + } + }; + PDFAcroTerminal.prototype.normalizedEntries = function () { + var Kids = this.Kids(); + // If this field is itself a widget (because it was only rendered once in + // the document, so the field and widget properties were merged) then we + // add itself to the `Kids` array. The alternative would be to try + // splitting apart the widget properties and creating a separate object + // for them. + if (!Kids) { + Kids = this.dict.context.obj([this.ref]); + this.dict.set(PDFName.of('Kids'), Kids); + } + return { Kids: Kids }; + }; + PDFAcroTerminal.fromDict = function (dict, ref) { + return new PDFAcroTerminal(dict, ref); + }; + return PDFAcroTerminal; +}(PDFAcroField)); + +var PDFAcroButton = /** @class */ (function (_super) { + __extends(PDFAcroButton, _super); + function PDFAcroButton() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroButton.prototype.Opt = function () { + return this.dict.lookupMaybe(PDFName.of('Opt'), PDFString, PDFHexString, PDFArray); + }; + PDFAcroButton.prototype.setOpt = function (opt) { + this.dict.set(PDFName.of('Opt'), this.dict.context.obj(opt)); + }; + PDFAcroButton.prototype.getExportValues = function () { + var opt = this.Opt(); + if (!opt) + return undefined; + if (opt instanceof PDFString || opt instanceof PDFHexString) { + return [opt]; + } + var values = []; + for (var idx = 0, len = opt.size(); idx < len; idx++) { + var value = opt.lookup(idx); + if (value instanceof PDFString || value instanceof PDFHexString) { + values.push(value); + } + } + return values; + }; + PDFAcroButton.prototype.removeExportValue = function (idx) { + var opt = this.Opt(); + if (!opt) + return; + if (opt instanceof PDFString || opt instanceof PDFHexString) { + if (idx !== 0) + throw new IndexOutOfBoundsError(idx, 0, 0); + this.setOpt([]); + } + else { + if (idx < 0 || idx > opt.size()) { + throw new IndexOutOfBoundsError(idx, 0, opt.size()); + } + opt.remove(idx); + } + }; + // Enforce use use of /Opt even if it isn't strictly necessary + PDFAcroButton.prototype.normalizeExportValues = function () { + var _a, _b, _c, _d; + var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; + var Opt = []; + var widgets = this.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var exportVal = (_b = exportValues[idx]) !== null && _b !== void 0 ? _b : PDFHexString.fromText((_d = (_c = widget.getOnValue()) === null || _c === void 0 ? void 0 : _c.decodeText()) !== null && _d !== void 0 ? _d : ''); + Opt.push(exportVal); + } + this.setOpt(Opt); + }; + /** + * Reuses existing opt if one exists with the same value (assuming + * `useExistingIdx` is `true`). Returns index of existing (or new) opt. + */ + PDFAcroButton.prototype.addOpt = function (opt, useExistingOptIdx) { + var _a; + this.normalizeExportValues(); + var optText = opt.decodeText(); + var existingIdx; + if (useExistingOptIdx) { + var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : []; + for (var idx = 0, len = exportValues.length; idx < len; idx++) { + var exportVal = exportValues[idx]; + if (exportVal.decodeText() === optText) + existingIdx = idx; + } + } + var Opt = this.Opt(); + Opt.push(opt); + return existingIdx !== null && existingIdx !== void 0 ? existingIdx : Opt.size() - 1; + }; + PDFAcroButton.prototype.addWidgetWithOpt = function (widget, opt, useExistingOptIdx) { + var optIdx = this.addOpt(opt, useExistingOptIdx); + var apStateValue = PDFName.of(String(optIdx)); + this.addWidget(widget); + return apStateValue; + }; + return PDFAcroButton; +}(PDFAcroTerminal)); + +var PDFAcroCheckBox = /** @class */ (function (_super) { + __extends(PDFAcroCheckBox, _super); + function PDFAcroCheckBox() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroCheckBox.prototype.setValue = function (value) { + var _a; + var onValue = (_a = this.getOnValue()) !== null && _a !== void 0 ? _a : PDFName.of('Yes'); + if (value !== onValue && value !== PDFName.of('Off')) { + throw new InvalidAcroFieldValueError(); + } + this.dict.set(PDFName.of('V'), value); + var widgets = this.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state = widget.getOnValue() === value ? value : PDFName.of('Off'); + widget.setAppearanceState(state); + } + }; + PDFAcroCheckBox.prototype.getValue = function () { + var v = this.V(); + if (v instanceof PDFName) + return v; + return PDFName.of('Off'); + }; + PDFAcroCheckBox.prototype.getOnValue = function () { + var widget = this.getWidgets()[0]; + return widget === null || widget === void 0 ? void 0 : widget.getOnValue(); + }; + PDFAcroCheckBox.fromDict = function (dict, ref) { + return new PDFAcroCheckBox(dict, ref); + }; + PDFAcroCheckBox.create = function (context) { + var dict = context.obj({ + FT: 'Btn', + Kids: [], + }); + var ref = context.register(dict); + return new PDFAcroCheckBox(dict, ref); + }; + return PDFAcroCheckBox; +}(PDFAcroButton)); + +var flag = function (bitIndex) { return 1 << bitIndex; }; +/** From PDF spec table 221 */ +var AcroFieldFlags; +(function (AcroFieldFlags) { + /** + * If set, the user may not change the value of the field. Any associated + * widget annotations will not interact with the user; that is, they will not + * respond to mouse clicks or change their appearance in response to mouse + * motions. This flag is useful for fields whose values are computed or + * imported from a database. + */ + AcroFieldFlags[AcroFieldFlags["ReadOnly"] = flag(1 - 1)] = "ReadOnly"; + /** + * If set, the field shall have a value at the time it is exported by a + * submit-form action (see 12.7.5.2, "Submit-Form Action"). + */ + AcroFieldFlags[AcroFieldFlags["Required"] = flag(2 - 1)] = "Required"; + /** + * If set, the field shall not be exported by a submit-form action + * (see 12.7.5.2, "Submit-Form Action"). + */ + AcroFieldFlags[AcroFieldFlags["NoExport"] = flag(3 - 1)] = "NoExport"; +})(AcroFieldFlags || (AcroFieldFlags = {})); +/** From PDF spec table 226 */ +var AcroButtonFlags; +(function (AcroButtonFlags) { + /** + * (Radio buttons only) If set, exactly one radio button shall be selected at + * all times; selecting the currently selected button has no effect. If clear, + * clicking the selected button deselects it, leaving no button selected. + */ + AcroButtonFlags[AcroButtonFlags["NoToggleToOff"] = flag(15 - 1)] = "NoToggleToOff"; + /** + * If set, the field is a set of radio buttons; if clear, the field is a check + * box. This flag may be set only if the Pushbutton flag is clear. + */ + AcroButtonFlags[AcroButtonFlags["Radio"] = flag(16 - 1)] = "Radio"; + /** + * If set, the field is a pushbutton that does not retain a permanent value. + */ + AcroButtonFlags[AcroButtonFlags["PushButton"] = flag(17 - 1)] = "PushButton"; + /** + * If set, a group of radio buttons within a radio button field that use the + * same value for the on state will turn on and off in unison; that is if one + * is checked, they are all checked. If clear, the buttons are mutually + * exclusive (the same behavior as HTML radio buttons). + */ + AcroButtonFlags[AcroButtonFlags["RadiosInUnison"] = flag(26 - 1)] = "RadiosInUnison"; +})(AcroButtonFlags || (AcroButtonFlags = {})); +/** From PDF spec table 228 */ +var AcroTextFlags; +(function (AcroTextFlags) { + /** + * If set, the field may contain multiple lines of text; if clear, the field's + * text shall be restricted to a single line. + */ + AcroTextFlags[AcroTextFlags["Multiline"] = flag(13 - 1)] = "Multiline"; + /** + * If set, the field is intended for entering a secure password that should + * not be echoed visibly to the screen. Characters typed from the keyboard + * shall instead be echoed in some unreadable form, such as asterisks or + * bullet characters. + * > NOTE To protect password confidentiality, readers should never store + * > the value of the text field in the PDF file if this flag is set. + */ + AcroTextFlags[AcroTextFlags["Password"] = flag(14 - 1)] = "Password"; + /** + * If set, the text entered in the field represents the pathname of a file + * whose contents shall be submitted as the value of the field. + */ + AcroTextFlags[AcroTextFlags["FileSelect"] = flag(21 - 1)] = "FileSelect"; + /** + * If set, text entered in the field shall not be spell-checked. + */ + AcroTextFlags[AcroTextFlags["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; + /** + * If set, the field shall not scroll (horizontally for single-line fields, + * vertically for multiple-line fields) to accommodate more text than fits + * within its annotation rectangle. Once the field is full, no further text + * shall be accepted for interactive form filling; for non-interactive form + * filling, the filler should take care not to add more character than will + * visibly fit in the defined area. + */ + AcroTextFlags[AcroTextFlags["DoNotScroll"] = flag(24 - 1)] = "DoNotScroll"; + /** + * May be set only if the MaxLen entry is present in the text field dictionary + * (see Table 229) and if the Multiline, Password, and FileSelect flags are + * clear. If set, the field shall be automatically divided into as many + * equally spaced positions, or combs, as the value of MaxLen, and the text + * is laid out into those combs. + */ + AcroTextFlags[AcroTextFlags["Comb"] = flag(25 - 1)] = "Comb"; + /** + * If set, the value of this field shall be a rich text string + * (see 12.7.3.4, "Rich Text Strings"). If the field has a value, the RV + * entry of the field dictionary (Table 222) shall specify the rich text + * string. + */ + AcroTextFlags[AcroTextFlags["RichText"] = flag(26 - 1)] = "RichText"; +})(AcroTextFlags || (AcroTextFlags = {})); +/** From PDF spec table 230 */ +var AcroChoiceFlags; +(function (AcroChoiceFlags) { + /** + * If set, the field is a combo box; if clear, the field is a list box. + */ + AcroChoiceFlags[AcroChoiceFlags["Combo"] = flag(18 - 1)] = "Combo"; + /** + * If set, the combo box shall include an editable text box as well as a + * drop-down list; if clear, it shall include only a drop-down list. This + * flag shall be used only if the Combo flag is set. + */ + AcroChoiceFlags[AcroChoiceFlags["Edit"] = flag(19 - 1)] = "Edit"; + /** + * If set, the field's option items shall be sorted alphabetically. This flag + * is intended for use by writers, not by readers. Conforming readers shall + * display the options in the order in which they occur in the Opt array + * (see Table 231). + */ + AcroChoiceFlags[AcroChoiceFlags["Sort"] = flag(20 - 1)] = "Sort"; + /** + * If set, more than one of the field's option items may be selected + * simultaneously; if clear, at most one item shall be selected. + */ + AcroChoiceFlags[AcroChoiceFlags["MultiSelect"] = flag(22 - 1)] = "MultiSelect"; + /** + * If set, text entered in the field shall not be spell-checked. This flag + * shall not be used unless the Combo and Edit flags are both set. + */ + AcroChoiceFlags[AcroChoiceFlags["DoNotSpellCheck"] = flag(23 - 1)] = "DoNotSpellCheck"; + /** + * If set, the new value shall be committed as soon as a selection is made + * (commonly with the pointing device). In this case, supplying a value for + * a field involves three actions: selecting the field for fill-in, + * selecting a choice for the fill-in value, and leaving that field, which + * finalizes or "commits" the data choice and triggers any actions associated + * with the entry or changing of this data. If this flag is on, then + * processing does not wait for leaving the field action to occur, but + * immediately proceeds to the third step. + * + * This option enables applications to perform an action once a selection is + * made, without requiring the user to exit the field. If clear, the new + * value is not committed until the user exits the field. + */ + AcroChoiceFlags[AcroChoiceFlags["CommitOnSelChange"] = flag(27 - 1)] = "CommitOnSelChange"; +})(AcroChoiceFlags || (AcroChoiceFlags = {})); + +var PDFAcroChoice = /** @class */ (function (_super) { + __extends(PDFAcroChoice, _super); + function PDFAcroChoice() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroChoice.prototype.setValues = function (values) { + if (this.hasFlag(AcroChoiceFlags.Combo) && + !this.hasFlag(AcroChoiceFlags.Edit) && + !this.valuesAreValid(values)) { + throw new InvalidAcroFieldValueError(); + } + if (values.length === 0) { + this.dict.delete(PDFName.of('V')); + } + if (values.length === 1) { + this.dict.set(PDFName.of('V'), values[0]); + } + if (values.length > 1) { + if (!this.hasFlag(AcroChoiceFlags.MultiSelect)) { + throw new MultiSelectValueError(); + } + this.dict.set(PDFName.of('V'), this.dict.context.obj(values)); + } + this.updateSelectedIndices(values); + }; + PDFAcroChoice.prototype.valuesAreValid = function (values) { + var options = this.getOptions(); + var _loop_1 = function (idx, len) { + var val = values[idx].decodeText(); + if (!options.find(function (o) { return val === (o.display || o.value).decodeText(); })) { + return { value: false }; + } + }; + for (var idx = 0, len = values.length; idx < len; idx++) { + var state_1 = _loop_1(idx); + if (typeof state_1 === "object") + return state_1.value; + } + return true; + }; + PDFAcroChoice.prototype.updateSelectedIndices = function (values) { + if (values.length > 1) { + var indices = new Array(values.length); + var options = this.getOptions(); + var _loop_2 = function (idx, len) { + var val = values[idx].decodeText(); + indices[idx] = options.findIndex(function (o) { return val === (o.display || o.value).decodeText(); }); + }; + for (var idx = 0, len = values.length; idx < len; idx++) { + _loop_2(idx, len); + } + this.dict.set(PDFName.of('I'), this.dict.context.obj(indices.sort())); + } + else { + this.dict.delete(PDFName.of('I')); + } + }; + PDFAcroChoice.prototype.getValues = function () { + var v = this.V(); + if (v instanceof PDFString || v instanceof PDFHexString) + return [v]; + if (v instanceof PDFArray) { + var values = []; + for (var idx = 0, len = v.size(); idx < len; idx++) { + var value = v.lookup(idx); + if (value instanceof PDFString || value instanceof PDFHexString) { + values.push(value); + } + } + return values; + } + return []; + }; + PDFAcroChoice.prototype.Opt = function () { + return this.dict.lookupMaybe(PDFName.of('Opt'), PDFString, PDFHexString, PDFArray); + }; + PDFAcroChoice.prototype.setOptions = function (options) { + var newOpt = new Array(options.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + var _a = options[idx], value = _a.value, display = _a.display; + newOpt[idx] = this.dict.context.obj([value, display || value]); + } + this.dict.set(PDFName.of('Opt'), this.dict.context.obj(newOpt)); + }; + PDFAcroChoice.prototype.getOptions = function () { + var Opt = this.Opt(); + // Not supposed to happen - Opt _should_ always be `PDFArray | undefined` + if (Opt instanceof PDFString || Opt instanceof PDFHexString) { + return [{ value: Opt, display: Opt }]; + } + if (Opt instanceof PDFArray) { + var res = []; + for (var idx = 0, len = Opt.size(); idx < len; idx++) { + var item = Opt.lookup(idx); + // If `item` is a string, use that as both the export and text value + if (item instanceof PDFString || item instanceof PDFHexString) { + res.push({ value: item, display: item }); + } + // If `item` is an array of one, treat it the same as just a string, + // if it's an array of two then `item[0]` is the export value and + // `item[1]` is the text value + if (item instanceof PDFArray) { + if (item.size() > 0) { + var first = item.lookup(0, PDFString, PDFHexString); + var second = item.lookupMaybe(1, PDFString, PDFHexString); + res.push({ value: first, display: second || first }); + } + } + } + return res; + } + return []; + }; + return PDFAcroChoice; +}(PDFAcroTerminal)); + +var PDFAcroComboBox = /** @class */ (function (_super) { + __extends(PDFAcroComboBox, _super); + function PDFAcroComboBox() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroComboBox.fromDict = function (dict, ref) { + return new PDFAcroComboBox(dict, ref); + }; + PDFAcroComboBox.create = function (context) { + var dict = context.obj({ + FT: 'Ch', + Ff: AcroChoiceFlags.Combo, + Kids: [], + }); + var ref = context.register(dict); + return new PDFAcroComboBox(dict, ref); + }; + return PDFAcroComboBox; +}(PDFAcroChoice)); + +var PDFAcroNonTerminal = /** @class */ (function (_super) { + __extends(PDFAcroNonTerminal, _super); + function PDFAcroNonTerminal() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroNonTerminal.prototype.addField = function (field) { + var Kids = this.normalizedEntries().Kids; + Kids === null || Kids === void 0 ? void 0 : Kids.push(field); + }; + PDFAcroNonTerminal.prototype.normalizedEntries = function () { + var Kids = this.Kids(); + if (!Kids) { + Kids = this.dict.context.obj([]); + this.dict.set(PDFName.of('Kids'), Kids); + } + return { Kids: Kids }; + }; + PDFAcroNonTerminal.fromDict = function (dict, ref) { + return new PDFAcroNonTerminal(dict, ref); + }; + PDFAcroNonTerminal.create = function (context) { + var dict = context.obj({}); + var ref = context.register(dict); + return new PDFAcroNonTerminal(dict, ref); + }; + return PDFAcroNonTerminal; +}(PDFAcroField)); + +var PDFAcroSignature = /** @class */ (function (_super) { + __extends(PDFAcroSignature, _super); + function PDFAcroSignature() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroSignature.fromDict = function (dict, ref) { + return new PDFAcroSignature(dict, ref); + }; + return PDFAcroSignature; +}(PDFAcroTerminal)); + +var PDFAcroText = /** @class */ (function (_super) { + __extends(PDFAcroText, _super); + function PDFAcroText() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroText.prototype.MaxLen = function () { + var maxLen = this.dict.lookup(PDFName.of('MaxLen')); + if (maxLen instanceof PDFNumber) + return maxLen; + return undefined; + }; + PDFAcroText.prototype.Q = function () { + var q = this.dict.lookup(PDFName.of('Q')); + if (q instanceof PDFNumber) + return q; + return undefined; + }; + PDFAcroText.prototype.setMaxLength = function (maxLength) { + this.dict.set(PDFName.of('MaxLen'), PDFNumber.of(maxLength)); + }; + PDFAcroText.prototype.removeMaxLength = function () { + this.dict.delete(PDFName.of('MaxLen')); + }; + PDFAcroText.prototype.getMaxLength = function () { + var _a; + return (_a = this.MaxLen()) === null || _a === void 0 ? void 0 : _a.asNumber(); + }; + PDFAcroText.prototype.setQuadding = function (quadding) { + this.dict.set(PDFName.of('Q'), PDFNumber.of(quadding)); + }; + PDFAcroText.prototype.getQuadding = function () { + var _a; + return (_a = this.Q()) === null || _a === void 0 ? void 0 : _a.asNumber(); + }; + PDFAcroText.prototype.setValue = function (value) { + this.dict.set(PDFName.of('V'), value); + // const widgets = this.getWidgets(); + // for (let idx = 0, len = widgets.length; idx < len; idx++) { + // const widget = widgets[idx]; + // const state = widget.getOnValue() === value ? value : PDFName.of('Off'); + // widget.setAppearanceState(state); + // } + }; + PDFAcroText.prototype.removeValue = function () { + this.dict.delete(PDFName.of('V')); + }; + PDFAcroText.prototype.getValue = function () { + var v = this.V(); + if (v instanceof PDFString || v instanceof PDFHexString) + return v; + return undefined; + }; + PDFAcroText.fromDict = function (dict, ref) { return new PDFAcroText(dict, ref); }; + PDFAcroText.create = function (context) { + var dict = context.obj({ + FT: 'Tx', + Kids: [], + }); + var ref = context.register(dict); + return new PDFAcroText(dict, ref); + }; + return PDFAcroText; +}(PDFAcroTerminal)); + +var PDFAcroPushButton = /** @class */ (function (_super) { + __extends(PDFAcroPushButton, _super); + function PDFAcroPushButton() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroPushButton.fromDict = function (dict, ref) { + return new PDFAcroPushButton(dict, ref); + }; + PDFAcroPushButton.create = function (context) { + var dict = context.obj({ + FT: 'Btn', + Ff: AcroButtonFlags.PushButton, + Kids: [], + }); + var ref = context.register(dict); + return new PDFAcroPushButton(dict, ref); + }; + return PDFAcroPushButton; +}(PDFAcroButton)); + +var PDFAcroRadioButton = /** @class */ (function (_super) { + __extends(PDFAcroRadioButton, _super); + function PDFAcroRadioButton() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroRadioButton.prototype.setValue = function (value) { + var onValues = this.getOnValues(); + if (!onValues.includes(value) && value !== PDFName.of('Off')) { + throw new InvalidAcroFieldValueError(); + } + this.dict.set(PDFName.of('V'), value); + var widgets = this.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state = widget.getOnValue() === value ? value : PDFName.of('Off'); + widget.setAppearanceState(state); + } + }; + PDFAcroRadioButton.prototype.getValue = function () { + var v = this.V(); + if (v instanceof PDFName) + return v; + return PDFName.of('Off'); + }; + PDFAcroRadioButton.prototype.getOnValues = function () { + var widgets = this.getWidgets(); + var onValues = []; + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var onValue = widgets[idx].getOnValue(); + if (onValue) + onValues.push(onValue); + } + return onValues; + }; + PDFAcroRadioButton.fromDict = function (dict, ref) { + return new PDFAcroRadioButton(dict, ref); + }; + PDFAcroRadioButton.create = function (context) { + var dict = context.obj({ + FT: 'Btn', + Ff: AcroButtonFlags.Radio, + Kids: [], + }); + var ref = context.register(dict); + return new PDFAcroRadioButton(dict, ref); + }; + return PDFAcroRadioButton; +}(PDFAcroButton)); + +var PDFAcroListBox = /** @class */ (function (_super) { + __extends(PDFAcroListBox, _super); + function PDFAcroListBox() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFAcroListBox.fromDict = function (dict, ref) { + return new PDFAcroListBox(dict, ref); + }; + PDFAcroListBox.create = function (context) { + var dict = context.obj({ + FT: 'Ch', + Kids: [], + }); + var ref = context.register(dict); + return new PDFAcroListBox(dict, ref); + }; + return PDFAcroListBox; +}(PDFAcroChoice)); + +var createPDFAcroFields = function (kidDicts) { + if (!kidDicts) + return []; + var kids = []; + for (var idx = 0, len = kidDicts.size(); idx < len; idx++) { + var ref = kidDicts.get(idx); + var dict = kidDicts.lookup(idx); + // if (dict instanceof PDFDict) kids.push(PDFAcroField.fromDict(dict)); + if (ref instanceof PDFRef && dict instanceof PDFDict) { + kids.push([createPDFAcroField(dict, ref), ref]); + } + } + return kids; +}; +var createPDFAcroField = function (dict, ref) { + var isNonTerminal = isNonTerminalAcroField(dict); + if (isNonTerminal) + return PDFAcroNonTerminal.fromDict(dict, ref); + return createPDFAcroTerminal(dict, ref); +}; +// TODO: Maybe just check if the dict is *not* a widget? That might be better. +// According to the PDF spec: +// +// > A field's children in the hierarchy may also include widget annotations +// > that define its appearance on the page. A field that has children that +// > are fields is called a non-terminal field. A field that does not have +// > children that are fields is called a terminal field. +// +// The spec is not entirely clear about how to determine whether a given +// dictionary represents an acrofield or a widget annotation. So we will assume +// that a dictionary is an acrofield if it is a member of the `/Kids` array +// and it contains a `/T` entry (widgets do not have `/T` entries). This isn't +// a bullet proof solution, because the `/T` entry is technically defined as +// optional for acrofields by the PDF spec. But in practice all acrofields seem +// to have a `/T` entry defined. +var isNonTerminalAcroField = function (dict) { + var kids = dict.lookup(PDFName.of('Kids')); + if (kids instanceof PDFArray) { + for (var idx = 0, len = kids.size(); idx < len; idx++) { + var kid = kids.lookup(idx); + var kidIsField = kid instanceof PDFDict && kid.has(PDFName.of('T')); + if (kidIsField) + return true; + } + } + return false; +}; +var createPDFAcroTerminal = function (dict, ref) { + var ftNameOrRef = getInheritableAttribute(dict, PDFName.of('FT')); + var type = dict.context.lookup(ftNameOrRef, PDFName); + if (type === PDFName.of('Btn')) + return createPDFAcroButton(dict, ref); + if (type === PDFName.of('Ch')) + return createPDFAcroChoice(dict, ref); + if (type === PDFName.of('Tx')) + return PDFAcroText.fromDict(dict, ref); + if (type === PDFName.of('Sig')) + return PDFAcroSignature.fromDict(dict, ref); + // We should never reach this line. But there are a lot of weird PDFs out + // there. So, just to be safe, we'll try to handle things gracefully instead + // of throwing an error. + return PDFAcroTerminal.fromDict(dict, ref); +}; +var createPDFAcroButton = function (dict, ref) { + var _a; + var ffNumberOrRef = getInheritableAttribute(dict, PDFName.of('Ff')); + var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber); + var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; + if (flagIsSet(flags, AcroButtonFlags.PushButton)) { + return PDFAcroPushButton.fromDict(dict, ref); + } + else if (flagIsSet(flags, AcroButtonFlags.Radio)) { + return PDFAcroRadioButton.fromDict(dict, ref); + } + else { + return PDFAcroCheckBox.fromDict(dict, ref); + } +}; +var createPDFAcroChoice = function (dict, ref) { + var _a; + var ffNumberOrRef = getInheritableAttribute(dict, PDFName.of('Ff')); + var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, PDFNumber); + var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0; + if (flagIsSet(flags, AcroChoiceFlags.Combo)) { + return PDFAcroComboBox.fromDict(dict, ref); + } + else { + return PDFAcroListBox.fromDict(dict, ref); + } +}; +var flagIsSet = function (flags, flag) { + return (flags & flag) !== 0; +}; +var getInheritableAttribute = function (startNode, name) { + var attribute; + ascend(startNode, function (node) { + if (!attribute) + attribute = node.get(name); + }); + return attribute; +}; +var ascend = function (startNode, visitor) { + visitor(startNode); + var Parent = startNode.lookupMaybe(PDFName.of('Parent'), PDFDict); + if (Parent) + ascend(Parent, visitor); +}; + +var PDFAcroForm = /** @class */ (function () { + function PDFAcroForm(dict) { + this.dict = dict; + } + PDFAcroForm.prototype.Fields = function () { + var fields = this.dict.lookup(PDFName.of('Fields')); + if (fields instanceof PDFArray) + return fields; + return undefined; + }; + PDFAcroForm.prototype.getFields = function () { + var Fields = this.normalizedEntries().Fields; + var fields = new Array(Fields.size()); + for (var idx = 0, len = Fields.size(); idx < len; idx++) { + var ref = Fields.get(idx); + var dict = Fields.lookup(idx, PDFDict); + fields[idx] = [createPDFAcroField(dict, ref), ref]; + } + return fields; + }; + PDFAcroForm.prototype.getAllFields = function () { + var allFields = []; + var pushFields = function (fields) { + if (!fields) + return; + for (var idx = 0, len = fields.length; idx < len; idx++) { + var field = fields[idx]; + allFields.push(field); + var fieldModel = field[0]; + if (fieldModel instanceof PDFAcroNonTerminal) { + pushFields(createPDFAcroFields(fieldModel.Kids())); + } + } + }; + pushFields(this.getFields()); + return allFields; + }; + PDFAcroForm.prototype.addField = function (field) { + var Fields = this.normalizedEntries().Fields; + Fields === null || Fields === void 0 ? void 0 : Fields.push(field); + }; + PDFAcroForm.prototype.removeField = function (field) { + var parent = field.getParent(); + var fields = parent === undefined ? this.normalizedEntries().Fields : parent.Kids(); + var index = fields === null || fields === void 0 ? void 0 : fields.indexOf(field.ref); + if (fields === undefined || index === undefined) { + throw new Error("Tried to remove inexistent field " + field.getFullyQualifiedName()); + } + fields.remove(index); + if (parent !== undefined && fields.size() === 0) { + this.removeField(parent); + } + }; + PDFAcroForm.prototype.normalizedEntries = function () { + var Fields = this.Fields(); + if (!Fields) { + Fields = this.dict.context.obj([]); + this.dict.set(PDFName.of('Fields'), Fields); + } + return { Fields: Fields }; + }; + PDFAcroForm.fromDict = function (dict) { return new PDFAcroForm(dict); }; + PDFAcroForm.create = function (context) { + var dict = context.obj({ Fields: [] }); + return new PDFAcroForm(dict); + }; + return PDFAcroForm; +}()); + +var PDFCatalog = /** @class */ (function (_super) { + __extends(PDFCatalog, _super); + function PDFCatalog() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFCatalog.prototype.Pages = function () { + return this.lookup(PDFName.of('Pages'), PDFDict); + }; + PDFCatalog.prototype.AcroForm = function () { + return this.lookupMaybe(PDFName.of('AcroForm'), PDFDict); + }; + PDFCatalog.prototype.getAcroForm = function () { + var dict = this.AcroForm(); + if (!dict) + return undefined; + return PDFAcroForm.fromDict(dict); + }; + PDFCatalog.prototype.getOrCreateAcroForm = function () { + var acroForm = this.getAcroForm(); + if (!acroForm) { + acroForm = PDFAcroForm.create(this.context); + var acroFormRef = this.context.register(acroForm.dict); + this.set(PDFName.of('AcroForm'), acroFormRef); + } + return acroForm; + }; + PDFCatalog.prototype.ViewerPreferences = function () { + return this.lookupMaybe(PDFName.of('ViewerPreferences'), PDFDict); + }; + PDFCatalog.prototype.getViewerPreferences = function () { + var dict = this.ViewerPreferences(); + if (!dict) + return undefined; + return ViewerPreferences.fromDict(dict); + }; + PDFCatalog.prototype.getOrCreateViewerPreferences = function () { + var viewerPrefs = this.getViewerPreferences(); + if (!viewerPrefs) { + viewerPrefs = ViewerPreferences.create(this.context); + var viewerPrefsRef = this.context.register(viewerPrefs.dict); + this.set(PDFName.of('ViewerPreferences'), viewerPrefsRef); + } + return viewerPrefs; + }; + /** + * Inserts the given ref as a leaf node of this catalog's page tree at the + * specified index (zero-based). Also increments the `Count` of each node in + * the page tree hierarchy to accomodate the new page. + * + * Returns the ref of the PDFPageTree node into which `leafRef` was inserted. + */ + PDFCatalog.prototype.insertLeafNode = function (leafRef, index) { + var pagesRef = this.get(PDFName.of('Pages')); + var maybeParentRef = this.Pages().insertLeafNode(leafRef, index); + return maybeParentRef || pagesRef; + }; + PDFCatalog.prototype.removeLeafNode = function (index) { + this.Pages().removeLeafNode(index); + }; + PDFCatalog.withContextAndPages = function (context, pages) { + var dict = new Map(); + dict.set(PDFName.of('Type'), PDFName.of('Catalog')); + dict.set(PDFName.of('Pages'), pages); + return new PDFCatalog(dict, context); + }; + PDFCatalog.fromMapWithContext = function (map, context) { + return new PDFCatalog(map, context); + }; + return PDFCatalog; +}(PDFDict)); + +var PDFPageTree = /** @class */ (function (_super) { + __extends(PDFPageTree, _super); + function PDFPageTree() { + return _super !== null && _super.apply(this, arguments) || this; + } + PDFPageTree.prototype.Parent = function () { + return this.lookup(PDFName.of('Parent')); + }; + PDFPageTree.prototype.Kids = function () { + return this.lookup(PDFName.of('Kids'), PDFArray); + }; + PDFPageTree.prototype.Count = function () { + return this.lookup(PDFName.of('Count'), PDFNumber); + }; + PDFPageTree.prototype.pushTreeNode = function (treeRef) { + var Kids = this.Kids(); + Kids.push(treeRef); + }; + PDFPageTree.prototype.pushLeafNode = function (leafRef) { + var Kids = this.Kids(); + this.insertLeafKid(Kids.size(), leafRef); + }; + /** + * Inserts the given ref as a leaf node of this page tree at the specified + * index (zero-based). Also increments the `Count` of each page tree in the + * hierarchy to accomodate the new page. + * + * Returns the ref of the PDFPageTree node into which `leafRef` was inserted, + * or `undefined` if it was inserted into the root node (the PDFPageTree upon + * which the method was first called). + */ + PDFPageTree.prototype.insertLeafNode = function (leafRef, targetIndex) { + var Kids = this.Kids(); + var Count = this.Count().asNumber(); + if (targetIndex > Count) { + throw new InvalidTargetIndexError(targetIndex, Count); + } + var leafsRemainingUntilTarget = targetIndex; + for (var idx = 0, len = Kids.size(); idx < len; idx++) { + if (leafsRemainingUntilTarget === 0) { + // Insert page and return + this.insertLeafKid(idx, leafRef); + return undefined; + } + var kidRef = Kids.get(idx); + var kid = this.context.lookup(kidRef); + if (kid instanceof PDFPageTree) { + if (kid.Count().asNumber() > leafsRemainingUntilTarget) { + // Dig in + return (kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef); + } + else { + // Move on + leafsRemainingUntilTarget -= kid.Count().asNumber(); + } + } + if (kid instanceof PDFPageLeaf) { + // Move on + leafsRemainingUntilTarget -= 1; + } + } + if (leafsRemainingUntilTarget === 0) { + // Insert page at the end and return + this.insertLeafKid(Kids.size(), leafRef); + return undefined; + } + // Should never get here if `targetIndex` is valid + throw new CorruptPageTreeError(targetIndex, 'insertLeafNode'); + }; + /** + * Removes the leaf node at the specified index (zero-based) from this page + * tree. Also decrements the `Count` of each page tree in the hierarchy to + * account for the removed page. + * + * If `prune` is true, then intermediate tree nodes will be removed from the + * tree if they contain 0 children after the leaf node is removed. + */ + PDFPageTree.prototype.removeLeafNode = function (targetIndex, prune) { + if (prune === void 0) { prune = true; } + var Kids = this.Kids(); + var Count = this.Count().asNumber(); + if (targetIndex >= Count) { + throw new InvalidTargetIndexError(targetIndex, Count); + } + var leafsRemainingUntilTarget = targetIndex; + for (var idx = 0, len = Kids.size(); idx < len; idx++) { + var kidRef = Kids.get(idx); + var kid = this.context.lookup(kidRef); + if (kid instanceof PDFPageTree) { + if (kid.Count().asNumber() > leafsRemainingUntilTarget) { + // Dig in + kid.removeLeafNode(leafsRemainingUntilTarget, prune); + if (prune && kid.Kids().size() === 0) + Kids.remove(idx); + return; + } + else { + // Move on + leafsRemainingUntilTarget -= kid.Count().asNumber(); + } + } + if (kid instanceof PDFPageLeaf) { + if (leafsRemainingUntilTarget === 0) { + // Remove page and return + this.removeKid(idx); + return; + } + else { + // Move on + leafsRemainingUntilTarget -= 1; + } + } + } + // Should never get here if `targetIndex` is valid + throw new CorruptPageTreeError(targetIndex, 'removeLeafNode'); + }; + PDFPageTree.prototype.ascend = function (visitor) { + visitor(this); + var Parent = this.Parent(); + if (Parent) + Parent.ascend(visitor); + }; + /** Performs a Post-Order traversal of this page tree */ + PDFPageTree.prototype.traverse = function (visitor) { + var Kids = this.Kids(); + for (var idx = 0, len = Kids.size(); idx < len; idx++) { + var kidRef = Kids.get(idx); + var kid = this.context.lookup(kidRef); + if (kid instanceof PDFPageTree) + kid.traverse(visitor); + visitor(kid, kidRef); + } + }; + PDFPageTree.prototype.insertLeafKid = function (kidIdx, leafRef) { + var Kids = this.Kids(); + this.ascend(function (node) { + var newCount = node.Count().asNumber() + 1; + node.set(PDFName.of('Count'), PDFNumber.of(newCount)); + }); + Kids.insert(kidIdx, leafRef); + }; + PDFPageTree.prototype.removeKid = function (kidIdx) { + var Kids = this.Kids(); + var kid = Kids.lookup(kidIdx); + if (kid instanceof PDFPageLeaf) { + this.ascend(function (node) { + var newCount = node.Count().asNumber() - 1; + node.set(PDFName.of('Count'), PDFNumber.of(newCount)); + }); + } + Kids.remove(kidIdx); + }; + PDFPageTree.withContext = function (context, parent) { + var dict = new Map(); + dict.set(PDFName.of('Type'), PDFName.of('Pages')); + dict.set(PDFName.of('Kids'), context.obj([])); + dict.set(PDFName.of('Count'), context.obj(0)); + if (parent) + dict.set(PDFName.of('Parent'), parent); + return new PDFPageTree(dict, context); + }; + PDFPageTree.fromMapWithContext = function (map, context) { + return new PDFPageTree(map, context); + }; + return PDFPageTree; +}(PDFDict)); + +var IsDigit = new Uint8Array(256); +IsDigit[CharCodes$1.Zero] = 1; +IsDigit[CharCodes$1.One] = 1; +IsDigit[CharCodes$1.Two] = 1; +IsDigit[CharCodes$1.Three] = 1; +IsDigit[CharCodes$1.Four] = 1; +IsDigit[CharCodes$1.Five] = 1; +IsDigit[CharCodes$1.Six] = 1; +IsDigit[CharCodes$1.Seven] = 1; +IsDigit[CharCodes$1.Eight] = 1; +IsDigit[CharCodes$1.Nine] = 1; +var IsNumericPrefix = new Uint8Array(256); +IsNumericPrefix[CharCodes$1.Period] = 1; +IsNumericPrefix[CharCodes$1.Plus] = 1; +IsNumericPrefix[CharCodes$1.Minus] = 1; +var IsNumeric = new Uint8Array(256); +for (var idx$2 = 0, len$1 = 256; idx$2 < len$1; idx$2++) { + IsNumeric[idx$2] = IsDigit[idx$2] || IsNumericPrefix[idx$2] ? 1 : 0; +} + +var Newline = CharCodes$1.Newline, CarriageReturn = CharCodes$1.CarriageReturn; +// TODO: Throw error if eof is reached before finishing object parse... +var BaseParser = /** @class */ (function () { + function BaseParser(bytes, capNumbers) { + if (capNumbers === void 0) { capNumbers = false; } + this.bytes = bytes; + this.capNumbers = capNumbers; + } + BaseParser.prototype.parseRawInt = function () { + var value = ''; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (!IsDigit[byte]) + break; + value += charFromCode(this.bytes.next()); + } + var numberValue = Number(value); + if (!value || !isFinite(numberValue)) { + throw new NumberParsingError(this.bytes.position(), value); + } + return numberValue; + }; + // TODO: Maybe handle exponential format? + // TODO: Compare performance of string concatenation to charFromCode(...bytes) + BaseParser.prototype.parseRawNumber = function () { + var value = ''; + // Parse integer-part, the leading (+ | - | . | 0-9) + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (!IsNumeric[byte]) + break; + value += charFromCode(this.bytes.next()); + if (byte === CharCodes$1.Period) + break; + } + // Parse decimal-part, the trailing (0-9) + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (!IsDigit[byte]) + break; + value += charFromCode(this.bytes.next()); + } + var numberValue = Number(value); + if (!value || !isFinite(numberValue)) { + throw new NumberParsingError(this.bytes.position(), value); + } + if (numberValue > Number.MAX_SAFE_INTEGER) { + if (this.capNumbers) { + var msg = "Parsed number that is too large for some PDF readers: " + value + ", using Number.MAX_SAFE_INTEGER instead."; + console.warn(msg); + return Number.MAX_SAFE_INTEGER; + } + else { + var msg = "Parsed number that is too large for some PDF readers: " + value + ", not capping."; + console.warn(msg); + } + } + return numberValue; + }; + BaseParser.prototype.skipWhitespace = function () { + while (!this.bytes.done() && IsWhitespace[this.bytes.peek()]) { + this.bytes.next(); + } + }; + BaseParser.prototype.skipLine = function () { + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (byte === Newline || byte === CarriageReturn) + return; + this.bytes.next(); + } + }; + BaseParser.prototype.skipComment = function () { + if (this.bytes.peek() !== CharCodes$1.Percent) + return false; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (byte === Newline || byte === CarriageReturn) + return true; + this.bytes.next(); + } + return true; + }; + BaseParser.prototype.skipWhitespaceAndComments = function () { + this.skipWhitespace(); + while (this.skipComment()) + this.skipWhitespace(); + }; + BaseParser.prototype.matchKeyword = function (keyword) { + var initialOffset = this.bytes.offset(); + for (var idx = 0, len = keyword.length; idx < len; idx++) { + if (this.bytes.done() || this.bytes.next() !== keyword[idx]) { + this.bytes.moveTo(initialOffset); + return false; + } + } + return true; + }; + return BaseParser; +}()); + +// TODO: See how line/col tracking affects performance +var ByteStream = /** @class */ (function () { + function ByteStream(bytes) { + this.idx = 0; + this.line = 0; + this.column = 0; + this.bytes = bytes; + this.length = this.bytes.length; + } + ByteStream.prototype.moveTo = function (offset) { + this.idx = offset; + }; + ByteStream.prototype.next = function () { + var byte = this.bytes[this.idx++]; + if (byte === CharCodes$1.Newline) { + this.line += 1; + this.column = 0; + } + else { + this.column += 1; + } + return byte; + }; + ByteStream.prototype.assertNext = function (expected) { + if (this.peek() !== expected) { + throw new NextByteAssertionError(this.position(), expected, this.peek()); + } + return this.next(); + }; + ByteStream.prototype.peek = function () { + return this.bytes[this.idx]; + }; + ByteStream.prototype.peekAhead = function (steps) { + return this.bytes[this.idx + steps]; + }; + ByteStream.prototype.peekAt = function (offset) { + return this.bytes[offset]; + }; + ByteStream.prototype.done = function () { + return this.idx >= this.length; + }; + ByteStream.prototype.offset = function () { + return this.idx; + }; + ByteStream.prototype.slice = function (start, end) { + return this.bytes.slice(start, end); + }; + ByteStream.prototype.position = function () { + return { line: this.line, column: this.column, offset: this.idx }; + }; + ByteStream.of = function (bytes) { return new ByteStream(bytes); }; + ByteStream.fromPDFRawStream = function (rawStream) { + return ByteStream.of(decodePDFRawStream(rawStream).decode()); + }; + return ByteStream; +}()); + +var Space = CharCodes$1.Space, CarriageReturn$1 = CharCodes$1.CarriageReturn, Newline$1 = CharCodes$1.Newline; +var stream = [ + CharCodes$1.s, + CharCodes$1.t, + CharCodes$1.r, + CharCodes$1.e, + CharCodes$1.a, + CharCodes$1.m, +]; +var endstream = [ + CharCodes$1.e, + CharCodes$1.n, + CharCodes$1.d, + CharCodes$1.s, + CharCodes$1.t, + CharCodes$1.r, + CharCodes$1.e, + CharCodes$1.a, + CharCodes$1.m, +]; +var Keywords = { + header: [ + CharCodes$1.Percent, + CharCodes$1.P, + CharCodes$1.D, + CharCodes$1.F, + CharCodes$1.Dash, + ], + eof: [ + CharCodes$1.Percent, + CharCodes$1.Percent, + CharCodes$1.E, + CharCodes$1.O, + CharCodes$1.F, + ], + obj: [CharCodes$1.o, CharCodes$1.b, CharCodes$1.j], + endobj: [ + CharCodes$1.e, + CharCodes$1.n, + CharCodes$1.d, + CharCodes$1.o, + CharCodes$1.b, + CharCodes$1.j, + ], + xref: [CharCodes$1.x, CharCodes$1.r, CharCodes$1.e, CharCodes$1.f], + trailer: [ + CharCodes$1.t, + CharCodes$1.r, + CharCodes$1.a, + CharCodes$1.i, + CharCodes$1.l, + CharCodes$1.e, + CharCodes$1.r, + ], + startxref: [ + CharCodes$1.s, + CharCodes$1.t, + CharCodes$1.a, + CharCodes$1.r, + CharCodes$1.t, + CharCodes$1.x, + CharCodes$1.r, + CharCodes$1.e, + CharCodes$1.f, + ], + true: [CharCodes$1.t, CharCodes$1.r, CharCodes$1.u, CharCodes$1.e], + false: [CharCodes$1.f, CharCodes$1.a, CharCodes$1.l, CharCodes$1.s, CharCodes$1.e], + null: [CharCodes$1.n, CharCodes$1.u, CharCodes$1.l, CharCodes$1.l], + stream: stream, + streamEOF1: __spreadArrays(stream, [Space, CarriageReturn$1, Newline$1]), + streamEOF2: __spreadArrays(stream, [CarriageReturn$1, Newline$1]), + streamEOF3: __spreadArrays(stream, [CarriageReturn$1]), + streamEOF4: __spreadArrays(stream, [Newline$1]), + endstream: endstream, + EOF1endstream: __spreadArrays([CarriageReturn$1, Newline$1], endstream), + EOF2endstream: __spreadArrays([CarriageReturn$1], endstream), + EOF3endstream: __spreadArrays([Newline$1], endstream), +}; + +// TODO: Throw error if eof is reached before finishing object parse... +var PDFObjectParser = /** @class */ (function (_super) { + __extends(PDFObjectParser, _super); + function PDFObjectParser(byteStream, context, capNumbers) { + if (capNumbers === void 0) { capNumbers = false; } + var _this = _super.call(this, byteStream, capNumbers) || this; + _this.context = context; + return _this; + } + // TODO: Is it possible to reduce duplicate parsing for ref lookaheads? + PDFObjectParser.prototype.parseObject = function () { + this.skipWhitespaceAndComments(); + if (this.matchKeyword(Keywords.true)) + return PDFBool.True; + if (this.matchKeyword(Keywords.false)) + return PDFBool.False; + if (this.matchKeyword(Keywords.null)) + return PDFNull$1; + var byte = this.bytes.peek(); + if (byte === CharCodes$1.LessThan && + this.bytes.peekAhead(1) === CharCodes$1.LessThan) { + return this.parseDictOrStream(); + } + if (byte === CharCodes$1.LessThan) + return this.parseHexString(); + if (byte === CharCodes$1.LeftParen) + return this.parseString(); + if (byte === CharCodes$1.ForwardSlash) + return this.parseName(); + if (byte === CharCodes$1.LeftSquareBracket) + return this.parseArray(); + if (IsNumeric[byte]) + return this.parseNumberOrRef(); + throw new PDFObjectParsingError(this.bytes.position(), byte); + }; + PDFObjectParser.prototype.parseNumberOrRef = function () { + var firstNum = this.parseRawNumber(); + this.skipWhitespaceAndComments(); + var lookaheadStart = this.bytes.offset(); + if (IsDigit[this.bytes.peek()]) { + var secondNum = this.parseRawNumber(); + this.skipWhitespaceAndComments(); + if (this.bytes.peek() === CharCodes$1.R) { + this.bytes.assertNext(CharCodes$1.R); + return PDFRef.of(firstNum, secondNum); + } + } + this.bytes.moveTo(lookaheadStart); + return PDFNumber.of(firstNum); + }; + // TODO: Maybe update PDFHexString.of() logic to remove whitespace and validate input? + PDFObjectParser.prototype.parseHexString = function () { + var value = ''; + this.bytes.assertNext(CharCodes$1.LessThan); + while (!this.bytes.done() && this.bytes.peek() !== CharCodes$1.GreaterThan) { + value += charFromCode(this.bytes.next()); + } + this.bytes.assertNext(CharCodes$1.GreaterThan); + return PDFHexString.of(value); + }; + PDFObjectParser.prototype.parseString = function () { + var nestingLvl = 0; + var isEscaped = false; + var value = ''; + while (!this.bytes.done()) { + var byte = this.bytes.next(); + value += charFromCode(byte); + // Check for unescaped parenthesis + if (!isEscaped) { + if (byte === CharCodes$1.LeftParen) + nestingLvl += 1; + if (byte === CharCodes$1.RightParen) + nestingLvl -= 1; + } + // Track whether current character is being escaped or not + if (byte === CharCodes$1.BackSlash) { + isEscaped = !isEscaped; + } + else if (isEscaped) { + isEscaped = false; + } + // Once (if) the unescaped parenthesis balance out, return their contents + if (nestingLvl === 0) { + // Remove the outer parens so they aren't part of the contents + return PDFString.of(value.substring(1, value.length - 1)); + } + } + throw new UnbalancedParenthesisError(this.bytes.position()); + }; + // TODO: Compare performance of string concatenation to charFromCode(...bytes) + // TODO: Maybe preallocate small Uint8Array if can use charFromCode? + PDFObjectParser.prototype.parseName = function () { + this.bytes.assertNext(CharCodes$1.ForwardSlash); + var name = ''; + while (!this.bytes.done()) { + var byte = this.bytes.peek(); + if (IsWhitespace[byte] || IsDelimiter[byte]) + break; + name += charFromCode(byte); + this.bytes.next(); + } + return PDFName.of(name); + }; + PDFObjectParser.prototype.parseArray = function () { + this.bytes.assertNext(CharCodes$1.LeftSquareBracket); + this.skipWhitespaceAndComments(); + var pdfArray = PDFArray.withContext(this.context); + while (this.bytes.peek() !== CharCodes$1.RightSquareBracket) { + var element = this.parseObject(); + pdfArray.push(element); + this.skipWhitespaceAndComments(); + } + this.bytes.assertNext(CharCodes$1.RightSquareBracket); + return pdfArray; + }; + PDFObjectParser.prototype.parseDict = function () { + this.bytes.assertNext(CharCodes$1.LessThan); + this.bytes.assertNext(CharCodes$1.LessThan); + this.skipWhitespaceAndComments(); + var dict = new Map(); + while (!this.bytes.done() && + this.bytes.peek() !== CharCodes$1.GreaterThan && + this.bytes.peekAhead(1) !== CharCodes$1.GreaterThan) { + var key = this.parseName(); + var value = this.parseObject(); + dict.set(key, value); + this.skipWhitespaceAndComments(); + } + this.skipWhitespaceAndComments(); + this.bytes.assertNext(CharCodes$1.GreaterThan); + this.bytes.assertNext(CharCodes$1.GreaterThan); + var Type = dict.get(PDFName.of('Type')); + if (Type === PDFName.of('Catalog')) { + return PDFCatalog.fromMapWithContext(dict, this.context); + } + else if (Type === PDFName.of('Pages')) { + return PDFPageTree.fromMapWithContext(dict, this.context); + } + else if (Type === PDFName.of('Page')) { + return PDFPageLeaf.fromMapWithContext(dict, this.context); + } + else { + return PDFDict.fromMapWithContext(dict, this.context); + } + }; + PDFObjectParser.prototype.parseDictOrStream = function () { + var startPos = this.bytes.position(); + var dict = this.parseDict(); + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.streamEOF1) && + !this.matchKeyword(Keywords.streamEOF2) && + !this.matchKeyword(Keywords.streamEOF3) && + !this.matchKeyword(Keywords.streamEOF4) && + !this.matchKeyword(Keywords.stream)) { + return dict; + } + var start = this.bytes.offset(); + var end; + var Length = dict.get(PDFName.of('Length')); + if (Length instanceof PDFNumber) { + end = start + Length.asNumber(); + this.bytes.moveTo(end); + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.endstream)) { + this.bytes.moveTo(start); + end = this.findEndOfStreamFallback(startPos); + } + } + else { + end = this.findEndOfStreamFallback(startPos); + } + var contents = this.bytes.slice(start, end); + return PDFRawStream.of(dict, contents); + }; + PDFObjectParser.prototype.findEndOfStreamFallback = function (startPos) { + // Move to end of stream, while handling nested streams + var nestingLvl = 1; + var end = this.bytes.offset(); + while (!this.bytes.done()) { + end = this.bytes.offset(); + if (this.matchKeyword(Keywords.stream)) { + nestingLvl += 1; + } + else if (this.matchKeyword(Keywords.EOF1endstream) || + this.matchKeyword(Keywords.EOF2endstream) || + this.matchKeyword(Keywords.EOF3endstream) || + this.matchKeyword(Keywords.endstream)) { + nestingLvl -= 1; + } + else { + this.bytes.next(); + } + if (nestingLvl === 0) + break; + } + if (nestingLvl !== 0) + throw new PDFStreamParsingError(startPos); + return end; + }; + PDFObjectParser.forBytes = function (bytes, context, capNumbers) { return new PDFObjectParser(ByteStream.of(bytes), context, capNumbers); }; + PDFObjectParser.forByteStream = function (byteStream, context, capNumbers) { + if (capNumbers === void 0) { capNumbers = false; } + return new PDFObjectParser(byteStream, context, capNumbers); + }; + return PDFObjectParser; +}(BaseParser)); + +var PDFObjectStreamParser = /** @class */ (function (_super) { + __extends(PDFObjectStreamParser, _super); + function PDFObjectStreamParser(rawStream, shouldWaitForTick) { + var _this = _super.call(this, ByteStream.fromPDFRawStream(rawStream), rawStream.dict.context) || this; + var dict = rawStream.dict; + _this.alreadyParsed = false; + _this.shouldWaitForTick = shouldWaitForTick || (function () { return false; }); + _this.firstOffset = dict.lookup(PDFName.of('First'), PDFNumber).asNumber(); + _this.objectCount = dict.lookup(PDFName.of('N'), PDFNumber).asNumber(); + return _this; + } + PDFObjectStreamParser.prototype.parseIntoContext = function () { + return __awaiter(this, void 0, void 0, function () { + var offsetsAndObjectNumbers, idx, len, _a, objectNumber, offset, object, ref; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (this.alreadyParsed) { + throw new ReparseError('PDFObjectStreamParser', 'parseIntoContext'); + } + this.alreadyParsed = true; + offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers(); + idx = 0, len = offsetsAndObjectNumbers.length; + _b.label = 1; + case 1: + if (!(idx < len)) return [3 /*break*/, 4]; + _a = offsetsAndObjectNumbers[idx], objectNumber = _a.objectNumber, offset = _a.offset; + this.bytes.moveTo(this.firstOffset + offset); + object = this.parseObject(); + ref = PDFRef.of(objectNumber, 0); + this.context.assign(ref, object); + if (!this.shouldWaitForTick()) return [3 /*break*/, 3]; + return [4 /*yield*/, waitForTick()]; + case 2: + _b.sent(); + _b.label = 3; + case 3: + idx++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); + }; + PDFObjectStreamParser.prototype.parseOffsetsAndObjectNumbers = function () { + var offsetsAndObjectNumbers = []; + for (var idx = 0, len = this.objectCount; idx < len; idx++) { + this.skipWhitespaceAndComments(); + var objectNumber = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var offset = this.parseRawInt(); + offsetsAndObjectNumbers.push({ objectNumber: objectNumber, offset: offset }); + } + return offsetsAndObjectNumbers; + }; + PDFObjectStreamParser.forStream = function (rawStream, shouldWaitForTick) { return new PDFObjectStreamParser(rawStream, shouldWaitForTick); }; + return PDFObjectStreamParser; +}(PDFObjectParser)); + +var PDFXRefStreamParser = /** @class */ (function () { + function PDFXRefStreamParser(rawStream) { + this.alreadyParsed = false; + this.dict = rawStream.dict; + this.bytes = ByteStream.fromPDFRawStream(rawStream); + this.context = this.dict.context; + var Size = this.dict.lookup(PDFName.of('Size'), PDFNumber); + var Index = this.dict.lookup(PDFName.of('Index')); + if (Index instanceof PDFArray) { + this.subsections = []; + for (var idx = 0, len = Index.size(); idx < len; idx += 2) { + var firstObjectNumber = Index.lookup(idx + 0, PDFNumber).asNumber(); + var length_1 = Index.lookup(idx + 1, PDFNumber).asNumber(); + this.subsections.push({ firstObjectNumber: firstObjectNumber, length: length_1 }); + } + } + else { + this.subsections = [{ firstObjectNumber: 0, length: Size.asNumber() }]; + } + var W = this.dict.lookup(PDFName.of('W'), PDFArray); + this.byteWidths = [-1, -1, -1]; + for (var idx = 0, len = W.size(); idx < len; idx++) { + this.byteWidths[idx] = W.lookup(idx, PDFNumber).asNumber(); + } + } + PDFXRefStreamParser.prototype.parseIntoContext = function () { + if (this.alreadyParsed) { + throw new ReparseError('PDFXRefStreamParser', 'parseIntoContext'); + } + this.alreadyParsed = true; + this.context.trailerInfo = { + Root: this.dict.get(PDFName.of('Root')), + Encrypt: this.dict.get(PDFName.of('Encrypt')), + Info: this.dict.get(PDFName.of('Info')), + ID: this.dict.get(PDFName.of('ID')), + }; + var entries = this.parseEntries(); + // for (let idx = 0, len = entries.length; idx < len; idx++) { + // const entry = entries[idx]; + // if (entry.deleted) this.context.delete(entry.ref); + // } + return entries; + }; + PDFXRefStreamParser.prototype.parseEntries = function () { + var entries = []; + var _a = this.byteWidths, typeFieldWidth = _a[0], offsetFieldWidth = _a[1], genFieldWidth = _a[2]; + for (var subsectionIdx = 0, subsectionLen = this.subsections.length; subsectionIdx < subsectionLen; subsectionIdx++) { + var _b = this.subsections[subsectionIdx], firstObjectNumber = _b.firstObjectNumber, length_2 = _b.length; + for (var objIdx = 0; objIdx < length_2; objIdx++) { + var type = 0; + for (var idx = 0, len = typeFieldWidth; idx < len; idx++) { + type = (type << 8) | this.bytes.next(); + } + var offset = 0; + for (var idx = 0, len = offsetFieldWidth; idx < len; idx++) { + offset = (offset << 8) | this.bytes.next(); + } + var generationNumber = 0; + for (var idx = 0, len = genFieldWidth; idx < len; idx++) { + generationNumber = (generationNumber << 8) | this.bytes.next(); + } + // When the `type` field is absent, it defaults to 1 + if (typeFieldWidth === 0) + type = 1; + var objectNumber = firstObjectNumber + objIdx; + var entry = { + ref: PDFRef.of(objectNumber, generationNumber), + offset: offset, + deleted: type === 0, + inObjectStream: type === 2, + }; + entries.push(entry); + } + } + return entries; + }; + PDFXRefStreamParser.forStream = function (rawStream) { + return new PDFXRefStreamParser(rawStream); + }; + return PDFXRefStreamParser; +}()); + +var PDFParser = /** @class */ (function (_super) { + __extends(PDFParser, _super); + function PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { + if (objectsPerTick === void 0) { objectsPerTick = Infinity; } + if (throwOnInvalidObject === void 0) { throwOnInvalidObject = false; } + if (capNumbers === void 0) { capNumbers = false; } + var _this = _super.call(this, ByteStream.of(pdfBytes), PDFContext.create(), capNumbers) || this; + _this.alreadyParsed = false; + _this.parsedObjects = 0; + _this.shouldWaitForTick = function () { + _this.parsedObjects += 1; + return _this.parsedObjects % _this.objectsPerTick === 0; + }; + _this.objectsPerTick = objectsPerTick; + _this.throwOnInvalidObject = throwOnInvalidObject; + return _this; + } + PDFParser.prototype.parseDocument = function () { + return __awaiter(this, void 0, void 0, function () { + var prevOffset, offset; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (this.alreadyParsed) { + throw new ReparseError('PDFParser', 'parseDocument'); + } + this.alreadyParsed = true; + this.context.header = this.parseHeader(); + _a.label = 1; + case 1: + if (!!this.bytes.done()) return [3 /*break*/, 3]; + return [4 /*yield*/, this.parseDocumentSection()]; + case 2: + _a.sent(); + offset = this.bytes.offset(); + if (offset === prevOffset) { + throw new StalledParserError(this.bytes.position()); + } + prevOffset = offset; + return [3 /*break*/, 1]; + case 3: + this.maybeRecoverRoot(); + if (this.context.lookup(PDFRef.of(0))) { + console.warn('Removing parsed object: 0 0 R'); + this.context.delete(PDFRef.of(0)); + } + return [2 /*return*/, this.context]; + } + }); + }); + }; + PDFParser.prototype.maybeRecoverRoot = function () { + var isValidCatalog = function (obj) { + return obj instanceof PDFDict && + obj.lookup(PDFName.of('Type')) === PDFName.of('Catalog'); + }; + var catalog = this.context.lookup(this.context.trailerInfo.Root); + if (!isValidCatalog(catalog)) { + var indirectObjects = this.context.enumerateIndirectObjects(); + for (var idx = 0, len = indirectObjects.length; idx < len; idx++) { + var _a = indirectObjects[idx], ref = _a[0], object = _a[1]; + if (isValidCatalog(object)) { + this.context.trailerInfo.Root = ref; + } + } + } + }; + PDFParser.prototype.parseHeader = function () { + while (!this.bytes.done()) { + if (this.matchKeyword(Keywords.header)) { + var major = this.parseRawInt(); + this.bytes.assertNext(CharCodes$1.Period); + var minor = this.parseRawInt(); + var header = PDFHeader.forVersion(major, minor); + this.skipBinaryHeaderComment(); + return header; + } + this.bytes.next(); + } + throw new MissingPDFHeaderError(this.bytes.position()); + }; + PDFParser.prototype.parseIndirectObjectHeader = function () { + this.skipWhitespaceAndComments(); + var objectNumber = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var generationNumber = this.parseRawInt(); + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.obj)) { + throw new MissingKeywordError(this.bytes.position(), Keywords.obj); + } + return PDFRef.of(objectNumber, generationNumber); + }; + PDFParser.prototype.matchIndirectObjectHeader = function () { + var initialOffset = this.bytes.offset(); + try { + this.parseIndirectObjectHeader(); + return true; + } + catch (e) { + this.bytes.moveTo(initialOffset); + return false; + } + }; + PDFParser.prototype.parseIndirectObject = function () { + return __awaiter(this, void 0, void 0, function () { + var ref, object; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + ref = this.parseIndirectObjectHeader(); + this.skipWhitespaceAndComments(); + object = this.parseObject(); + this.skipWhitespaceAndComments(); + // if (!this.matchKeyword(Keywords.endobj)) { + // throw new MissingKeywordError(this.bytes.position(), Keywords.endobj); + // } + // TODO: Log a warning if this fails... + this.matchKeyword(Keywords.endobj); + if (!(object instanceof PDFRawStream && + object.dict.lookup(PDFName.of('Type')) === PDFName.of('ObjStm'))) return [3 /*break*/, 2]; + return [4 /*yield*/, PDFObjectStreamParser.forStream(object, this.shouldWaitForTick).parseIntoContext()]; + case 1: + _a.sent(); + return [3 /*break*/, 3]; + case 2: + if (object instanceof PDFRawStream && + object.dict.lookup(PDFName.of('Type')) === PDFName.of('XRef')) { + PDFXRefStreamParser.forStream(object).parseIntoContext(); + } + else { + this.context.assign(ref, object); + } + _a.label = 3; + case 3: return [2 /*return*/, ref]; + } + }); + }); + }; + // TODO: Improve and clean this up + PDFParser.prototype.tryToParseInvalidIndirectObject = function () { + var startPos = this.bytes.position(); + var msg = "Trying to parse invalid object: " + JSON.stringify(startPos) + ")"; + if (this.throwOnInvalidObject) + throw new Error(msg); + console.warn(msg); + var ref = this.parseIndirectObjectHeader(); + console.warn("Invalid object ref: " + ref); + this.skipWhitespaceAndComments(); + var start = this.bytes.offset(); + var failed = true; + while (!this.bytes.done()) { + if (this.matchKeyword(Keywords.endobj)) { + failed = false; + } + if (!failed) + break; + this.bytes.next(); + } + if (failed) + throw new PDFInvalidObjectParsingError(startPos); + var end = this.bytes.offset() - Keywords.endobj.length; + var object = PDFInvalidObject.of(this.bytes.slice(start, end)); + this.context.assign(ref, object); + return ref; + }; + PDFParser.prototype.parseIndirectObjects = function () { + return __awaiter(this, void 0, void 0, function () { + var initialOffset, e_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + this.skipWhitespaceAndComments(); + _a.label = 1; + case 1: + if (!(!this.bytes.done() && IsDigit[this.bytes.peek()])) return [3 /*break*/, 8]; + initialOffset = this.bytes.offset(); + _a.label = 2; + case 2: + _a.trys.push([2, 4, , 5]); + return [4 /*yield*/, this.parseIndirectObject()]; + case 3: + _a.sent(); + return [3 /*break*/, 5]; + case 4: + e_1 = _a.sent(); + // TODO: Add tracing/logging mechanism to track when this happens! + this.bytes.moveTo(initialOffset); + this.tryToParseInvalidIndirectObject(); + return [3 /*break*/, 5]; + case 5: + this.skipWhitespaceAndComments(); + // TODO: Can this be done only when needed, to avoid harming performance? + this.skipJibberish(); + if (!this.shouldWaitForTick()) return [3 /*break*/, 7]; + return [4 /*yield*/, waitForTick()]; + case 6: + _a.sent(); + _a.label = 7; + case 7: return [3 /*break*/, 1]; + case 8: return [2 /*return*/]; + } + }); + }); + }; + PDFParser.prototype.maybeParseCrossRefSection = function () { + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.xref)) + return; + this.skipWhitespaceAndComments(); + var objectNumber = -1; + var xref = PDFCrossRefSection.createEmpty(); + while (!this.bytes.done() && IsDigit[this.bytes.peek()]) { + var firstInt = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var secondInt = this.parseRawInt(); + this.skipWhitespaceAndComments(); + var byte = this.bytes.peek(); + if (byte === CharCodes$1.n || byte === CharCodes$1.f) { + var ref = PDFRef.of(objectNumber, secondInt); + if (this.bytes.next() === CharCodes$1.n) { + xref.addEntry(ref, firstInt); + } + else { + // this.context.delete(ref); + xref.addDeletedEntry(ref, firstInt); + } + objectNumber += 1; + } + else { + objectNumber = firstInt; + } + this.skipWhitespaceAndComments(); + } + return xref; + }; + PDFParser.prototype.maybeParseTrailerDict = function () { + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.trailer)) + return; + this.skipWhitespaceAndComments(); + var dict = this.parseDict(); + var context = this.context; + context.trailerInfo = { + Root: dict.get(PDFName.of('Root')) || context.trailerInfo.Root, + Encrypt: dict.get(PDFName.of('Encrypt')) || context.trailerInfo.Encrypt, + Info: dict.get(PDFName.of('Info')) || context.trailerInfo.Info, + ID: dict.get(PDFName.of('ID')) || context.trailerInfo.ID, + }; + }; + PDFParser.prototype.maybeParseTrailer = function () { + this.skipWhitespaceAndComments(); + if (!this.matchKeyword(Keywords.startxref)) + return; + this.skipWhitespaceAndComments(); + var offset = this.parseRawInt(); + this.skipWhitespace(); + this.matchKeyword(Keywords.eof); + this.skipWhitespaceAndComments(); + this.matchKeyword(Keywords.eof); + this.skipWhitespaceAndComments(); + return PDFTrailer.forLastCrossRefSectionOffset(offset); + }; + PDFParser.prototype.parseDocumentSection = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.parseIndirectObjects()]; + case 1: + _a.sent(); + this.maybeParseCrossRefSection(); + this.maybeParseTrailerDict(); + this.maybeParseTrailer(); + // TODO: Can this be done only when needed, to avoid harming performance? + this.skipJibberish(); + return [2 /*return*/]; + } + }); + }); + }; + /** + * This operation is not necessary for valid PDF files. But some invalid PDFs + * contain jibberish in between indirect objects. This method is designed to + * skip past that jibberish, should it exist, until it reaches the next + * indirect object header, an xref table section, or the file trailer. + */ + PDFParser.prototype.skipJibberish = function () { + this.skipWhitespaceAndComments(); + while (!this.bytes.done()) { + var initialOffset = this.bytes.offset(); + var byte = this.bytes.peek(); + var isAlphaNumeric = byte >= CharCodes$1.Space && byte <= CharCodes$1.Tilde; + if (isAlphaNumeric) { + if (this.matchKeyword(Keywords.xref) || + this.matchKeyword(Keywords.trailer) || + this.matchKeyword(Keywords.startxref) || + this.matchIndirectObjectHeader()) { + this.bytes.moveTo(initialOffset); + break; + } + } + this.bytes.next(); + } + }; + /** + * Skips the binary comment following a PDF header. The specification + * defines this binary comment (section 7.5.2 File Header) as a sequence of 4 + * or more bytes that are 128 or greater, and which are preceded by a "%". + * + * This would imply that to strip out this binary comment, we could check for + * a sequence of bytes starting with "%", and remove all subsequent bytes that + * are 128 or greater. This works for many documents that properly comply with + * the spec. But in the wild, there are PDFs that omit the leading "%", and + * include bytes that are less than 128 (e.g. 0 or 1). So in order to parse + * these headers correctly, we just throw out all bytes leading up to the + * first indirect object header. + */ + PDFParser.prototype.skipBinaryHeaderComment = function () { + this.skipWhitespaceAndComments(); + try { + var initialOffset = this.bytes.offset(); + this.parseIndirectObjectHeader(); + this.bytes.moveTo(initialOffset); + } + catch (e) { + this.bytes.next(); + this.skipWhitespaceAndComments(); + } + }; + PDFParser.forBytesWithOptions = function (pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) { + return new PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers); + }; + return PDFParser; +}(PDFObjectParser)); + +var flag$1 = function (bitIndex) { return 1 << bitIndex; }; +/** From PDF spec table 165 */ +var AnnotationFlags; +(function (AnnotationFlags) { + /** + * If set, do not display the annotation if it does not belong to one of the + * standard annotation types and no annotation handler is available. If clear, + * display such an unknown annotation using an appearance stream specified by + * its appearance dictionary, if any. + */ + AnnotationFlags[AnnotationFlags["Invisible"] = flag$1(1 - 1)] = "Invisible"; + /** + * If set, do not display or print the annotation or allow it to interact with + * the user, regardless of its annotation type or whether an annotation + * handler is available. + * + * In cases where screen space is limited, the ability to hide and show + * annotations selectively can be used in combination with appearance streams + * to display auxiliary pop-up information similar in function to online help + * systems. + */ + AnnotationFlags[AnnotationFlags["Hidden"] = flag$1(2 - 1)] = "Hidden"; + /** + * If set, print the annotation when the page is printed. If clear, never + * print the annotation, regardless of whether it is displayed on the screen. + * + * This can be useful for annotations representing interactive pushbuttons, + * which would serve no meaningful purpose on the printed page. + */ + AnnotationFlags[AnnotationFlags["Print"] = flag$1(3 - 1)] = "Print"; + /** + * If set, do not scale the annotation’s appearance to match the magnification + * of the page. The location of the annotation on the page (defined by the + * upper-left corner of its annotation rectangle) shall remain fixed, + * regardless of the page magnification. + */ + AnnotationFlags[AnnotationFlags["NoZoom"] = flag$1(4 - 1)] = "NoZoom"; + /** + * If set, do not rotate the annotation’s appearance to match the rotation of + * the page. The upper-left corner of the annotation rectangle shall remain in + * a fixed location on the page, regardless of the page rotation. + */ + AnnotationFlags[AnnotationFlags["NoRotate"] = flag$1(5 - 1)] = "NoRotate"; + /** + * If set, do not display the annotation on the screen or allow it to interact + * with the user. The annotation may be printed (depending on the setting of + * the Print flag) but should be considered hidden for purposes of on-screen + * display and user interaction. + */ + AnnotationFlags[AnnotationFlags["NoView"] = flag$1(6 - 1)] = "NoView"; + /** + * If set, do not allow the annotation to interact with the user. The + * annotation may be displayed or printed (depending on the settings of the + * NoView and Print flags) but should not respond to mouse clicks or change + * its appearance in response to mouse motions. + * + * This flag shall be ignored for widget annotations; its function is + * subsumed by the ReadOnly flag of the associated form field. + */ + AnnotationFlags[AnnotationFlags["ReadOnly"] = flag$1(7 - 1)] = "ReadOnly"; + /** + * If set, do not allow the annotation to be deleted or its properties + * (including position and size) to be modified by the user. However, this + * flag does not restrict changes to the annotation’s contents, such as the + * value of a form field. + */ + AnnotationFlags[AnnotationFlags["Locked"] = flag$1(8 - 1)] = "Locked"; + /** + * If set, invert the interpretation of the NoView flag for certain events. + * + * A typical use is to have an annotation that appears only when a mouse + * cursor is held over it. + */ + AnnotationFlags[AnnotationFlags["ToggleNoView"] = flag$1(9 - 1)] = "ToggleNoView"; + /** + * If set, do not allow the contents of the annotation to be modified by the + * user. This flag does not restrict deletion of the annotation or changes to + * other annotation properties, such as position and size. + */ + AnnotationFlags[AnnotationFlags["LockedContents"] = flag$1(10 - 1)] = "LockedContents"; +})(AnnotationFlags || (AnnotationFlags = {})); + +var asPDFName = function (name) { + return name instanceof PDFName ? name : PDFName.of(name); +}; +var asPDFNumber = function (num) { + return num instanceof PDFNumber ? num : PDFNumber.of(num); +}; +var asNumber = function (num) { + return num instanceof PDFNumber ? num.asNumber() : num; +}; + +var RotationTypes; +(function (RotationTypes) { + RotationTypes["Degrees"] = "degrees"; + RotationTypes["Radians"] = "radians"; +})(RotationTypes || (RotationTypes = {})); +var radians = function (radianAngle) { + assertIs(radianAngle, 'radianAngle', ['number']); + return { type: RotationTypes.Radians, angle: radianAngle }; +}; +var degrees = function (degreeAngle) { + assertIs(degreeAngle, 'degreeAngle', ['number']); + return { type: RotationTypes.Degrees, angle: degreeAngle }; +}; +var Radians = RotationTypes.Radians, Degrees = RotationTypes.Degrees; +var degreesToRadians = function (degree) { return (degree * Math.PI) / 180; }; +var radiansToDegrees = function (radian) { return (radian * 180) / Math.PI; }; +// prettier-ignore +var toRadians = function (rotation) { + return rotation.type === Radians ? rotation.angle + : rotation.type === Degrees ? degreesToRadians(rotation.angle) + : error("Invalid rotation: " + JSON.stringify(rotation)); +}; +// prettier-ignore +var toDegrees = function (rotation) { + return rotation.type === Radians ? radiansToDegrees(rotation.angle) + : rotation.type === Degrees ? rotation.angle + : error("Invalid rotation: " + JSON.stringify(rotation)); +}; +var reduceRotation = function (degreeAngle) { + if (degreeAngle === void 0) { degreeAngle = 0; } + var quadrants = (degreeAngle / 90) % 4; + if (quadrants === 0) + return 0; + if (quadrants === 1) + return 90; + if (quadrants === 2) + return 180; + if (quadrants === 3) + return 270; + return 0; // `degreeAngle` is not a multiple of 90 +}; +var adjustDimsForRotation = function (dims, degreeAngle) { + if (degreeAngle === void 0) { degreeAngle = 0; } + var rotation = reduceRotation(degreeAngle); + return rotation === 90 || rotation === 270 + ? { width: dims.height, height: dims.width } + : { width: dims.width, height: dims.height }; +}; +var rotateRectangle = function (rectangle, borderWidth, degreeAngle) { + if (borderWidth === void 0) { borderWidth = 0; } + if (degreeAngle === void 0) { degreeAngle = 0; } + var x = rectangle.x, y = rectangle.y, w = rectangle.width, h = rectangle.height; + var r = reduceRotation(degreeAngle); + var b = borderWidth / 2; + // prettier-ignore + if (r === 0) + return { x: x - b, y: y - b, width: w, height: h }; + else if (r === 90) + return { x: x - h + b, y: y - b, width: h, height: w }; + else if (r === 180) + return { x: x - w + b, y: y - h + b, width: w, height: h }; + else if (r === 270) + return { x: x - b, y: y - w + b, width: h, height: w }; + else + return { x: x - b, y: y - b, width: w, height: h }; +}; + +/* ==================== Clipping Path Operators ==================== */ +var clip = function () { return PDFOperator.of(Ops.ClipNonZero); }; +var clipEvenOdd = function () { return PDFOperator.of(Ops.ClipEvenOdd); }; +/* ==================== Graphics State Operators ==================== */ +var cos = Math.cos, sin = Math.sin, tan = Math.tan; +var concatTransformationMatrix = function (a, b, c, d, e, f) { + return PDFOperator.of(Ops.ConcatTransformationMatrix, [ + asPDFNumber(a), + asPDFNumber(b), + asPDFNumber(c), + asPDFNumber(d), + asPDFNumber(e), + asPDFNumber(f), + ]); +}; +var translate = function (xPos, yPos) { + return concatTransformationMatrix(1, 0, 0, 1, xPos, yPos); +}; +var scale = function (xPos, yPos) { + return concatTransformationMatrix(xPos, 0, 0, yPos, 0, 0); +}; +var rotateRadians = function (angle) { + return concatTransformationMatrix(cos(asNumber(angle)), sin(asNumber(angle)), -sin(asNumber(angle)), cos(asNumber(angle)), 0, 0); +}; +var rotateDegrees = function (angle) { + return rotateRadians(degreesToRadians(asNumber(angle))); +}; +var skewRadians = function (xSkewAngle, ySkewAngle) { + return concatTransformationMatrix(1, tan(asNumber(xSkewAngle)), tan(asNumber(ySkewAngle)), 1, 0, 0); +}; +var skewDegrees = function (xSkewAngle, ySkewAngle) { + return skewRadians(degreesToRadians(asNumber(xSkewAngle)), degreesToRadians(asNumber(ySkewAngle))); +}; +var setDashPattern = function (dashArray, dashPhase) { + return PDFOperator.of(Ops.SetLineDashPattern, [ + "[" + dashArray.map(asPDFNumber).join(' ') + "]", + asPDFNumber(dashPhase), + ]); +}; +var restoreDashPattern = function () { return setDashPattern([], 0); }; +var LineCapStyle; +(function (LineCapStyle) { + LineCapStyle[LineCapStyle["Butt"] = 0] = "Butt"; + LineCapStyle[LineCapStyle["Round"] = 1] = "Round"; + LineCapStyle[LineCapStyle["Projecting"] = 2] = "Projecting"; +})(LineCapStyle || (LineCapStyle = {})); +var setLineCap = function (style) { + return PDFOperator.of(Ops.SetLineCapStyle, [asPDFNumber(style)]); +}; +var LineJoinStyle; +(function (LineJoinStyle) { + LineJoinStyle[LineJoinStyle["Miter"] = 0] = "Miter"; + LineJoinStyle[LineJoinStyle["Round"] = 1] = "Round"; + LineJoinStyle[LineJoinStyle["Bevel"] = 2] = "Bevel"; +})(LineJoinStyle || (LineJoinStyle = {})); +var setLineJoin = function (style) { + return PDFOperator.of(Ops.SetLineJoinStyle, [asPDFNumber(style)]); +}; +var setGraphicsState = function (state) { + return PDFOperator.of(Ops.SetGraphicsStateParams, [asPDFName(state)]); +}; +var pushGraphicsState = function () { return PDFOperator.of(Ops.PushGraphicsState); }; +var popGraphicsState = function () { return PDFOperator.of(Ops.PopGraphicsState); }; +var setLineWidth = function (width) { + return PDFOperator.of(Ops.SetLineWidth, [asPDFNumber(width)]); +}; +/* ==================== Path Construction Operators ==================== */ +var appendBezierCurve = function (x1, y1, x2, y2, x3, y3) { + return PDFOperator.of(Ops.AppendBezierCurve, [ + asPDFNumber(x1), + asPDFNumber(y1), + asPDFNumber(x2), + asPDFNumber(y2), + asPDFNumber(x3), + asPDFNumber(y3), + ]); +}; +var appendQuadraticCurve = function (x1, y1, x2, y2) { + return PDFOperator.of(Ops.CurveToReplicateInitialPoint, [ + asPDFNumber(x1), + asPDFNumber(y1), + asPDFNumber(x2), + asPDFNumber(y2), + ]); +}; +var closePath = function () { return PDFOperator.of(Ops.ClosePath); }; +var moveTo = function (xPos, yPos) { + return PDFOperator.of(Ops.MoveTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); +}; +var lineTo = function (xPos, yPos) { + return PDFOperator.of(Ops.LineTo, [asPDFNumber(xPos), asPDFNumber(yPos)]); +}; +/** + * @param xPos x coordinate for the lower left corner of the rectangle + * @param yPos y coordinate for the lower left corner of the rectangle + * @param width width of the rectangle + * @param height height of the rectangle + */ +var rectangle = function (xPos, yPos, width, height) { + return PDFOperator.of(Ops.AppendRectangle, [ + asPDFNumber(xPos), + asPDFNumber(yPos), + asPDFNumber(width), + asPDFNumber(height), + ]); +}; +/** + * @param xPos x coordinate for the lower left corner of the square + * @param yPos y coordinate for the lower left corner of the square + * @param size width and height of the square + */ +var square = function (xPos, yPos, size) { + return rectangle(xPos, yPos, size, size); +}; +/* ==================== Path Painting Operators ==================== */ +var stroke = function () { return PDFOperator.of(Ops.StrokePath); }; +var fill = function () { return PDFOperator.of(Ops.FillNonZero); }; +var fillAndStroke = function () { return PDFOperator.of(Ops.FillNonZeroAndStroke); }; +var endPath = function () { return PDFOperator.of(Ops.EndPath); }; +/* ==================== Text Positioning Operators ==================== */ +var nextLine = function () { return PDFOperator.of(Ops.NextLine); }; +var moveText = function (x, y) { + return PDFOperator.of(Ops.MoveText, [asPDFNumber(x), asPDFNumber(y)]); +}; +/* ==================== Text Showing Operators ==================== */ +var showText = function (text) { + return PDFOperator.of(Ops.ShowText, [text]); +}; +/* ==================== Text State Operators ==================== */ +var beginText = function () { return PDFOperator.of(Ops.BeginText); }; +var endText = function () { return PDFOperator.of(Ops.EndText); }; +var setFontAndSize = function (name, size) { return PDFOperator.of(Ops.SetFontAndSize, [asPDFName(name), asPDFNumber(size)]); }; +var setCharacterSpacing = function (spacing) { + return PDFOperator.of(Ops.SetCharacterSpacing, [asPDFNumber(spacing)]); +}; +var setWordSpacing = function (spacing) { + return PDFOperator.of(Ops.SetWordSpacing, [asPDFNumber(spacing)]); +}; +/** @param squeeze horizontal character spacing */ +var setCharacterSqueeze = function (squeeze) { + return PDFOperator.of(Ops.SetTextHorizontalScaling, [asPDFNumber(squeeze)]); +}; +var setLineHeight = function (lineHeight) { + return PDFOperator.of(Ops.SetTextLineHeight, [asPDFNumber(lineHeight)]); +}; +var setTextRise = function (rise) { + return PDFOperator.of(Ops.SetTextRise, [asPDFNumber(rise)]); +}; +var TextRenderingMode; +(function (TextRenderingMode) { + TextRenderingMode[TextRenderingMode["Fill"] = 0] = "Fill"; + TextRenderingMode[TextRenderingMode["Outline"] = 1] = "Outline"; + TextRenderingMode[TextRenderingMode["FillAndOutline"] = 2] = "FillAndOutline"; + TextRenderingMode[TextRenderingMode["Invisible"] = 3] = "Invisible"; + TextRenderingMode[TextRenderingMode["FillAndClip"] = 4] = "FillAndClip"; + TextRenderingMode[TextRenderingMode["OutlineAndClip"] = 5] = "OutlineAndClip"; + TextRenderingMode[TextRenderingMode["FillAndOutlineAndClip"] = 6] = "FillAndOutlineAndClip"; + TextRenderingMode[TextRenderingMode["Clip"] = 7] = "Clip"; +})(TextRenderingMode || (TextRenderingMode = {})); +var setTextRenderingMode = function (mode) { + return PDFOperator.of(Ops.SetTextRenderingMode, [asPDFNumber(mode)]); +}; +var setTextMatrix = function (a, b, c, d, e, f) { + return PDFOperator.of(Ops.SetTextMatrix, [ + asPDFNumber(a), + asPDFNumber(b), + asPDFNumber(c), + asPDFNumber(d), + asPDFNumber(e), + asPDFNumber(f), + ]); +}; +var rotateAndSkewTextRadiansAndTranslate = function (rotationAngle, xSkewAngle, ySkewAngle, x, y) { + return setTextMatrix(cos(asNumber(rotationAngle)), sin(asNumber(rotationAngle)) + tan(asNumber(xSkewAngle)), -sin(asNumber(rotationAngle)) + tan(asNumber(ySkewAngle)), cos(asNumber(rotationAngle)), x, y); +}; +var rotateAndSkewTextDegreesAndTranslate = function (rotationAngle, xSkewAngle, ySkewAngle, x, y) { + return rotateAndSkewTextRadiansAndTranslate(degreesToRadians(asNumber(rotationAngle)), degreesToRadians(asNumber(xSkewAngle)), degreesToRadians(asNumber(ySkewAngle)), x, y); +}; +/* ==================== XObject Operator ==================== */ +var drawObject = function (name) { + return PDFOperator.of(Ops.DrawObject, [asPDFName(name)]); +}; +/* ==================== Color Operators ==================== */ +var setFillingGrayscaleColor = function (gray) { + return PDFOperator.of(Ops.NonStrokingColorGray, [asPDFNumber(gray)]); +}; +var setStrokingGrayscaleColor = function (gray) { + return PDFOperator.of(Ops.StrokingColorGray, [asPDFNumber(gray)]); +}; +var setFillingRgbColor = function (red, green, blue) { + return PDFOperator.of(Ops.NonStrokingColorRgb, [ + asPDFNumber(red), + asPDFNumber(green), + asPDFNumber(blue), + ]); +}; +var setStrokingRgbColor = function (red, green, blue) { + return PDFOperator.of(Ops.StrokingColorRgb, [ + asPDFNumber(red), + asPDFNumber(green), + asPDFNumber(blue), + ]); +}; +var setFillingCmykColor = function (cyan, magenta, yellow, key) { + return PDFOperator.of(Ops.NonStrokingColorCmyk, [ + asPDFNumber(cyan), + asPDFNumber(magenta), + asPDFNumber(yellow), + asPDFNumber(key), + ]); +}; +var setStrokingCmykColor = function (cyan, magenta, yellow, key) { + return PDFOperator.of(Ops.StrokingColorCmyk, [ + asPDFNumber(cyan), + asPDFNumber(magenta), + asPDFNumber(yellow), + asPDFNumber(key), + ]); +}; +/* ==================== Marked Content Operators ==================== */ +var beginMarkedContent = function (tag) { + return PDFOperator.of(Ops.BeginMarkedContent, [asPDFName(tag)]); +}; +var endMarkedContent = function () { return PDFOperator.of(Ops.EndMarkedContent); }; + +var ColorTypes; +(function (ColorTypes) { + ColorTypes["Grayscale"] = "Grayscale"; + ColorTypes["RGB"] = "RGB"; + ColorTypes["CMYK"] = "CMYK"; +})(ColorTypes || (ColorTypes = {})); +var grayscale = function (gray) { + assertRange(gray, 'gray', 0.0, 1.0); + return { type: ColorTypes.Grayscale, gray: gray }; +}; +var rgb = function (red, green, blue) { + assertRange(red, 'red', 0, 1); + assertRange(green, 'green', 0, 1); + assertRange(blue, 'blue', 0, 1); + return { type: ColorTypes.RGB, red: red, green: green, blue: blue }; +}; +var cmyk = function (cyan, magenta, yellow, key) { + assertRange(cyan, 'cyan', 0, 1); + assertRange(magenta, 'magenta', 0, 1); + assertRange(yellow, 'yellow', 0, 1); + assertRange(key, 'key', 0, 1); + return { type: ColorTypes.CMYK, cyan: cyan, magenta: magenta, yellow: yellow, key: key }; +}; +var Grayscale = ColorTypes.Grayscale, RGB = ColorTypes.RGB, CMYK = ColorTypes.CMYK; +// prettier-ignore +var setFillingColor = function (color) { + return color.type === Grayscale ? setFillingGrayscaleColor(color.gray) + : color.type === RGB ? setFillingRgbColor(color.red, color.green, color.blue) + : color.type === CMYK ? setFillingCmykColor(color.cyan, color.magenta, color.yellow, color.key) + : error("Invalid color: " + JSON.stringify(color)); +}; +// prettier-ignore +var setStrokingColor = function (color) { + return color.type === Grayscale ? setStrokingGrayscaleColor(color.gray) + : color.type === RGB ? setStrokingRgbColor(color.red, color.green, color.blue) + : color.type === CMYK ? setStrokingCmykColor(color.cyan, color.magenta, color.yellow, color.key) + : error("Invalid color: " + JSON.stringify(color)); +}; +// prettier-ignore +var componentsToColor = function (comps, scale) { + if (scale === void 0) { scale = 1; } + return ((comps === null || comps === void 0 ? void 0 : comps.length) === 1 ? grayscale(comps[0] * scale) + : (comps === null || comps === void 0 ? void 0 : comps.length) === 3 ? rgb(comps[0] * scale, comps[1] * scale, comps[2] * scale) + : (comps === null || comps === void 0 ? void 0 : comps.length) === 4 ? cmyk(comps[0] * scale, comps[1] * scale, comps[2] * scale, comps[3] * scale) + : undefined); +}; +// prettier-ignore +var colorToComponents = function (color) { + return color.type === Grayscale ? [color.gray] + : color.type === RGB ? [color.red, color.green, color.blue] + : color.type === CMYK ? [color.cyan, color.magenta, color.yellow, color.key] + : error("Invalid color: " + JSON.stringify(color)); +}; + +// Originated from pdfkit Copyright (c) 2014 Devon Govett +var cx = 0; +var cy = 0; +var px = 0; +var py = 0; +var sx = 0; +var sy = 0; +var parameters = new Map([ + ['A', 7], + ['a', 7], + ['C', 6], + ['c', 6], + ['H', 1], + ['h', 1], + ['L', 2], + ['l', 2], + ['M', 2], + ['m', 2], + ['Q', 4], + ['q', 4], + ['S', 4], + ['s', 4], + ['T', 2], + ['t', 2], + ['V', 1], + ['v', 1], + ['Z', 0], + ['z', 0], +]); +var parse = function (path) { + var cmd; + var ret = []; + var args = []; + var curArg = ''; + var foundDecimal = false; + var params = 0; + for (var _i = 0, path_1 = path; _i < path_1.length; _i++) { + var c = path_1[_i]; + if (parameters.has(c)) { + params = parameters.get(c); + if (cmd) { + // save existing command + if (curArg.length > 0) { + args[args.length] = +curArg; + } + ret[ret.length] = { cmd: cmd, args: args }; + args = []; + curArg = ''; + foundDecimal = false; + } + cmd = c; + } + else if ([' ', ','].includes(c) || + (c === '-' && curArg.length > 0 && curArg[curArg.length - 1] !== 'e') || + (c === '.' && foundDecimal)) { + if (curArg.length === 0) { + continue; + } + if (args.length === params) { + // handle reused commands + ret[ret.length] = { cmd: cmd, args: args }; + args = [+curArg]; + // handle assumed commands + if (cmd === 'M') { + cmd = 'L'; + } + if (cmd === 'm') { + cmd = 'l'; + } + } + else { + args[args.length] = +curArg; + } + foundDecimal = c === '.'; + // fix for negative numbers or repeated decimals with no delimeter between commands + curArg = ['-', '.'].includes(c) ? c : ''; + } + else { + curArg += c; + if (c === '.') { + foundDecimal = true; + } + } + } + // add the last command + if (curArg.length > 0) { + if (args.length === params) { + // handle reused commands + ret[ret.length] = { cmd: cmd, args: args }; + args = [+curArg]; + // handle assumed commands + if (cmd === 'M') { + cmd = 'L'; + } + if (cmd === 'm') { + cmd = 'l'; + } + } + else { + args[args.length] = +curArg; + } + } + ret[ret.length] = { cmd: cmd, args: args }; + return ret; +}; +var apply = function (commands) { + // current point, control point, and subpath starting point + cx = cy = px = py = sx = sy = 0; + // run the commands + var cmds = []; + for (var i = 0; i < commands.length; i++) { + var c = commands[i]; + if (c.cmd && typeof runners[c.cmd] === 'function') { + var cmd = runners[c.cmd](c.args); + if (Array.isArray(cmd)) { + cmds = cmds.concat(cmd); + } + else { + cmds.push(cmd); + } + } + } + return cmds; +}; +var runners = { + M: function (a) { + cx = a[0]; + cy = a[1]; + px = py = null; + sx = cx; + sy = cy; + return moveTo(cx, cy); + }, + m: function (a) { + cx += a[0]; + cy += a[1]; + px = py = null; + sx = cx; + sy = cy; + return moveTo(cx, cy); + }, + C: function (a) { + cx = a[4]; + cy = a[5]; + px = a[2]; + py = a[3]; + return appendBezierCurve(a[0], a[1], a[2], a[3], a[4], a[5]); + }, + c: function (a) { + var cmd = appendBezierCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy); + px = cx + a[2]; + py = cy + a[3]; + cx += a[4]; + cy += a[5]; + return cmd; + }, + S: function (a) { + if (px === null || py === null) { + px = cx; + py = cy; + } + var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]); + px = a[0]; + py = a[1]; + cx = a[2]; + cy = a[3]; + return cmd; + }, + s: function (a) { + if (px === null || py === null) { + px = cx; + py = cy; + } + var cmd = appendBezierCurve(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]); + px = cx + a[0]; + py = cy + a[1]; + cx += a[2]; + cy += a[3]; + return cmd; + }, + Q: function (a) { + px = a[0]; + py = a[1]; + cx = a[2]; + cy = a[3]; + return appendQuadraticCurve(a[0], a[1], cx, cy); + }, + q: function (a) { + var cmd = appendQuadraticCurve(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy); + px = cx + a[0]; + py = cy + a[1]; + cx += a[2]; + cy += a[3]; + return cmd; + }, + T: function (a) { + if (px === null || py === null) { + px = cx; + py = cy; + } + else { + px = cx - (px - cx); + py = cy - (py - cy); + } + var cmd = appendQuadraticCurve(px, py, a[0], a[1]); + px = cx - (px - cx); + py = cy - (py - cy); + cx = a[0]; + cy = a[1]; + return cmd; + }, + t: function (a) { + if (px === null || py === null) { + px = cx; + py = cy; + } + else { + px = cx - (px - cx); + py = cy - (py - cy); + } + var cmd = appendQuadraticCurve(px, py, cx + a[0], cy + a[1]); + cx += a[0]; + cy += a[1]; + return cmd; + }, + A: function (a) { + var cmds = solveArc(cx, cy, a); + cx = a[5]; + cy = a[6]; + return cmds; + }, + a: function (a) { + a[5] += cx; + a[6] += cy; + var cmds = solveArc(cx, cy, a); + cx = a[5]; + cy = a[6]; + return cmds; + }, + L: function (a) { + cx = a[0]; + cy = a[1]; + px = py = null; + return lineTo(cx, cy); + }, + l: function (a) { + cx += a[0]; + cy += a[1]; + px = py = null; + return lineTo(cx, cy); + }, + H: function (a) { + cx = a[0]; + px = py = null; + return lineTo(cx, cy); + }, + h: function (a) { + cx += a[0]; + px = py = null; + return lineTo(cx, cy); + }, + V: function (a) { + cy = a[0]; + px = py = null; + return lineTo(cx, cy); + }, + v: function (a) { + cy += a[0]; + px = py = null; + return lineTo(cx, cy); + }, + Z: function () { + var cmd = closePath(); + cx = sx; + cy = sy; + return cmd; + }, + z: function () { + var cmd = closePath(); + cx = sx; + cy = sy; + return cmd; + }, +}; +var solveArc = function (x, y, coords) { + var rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6]; + var segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y); + var cmds = []; + for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) { + var seg = segs_1[_i]; + var bez = segmentToBezier.apply(void 0, seg); + cmds.push(appendBezierCurve.apply(void 0, bez)); + } + return cmds; +}; +// from Inkscape svgtopdf, thanks! +var arcToSegments = function (x, y, rx, ry, large, sweep, rotateX, ox, oy) { + var th = rotateX * (Math.PI / 180); + var sinTh = Math.sin(th); + var cosTh = Math.cos(th); + rx = Math.abs(rx); + ry = Math.abs(ry); + px = cosTh * (ox - x) * 0.5 + sinTh * (oy - y) * 0.5; + py = cosTh * (oy - y) * 0.5 - sinTh * (ox - x) * 0.5; + var pl = (px * px) / (rx * rx) + (py * py) / (ry * ry); + if (pl > 1) { + pl = Math.sqrt(pl); + rx *= pl; + ry *= pl; + } + var a00 = cosTh / rx; + var a01 = sinTh / rx; + var a10 = -sinTh / ry; + var a11 = cosTh / ry; + var x0 = a00 * ox + a01 * oy; + var y0 = a10 * ox + a11 * oy; + var x1 = a00 * x + a01 * y; + var y1 = a10 * x + a11 * y; + var d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); + var sfactorSq = 1 / d - 0.25; + if (sfactorSq < 0) { + sfactorSq = 0; + } + var sfactor = Math.sqrt(sfactorSq); + if (sweep === large) { + sfactor = -sfactor; + } + var xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); + var yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); + var th0 = Math.atan2(y0 - yc, x0 - xc); + var th1 = Math.atan2(y1 - yc, x1 - xc); + var thArc = th1 - th0; + if (thArc < 0 && sweep === 1) { + thArc += 2 * Math.PI; + } + else if (thArc > 0 && sweep === 0) { + thArc -= 2 * Math.PI; + } + var segments = Math.ceil(Math.abs(thArc / (Math.PI * 0.5 + 0.001))); + var result = []; + for (var i = 0; i < segments; i++) { + var th2 = th0 + (i * thArc) / segments; + var th3 = th0 + ((i + 1) * thArc) / segments; + result[i] = [xc, yc, th2, th3, rx, ry, sinTh, cosTh]; + } + return result; +}; +var segmentToBezier = function (cx1, cy1, th0, th1, rx, ry, sinTh, cosTh) { + var a00 = cosTh * rx; + var a01 = -sinTh * ry; + var a10 = sinTh * rx; + var a11 = cosTh * ry; + var thHalf = 0.5 * (th1 - th0); + var t = ((8 / 3) * Math.sin(thHalf * 0.5) * Math.sin(thHalf * 0.5)) / + Math.sin(thHalf); + var x1 = cx1 + Math.cos(th0) - t * Math.sin(th0); + var y1 = cy1 + Math.sin(th0) + t * Math.cos(th0); + var x3 = cx1 + Math.cos(th1); + var y3 = cy1 + Math.sin(th1); + var x2 = x3 + t * Math.sin(th1); + var y2 = y3 - t * Math.cos(th1); + var result = [ + a00 * x1 + a01 * y1, + a10 * x1 + a11 * y1, + a00 * x2 + a01 * y2, + a10 * x2 + a11 * y2, + a00 * x3 + a01 * y3, + a10 * x3 + a11 * y3, + ]; + return result; +}; +var svgPathToOperators = function (path) { return apply(parse(path)); }; + +var drawText = function (line, options) { + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + beginText(), + setFillingColor(options.color), + setFontAndSize(options.font, options.size), + rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), options.x, options.y), + showText(line), + endText(), + popGraphicsState(), + ].filter(Boolean); +}; +var drawLinesOfText = function (lines, options) { + var operators = [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + beginText(), + setFillingColor(options.color), + setFontAndSize(options.font, options.size), + setLineHeight(options.lineHeight), + rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), options.x, options.y), + ].filter(Boolean); + for (var idx = 0, len = lines.length; idx < len; idx++) { + operators.push(showText(lines[idx]), nextLine()); + } + operators.push(endText(), popGraphicsState()); + return operators; +}; +var drawImage = function (name, options) { + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + translate(options.x, options.y), + rotateRadians(toRadians(options.rotate)), + scale(options.width, options.height), + skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), + drawObject(name), + popGraphicsState(), + ].filter(Boolean); +}; +var drawPage = function (name, options) { + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + translate(options.x, options.y), + rotateRadians(toRadians(options.rotate)), + scale(options.xScale, options.yScale), + skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), + drawObject(name), + popGraphicsState(), + ].filter(Boolean); +}; +var drawLine = function (options) { + var _a, _b; + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + options.color && setStrokingColor(options.color), + setLineWidth(options.thickness), + setDashPattern((_a = options.dashArray) !== null && _a !== void 0 ? _a : [], (_b = options.dashPhase) !== null && _b !== void 0 ? _b : 0), + moveTo(options.start.x, options.start.y), + options.lineCap && setLineCap(options.lineCap), + moveTo(options.start.x, options.start.y), + lineTo(options.end.x, options.end.y), + stroke(), + popGraphicsState(), + ].filter(Boolean); +}; +var drawRectangle = function (options) { + var _a, _b; + return [ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + options.color && setFillingColor(options.color), + options.borderColor && setStrokingColor(options.borderColor), + setLineWidth(options.borderWidth), + options.borderLineCap && setLineCap(options.borderLineCap), + setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0), + translate(options.x, options.y), + rotateRadians(toRadians(options.rotate)), + skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)), + moveTo(0, 0), + lineTo(0, options.height), + lineTo(options.width, options.height), + lineTo(options.width, 0), + closePath(), + // prettier-ignore + options.color && options.borderWidth ? fillAndStroke() + : options.color ? fill() + : options.borderColor ? stroke() + : closePath(), + popGraphicsState(), + ].filter(Boolean); +}; +var KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0); +/** @deprecated */ +var drawEllipsePath = function (config) { + var x = asNumber(config.x); + var y = asNumber(config.y); + var xScale = asNumber(config.xScale); + var yScale = asNumber(config.yScale); + x -= xScale; + y -= yScale; + var ox = xScale * KAPPA; + var oy = yScale * KAPPA; + var xe = x + xScale * 2; + var ye = y + yScale * 2; + var xm = x + xScale; + var ym = y + yScale; + return [ + pushGraphicsState(), + moveTo(x, ym), + appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), + appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), + appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), + appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym), + popGraphicsState(), + ]; +}; +var drawEllipseCurves = function (config) { + var centerX = asNumber(config.x); + var centerY = asNumber(config.y); + var xScale = asNumber(config.xScale); + var yScale = asNumber(config.yScale); + var x = -xScale; + var y = -yScale; + var ox = xScale * KAPPA; + var oy = yScale * KAPPA; + var xe = x + xScale * 2; + var ye = y + yScale * 2; + var xm = x + xScale; + var ym = y + yScale; + return [ + translate(centerX, centerY), + rotateRadians(toRadians(config.rotate)), + moveTo(x, ym), + appendBezierCurve(x, ym - oy, xm - ox, y, xm, y), + appendBezierCurve(xm + ox, y, xe, ym - oy, xe, ym), + appendBezierCurve(xe, ym + oy, xm + ox, ye, xm, ye), + appendBezierCurve(xm - ox, ye, x, ym + oy, x, ym), + ]; +}; +var drawEllipse = function (options) { + var _a, _b, _c; + return __spreadArrays([ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + options.color && setFillingColor(options.color), + options.borderColor && setStrokingColor(options.borderColor), + setLineWidth(options.borderWidth), + options.borderLineCap && setLineCap(options.borderLineCap), + setDashPattern((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0) + ], (options.rotate === undefined + ? drawEllipsePath({ + x: options.x, + y: options.y, + xScale: options.xScale, + yScale: options.yScale, + }) + : drawEllipseCurves({ + x: options.x, + y: options.y, + xScale: options.xScale, + yScale: options.yScale, + rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), + })), [ + // prettier-ignore + options.color && options.borderWidth ? fillAndStroke() + : options.color ? fill() + : options.borderColor ? stroke() + : closePath(), + popGraphicsState(), + ]).filter(Boolean); +}; +var drawSvgPath = function (path, options) { + var _a, _b, _c; + return __spreadArrays([ + pushGraphicsState(), + options.graphicsState && setGraphicsState(options.graphicsState), + translate(options.x, options.y), + rotateRadians(toRadians((_a = options.rotate) !== null && _a !== void 0 ? _a : degrees(0))), + // SVG path Y axis is opposite pdf-lib's + options.scale ? scale(options.scale, -options.scale) : scale(1, -1), + options.color && setFillingColor(options.color), + options.borderColor && setStrokingColor(options.borderColor), + options.borderWidth && setLineWidth(options.borderWidth), + options.borderLineCap && setLineCap(options.borderLineCap), + setDashPattern((_b = options.borderDashArray) !== null && _b !== void 0 ? _b : [], (_c = options.borderDashPhase) !== null && _c !== void 0 ? _c : 0) + ], svgPathToOperators(path), [ + // prettier-ignore + options.color && options.borderWidth ? fillAndStroke() + : options.color ? fill() + : options.borderColor ? stroke() + : closePath(), + popGraphicsState(), + ]).filter(Boolean); +}; +var drawCheckMark = function (options) { + var size = asNumber(options.size); + /*********************** Define Check Mark Points ***************************/ + // A check mark is defined by three points in some coordinate space. Here, we + // define these points in a unit coordinate system, where the range of the x + // and y axis are both [-1, 1]. + // + // Note that we do not hard code `p1y` in case we wish to change the + // size/shape of the check mark in the future. We want the check mark to + // always form a right angle. This means that the dot product between (p1-p2) + // and (p3-p2) should be zero: + // + // (p1x-p2x) * (p3x-p2x) + (p1y-p2y) * (p3y-p2y) = 0 + // + // We can now rejigger this equation to solve for `p1y`: + // + // (p1y-p2y) * (p3y-p2y) = -((p1x-p2x) * (p3x-p2x)) + // (p1y-p2y) = -((p1x-p2x) * (p3x-p2x)) / (p3y-p2y) + // p1y = -((p1x-p2x) * (p3x-p2x)) / (p3y-p2y) + p2y + // + // Thanks to my friend Joel Walker (https://github.com/JWalker1995) for + // devising the above equation and unit coordinate system approach! + // (x, y) coords of the check mark's bottommost point + var p2x = -1 + 0.75; + var p2y = -1 + 0.51; + // (x, y) coords of the check mark's topmost point + var p3y = 1 - 0.525; + var p3x = 1 - 0.31; + // (x, y) coords of the check mark's center (vertically) point + var p1x = -1 + 0.325; + var p1y = -((p1x - p2x) * (p3x - p2x)) / (p3y - p2y) + p2y; + /****************************************************************************/ + return [ + pushGraphicsState(), + options.color && setStrokingColor(options.color), + setLineWidth(options.thickness), + translate(options.x, options.y), + moveTo(p1x * size, p1y * size), + lineTo(p2x * size, p2y * size), + lineTo(p3x * size, p3y * size), + stroke(), + popGraphicsState(), + ].filter(Boolean); +}; +// prettier-ignore +var rotateInPlace = function (options) { + return options.rotation === 0 ? [ + translate(0, 0), + rotateDegrees(0) + ] + : options.rotation === 90 ? [ + translate(options.width, 0), + rotateDegrees(90) + ] + : options.rotation === 180 ? [ + translate(options.width, options.height), + rotateDegrees(180) + ] + : options.rotation === 270 ? [ + translate(0, options.height), + rotateDegrees(270) + ] + : []; +}; // Invalid rotation - noop +var drawCheckBox = function (options) { + var outline = drawRectangle({ + x: options.x, + y: options.y, + width: options.width, + height: options.height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + if (!options.filled) + return outline; + var width = asNumber(options.width); + var height = asNumber(options.height); + var checkMarkSize = Math.min(width, height) / 2; + var checkMark = drawCheckMark({ + x: width / 2, + y: height / 2, + size: checkMarkSize, + thickness: options.thickness, + color: options.markColor, + }); + return __spreadArrays([pushGraphicsState()], outline, checkMark, [popGraphicsState()]); +}; +var drawRadioButton = function (options) { + var width = asNumber(options.width); + var height = asNumber(options.height); + var outlineScale = Math.min(width, height) / 2; + var outline = drawEllipse({ + x: options.x, + y: options.y, + xScale: outlineScale, + yScale: outlineScale, + color: options.color, + borderColor: options.borderColor, + borderWidth: options.borderWidth, + }); + if (!options.filled) + return outline; + var dot = drawEllipse({ + x: options.x, + y: options.y, + xScale: outlineScale * 0.45, + yScale: outlineScale * 0.45, + color: options.dotColor, + borderColor: undefined, + borderWidth: 0, + }); + return __spreadArrays([pushGraphicsState()], outline, dot, [popGraphicsState()]); +}; +var drawButton = function (options) { + var x = asNumber(options.x); + var y = asNumber(options.y); + var width = asNumber(options.width); + var height = asNumber(options.height); + var background = drawRectangle({ + x: x, + y: y, + width: width, + height: height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + var lines = drawTextLines(options.textLines, { + color: options.textColor, + font: options.font, + size: options.fontSize, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + return __spreadArrays([pushGraphicsState()], background, lines, [popGraphicsState()]); +}; +var drawTextLines = function (lines, options) { + var operators = [ + beginText(), + setFillingColor(options.color), + setFontAndSize(options.font, options.size), + ]; + for (var idx = 0, len = lines.length; idx < len; idx++) { + var _a = lines[idx], encoded = _a.encoded, x = _a.x, y = _a.y; + operators.push(rotateAndSkewTextRadiansAndTranslate(toRadians(options.rotate), toRadians(options.xSkew), toRadians(options.ySkew), x, y), showText(encoded)); + } + operators.push(endText()); + return operators; +}; +var drawTextField = function (options) { + var x = asNumber(options.x); + var y = asNumber(options.y); + var width = asNumber(options.width); + var height = asNumber(options.height); + var borderWidth = asNumber(options.borderWidth); + var padding = asNumber(options.padding); + var clipX = x + borderWidth / 2 + padding; + var clipY = y + borderWidth / 2 + padding; + var clipWidth = width - (borderWidth / 2 + padding) * 2; + var clipHeight = height - (borderWidth / 2 + padding) * 2; + var clippingArea = [ + moveTo(clipX, clipY), + lineTo(clipX, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY), + closePath(), + clip(), + endPath(), + ]; + var background = drawRectangle({ + x: x, + y: y, + width: width, + height: height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + var lines = drawTextLines(options.textLines, { + color: options.textColor, + font: options.font, + size: options.fontSize, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + var markedContent = __spreadArrays([ + beginMarkedContent('Tx'), + pushGraphicsState() + ], lines, [ + popGraphicsState(), + endMarkedContent(), + ]); + return __spreadArrays([ + pushGraphicsState() + ], background, clippingArea, markedContent, [ + popGraphicsState(), + ]); +}; +var drawOptionList = function (options) { + var x = asNumber(options.x); + var y = asNumber(options.y); + var width = asNumber(options.width); + var height = asNumber(options.height); + var lineHeight = asNumber(options.lineHeight); + var borderWidth = asNumber(options.borderWidth); + var padding = asNumber(options.padding); + var clipX = x + borderWidth / 2 + padding; + var clipY = y + borderWidth / 2 + padding; + var clipWidth = width - (borderWidth / 2 + padding) * 2; + var clipHeight = height - (borderWidth / 2 + padding) * 2; + var clippingArea = [ + moveTo(clipX, clipY), + lineTo(clipX, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY + clipHeight), + lineTo(clipX + clipWidth, clipY), + closePath(), + clip(), + endPath(), + ]; + var background = drawRectangle({ + x: x, + y: y, + width: width, + height: height, + borderWidth: options.borderWidth, + color: options.color, + borderColor: options.borderColor, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + var highlights = []; + for (var idx = 0, len = options.selectedLines.length; idx < len; idx++) { + var line = options.textLines[options.selectedLines[idx]]; + highlights.push.apply(highlights, drawRectangle({ + x: line.x - padding, + y: line.y - (lineHeight - line.height) / 2, + width: width - borderWidth, + height: line.height + (lineHeight - line.height) / 2, + borderWidth: 0, + color: options.selectedColor, + borderColor: undefined, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + })); + } + var lines = drawTextLines(options.textLines, { + color: options.textColor, + font: options.font, + size: options.fontSize, + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }); + var markedContent = __spreadArrays([ + beginMarkedContent('Tx'), + pushGraphicsState() + ], lines, [ + popGraphicsState(), + endMarkedContent(), + ]); + return __spreadArrays([ + pushGraphicsState() + ], background, highlights, clippingArea, markedContent, [ + popGraphicsState(), + ]); +}; + +// tslint:disable: max-classes-per-file +// TODO: Include link to documentation with example +var EncryptedPDFError = /** @class */ (function (_super) { + __extends(EncryptedPDFError, _super); + function EncryptedPDFError() { + var _this = this; + var msg = 'Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.'; + _this = _super.call(this, msg) || this; + return _this; + } + return EncryptedPDFError; +}(Error)); +// TODO: Include link to documentation with example +var FontkitNotRegisteredError = /** @class */ (function (_super) { + __extends(FontkitNotRegisteredError, _super); + function FontkitNotRegisteredError() { + var _this = this; + var msg = 'Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts.'; + _this = _super.call(this, msg) || this; + return _this; + } + return FontkitNotRegisteredError; +}(Error)); +// TODO: Include link to documentation with example +var ForeignPageError = /** @class */ (function (_super) { + __extends(ForeignPageError, _super); + function ForeignPageError() { + var _this = this; + var msg = 'A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them.'; + _this = _super.call(this, msg) || this; + return _this; + } + return ForeignPageError; +}(Error)); +// TODO: Include link to documentation with example +var RemovePageFromEmptyDocumentError = /** @class */ (function (_super) { + __extends(RemovePageFromEmptyDocumentError, _super); + function RemovePageFromEmptyDocumentError() { + var _this = this; + var msg = 'PDFDocument has no pages so `PDFDocument.removePage` cannot be called'; + _this = _super.call(this, msg) || this; + return _this; + } + return RemovePageFromEmptyDocumentError; +}(Error)); +var NoSuchFieldError = /** @class */ (function (_super) { + __extends(NoSuchFieldError, _super); + function NoSuchFieldError(name) { + var _this = this; + var msg = "PDFDocument has no form field with the name \"" + name + "\""; + _this = _super.call(this, msg) || this; + return _this; + } + return NoSuchFieldError; +}(Error)); +var UnexpectedFieldTypeError = /** @class */ (function (_super) { + __extends(UnexpectedFieldTypeError, _super); + function UnexpectedFieldTypeError(name, expected, actual) { + var _a, _b; + var _this = this; + var expectedType = expected === null || expected === void 0 ? void 0 : expected.name; + var actualType = (_b = (_a = actual === null || actual === void 0 ? void 0 : actual.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : actual; + var msg = "Expected field \"" + name + "\" to be of type " + expectedType + ", " + + ("but it is actually of type " + actualType); + _this = _super.call(this, msg) || this; + return _this; + } + return UnexpectedFieldTypeError; +}(Error)); +var MissingOnValueCheckError = /** @class */ (function (_super) { + __extends(MissingOnValueCheckError, _super); + function MissingOnValueCheckError(onValue) { + var _this = this; + var msg = "Failed to select check box due to missing onValue: \"" + onValue + "\""; + _this = _super.call(this, msg) || this; + return _this; + } + return MissingOnValueCheckError; +}(Error)); +var FieldAlreadyExistsError = /** @class */ (function (_super) { + __extends(FieldAlreadyExistsError, _super); + function FieldAlreadyExistsError(name) { + var _this = this; + var msg = "A field already exists with the specified name: \"" + name + "\""; + _this = _super.call(this, msg) || this; + return _this; + } + return FieldAlreadyExistsError; +}(Error)); +var InvalidFieldNamePartError = /** @class */ (function (_super) { + __extends(InvalidFieldNamePartError, _super); + function InvalidFieldNamePartError(namePart) { + var _this = this; + var msg = "Field name contains invalid component: \"" + namePart + "\""; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidFieldNamePartError; +}(Error)); +var FieldExistsAsNonTerminalError = /** @class */ (function (_super) { + __extends(FieldExistsAsNonTerminalError, _super); + function FieldExistsAsNonTerminalError(name) { + var _this = this; + var msg = "A non-terminal field already exists with the specified name: \"" + name + "\""; + _this = _super.call(this, msg) || this; + return _this; + } + return FieldExistsAsNonTerminalError; +}(Error)); +var RichTextFieldReadError = /** @class */ (function (_super) { + __extends(RichTextFieldReadError, _super); + function RichTextFieldReadError(fieldName) { + var _this = this; + var msg = "Reading rich text fields is not supported: Attempted to read rich text field: " + fieldName; + _this = _super.call(this, msg) || this; + return _this; + } + return RichTextFieldReadError; +}(Error)); +var CombedTextLayoutError = /** @class */ (function (_super) { + __extends(CombedTextLayoutError, _super); + function CombedTextLayoutError(lineLength, cellCount) { + var _this = this; + var msg = "Failed to layout combed text as lineLength=" + lineLength + " is greater than cellCount=" + cellCount; + _this = _super.call(this, msg) || this; + return _this; + } + return CombedTextLayoutError; +}(Error)); +var ExceededMaxLengthError = /** @class */ (function (_super) { + __extends(ExceededMaxLengthError, _super); + function ExceededMaxLengthError(textLength, maxLength, name) { + var _this = this; + var msg = "Attempted to set text with length=" + textLength + " for TextField with maxLength=" + maxLength + " and name=" + name; + _this = _super.call(this, msg) || this; + return _this; + } + return ExceededMaxLengthError; +}(Error)); +var InvalidMaxLengthError = /** @class */ (function (_super) { + __extends(InvalidMaxLengthError, _super); + function InvalidMaxLengthError(textLength, maxLength, name) { + var _this = this; + var msg = "Attempted to set maxLength=" + maxLength + ", which is less than " + textLength + ", the length of this field's current value (name=" + name + ")"; + _this = _super.call(this, msg) || this; + return _this; + } + return InvalidMaxLengthError; +}(Error)); + +var TextAlignment; +(function (TextAlignment) { + TextAlignment[TextAlignment["Left"] = 0] = "Left"; + TextAlignment[TextAlignment["Center"] = 1] = "Center"; + TextAlignment[TextAlignment["Right"] = 2] = "Right"; +})(TextAlignment || (TextAlignment = {})); + +var MIN_FONT_SIZE = 4; +var MAX_FONT_SIZE = 500; +var computeFontSize = function (lines, font, bounds, multiline) { + if (multiline === void 0) { multiline = false; } + var fontSize = MIN_FONT_SIZE; + while (fontSize < MAX_FONT_SIZE) { + var linesUsed = 0; + for (var lineIdx = 0, lineLen = lines.length; lineIdx < lineLen; lineIdx++) { + linesUsed += 1; + var line = lines[lineIdx]; + var words = line.split(' '); + // Layout the words using the current `fontSize`, line wrapping + // whenever we reach the end of the current line. + var spaceInLineRemaining = bounds.width; + for (var idx = 0, len = words.length; idx < len; idx++) { + var isLastWord = idx === len - 1; + var word = isLastWord ? words[idx] : words[idx] + ' '; + var widthOfWord = font.widthOfTextAtSize(word, fontSize); + spaceInLineRemaining -= widthOfWord; + if (spaceInLineRemaining <= 0) { + linesUsed += 1; + spaceInLineRemaining = bounds.width - widthOfWord; + } + } + } + // Return if we exceeded the allowed width + if (!multiline && linesUsed > lines.length) + return fontSize - 1; + var height = font.heightAtSize(fontSize); + var lineHeight = height + height * 0.2; + var totalHeight = lineHeight * linesUsed; + // Return if we exceeded the allowed height + if (totalHeight > Math.abs(bounds.height)) + return fontSize - 1; + fontSize += 1; + } + return fontSize; +}; +var computeCombedFontSize = function (line, font, bounds, cellCount) { + var cellWidth = bounds.width / cellCount; + var cellHeight = bounds.height; + var fontSize = MIN_FONT_SIZE; + var chars = charSplit(line); + while (fontSize < MAX_FONT_SIZE) { + for (var idx = 0, len = chars.length; idx < len; idx++) { + var c = chars[idx]; + var tooLong = font.widthOfTextAtSize(c, fontSize) > cellWidth * 0.75; + if (tooLong) + return fontSize - 1; + } + var height = font.heightAtSize(fontSize, { descender: false }); + if (height > cellHeight) + return fontSize - 1; + fontSize += 1; + } + return fontSize; +}; +var lastIndexOfWhitespace = function (line) { + for (var idx = line.length; idx > 0; idx--) { + if (/\s/.test(line[idx])) + return idx; + } + return undefined; +}; +var splitOutLines = function (input, maxWidth, font, fontSize) { + var _a; + var lastWhitespaceIdx = input.length; + while (lastWhitespaceIdx > 0) { + var line = input.substring(0, lastWhitespaceIdx); + var encoded = font.encodeText(line); + var width = font.widthOfTextAtSize(line, fontSize); + if (width < maxWidth) { + var remainder = input.substring(lastWhitespaceIdx) || undefined; + return { line: line, encoded: encoded, width: width, remainder: remainder }; + } + lastWhitespaceIdx = (_a = lastIndexOfWhitespace(line)) !== null && _a !== void 0 ? _a : 0; + } + // We were unable to split the input enough to get a chunk that would fit + // within the specified `maxWidth` so we'll just return everything + return { + line: input, + encoded: font.encodeText(input), + width: font.widthOfTextAtSize(input, fontSize), + remainder: undefined, + }; +}; +var layoutMultilineText = function (text, _a) { + var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; + var lines = lineSplit(cleanText(text)); + if (fontSize === undefined || fontSize === 0) { + fontSize = computeFontSize(lines, font, bounds, true); + } + var height = font.heightAtSize(fontSize); + var lineHeight = height + height * 0.2; + var textLines = []; + var minX = bounds.x; + var minY = bounds.y; + var maxX = bounds.x + bounds.width; + var maxY = bounds.y + bounds.height; + var y = bounds.y + bounds.height; + for (var idx = 0, len = lines.length; idx < len; idx++) { + var prevRemainder = lines[idx]; + while (prevRemainder !== undefined) { + var _b = splitOutLines(prevRemainder, bounds.width, font, fontSize), line = _b.line, encoded = _b.encoded, width = _b.width, remainder = _b.remainder; + // prettier-ignore + var x = (alignment === TextAlignment.Left ? bounds.x + : alignment === TextAlignment.Center ? bounds.x + (bounds.width / 2) - (width / 2) + : alignment === TextAlignment.Right ? bounds.x + bounds.width - width + : bounds.x); + y -= lineHeight; + if (x < minX) + minX = x; + if (y < minY) + minY = y; + if (x + width > maxX) + maxX = x + width; + if (y + height > maxY) + maxY = y + height; + textLines.push({ text: line, encoded: encoded, width: width, height: height, x: x, y: y }); + // Only trim lines that we had to split ourselves. So we won't trim lines + // that the user provided themselves with whitespace. + prevRemainder = remainder === null || remainder === void 0 ? void 0 : remainder.trim(); + } + } + return { + fontSize: fontSize, + lineHeight: lineHeight, + lines: textLines, + bounds: { + x: minX, + y: minY, + width: maxX - minX, + height: maxY - minY, + }, + }; +}; +var layoutCombedText = function (text, _a) { + var fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds, cellCount = _a.cellCount; + var line = mergeLines(cleanText(text)); + if (line.length > cellCount) { + throw new CombedTextLayoutError(line.length, cellCount); + } + if (fontSize === undefined || fontSize === 0) { + fontSize = computeCombedFontSize(line, font, bounds, cellCount); + } + var cellWidth = bounds.width / cellCount; + var height = font.heightAtSize(fontSize, { descender: false }); + var y = bounds.y + (bounds.height / 2 - height / 2); + var cells = []; + var minX = bounds.x; + var minY = bounds.y; + var maxX = bounds.x + bounds.width; + var maxY = bounds.y + bounds.height; + var cellOffset = 0; + var charOffset = 0; + while (cellOffset < cellCount) { + var _b = charAtIndex(line, charOffset), char = _b[0], charLength = _b[1]; + var encoded = font.encodeText(char); + var width = font.widthOfTextAtSize(char, fontSize); + var cellCenter = bounds.x + (cellWidth * cellOffset + cellWidth / 2); + var x = cellCenter - width / 2; + if (x < minX) + minX = x; + if (y < minY) + minY = y; + if (x + width > maxX) + maxX = x + width; + if (y + height > maxY) + maxY = y + height; + cells.push({ text: line, encoded: encoded, width: width, height: height, x: x, y: y }); + cellOffset += 1; + charOffset += charLength; + } + return { + fontSize: fontSize, + cells: cells, + bounds: { + x: minX, + y: minY, + width: maxX - minX, + height: maxY - minY, + }, + }; +}; +var layoutSinglelineText = function (text, _a) { + var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds; + var line = mergeLines(cleanText(text)); + if (fontSize === undefined || fontSize === 0) { + fontSize = computeFontSize([line], font, bounds); + } + var encoded = font.encodeText(line); + var width = font.widthOfTextAtSize(line, fontSize); + var height = font.heightAtSize(fontSize, { descender: false }); + // prettier-ignore + var x = (alignment === TextAlignment.Left ? bounds.x + : alignment === TextAlignment.Center ? bounds.x + (bounds.width / 2) - (width / 2) + : alignment === TextAlignment.Right ? bounds.x + bounds.width - width + : bounds.x); + var y = bounds.y + (bounds.height / 2 - height / 2); + return { + fontSize: fontSize, + line: { text: line, encoded: encoded, width: width, height: height, x: x, y: y }, + bounds: { x: x, y: y, width: width, height: height }, + }; +}; + +/********************* Appearance Provider Functions **************************/ +var normalizeAppearance = function (appearance) { + if ('normal' in appearance) + return appearance; + return { normal: appearance }; +}; +// Examples: +// `/Helv 12 Tf` -> ['/Helv 12 Tf', 'Helv', '12'] +// `/HeBo 8.00 Tf` -> ['/HeBo 8 Tf', 'HeBo', '8.00'] +var tfRegex$1 = /\/([^\0\t\n\f\r\ ]+)[\0\t\n\f\r\ ]+(\d*\.\d+|\d+)[\0\t\n\f\r\ ]+Tf/; +var getDefaultFontSize = function (field) { + var _a, _b; + var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ''; + var daMatch = (_b = findLastMatch(da, tfRegex$1).match) !== null && _b !== void 0 ? _b : []; + var defaultFontSize = Number(daMatch[2]); + return isFinite(defaultFontSize) ? defaultFontSize : undefined; +}; +// Examples: +// `0.3 g` -> ['0.3', 'g'] +// `0.3 1 .3 rg` -> ['0.3', '1', '.3', 'rg'] +// `0.3 1 .3 0 k` -> ['0.3', '1', '.3', '0', 'k'] +var colorRegex = /(\d*\.\d+|\d+)[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]*(\d*\.\d+|\d+)?[\0\t\n\f\r\ ]+(g|rg|k)/; +var getDefaultColor = function (field) { + var _a; + var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ''; + var daMatch = findLastMatch(da, colorRegex).match; + var _b = daMatch !== null && daMatch !== void 0 ? daMatch : [], c1 = _b[1], c2 = _b[2], c3 = _b[3], c4 = _b[4], colorSpace = _b[5]; + if (colorSpace === 'g' && c1) { + return grayscale(Number(c1)); + } + if (colorSpace === 'rg' && c1 && c2 && c3) { + return rgb(Number(c1), Number(c2), Number(c3)); + } + if (colorSpace === 'k' && c1 && c2 && c3 && c4) { + return cmyk(Number(c1), Number(c2), Number(c3), Number(c4)); + } + return undefined; +}; +var updateDefaultAppearance = function (field, color, font, fontSize) { + var _a; + if (fontSize === void 0) { fontSize = 0; } + var da = [ + setFillingColor(color).toString(), + setFontAndSize((_a = font === null || font === void 0 ? void 0 : font.name) !== null && _a !== void 0 ? _a : 'dummy__noop', fontSize).toString(), + ].join('\n'); + field.setDefaultAppearance(da); +}; +var defaultCheckBoxAppearanceProvider = function (checkBox, widget) { + var _a, _b, _c; + // The `/DA` entry can be at the widget or field level - so we handle both + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(checkBox.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var black = rgb(0, 0, 0); + var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); + // Update color + var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; + if (widgetColor) { + updateDefaultAppearance(widget, textColor); + } + else { + updateDefaultAppearance(checkBox.acroField, textColor); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + thickness: 1.5, + borderWidth: borderWidth, + borderColor: borderColor, + markColor: textColor, + }; + return { + normal: { + on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))), + }, + down: { + on: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawCheckBox(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))), + }, + }; +}; +var defaultRadioGroupAppearanceProvider = function (radioGroup, widget) { + var _a, _b, _c; + // The `/DA` entry can be at the widget or field level - so we handle both + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(radioGroup.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var black = rgb(0, 0, 0); + var borderColor = (_b = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black; + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); + // Update color + var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; + if (widgetColor) { + updateDefaultAppearance(widget, textColor); + } + else { + updateDefaultAppearance(radioGroup.acroField, textColor); + } + var options = { + x: width / 2, + y: height / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth, + borderColor: borderColor, + dotColor: textColor, + }; + return { + normal: { + on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: normalBackgroundColor, filled: false }))), + }, + down: { + on: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: true }))), + off: __spreadArrays(rotate, drawRadioButton(__assign(__assign({}, options), { color: downBackgroundColor, filled: false }))), + }, + }; +}; +var defaultButtonAppearanceProvider = function (button, widget, font) { + var _a, _b, _c, _d, _e; + // The `/DA` entry can be at the widget or field level - so we handle both + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(button.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(button.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var captions = ap === null || ap === void 0 ? void 0 : ap.getCaptions(); + var normalText = (_a = captions === null || captions === void 0 ? void 0 : captions.normal) !== null && _a !== void 0 ? _a : ''; + var downText = (_c = (_b = captions === null || captions === void 0 ? void 0 : captions.down) !== null && _b !== void 0 ? _b : normalText) !== null && _c !== void 0 ? _c : ''; + var borderWidth = (_d = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _d !== void 0 ? _d : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _f = adjustDimsForRotation(rectangle, rotation), width = _f.width, height = _f.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var downBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8); + var bounds = { + x: borderWidth, + y: borderWidth, + width: width - borderWidth * 2, + height: height - borderWidth * 2, + }; + var normalLayout = layoutSinglelineText(normalText, { + alignment: TextAlignment.Center, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + }); + var downLayout = layoutSinglelineText(downText, { + alignment: TextAlignment.Center, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + }); + // Update font size and color + var fontSize = Math.min(normalLayout.fontSize, downLayout.fontSize); + var textColor = (_e = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _e !== void 0 ? _e : black; + if (widgetColor || widgetFontSize !== undefined) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } + else { + updateDefaultAppearance(button.acroField, textColor, font, fontSize); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth, + borderColor: borderColor, + textColor: textColor, + font: font.name, + fontSize: fontSize, + }; + return { + normal: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: normalBackgroundColor, textLines: [normalLayout.line] }))), + down: __spreadArrays(rotate, drawButton(__assign(__assign({}, options), { color: downBackgroundColor, textLines: [downLayout.line] }))), + }; +}; +var defaultTextFieldAppearanceProvider = function (textField, widget, font) { + var _a, _b, _c, _d; + // The `/DA` entry can be at the widget or field level - so we handle both + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(textField.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(textField.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var text = (_a = textField.getText()) !== null && _a !== void 0 ? _a : ''; + var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _e = adjustDimsForRotation(rectangle, rotation), width = _e.width, height = _e.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var textLines; + var fontSize; + var padding = textField.isCombed() ? 0 : 1; + var bounds = { + x: borderWidth + padding, + y: borderWidth + padding, + width: width - (borderWidth + padding) * 2, + height: height - (borderWidth + padding) * 2, + }; + if (textField.isMultiline()) { + var layout = layoutMultilineText(text, { + alignment: textField.getAlignment(), + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + }); + textLines = layout.lines; + fontSize = layout.fontSize; + } + else if (textField.isCombed()) { + var layout = layoutCombedText(text, { + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + cellCount: (_c = textField.getMaxLength()) !== null && _c !== void 0 ? _c : 0, + }); + textLines = layout.cells; + fontSize = layout.fontSize; + } + else { + var layout = layoutSinglelineText(text, { + alignment: textField.getAlignment(), + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + }); + textLines = [layout.line]; + fontSize = layout.fontSize; + } + // Update font size and color + var textColor = (_d = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _d !== void 0 ? _d : black; + if (widgetColor || widgetFontSize !== undefined) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } + else { + updateDefaultAppearance(textField.acroField, textColor, font, fontSize); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, + borderColor: borderColor, + textColor: textColor, + font: font.name, + fontSize: fontSize, + color: normalBackgroundColor, + textLines: textLines, + padding: padding, + }; + return __spreadArrays(rotate, drawTextField(options)); +}; +var defaultDropdownAppearanceProvider = function (dropdown, widget, font) { + var _a, _b, _c; + // The `/DA` entry can be at the widget or field level - so we handle both + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(dropdown.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(dropdown.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var text = (_a = dropdown.getSelected()[0]) !== null && _a !== void 0 ? _a : ''; + var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _d = adjustDimsForRotation(rectangle, rotation), width = _d.width, height = _d.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var padding = 1; + var bounds = { + x: borderWidth + padding, + y: borderWidth + padding, + width: width - (borderWidth + padding) * 2, + height: height - (borderWidth + padding) * 2, + }; + var _e = layoutSinglelineText(text, { + alignment: TextAlignment.Left, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + }), line = _e.line, fontSize = _e.fontSize; + // Update font size and color + var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black; + if (widgetColor || widgetFontSize !== undefined) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } + else { + updateDefaultAppearance(dropdown.acroField, textColor, font, fontSize); + } + var options = { + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, + borderColor: borderColor, + textColor: textColor, + font: font.name, + fontSize: fontSize, + color: normalBackgroundColor, + textLines: [line], + padding: padding, + }; + return __spreadArrays(rotate, drawTextField(options)); +}; +var defaultOptionListAppearanceProvider = function (optionList, widget, font) { + var _a, _b; + // The `/DA` entry can be at the widget or field level - so we handle both + var widgetColor = getDefaultColor(widget); + var fieldColor = getDefaultColor(optionList.acroField); + var widgetFontSize = getDefaultFontSize(widget); + var fieldFontSize = getDefaultFontSize(optionList.acroField); + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var _c = adjustDimsForRotation(rectangle, rotation), width = _c.width, height = _c.height; + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var black = rgb(0, 0, 0); + var borderColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBorderColor()); + var normalBackgroundColor = componentsToColor(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor()); + var options = optionList.getOptions(); + var selected = optionList.getSelected(); + if (optionList.isSorted()) + options.sort(); + var text = ''; + for (var idx = 0, len = options.length; idx < len; idx++) { + text += options[idx]; + if (idx < len - 1) + text += '\n'; + } + var padding = 1; + var bounds = { + x: borderWidth + padding, + y: borderWidth + padding, + width: width - (borderWidth + padding) * 2, + height: height - (borderWidth + padding) * 2, + }; + var _d = layoutMultilineText(text, { + alignment: TextAlignment.Left, + fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize, + font: font, + bounds: bounds, + }), lines = _d.lines, fontSize = _d.fontSize, lineHeight = _d.lineHeight; + var selectedLines = []; + for (var idx = 0, len = lines.length; idx < len; idx++) { + var line = lines[idx]; + if (selected.includes(line.text)) + selectedLines.push(idx); + } + var blue = rgb(153 / 255, 193 / 255, 218 / 255); + // Update font size and color + var textColor = (_b = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _b !== void 0 ? _b : black; + if (widgetColor || widgetFontSize !== undefined) { + updateDefaultAppearance(widget, textColor, font, fontSize); + } + else { + updateDefaultAppearance(optionList.acroField, textColor, font, fontSize); + } + return __spreadArrays(rotate, drawOptionList({ + x: 0 + borderWidth / 2, + y: 0 + borderWidth / 2, + width: width - borderWidth, + height: height - borderWidth, + borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0, + borderColor: borderColor, + textColor: textColor, + font: font.name, + fontSize: fontSize, + color: normalBackgroundColor, + textLines: lines, + lineHeight: lineHeight, + selectedColor: blue, + selectedLines: selectedLines, + padding: padding, + })); +}; + +/** + * Represents a PDF page that has been embedded in a [[PDFDocument]]. + */ +var PDFEmbeddedPage = /** @class */ (function () { + function PDFEmbeddedPage(ref, doc, embedder) { + this.alreadyEmbedded = false; + assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]); + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + assertIs(embedder, 'embedder', [[PDFPageEmbedder, 'PDFPageEmbedder']]); + this.ref = ref; + this.doc = doc; + this.width = embedder.width; + this.height = embedder.height; + this.embedder = embedder; + } + /** + * Compute the width and height of this page after being scaled by the + * given `factor`. For example: + * ```js + * embeddedPage.width // => 500 + * embeddedPage.height // => 250 + * + * const scaled = embeddedPage.scale(0.5) + * scaled.width // => 250 + * scaled.height // => 125 + * ``` + * This operation is often useful before drawing a page with + * [[PDFPage.drawPage]] to compute the `width` and `height` options. + * @param factor The factor by which this page should be scaled. + * @returns The width and height of the page after being scaled. + */ + PDFEmbeddedPage.prototype.scale = function (factor) { + assertIs(factor, 'factor', ['number']); + return { width: this.width * factor, height: this.height * factor }; + }; + /** + * Get the width and height of this page. For example: + * ```js + * const { width, height } = embeddedPage.size() + * ``` + * @returns The width and height of the page. + */ + PDFEmbeddedPage.prototype.size = function () { + return this.scale(1); + }; + /** + * > **NOTE:** You probably don't need to call this method directly. The + * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will + * > automatically ensure all embeddable pages get embedded. + * + * Embed this embeddable page in its document. + * + * @returns Resolves when the embedding is complete. + */ + PDFEmbeddedPage.prototype.embed = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!!this.alreadyEmbedded) return [3 /*break*/, 2]; + return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + _a.sent(); + this.alreadyEmbedded = true; + _a.label = 2; + case 2: return [2 /*return*/]; + } + }); + }); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.embedPdf]] and + * > [[PDFDocument.embedPage]] methods, which will create instances of + * > [[PDFEmbeddedPage]] for you. + * + * Create an instance of [[PDFEmbeddedPage]] from an existing ref and embedder + * + * @param ref The unique reference for this embedded page. + * @param doc The document to which the embedded page will belong. + * @param embedder The embedder that will be used to embed the page. + */ + PDFEmbeddedPage.of = function (ref, doc, embedder) { + return new PDFEmbeddedPage(ref, doc, embedder); + }; + return PDFEmbeddedPage; +}()); + +/** + * Represents a font that has been embedded in a [[PDFDocument]]. + */ +var PDFFont = /** @class */ (function () { + function PDFFont(ref, doc, embedder) { + this.modified = true; + assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]); + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + assertIs(embedder, 'embedder', [ + [CustomFontEmbedder, 'CustomFontEmbedder'], + [StandardFontEmbedder, 'StandardFontEmbedder'], + ]); + this.ref = ref; + this.doc = doc; + this.name = embedder.fontName; + this.embedder = embedder; + } + /** + * > **NOTE:** You probably don't need to call this method directly. The + * > [[PDFPage.drawText]] method will automatically encode the text it is + * > given. + * + * Encodes a string of text in this font. + * + * @param text The text to be encoded. + * @returns The encoded text as a hex string. + */ + PDFFont.prototype.encodeText = function (text) { + assertIs(text, 'text', ['string']); + this.modified = true; + return this.embedder.encodeText(text); + }; + /** + * Measure the width of a string of text drawn in this font at a given size. + * For example: + * ```js + * const width = font.widthOfTextAtSize('Foo Bar Qux Baz', 36) + * ``` + * @param text The string of text to be measured. + * @param size The font size to be used for this measurement. + * @returns The width of the string of text when drawn in this font at the + * given size. + */ + PDFFont.prototype.widthOfTextAtSize = function (text, size) { + assertIs(text, 'text', ['string']); + assertIs(size, 'size', ['number']); + return this.embedder.widthOfTextAtSize(text, size); + }; + /** + * Measure the height of this font at a given size. For example: + * ```js + * const height = font.heightAtSize(24) + * ``` + * + * The `options.descender` value controls whether or not the font's + * descender is included in the height calculation. + * + * @param size The font size to be used for this measurement. + * @param options The options to be used when computing this measurement. + * @returns The height of this font at the given size. + */ + PDFFont.prototype.heightAtSize = function (size, options) { + var _a; + assertIs(size, 'size', ['number']); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.descender, 'options.descender', ['boolean']); + return this.embedder.heightOfFontAtSize(size, { + descender: (_a = options === null || options === void 0 ? void 0 : options.descender) !== null && _a !== void 0 ? _a : true, + }); + }; + /** + * Compute the font size at which this font is a given height. For example: + * ```js + * const fontSize = font.sizeAtHeight(12) + * ``` + * @param height The height to be used for this calculation. + * @returns The font size at which this font is the given height. + */ + PDFFont.prototype.sizeAtHeight = function (height) { + assertIs(height, 'height', ['number']); + return this.embedder.sizeOfFontAtHeight(height); + }; + /** + * Get the set of unicode code points that can be represented by this font. + * @returns The set of unicode code points supported by this font. + */ + PDFFont.prototype.getCharacterSet = function () { + if (this.embedder instanceof StandardFontEmbedder) { + return this.embedder.encoding.supportedCodePoints; + } + else { + return this.embedder.font.characterSet; + } + }; + /** + * > **NOTE:** You probably don't need to call this method directly. The + * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will + * > automatically ensure all fonts get embedded. + * + * Embed this font in its document. + * + * @returns Resolves when the embedding is complete. + */ + PDFFont.prototype.embed = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!this.modified) return [3 /*break*/, 2]; + return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + _a.sent(); + this.modified = false; + _a.label = 2; + case 2: return [2 /*return*/]; + } + }); + }); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.embedFont]] and + * > [[PDFDocument.embedStandardFont]] methods, which will create instances + * > of [[PDFFont]] for you. + * + * Create an instance of [[PDFFont]] from an existing ref and embedder + * + * @param ref The unique reference for this font. + * @param doc The document to which the font will belong. + * @param embedder The embedder that will be used to embed the font. + */ + PDFFont.of = function (ref, doc, embedder) { + return new PDFFont(ref, doc, embedder); + }; + return PDFFont; +}()); + +/** + * Represents an image that has been embedded in a [[PDFDocument]]. + */ +var PDFImage = /** @class */ (function () { + function PDFImage(ref, doc, embedder) { + assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]); + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + assertIs(embedder, 'embedder', [ + [JpegEmbedder, 'JpegEmbedder'], + [PngEmbedder, 'PngEmbedder'], + ]); + this.ref = ref; + this.doc = doc; + this.width = embedder.width; + this.height = embedder.height; + this.embedder = embedder; + } + /** + * Compute the width and height of this image after being scaled by the + * given `factor`. For example: + * ```js + * image.width // => 500 + * image.height // => 250 + * + * const scaled = image.scale(0.5) + * scaled.width // => 250 + * scaled.height // => 125 + * ``` + * This operation is often useful before drawing an image with + * [[PDFPage.drawImage]] to compute the `width` and `height` options. + * @param factor The factor by which this image should be scaled. + * @returns The width and height of the image after being scaled. + */ + PDFImage.prototype.scale = function (factor) { + assertIs(factor, 'factor', ['number']); + return { width: this.width * factor, height: this.height * factor }; + }; + /** + * Get the width and height of this image after scaling it as large as + * possible while maintaining its aspect ratio and not exceeding the + * specified `width` and `height`. For example: + * ``` + * image.width // => 500 + * image.height // => 250 + * + * const scaled = image.scaleToFit(750, 1000) + * scaled.width // => 750 + * scaled.height // => 375 + * ``` + * The `width` and `height` parameters can also be thought of as the width + * and height of a box that the scaled image must fit within. + * @param width The bounding box's width. + * @param height The bounding box's height. + * @returns The width and height of the image after being scaled. + */ + PDFImage.prototype.scaleToFit = function (width, height) { + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var imgWidthScale = width / this.width; + var imgHeightScale = height / this.height; + var scale = Math.min(imgWidthScale, imgHeightScale); + return this.scale(scale); + }; + /** + * Get the width and height of this image. For example: + * ```js + * const { width, height } = image.size() + * ``` + * @returns The width and height of the image. + */ + PDFImage.prototype.size = function () { + return this.scale(1); + }; + /** + * > **NOTE:** You probably don't need to call this method directly. The + * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will + * > automatically ensure all images get embedded. + * + * Embed this image in its document. + * + * @returns Resolves when the embedding is complete. + */ + PDFImage.prototype.embed = function () { + return __awaiter(this, void 0, void 0, function () { + var _a, doc, ref; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!this.embedder) + return [2 /*return*/]; + // The image should only be embedded once. If there's a pending embed + // operation then wait on it. Otherwise we need to start the embed. + if (!this.embedTask) { + _a = this, doc = _a.doc, ref = _a.ref; + this.embedTask = this.embedder.embedIntoContext(doc.context, ref); + } + return [4 /*yield*/, this.embedTask]; + case 1: + _b.sent(); + // We clear `this.embedder` so that the indirectly referenced image data + // can be garbage collected, thus avoiding a memory leak. + // See https://github.com/Hopding/pdf-lib/pull/1032/files. + this.embedder = undefined; + return [2 /*return*/]; + } + }); + }); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.embedPng]] and [[PDFDocument.embedJpg]] + * > methods, which will create instances of [[PDFImage]] for you. + * + * Create an instance of [[PDFImage]] from an existing ref and embedder + * + * @param ref The unique reference for this image. + * @param doc The document to which the image will belong. + * @param embedder The embedder that will be used to embed the image. + */ + PDFImage.of = function (ref, doc, embedder) { + return new PDFImage(ref, doc, embedder); + }; + return PDFImage; +}()); + +var ImageAlignment; +(function (ImageAlignment) { + ImageAlignment[ImageAlignment["Left"] = 0] = "Left"; + ImageAlignment[ImageAlignment["Center"] = 1] = "Center"; + ImageAlignment[ImageAlignment["Right"] = 2] = "Right"; +})(ImageAlignment || (ImageAlignment = {})); + +var assertFieldAppearanceOptions = function (options) { + assertOrUndefined(options === null || options === void 0 ? void 0 : options.x, 'options.x', ['number']); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.y, 'options.y', ['number']); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.width, 'options.width', ['number']); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.height, 'options.height', ['number']); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.textColor, 'options.textColor', [ + [Object, 'Color'], + ]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.backgroundColor, 'options.backgroundColor', [ + [Object, 'Color'], + ]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderColor, 'options.borderColor', [ + [Object, 'Color'], + ]); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.borderWidth, 'options.borderWidth', ['number']); + assertOrUndefined(options === null || options === void 0 ? void 0 : options.rotate, 'options.rotate', [[Object, 'Rotation']]); +}; +/** + * Represents a field of a [[PDFForm]]. + * + * This class is effectively abstract. All fields in a [[PDFForm]] will + * actually be an instance of a subclass of this class. + * + * Note that each field in a PDF is represented by a single field object. + * However, a given field object may be rendered at multiple locations within + * the document (across one or more pages). The rendering of a field is + * controlled by its widgets. Each widget causes its field to be displayed at a + * particular location in the document. + * + * Most of the time each field in a PDF has only a single widget, and thus is + * only rendered once. However, if a field is rendered multiple times, it will + * have multiple widgets - one for each location it is rendered. + * + * This abstraction of field objects and widgets is defined in the PDF + * specification and dictates how PDF files store fields and where they are + * to be rendered. + */ +var PDFField = /** @class */ (function () { + function PDFField(acroField, ref, doc) { + assertIs(acroField, 'acroField', [[PDFAcroTerminal, 'PDFAcroTerminal']]); + assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]); + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + this.acroField = acroField; + this.ref = ref; + this.doc = doc; + } + /** + * Get the fully qualified name of this field. For example: + * ```js + * const fields = form.getFields() + * fields.forEach(field => { + * const name = field.getName() + * console.log('Field name:', name) + * }) + * ``` + * Note that PDF fields are structured as a tree. Each field is the + * descendent of a series of ancestor nodes all the way up to the form node, + * which is always the root of the tree. Each node in the tree (except for + * the form node) has a partial name. Partial names can be composed of any + * unicode characters except a period (`.`). The fully qualified name of a + * field is composed of the partial names of all its ancestors joined + * with periods. This means that splitting the fully qualified name on + * periods and taking the last element of the resulting array will give you + * the partial name of a specific field. + * @returns The fully qualified name of this field. + */ + PDFField.prototype.getName = function () { + var _a; + return (_a = this.acroField.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : ''; + }; + /** + * Returns `true` if this field is read only. This means that PDF readers + * will not allow users to interact with the field or change its value. See + * [[PDFField.enableReadOnly]] and [[PDFField.disableReadOnly]]. + * For example: + * ```js + * const field = form.getField('some.field') + * if (field.isReadOnly()) console.log('Read only is enabled') + * ``` + * @returns Whether or not this is a read only field. + */ + PDFField.prototype.isReadOnly = function () { + return this.acroField.hasFlag(AcroFieldFlags.ReadOnly); + }; + /** + * Prevent PDF readers from allowing users to interact with this field or + * change its value. The field will not respond to mouse or keyboard input. + * For example: + * ```js + * const field = form.getField('some.field') + * field.enableReadOnly() + * ``` + * Useful for fields whose values are computed, imported from a database, or + * prefilled by software before being displayed to the user. + */ + PDFField.prototype.enableReadOnly = function () { + this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, true); + }; + /** + * Allow users to interact with this field and change its value in PDF + * readers via mouse and keyboard input. For example: + * ```js + * const field = form.getField('some.field') + * field.disableReadOnly() + * ``` + */ + PDFField.prototype.disableReadOnly = function () { + this.acroField.setFlagTo(AcroFieldFlags.ReadOnly, false); + }; + /** + * Returns `true` if this field must have a value when the form is submitted. + * See [[PDFField.enableRequired]] and [[PDFField.disableRequired]]. + * For example: + * ```js + * const field = form.getField('some.field') + * if (field.isRequired()) console.log('Field is required') + * ``` + * @returns Whether or not this field is required. + */ + PDFField.prototype.isRequired = function () { + return this.acroField.hasFlag(AcroFieldFlags.Required); + }; + /** + * Require this field to have a value when the form is submitted. + * For example: + * ```js + * const field = form.getField('some.field') + * field.enableRequired() + * ``` + */ + PDFField.prototype.enableRequired = function () { + this.acroField.setFlagTo(AcroFieldFlags.Required, true); + }; + /** + * Do not require this field to have a value when the form is submitted. + * For example: + * ```js + * const field = form.getField('some.field') + * field.disableRequired() + * ``` + */ + PDFField.prototype.disableRequired = function () { + this.acroField.setFlagTo(AcroFieldFlags.Required, false); + }; + /** + * Returns `true` if this field's value should be exported when the form is + * submitted. See [[PDFField.enableExporting]] and + * [[PDFField.disableExporting]]. + * For example: + * ```js + * const field = form.getField('some.field') + * if (field.isExported()) console.log('Exporting is enabled') + * ``` + * @returns Whether or not this field's value should be exported. + */ + PDFField.prototype.isExported = function () { + return !this.acroField.hasFlag(AcroFieldFlags.NoExport); + }; + /** + * Indicate that this field's value should be exported when the form is + * submitted in a PDF reader. For example: + * ```js + * const field = form.getField('some.field') + * field.enableExporting() + * ``` + */ + PDFField.prototype.enableExporting = function () { + this.acroField.setFlagTo(AcroFieldFlags.NoExport, false); + }; + /** + * Indicate that this field's value should **not** be exported when the form + * is submitted in a PDF reader. For example: + * ```js + * const field = form.getField('some.field') + * field.disableExporting() + * ``` + */ + PDFField.prototype.disableExporting = function () { + this.acroField.setFlagTo(AcroFieldFlags.NoExport, true); + }; + /** @ignore */ + PDFField.prototype.needsAppearancesUpdate = function () { + throw new MethodNotImplementedError(this.constructor.name, 'needsAppearancesUpdate'); + }; + /** @ignore */ + PDFField.prototype.defaultUpdateAppearances = function (_font) { + throw new MethodNotImplementedError(this.constructor.name, 'defaultUpdateAppearances'); + }; + PDFField.prototype.markAsDirty = function () { + this.doc.getForm().markFieldAsDirty(this.ref); + }; + PDFField.prototype.markAsClean = function () { + this.doc.getForm().markFieldAsClean(this.ref); + }; + PDFField.prototype.isDirty = function () { + return this.doc.getForm().fieldIsDirty(this.ref); + }; + PDFField.prototype.createWidget = function (options) { + var _a; + var textColor = options.textColor; + var backgroundColor = options.backgroundColor; + var borderColor = options.borderColor; + var borderWidth = options.borderWidth; + var degreesAngle = toDegrees(options.rotate); + var caption = options.caption; + var x = options.x; + var y = options.y; + var width = options.width + borderWidth; + var height = options.height + borderWidth; + var hidden = Boolean(options.hidden); + var pageRef = options.page; + assertMultiple(degreesAngle, 'degreesAngle', 90); + // Create a widget for this field + var widget = PDFWidgetAnnotation.create(this.doc.context, this.ref); + // Set widget properties + var rect = rotateRectangle({ x: x, y: y, width: width, height: height }, borderWidth, degreesAngle); + widget.setRectangle(rect); + if (pageRef) + widget.setP(pageRef); + var ac = widget.getOrCreateAppearanceCharacteristics(); + if (backgroundColor) { + ac.setBackgroundColor(colorToComponents(backgroundColor)); + } + ac.setRotation(degreesAngle); + if (caption) + ac.setCaptions({ normal: caption }); + if (borderColor) + ac.setBorderColor(colorToComponents(borderColor)); + var bs = widget.getOrCreateBorderStyle(); + if (borderWidth !== undefined) + bs.setWidth(borderWidth); + widget.setFlagTo(AnnotationFlags.Print, true); + widget.setFlagTo(AnnotationFlags.Hidden, hidden); + widget.setFlagTo(AnnotationFlags.Invisible, false); + // Set acrofield properties + if (textColor) { + var da = (_a = this.acroField.getDefaultAppearance()) !== null && _a !== void 0 ? _a : ''; + var newDa = da + '\n' + setFillingColor(textColor).toString(); + this.acroField.setDefaultAppearance(newDa); + } + return widget; + }; + PDFField.prototype.updateWidgetAppearanceWithFont = function (widget, font, _a) { + var normal = _a.normal, rollover = _a.rollover, down = _a.down; + this.updateWidgetAppearances(widget, { + normal: this.createAppearanceStream(widget, normal, font), + rollover: rollover && this.createAppearanceStream(widget, rollover, font), + down: down && this.createAppearanceStream(widget, down, font), + }); + }; + PDFField.prototype.updateOnOffWidgetAppearance = function (widget, onValue, _a) { + var normal = _a.normal, rollover = _a.rollover, down = _a.down; + this.updateWidgetAppearances(widget, { + normal: this.createAppearanceDict(widget, normal, onValue), + rollover: rollover && this.createAppearanceDict(widget, rollover, onValue), + down: down && this.createAppearanceDict(widget, down, onValue), + }); + }; + PDFField.prototype.updateWidgetAppearances = function (widget, _a) { + var normal = _a.normal, rollover = _a.rollover, down = _a.down; + widget.setNormalAppearance(normal); + if (rollover) { + widget.setRolloverAppearance(rollover); + } + else { + widget.removeRolloverAppearance(); + } + if (down) { + widget.setDownAppearance(down); + } + else { + widget.removeDownAppearance(); + } + }; + // // TODO: Do we need to do this...? + // private foo(font: PDFFont, dict: PDFDict) { + // if (!dict.lookup(PDFName.of('DR'))) { + // dict.set(PDFName.of('DR'), dict.context.obj({})); + // } + // const DR = dict.lookup(PDFName.of('DR'), PDFDict); + // if (!DR.lookup(PDFName.of('Font'))) { + // DR.set(PDFName.of('Font'), dict.context.obj({})); + // } + // const Font = DR.lookup(PDFName.of('Font'), PDFDict); + // Font.set(PDFName.of(font.name), font.ref); + // } + PDFField.prototype.createAppearanceStream = function (widget, appearance, font) { + var _a; + var context = this.acroField.dict.context; + var _b = widget.getRectangle(), width = _b.width, height = _b.height; + // TODO: Do we need to do this...? + // if (font) { + // this.foo(font, widget.dict); + // this.foo(font, this.doc.getForm().acroForm.dict); + // } + // END TODO + var Resources = font && { Font: (_a = {}, _a[font.name] = font.ref, _a) }; + var stream = context.formXObject(appearance, { + Resources: Resources, + BBox: context.obj([0, 0, width, height]), + Matrix: context.obj([1, 0, 0, 1, 0, 0]), + }); + var streamRef = context.register(stream); + return streamRef; + }; + /** + * Create a FormXObject of the supplied image and add it to context. + * The FormXObject size is calculated based on the widget (including + * the alignment). + * @param widget The widget that should display the image. + * @param alignment The alignment of the image. + * @param image The image that should be displayed. + * @returns The ref for the FormXObject that was added to the context. + */ + PDFField.prototype.createImageAppearanceStream = function (widget, image, alignment) { + // NOTE: This implementation doesn't handle image borders. + // NOTE: Acrobat seems to resize the image (maybe even skewing its aspect + // ratio) to fit perfectly within the widget's rectangle. This method + // does not currently do that. Should there be an option for that? + var _a; + var _b; + var context = this.acroField.dict.context; + var rectangle = widget.getRectangle(); + var ap = widget.getAppearanceCharacteristics(); + var bs = widget.getBorderStyle(); + var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0; + var rotation = reduceRotation(ap === null || ap === void 0 ? void 0 : ap.getRotation()); + var rotate = rotateInPlace(__assign(__assign({}, rectangle), { rotation: rotation })); + var adj = adjustDimsForRotation(rectangle, rotation); + var imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2); + // Support borders on images and maybe other properties + var options = { + x: borderWidth, + y: borderWidth, + width: imageDims.width, + height: imageDims.height, + // + rotate: degrees(0), + xSkew: degrees(0), + ySkew: degrees(0), + }; + if (alignment === ImageAlignment.Center) { + options.x += (adj.width - borderWidth * 2) / 2 - imageDims.width / 2; + options.y += (adj.height - borderWidth * 2) / 2 - imageDims.height / 2; + } + else if (alignment === ImageAlignment.Right) { + options.x = adj.width - borderWidth - imageDims.width; + options.y = adj.height - borderWidth - imageDims.height; + } + var imageName = this.doc.context.addRandomSuffix('Image', 10); + var appearance = __spreadArrays(rotate, drawImage(imageName, options)); + //////////// + var Resources = { XObject: (_a = {}, _a[imageName] = image.ref, _a) }; + var stream = context.formXObject(appearance, { + Resources: Resources, + BBox: context.obj([0, 0, rectangle.width, rectangle.height]), + Matrix: context.obj([1, 0, 0, 1, 0, 0]), + }); + return context.register(stream); + }; + PDFField.prototype.createAppearanceDict = function (widget, appearance, onValue) { + var context = this.acroField.dict.context; + var onStreamRef = this.createAppearanceStream(widget, appearance.on); + var offStreamRef = this.createAppearanceStream(widget, appearance.off); + var appearanceDict = context.obj({}); + appearanceDict.set(onValue, onStreamRef); + appearanceDict.set(PDFName.of('Off'), offStreamRef); + return appearanceDict; + }; + return PDFField; +}()); + +/** + * Represents a check box field of a [[PDFForm]]. + * + * [[PDFCheckBox]] fields are interactive boxes that users can click with their + * mouse. This type of [[PDFField]] has two states: `on` and `off`. The purpose + * of a check box is to enable users to select from one or more options, where + * each option is represented by a single check box. Check boxes are typically + * square in shape and display a check mark when they are in the `on` state. + */ +var PDFCheckBox = /** @class */ (function (_super) { + __extends(PDFCheckBox, _super); + function PDFCheckBox(acroCheckBox, ref, doc) { + var _this = _super.call(this, acroCheckBox, ref, doc) || this; + assertIs(acroCheckBox, 'acroCheckBox', [ + [PDFAcroCheckBox, 'PDFAcroCheckBox'], + ]); + _this.acroField = acroCheckBox; + return _this; + } + /** + * Mark this check box. This operation is analogous to a human user clicking + * a check box to fill it in a PDF reader. This method will update the + * underlying state of the check box field to indicate it has been selected. + * PDF libraries and readers will be able to extract this value from the + * saved document and determine that it was selected. + * + * For example: + * ```js + * const checkBox = form.getCheckBox('some.checkBox.field') + * checkBox.check() + * ``` + * + * This method will mark this check box as dirty, causing its appearance + * streams to be updated when either [[PDFDocument.save]] or + * [[PDFForm.updateFieldAppearances]] is called. The updated appearance + * streams will display a check mark inside the widgets of this check box + * field. + */ + PDFCheckBox.prototype.check = function () { + var _a; + var onValue = (_a = this.acroField.getOnValue()) !== null && _a !== void 0 ? _a : PDFName.of('Yes'); + this.markAsDirty(); + this.acroField.setValue(onValue); + }; + /** + * Clears this check box. This operation is analogous to a human user clicking + * a check box to unmark it in a PDF reader. This method will update the + * underlying state of the check box field to indicate it has been deselected. + * PDF libraries and readers will be able to extract this value from the + * saved document and determine that it was not selected. + * + * For example: + * ```js + * const checkBox = form.getCheckBox('some.checkBox.field') + * checkBox.uncheck() + * ``` + * + * This method will mark this check box as dirty. See [[PDFCheckBox.check]] + * for more details about what this means. + */ + PDFCheckBox.prototype.uncheck = function () { + this.markAsDirty(); + this.acroField.setValue(PDFName.of('Off')); + }; + /** + * Returns `true` if this check box is selected (either by a human user via + * a PDF reader, or else programmatically via software). For example: + * ```js + * const checkBox = form.getCheckBox('some.checkBox.field') + * if (checkBox.isChecked()) console.log('check box is selected') + * ``` + * @returns Whether or not this check box is selected. + */ + PDFCheckBox.prototype.isChecked = function () { + var onValue = this.acroField.getOnValue(); + return !!onValue && onValue === this.acroField.getValue(); + }; + /** + * Show this check box on the specified page. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const checkBox = form.createCheckBox('some.checkBox.field') + * + * checkBox.addToPage(page, { + * x: 50, + * y: 75, + * width: 25, + * height: 25, + * textColor: rgb(1, 0, 0), + * backgroundColor: rgb(0, 1, 0), + * borderColor: rgb(0, 0, 1), + * borderWidth: 2, + * rotate: degrees(90), + * }) + * ``` + * This will create a new widget for this check box field. + * @param page The page to which this check box widget should be added. + * @param options The options to be used when adding this check box widget. + */ + PDFCheckBox.prototype.addToPage = function (page, options) { + var _a, _b, _c, _d, _e, _f; + assertIs(page, 'page', [[PDFPage, 'PDFPage']]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!('textColor' in options)) + options.textColor = rgb(0, 0, 0); + if (!('backgroundColor' in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!('borderColor' in options)) + options.borderColor = rgb(0, 0, 0); + if (!('borderWidth' in options)) + options.borderWidth = 1; + // Create a widget for this check box + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 50, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref, + }); + var widgetRef = this.doc.context.register(widget.dict); + // Add widget to this field + this.acroField.addWidget(widgetRef); + // Set appearance streams for widget + widget.setAppearanceState(PDFName.of('Off')); + this.updateWidgetAppearance(widget, PDFName.of('Yes')); + // Add widget to the given page + page.node.addAnnot(widgetRef); + }; + /** + * Returns `true` if any of this check box's widgets do not have an + * appearance stream for its current state. For example: + * ```js + * const checkBox = form.getCheckBox('some.checkBox.field') + * if (checkBox.needsAppearancesUpdate()) console.log('Needs update') + * ``` + * @returns Whether or not this check box needs an appearance update. + */ + PDFCheckBox.prototype.needsAppearancesUpdate = function () { + var _a; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state = widget.getAppearanceState(); + var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; + if (!(normal instanceof PDFDict)) + return true; + if (state && !normal.has(state)) + return true; + } + return false; + }; + /** + * Update the appearance streams for each of this check box's widgets using + * the default appearance provider for check boxes. For example: + * ```js + * const checkBox = form.getCheckBox('some.checkBox.field') + * checkBox.defaultUpdateAppearances() + * ``` + */ + PDFCheckBox.prototype.defaultUpdateAppearances = function () { + this.updateAppearances(); + }; + /** + * Update the appearance streams for each of this check box's widgets using + * the given appearance provider. If no `provider` is passed, the default + * appearance provider for check boxs will be used. For example: + * ```js + * const checkBox = form.getCheckBox('some.checkBox.field') + * checkBox.updateAppearances((field, widget) => { + * ... + * return { + * normal: { on: drawCheckBox(...), off: drawCheckBox(...) }, + * down: { on: drawCheckBox(...), off: drawCheckBox(...) }, + * } + * }) + * ``` + * @param provider Optionally, the appearance provider to be used for + * generating the contents of the appearance streams. + */ + PDFCheckBox.prototype.updateAppearances = function (provider) { + var _a; + assertOrUndefined(provider, 'provider', [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var onValue = (_a = widget.getOnValue()) !== null && _a !== void 0 ? _a : PDFName.of('Yes'); + if (!onValue) + continue; + this.updateWidgetAppearance(widget, onValue, provider); + } + this.markAsClean(); + }; + PDFCheckBox.prototype.updateWidgetAppearance = function (widget, onValue, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultCheckBoxAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget)); + this.updateOnOffWidgetAppearance(widget, onValue, appearances); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getCheckBox]] method, which will create an + * > instance of [[PDFCheckBox]] for you. + * + * Create an instance of [[PDFCheckBox]] from an existing acroCheckBox and ref + * + * @param acroCheckBox The underlying `PDFAcroCheckBox` for this check box. + * @param ref The unique reference for this check box. + * @param doc The document to which this check box will belong. + */ + PDFCheckBox.of = function (acroCheckBox, ref, doc) { + return new PDFCheckBox(acroCheckBox, ref, doc); + }; + return PDFCheckBox; +}(PDFField)); + +/** + * Represents a dropdown field of a [[PDFForm]]. + * + * [[PDFDropdown]] fields are interactive text boxes that display a single + * element (the currently selected value). The purpose of a dropdown is to + * enable users to select a single option from a set of possible options. Users + * can click on a dropdown to view the full list of options it provides. + * Clicking on an option in the list will cause it to be selected and displayed + * in the dropdown's text box. Some dropdowns allow users to enter text + * directly into the box from their keyboard, rather than only being allowed to + * choose an option from the list (see [[PDFDropdown.isEditable]]). + */ +var PDFDropdown = /** @class */ (function (_super) { + __extends(PDFDropdown, _super); + function PDFDropdown(acroComboBox, ref, doc) { + var _this = _super.call(this, acroComboBox, ref, doc) || this; + assertIs(acroComboBox, 'acroComboBox', [ + [PDFAcroComboBox, 'PDFAcroComboBox'], + ]); + _this.acroField = acroComboBox; + return _this; + } + /** + * Get the list of available options for this dropdown. These options will be + * displayed to users who click on this dropdown in a PDF reader. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * const options = dropdown.getOptions() + * console.log('Dropdown options:', options) + * ``` + * @returns The options for this dropdown. + */ + PDFDropdown.prototype.getOptions = function () { + var rawOptions = this.acroField.getOptions(); + var options = new Array(rawOptions.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + var _a = rawOptions[idx], display = _a.display, value = _a.value; + options[idx] = (display !== null && display !== void 0 ? display : value).decodeText(); + } + return options; + }; + /** + * Get the selected options for this dropdown. These are the values that were + * selected by a human user via a PDF reader, or programatically via + * software. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * const selections = dropdown.getSelected() + * console.log('Dropdown selections:', selections) + * ``` + * > **NOTE:** Note that PDF readers only display one selected option when + * > rendering dropdowns. However, the PDF specification does allow for + * > multiple values to be selected in a dropdown. As such, the `pdf-lib` + * > API supports this. However, in most cases the array returned by this + * > method will contain only a single element (or no elements). + * @returns The selected options in this dropdown. + */ + PDFDropdown.prototype.getSelected = function () { + var values = this.acroField.getValues(); + var selected = new Array(values.length); + for (var idx = 0, len = values.length; idx < len; idx++) { + selected[idx] = values[idx].decodeText(); + } + return selected; + }; + /** + * Set the list of options that are available for this dropdown. These are + * the values that will be available for users to select when they view this + * dropdown in a PDF reader. Note that preexisting options for this dropdown + * will be removed. Only the values passed as `options` will be available to + * select. + * For example: + * ```js + * const dropdown = form.getDropdown('planets.dropdown') + * dropdown.setOptions(['Earth', 'Mars', 'Pluto', 'Venus']) + * ``` + * @param options The options that should be available in this dropdown. + */ + PDFDropdown.prototype.setOptions = function (options) { + assertIs(options, 'options', [Array]); + var optionObjects = new Array(options.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + optionObjects[idx] = { value: PDFHexString.fromText(options[idx]) }; + } + this.acroField.setOptions(optionObjects); + }; + /** + * Add to the list of options that are available for this dropdown. Users + * will be able to select these values in a PDF reader. In addition to the + * values passed as `options`, any preexisting options for this dropdown will + * still be available for users to select. + * For example: + * ```js + * const dropdown = form.getDropdown('rockets.dropdown') + * dropdown.addOptions(['Saturn IV', 'Falcon Heavy']) + * ``` + * @param options New options that should be available in this dropdown. + */ + PDFDropdown.prototype.addOptions = function (options) { + assertIs(options, 'options', ['string', Array]); + var optionsArr = Array.isArray(options) ? options : [options]; + var existingOptions = this.acroField.getOptions(); + var newOptions = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + newOptions[idx] = { value: PDFHexString.fromText(optionsArr[idx]) }; + } + this.acroField.setOptions(existingOptions.concat(newOptions)); + }; + /** + * Select one or more values for this dropdown. This operation is analogous + * to a human user opening the dropdown in a PDF reader and clicking on a + * value to select it. This method will update the underlying state of the + * dropdown to indicate which values have been selected. PDF libraries and + * readers will be able to extract these values from the saved document and + * determine which values were selected. + * + * For example: + * ```js + * const dropdown = form.getDropdown('best.superhero.dropdown') + * dropdown.select('One Punch Man') + * ``` + * + * This method will mark this dropdown as dirty, causing its appearance + * streams to be updated when either [[PDFDocument.save]] or + * [[PDFForm.updateFieldAppearances]] is called. The updated streams will + * display the selected option inside the widgets of this dropdown. + * + * **IMPORTANT:** The default font used to update appearance streams is + * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means + * that encoding errors will be thrown if the selected option for this field + * contains characters outside the WinAnsi character set (the latin alphabet). + * + * Embedding a custom font and passing it to + * [[PDFForm.updateFieldAppearances]] or [[PDFDropdown.updateAppearances]] + * allows you to generate appearance streams with characters outside the + * latin alphabet (assuming the custom font supports them). + * + * Selecting an option that does not exist in this dropdown's option list + * (see [[PDFDropdown.getOptions]]) will enable editing on this dropdown + * (see [[PDFDropdown.enableEditing]]). + * + * > **NOTE:** PDF readers only display one selected option when rendering + * > dropdowns. However, the PDF specification does allow for multiple values + * > to be selected in a dropdown. As such, the `pdf-lib` API supports this. + * > However, it is not recommended to select more than one value with this + * > method, as only one will be visible. [[PDFOptionList]] fields are better + * > suited for displaying multiple selected values. + * + * @param options The options to be selected. + * @param merge Whether or not existing selections should be preserved. + */ + PDFDropdown.prototype.select = function (options, merge) { + if (merge === void 0) { merge = false; } + assertIs(options, 'options', ['string', Array]); + assertIs(merge, 'merge', ['boolean']); + var optionsArr = Array.isArray(options) ? options : [options]; + var validOptions = this.getOptions(); + var hasCustomOption = optionsArr.find(function (option) { return !validOptions.includes(option); }); + if (hasCustomOption) + this.enableEditing(); + this.markAsDirty(); + if (optionsArr.length > 1 || (optionsArr.length === 1 && merge)) { + this.enableMultiselect(); + } + var values = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + values[idx] = PDFHexString.fromText(optionsArr[idx]); + } + if (merge) { + var existingValues = this.acroField.getValues(); + this.acroField.setValues(existingValues.concat(values)); + } + else { + this.acroField.setValues(values); + } + }; + /** + * Clear all selected values for this dropdown. This operation is equivalent + * to selecting an empty list. This method will update the underlying state + * of the dropdown to indicate that no values have been selected. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.clear() + * ``` + * This method will mark this text field as dirty. See [[PDFDropdown.select]] + * for more details about what this means. + */ + PDFDropdown.prototype.clear = function () { + this.markAsDirty(); + this.acroField.setValues([]); + }; + /** + * Set the font size for this field. Larger font sizes will result in larger + * text being displayed when PDF readers render this dropdown. Font sizes may + * be integer or floating point numbers. Supplying a negative font size will + * cause this method to throw an error. + * + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.setFontSize(4) + * dropdown.setFontSize(15.7) + * ``` + * + * > This method depends upon the existence of a default appearance + * > (`/DA`) string. If this field does not have a default appearance string, + * > or that string does not contain a font size (via the `Tf` operator), + * > then this method will throw an error. + * + * @param fontSize The font size to be used when rendering text in this field. + */ + PDFDropdown.prototype.setFontSize = function (fontSize) { + assertPositive(fontSize, 'fontSize'); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + /** + * Returns `true` if users are allowed to edit the selected value of this + * dropdown directly and are not constrained by the list of available + * options. See [[PDFDropdown.enableEditing]] and + * [[PDFDropdown.disableEditing]]. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * if (dropdown.isEditable()) console.log('Editing is enabled') + * ``` + * @returns Whether or not this dropdown is editable. + */ + PDFDropdown.prototype.isEditable = function () { + return this.acroField.hasFlag(AcroChoiceFlags.Edit); + }; + /** + * Allow users to edit the selected value of this dropdown in PDF readers + * with their keyboard. This means that the selected value of this dropdown + * will not be constrained by the list of available options. However, if this + * dropdown has any available options, users will still be allowed to select + * from that list. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.enableEditing() + * ``` + */ + PDFDropdown.prototype.enableEditing = function () { + this.acroField.setFlagTo(AcroChoiceFlags.Edit, true); + }; + /** + * Do not allow users to edit the selected value of this dropdown in PDF + * readers with their keyboard. This will constrain the selected value of + * this dropdown to the list of available options. Users will only be able + * to select an option from that list. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.disableEditing() + * ``` + */ + PDFDropdown.prototype.disableEditing = function () { + this.acroField.setFlagTo(AcroChoiceFlags.Edit, false); + }; + /** + * Returns `true` if the option list of this dropdown is always displayed + * in alphabetical order, irrespective of the order in which the options + * were added to the dropdown. See [[PDFDropdown.enableSorting]] and + * [[PDFDropdown.disableSorting]]. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * if (dropdown.isSorted()) console.log('Sorting is enabled') + * ``` + * @returns Whether or not this dropdown's options are sorted. + */ + PDFDropdown.prototype.isSorted = function () { + return this.acroField.hasFlag(AcroChoiceFlags.Sort); + }; + /** + * Always display the option list of this dropdown in alphabetical order, + * irrespective of the order in which the options were added to this dropdown. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.enableSorting() + * ``` + */ + PDFDropdown.prototype.enableSorting = function () { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); + }; + /** + * Do not always display the option list of this dropdown in alphabetical + * order. Instead, display the options in whichever order they were added + * to the list. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.disableSorting() + * ``` + */ + PDFDropdown.prototype.disableSorting = function () { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); + }; + /** + * Returns `true` if multiple options can be selected from this dropdown's + * option list. See [[PDFDropdown.enableMultiselect]] and + * [[PDFDropdown.disableMultiselect]]. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * if (dropdown.isMultiselect()) console.log('Multiselect is enabled') + * ``` + * @returns Whether or not multiple options can be selected. + */ + PDFDropdown.prototype.isMultiselect = function () { + return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); + }; + /** + * Allow users to select more than one option from this dropdown's option + * list. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.enableMultiselect() + * ``` + */ + PDFDropdown.prototype.enableMultiselect = function () { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); + }; + /** + * Do not allow users to select more than one option from this dropdown's + * option list. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.disableMultiselect() + * ``` + */ + PDFDropdown.prototype.disableMultiselect = function () { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); + }; + /** + * Returns `true` if the selected option should be spell checked by PDF + * readers. Spell checking will only be performed if this dropdown allows + * editing (see [[PDFDropdown.isEditable]]). See + * [[PDFDropdown.enableSpellChecking]] and + * [[PDFDropdown.disableSpellChecking]]. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * if (dropdown.isSpellChecked()) console.log('Spell checking is enabled') + * ``` + * @returns Whether or not this dropdown can be spell checked. + */ + PDFDropdown.prototype.isSpellChecked = function () { + return !this.acroField.hasFlag(AcroChoiceFlags.DoNotSpellCheck); + }; + /** + * Allow PDF readers to spell check the selected option of this dropdown. + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.enableSpellChecking() + * ``` + */ + PDFDropdown.prototype.enableSpellChecking = function () { + this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, false); + }; + /** + * Do not allow PDF readers to spell check the selected option of this + * dropdown. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.disableSpellChecking() + * ``` + */ + PDFDropdown.prototype.disableSpellChecking = function () { + this.acroField.setFlagTo(AcroChoiceFlags.DoNotSpellCheck, true); + }; + /** + * Returns `true` if the option selected by a user is stored, or "committed", + * when the user clicks the option. The alternative is that the user's + * selection is stored when the user leaves this dropdown field (by clicking + * outside of it - on another field, for example). See + * [[PDFDropdown.enableSelectOnClick]] and + * [[PDFDropdown.disableSelectOnClick]]. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * if (dropdown.isSelectOnClick()) console.log('Select on click is enabled') + * ``` + * @returns Whether or not options are selected immediately after they are + * clicked. + */ + PDFDropdown.prototype.isSelectOnClick = function () { + return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); + }; + /** + * Store the option selected by a user immediately after the user clicks the + * option. Do not wait for the user to leave this dropdown field (by clicking + * outside of it - on another field, for example). For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.enableSelectOnClick() + * ``` + */ + PDFDropdown.prototype.enableSelectOnClick = function () { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); + }; + /** + * Wait to store the option selected by a user until they leave this dropdown + * field (by clicking outside of it - on another field, for example). + * For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.disableSelectOnClick() + * ``` + */ + PDFDropdown.prototype.disableSelectOnClick = function () { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); + }; + /** + * Show this dropdown on the specified page. For example: + * ```js + * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const dropdown = form.createDropdown('best.gundam') + * dropdown.setOptions(['Exia', 'Dynames']) + * dropdown.select('Exia') + * + * dropdown.addToPage(page, { + * x: 50, + * y: 75, + * width: 200, + * height: 100, + * textColor: rgb(1, 0, 0), + * backgroundColor: rgb(0, 1, 0), + * borderColor: rgb(0, 0, 1), + * borderWidth: 2, + * rotate: degrees(90), + * font: ubuntuFont, + * }) + * ``` + * This will create a new widget for this dropdown field. + * @param page The page to which this dropdown widget should be added. + * @param options The options to be used when adding this dropdown widget. + */ + PDFDropdown.prototype.addToPage = function (page, options) { + var _a, _b, _c, _d, _e, _f, _g; + assertIs(page, 'page', [[PDFPage, 'PDFPage']]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!('textColor' in options)) + options.textColor = rgb(0, 0, 0); + if (!('backgroundColor' in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!('borderColor' in options)) + options.borderColor = rgb(0, 0, 0); + if (!('borderWidth' in options)) + options.borderWidth = 1; + // Create a widget for this dropdown + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref, + }); + var widgetRef = this.doc.context.register(widget.dict); + // Add widget to this field + this.acroField.addWidget(widgetRef); + // Set appearance streams for widget + var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + // Add widget to the given page + page.node.addAnnot(widgetRef); + }; + /** + * Returns `true` if this dropdown has been marked as dirty, or if any of + * this dropdown's widgets do not have an appearance stream. For example: + * ```js + * const dropdown = form.getDropdown('some.dropdown.field') + * if (dropdown.needsAppearancesUpdate()) console.log('Needs update') + * ``` + * @returns Whether or not this dropdown needs an appearance update. + */ + PDFDropdown.prototype.needsAppearancesUpdate = function () { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream; + if (!hasAppearances) + return true; + } + return false; + }; + /** + * Update the appearance streams for each of this dropdown's widgets using + * the default appearance provider for dropdowns. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.defaultUpdateAppearances(helvetica) + * ``` + * @param font The font to be used for creating the appearance streams. + */ + PDFDropdown.prototype.defaultUpdateAppearances = function (font) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + this.updateAppearances(font); + }; + /** + * Update the appearance streams for each of this dropdown's widgets using + * the given appearance provider. If no `provider` is passed, the default + * appearance provider for dropdowns will be used. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const dropdown = form.getDropdown('some.dropdown.field') + * dropdown.updateAppearances(helvetica, (field, widget, font) => { + * ... + * return drawTextField(...) + * }) + * ``` + * @param font The font to be used for creating the appearance streams. + * @param provider Optionally, the appearance provider to be used for + * generating the contents of the appearance streams. + */ + PDFDropdown.prototype.updateAppearances = function (font, provider) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + assertOrUndefined(provider, 'provider', [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + this.markAsClean(); + }; + // getOption(index: number): string {} + // getSelectedIndices(): number[] {} + // removeOptions(option: string | string[]) {} + // removeIndices(option: number[]) {} + // deselect(options: string | string[]) {} + // deselectIndices(optionIndices: number[]) {} + PDFDropdown.prototype.updateWidgetAppearance = function (widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultDropdownAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getDropdown]] method, which will create an + * > instance of [[PDFDropdown]] for you. + * + * Create an instance of [[PDFDropdown]] from an existing acroComboBox and ref + * + * @param acroComboBox The underlying `PDFAcroComboBox` for this dropdown. + * @param ref The unique reference for this dropdown. + * @param doc The document to which this dropdown will belong. + */ + PDFDropdown.of = function (acroComboBox, ref, doc) { + return new PDFDropdown(acroComboBox, ref, doc); + }; + return PDFDropdown; +}(PDFField)); + +/** + * Represents an option list field of a [[PDFForm]]. + * + * [[PDFOptionList]] fields are interactive lists of options. The purpose of an + * option list is to enable users to select one or more options from a set of + * possible options. Users are able to see the full set of options without + * first having to click on the field (though scrolling may be necessary). + * Clicking an option in the list will cause it to be selected and displayed + * with a highlighted background. Some option lists allow users to select + * more than one option (see [[PDFOptionList.isMultiselect]]). + */ +var PDFOptionList = /** @class */ (function (_super) { + __extends(PDFOptionList, _super); + function PDFOptionList(acroListBox, ref, doc) { + var _this = _super.call(this, acroListBox, ref, doc) || this; + assertIs(acroListBox, 'acroListBox', [[PDFAcroListBox, 'PDFAcroListBox']]); + _this.acroField = acroListBox; + return _this; + } + /** + * Get the list of available options for this option list. These options will + * be displayed to users who view this option list in a PDF reader. + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * const options = optionList.getOptions() + * console.log('Option List options:', options) + * ``` + * @returns The options for this option list. + */ + PDFOptionList.prototype.getOptions = function () { + var rawOptions = this.acroField.getOptions(); + var options = new Array(rawOptions.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + var _a = rawOptions[idx], display = _a.display, value = _a.value; + options[idx] = (display !== null && display !== void 0 ? display : value).decodeText(); + } + return options; + }; + /** + * Get the selected options for this option list. These are the values that + * were selected by a human user via a PDF reader, or programatically via + * software. + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * const selections = optionList.getSelected() + * console.log('Option List selections:', selections) + * ``` + * @returns The selected options for this option list. + */ + PDFOptionList.prototype.getSelected = function () { + var values = this.acroField.getValues(); + var selected = new Array(values.length); + for (var idx = 0, len = values.length; idx < len; idx++) { + selected[idx] = values[idx].decodeText(); + } + return selected; + }; + /** + * Set the list of options that are available for this option list. These are + * the values that will be available for users to select when they view this + * option list in a PDF reader. Note that preexisting options for this + * option list will be removed. Only the values passed as `options` will be + * available to select. + * + * For example: + * ```js + * const optionList = form.getOptionList('planets.optionList') + * optionList.setOptions(['Earth', 'Mars', 'Pluto', 'Venus']) + * ``` + * + * This method will mark this option list as dirty, causing its appearance + * streams to be updated when either [[PDFDocument.save]] or + * [[PDFForm.updateFieldAppearances]] is called. The updated streams will + * display the options this field contains inside the widgets of this text + * field (with selected options highlighted). + * + * **IMPORTANT:** The default font used to update appearance streams is + * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means + * that encoding errors will be thrown if this field contains any options + * with characters outside the WinAnsi character set (the latin alphabet). + * + * Embedding a custom font and passing it to + * [[PDFForm.updateFieldAppearances]] or [[PDFOptionList.updateAppearances]] + * allows you to generate appearance streams with characters outside the + * latin alphabet (assuming the custom font supports them). + * + * @param options The options that should be available in this option list. + */ + PDFOptionList.prototype.setOptions = function (options) { + assertIs(options, 'options', [Array]); + this.markAsDirty(); + var optionObjects = new Array(options.length); + for (var idx = 0, len = options.length; idx < len; idx++) { + optionObjects[idx] = { value: PDFHexString.fromText(options[idx]) }; + } + this.acroField.setOptions(optionObjects); + }; + /** + * Add to the list of options that are available for this option list. Users + * will be able to select these values in a PDF reader. In addition to the + * values passed as `options`, any preexisting options for this option list + * will still be available for users to select. + * For example: + * ```js + * const optionList = form.getOptionList('rockets.optionList') + * optionList.addOptions(['Saturn IV', 'Falcon Heavy']) + * ``` + * This method will mark this option list as dirty. See + * [[PDFOptionList.setOptions]] for more details about what this means. + * @param options New options that should be available in this option list. + */ + PDFOptionList.prototype.addOptions = function (options) { + assertIs(options, 'options', ['string', Array]); + this.markAsDirty(); + var optionsArr = Array.isArray(options) ? options : [options]; + var existingOptions = this.acroField.getOptions(); + var newOptions = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + newOptions[idx] = { value: PDFHexString.fromText(optionsArr[idx]) }; + } + this.acroField.setOptions(existingOptions.concat(newOptions)); + }; + /** + * Select one or more values for this option list. This operation is analogous + * to a human user opening the option list in a PDF reader and clicking on one + * or more values to select them. This method will update the underlying state + * of the option list to indicate which values have been selected. PDF + * libraries and readers will be able to extract these values from the saved + * document and determine which values were selected. + * For example: + * ```js + * const optionList = form.getOptionList('best.superheroes.optionList') + * optionList.select(['One Punch Man', 'Iron Man']) + * ``` + * This method will mark this option list as dirty. See + * [[PDFOptionList.setOptions]] for more details about what this means. + * @param options The options to be selected. + * @param merge Whether or not existing selections should be preserved. + */ + PDFOptionList.prototype.select = function (options, merge) { + if (merge === void 0) { merge = false; } + assertIs(options, 'options', ['string', Array]); + assertIs(merge, 'merge', ['boolean']); + var optionsArr = Array.isArray(options) ? options : [options]; + var validOptions = this.getOptions(); + assertIsSubset(optionsArr, 'option', validOptions); + this.markAsDirty(); + if (optionsArr.length > 1 || (optionsArr.length === 1 && merge)) { + this.enableMultiselect(); + } + var values = new Array(optionsArr.length); + for (var idx = 0, len = optionsArr.length; idx < len; idx++) { + values[idx] = PDFHexString.fromText(optionsArr[idx]); + } + if (merge) { + var existingValues = this.acroField.getValues(); + this.acroField.setValues(existingValues.concat(values)); + } + else { + this.acroField.setValues(values); + } + }; + /** + * Clear all selected values for this option list. This operation is + * equivalent to selecting an empty list. This method will update the + * underlying state of the option list to indicate that no values have been + * selected. + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.clear() + * ``` + * This method will mark this option list as dirty. See + * [[PDFOptionList.setOptions]] for more details about what this means. + */ + PDFOptionList.prototype.clear = function () { + this.markAsDirty(); + this.acroField.setValues([]); + }; + /** + * Set the font size for the text in this field. There needs to be a + * default appearance string (DA) set with a font value specified + * for this to work. For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.setFontSize(4); + * ``` + * @param fontSize The font size to set the font to. + */ + /** + * Set the font size for this field. Larger font sizes will result in larger + * text being displayed when PDF readers render this option list. Font sizes + * may be integer or floating point numbers. Supplying a negative font size + * will cause this method to throw an error. + * + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.setFontSize(4) + * optionList.setFontSize(15.7) + * ``` + * + * > This method depends upon the existence of a default appearance + * > (`/DA`) string. If this field does not have a default appearance string, + * > or that string does not contain a font size (via the `Tf` operator), + * > then this method will throw an error. + * + * @param fontSize The font size to be used when rendering text in this field. + */ + PDFOptionList.prototype.setFontSize = function (fontSize) { + assertPositive(fontSize, 'fontSize'); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + /** + * Returns `true` if the options of this option list are always displayed + * in alphabetical order, irrespective of the order in which the options + * were added to the option list. See [[PDFOptionList.enableSorting]] and + * [[PDFOptionList.disableSorting]]. For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * if (optionList.isSorted()) console.log('Sorting is enabled') + * ``` + * @returns Whether or not this option list is sorted. + */ + PDFOptionList.prototype.isSorted = function () { + return this.acroField.hasFlag(AcroChoiceFlags.Sort); + }; + /** + * Always display the options of this option list in alphabetical order, + * irrespective of the order in which the options were added to this option + * list. + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.enableSorting() + * ``` + */ + PDFOptionList.prototype.enableSorting = function () { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, true); + }; + /** + * Do not always display the options of this option list in alphabetical + * order. Instead, display the options in whichever order they were added + * to this option list. For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.disableSorting() + * ``` + */ + PDFOptionList.prototype.disableSorting = function () { + this.acroField.setFlagTo(AcroChoiceFlags.Sort, false); + }; + /** + * Returns `true` if multiple options can be selected from this option list. + * See [[PDFOptionList.enableMultiselect]] and + * [[PDFOptionList.disableMultiselect]]. For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * if (optionList.isMultiselect()) console.log('Multiselect is enabled') + * ``` + * @returns Whether or not multiple options can be selected. + */ + PDFOptionList.prototype.isMultiselect = function () { + return this.acroField.hasFlag(AcroChoiceFlags.MultiSelect); + }; + /** + * Allow users to select more than one option from this option list. + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.enableMultiselect() + * ``` + */ + PDFOptionList.prototype.enableMultiselect = function () { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, true); + }; + /** + * Do not allow users to select more than one option from this option list. + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.disableMultiselect() + * ``` + */ + PDFOptionList.prototype.disableMultiselect = function () { + this.acroField.setFlagTo(AcroChoiceFlags.MultiSelect, false); + }; + /** + * Returns `true` if the option selected by a user is stored, or "committed", + * when the user clicks the option. The alternative is that the user's + * selection is stored when the user leaves this option list field (by + * clicking outside of it - on another field, for example). See + * [[PDFOptionList.enableSelectOnClick]] and + * [[PDFOptionList.disableSelectOnClick]]. For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * if (optionList.isSelectOnClick()) console.log('Select on click is enabled') + * ``` + * @returns Whether or not options are selected immediately after they are + * clicked. + */ + PDFOptionList.prototype.isSelectOnClick = function () { + return this.acroField.hasFlag(AcroChoiceFlags.CommitOnSelChange); + }; + /** + * Store the option selected by a user immediately after the user clicks the + * option. Do not wait for the user to leave this option list field (by + * clicking outside of it - on another field, for example). For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.enableSelectOnClick() + * ``` + */ + PDFOptionList.prototype.enableSelectOnClick = function () { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, true); + }; + /** + * Wait to store the option selected by a user until they leave this option + * list field (by clicking outside of it - on another field, for example). + * For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * optionList.disableSelectOnClick() + * ``` + */ + PDFOptionList.prototype.disableSelectOnClick = function () { + this.acroField.setFlagTo(AcroChoiceFlags.CommitOnSelChange, false); + }; + /** + * Show this option list on the specified page. For example: + * ```js + * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const optionList = form.createOptionList('best.gundams') + * optionList.setOptions(['Exia', 'Dynames', 'Kyrios', 'Virtue']) + * optionList.select(['Exia', 'Virtue']) + * + * optionList.addToPage(page, { + * x: 50, + * y: 75, + * width: 200, + * height: 100, + * textColor: rgb(1, 0, 0), + * backgroundColor: rgb(0, 1, 0), + * borderColor: rgb(0, 0, 1), + * borderWidth: 2, + * rotate: degrees(90), + * font: ubuntuFont, + * }) + * ``` + * This will create a new widget for this option list field. + * @param page The page to which this option list widget should be added. + * @param options The options to be used when adding this option list widget. + */ + PDFOptionList.prototype.addToPage = function (page, options) { + var _a, _b, _c, _d, _e, _f, _g; + assertIs(page, 'page', [[PDFPage, 'PDFPage']]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!('textColor' in options)) + options.textColor = rgb(0, 0, 0); + if (!('backgroundColor' in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!('borderColor' in options)) + options.borderColor = rgb(0, 0, 0); + if (!('borderWidth' in options)) + options.borderWidth = 1; + // Create a widget for this option list + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref, + }); + var widgetRef = this.doc.context.register(widget.dict); + // Add widget to this field + this.acroField.addWidget(widgetRef); + // Set appearance streams for widget + var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + // Add widget to the given page + page.node.addAnnot(widgetRef); + }; + /** + * Returns `true` if this option list has been marked as dirty, or if any of + * this option list's widgets do not have an appearance stream. For example: + * ```js + * const optionList = form.getOptionList('some.optionList.field') + * if (optionList.needsAppearancesUpdate()) console.log('Needs update') + * ``` + * @returns Whether or not this option list needs an appearance update. + */ + PDFOptionList.prototype.needsAppearancesUpdate = function () { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream; + if (!hasAppearances) + return true; + } + return false; + }; + /** + * Update the appearance streams for each of this option list's widgets using + * the default appearance provider for option lists. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const optionList = form.getOptionList('some.optionList.field') + * optionList.defaultUpdateAppearances(helvetica) + * ``` + * @param font The font to be used for creating the appearance streams. + */ + PDFOptionList.prototype.defaultUpdateAppearances = function (font) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + this.updateAppearances(font); + }; + /** + * Update the appearance streams for each of this option list's widgets using + * the given appearance provider. If no `provider` is passed, the default + * appearance provider for option lists will be used. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const optionList = form.getOptionList('some.optionList.field') + * optionList.updateAppearances(helvetica, (field, widget, font) => { + * ... + * return drawOptionList(...) + * }) + * ``` + * @param font The font to be used for creating the appearance streams. + * @param provider Optionally, the appearance provider to be used for + * generating the contents of the appearance streams. + */ + PDFOptionList.prototype.updateAppearances = function (font, provider) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + assertOrUndefined(provider, 'provider', [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + this.markAsClean(); + }; + // getOption(index: number): string {} + // getSelectedIndices(): number[] {} + // removeOptions(option: string | string[]) {} + // removeIndices(option: number[]) {} + // deselect(options: string | string[]) {} + // deselectIndices(optionIndices: number[]) {} + PDFOptionList.prototype.updateWidgetAppearance = function (widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultOptionListAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getOptionList]] method, which will create + * > an instance of [[PDFOptionList]] for you. + * + * Create an instance of [[PDFOptionList]] from an existing acroListBox and + * ref + * + * @param acroComboBox The underlying `PDFAcroListBox` for this option list. + * @param ref The unique reference for this option list. + * @param doc The document to which this option list will belong. + */ + PDFOptionList.of = function (acroListBox, ref, doc) { + return new PDFOptionList(acroListBox, ref, doc); + }; + return PDFOptionList; +}(PDFField)); + +/** + * Represents a radio group field of a [[PDFForm]]. + * + * [[PDFRadioGroup]] fields are collections of radio buttons. The purpose of a + * radio group is to enable users to select one option from a set of mutually + * exclusive choices. Each choice in a radio group is represented by a radio + * button. Radio buttons each have two states: `on` and `off`. At most one + * radio button in a group may be in the `on` state at any time. Users can + * click on a radio button to select it (and thereby automatically deselect any + * other radio button that might have already been selected). Some radio + * groups allow users to toggle a selected radio button `off` by clicking on + * it (see [[PDFRadioGroup.isOffToggleable]]). + * + * Note that some radio groups allow multiple radio buttons to be in the `on` + * state at the same type **if** they represent the same underlying value (see + * [[PDFRadioGroup.isMutuallyExclusive]]). + */ +var PDFRadioGroup = /** @class */ (function (_super) { + __extends(PDFRadioGroup, _super); + function PDFRadioGroup(acroRadioButton, ref, doc) { + var _this = _super.call(this, acroRadioButton, ref, doc) || this; + assertIs(acroRadioButton, 'acroRadioButton', [ + [PDFAcroRadioButton, 'PDFAcroRadioButton'], + ]); + _this.acroField = acroRadioButton; + return _this; + } + /** + * Get the list of available options for this radio group. Each option is + * represented by a radio button. These radio buttons are displayed at + * various locations in the document, potentially on different pages (though + * typically they are stacked horizontally or vertically on the same page). + * For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * const options = radioGroup.getOptions() + * console.log('Radio Group options:', options) + * ``` + * @returns The options for this radio group. + */ + PDFRadioGroup.prototype.getOptions = function () { + var exportValues = this.acroField.getExportValues(); + if (exportValues) { + var exportOptions = new Array(exportValues.length); + for (var idx = 0, len = exportValues.length; idx < len; idx++) { + exportOptions[idx] = exportValues[idx].decodeText(); + } + return exportOptions; + } + var onValues = this.acroField.getOnValues(); + var onOptions = new Array(onValues.length); + for (var idx = 0, len = onOptions.length; idx < len; idx++) { + onOptions[idx] = onValues[idx].decodeText(); + } + return onOptions; + }; + /** + * Get the selected option for this radio group. The selected option is + * represented by the radio button in this group that is turned on. At most + * one radio button in a group can be selected. If no buttons in this group + * are selected, `undefined` is returned. + * For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * const selected = radioGroup.getSelected() + * console.log('Selected radio button:', selected) + * ``` + * @returns The selected option for this radio group. + */ + PDFRadioGroup.prototype.getSelected = function () { + var value = this.acroField.getValue(); + if (value === PDFName.of('Off')) + return undefined; + var exportValues = this.acroField.getExportValues(); + if (exportValues) { + var onValues = this.acroField.getOnValues(); + for (var idx = 0, len = onValues.length; idx < len; idx++) { + if (onValues[idx] === value) + return exportValues[idx].decodeText(); + } + } + return value.decodeText(); + }; + // // TODO: Figure out why this seems to crash Acrobat. Maybe it's because we + // // aren't removing the widget reference from the page's Annots? + // removeOption(option: string) { + // assertIs(option, 'option', ['string']); + // // TODO: Assert is valid `option`! + // const onValues = this.acroField.getOnValues(); + // const exportValues = this.acroField.getExportValues(); + // if (exportValues) { + // for (let idx = 0, len = exportValues.length; idx < len; idx++) { + // if (exportValues[idx].decodeText() === option) { + // this.acroField.removeWidget(idx); + // this.acroField.removeExportValue(idx); + // } + // } + // } else { + // for (let idx = 0, len = onValues.length; idx < len; idx++) { + // const value = onValues[idx]; + // if (value.decodeText() === option) { + // this.acroField.removeWidget(idx); + // this.acroField.removeExportValue(idx); + // } + // } + // } + // } + /** + * Select an option for this radio group. This operation is analogous to a + * human user clicking one of the radio buttons in this group via a PDF + * reader to toggle it on. This method will update the underlying state of + * the radio group to indicate which option has been selected. PDF libraries + * and readers will be able to extract this value from the saved document and + * determine which option was selected. + * + * For example: + * ```js + * const radioGroup = form.getRadioGroup('best.superhero.radioGroup') + * radioGroup.select('One Punch Man') + * ``` + * + * This method will mark this radio group as dirty, causing its appearance + * streams to be updated when either [[PDFDocument.save]] or + * [[PDFForm.updateFieldAppearances]] is called. The updated appearance + * streams will display a dot inside the widget of this check box field + * that represents the selected option. + * + * @param option The option to be selected. + */ + PDFRadioGroup.prototype.select = function (option) { + assertIs(option, 'option', ['string']); + var validOptions = this.getOptions(); + assertIsOneOf(option, 'option', validOptions); + this.markAsDirty(); + var onValues = this.acroField.getOnValues(); + var exportValues = this.acroField.getExportValues(); + if (exportValues) { + for (var idx = 0, len = exportValues.length; idx < len; idx++) { + if (exportValues[idx].decodeText() === option) { + this.acroField.setValue(onValues[idx]); + } + } + } + else { + for (var idx = 0, len = onValues.length; idx < len; idx++) { + var value = onValues[idx]; + if (value.decodeText() === option) + this.acroField.setValue(value); + } + } + }; + /** + * Clear any selected option for this dropdown. This will result in all + * radio buttons in this group being toggled off. This method will update + * the underlying state of the dropdown to indicate that no radio buttons + * have been selected. + * For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.clear() + * ``` + * This method will mark this radio group as dirty. See + * [[PDFRadioGroup.select]] for more details about what this means. + */ + PDFRadioGroup.prototype.clear = function () { + this.markAsDirty(); + this.acroField.setValue(PDFName.of('Off')); + }; + /** + * Returns `true` if users can click on radio buttons in this group to toggle + * them off. The alternative is that once a user clicks on a radio button + * to select it, the only way to deselect it is by selecting on another radio + * button in the group. See [[PDFRadioGroup.enableOffToggling]] and + * [[PDFRadioGroup.disableOffToggling]]. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * if (radioGroup.isOffToggleable()) console.log('Off toggling is enabled') + * ``` + */ + PDFRadioGroup.prototype.isOffToggleable = function () { + return !this.acroField.hasFlag(AcroButtonFlags.NoToggleToOff); + }; + /** + * Allow users to click on selected radio buttons in this group to toggle + * them off. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.enableOffToggling() + * ``` + * > **NOTE:** This feature is documented in the PDF specification + * > (Table 226). However, most PDF readers do not respect this option and + * > prevent users from toggling radio buttons off even when it is enabled. + * > At the time of this writing (9/6/2020) Mac's Preview software did + * > respect the option. Adobe Acrobat, Foxit Reader, and Google Chrome did + * > not. + */ + PDFRadioGroup.prototype.enableOffToggling = function () { + this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, false); + }; + /** + * Prevent users from clicking on selected radio buttons in this group to + * toggle them off. Clicking on a selected radio button will have no effect. + * The only way to deselect a selected radio button is to click on a + * different radio button in the group. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.disableOffToggling() + * ``` + */ + PDFRadioGroup.prototype.disableOffToggling = function () { + this.acroField.setFlagTo(AcroButtonFlags.NoToggleToOff, true); + }; + /** + * Returns `true` if the radio buttons in this group are mutually exclusive. + * This means that when the user selects a radio button, only that specific + * button will be turned on. Even if other radio buttons in the group + * represent the same value, they will not be enabled. The alternative to + * this is that clicking a radio button will select that button along with + * any other radio buttons in the group that share the same value. See + * [[PDFRadioGroup.enableMutualExclusion]] and + * [[PDFRadioGroup.disableMutualExclusion]]. + * For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * if (radioGroup.isMutuallyExclusive()) console.log('Mutual exclusion is enabled') + * ``` + */ + PDFRadioGroup.prototype.isMutuallyExclusive = function () { + return !this.acroField.hasFlag(AcroButtonFlags.RadiosInUnison); + }; + /** + * When the user clicks a radio button in this group it will be selected. In + * addition, any other radio buttons in this group that share the same + * underlying value will also be selected. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.enableMutualExclusion() + * ``` + * Note that this option must be enabled prior to adding options to the + * radio group. It does not currently apply retroactively to existing + * radio buttons in the group. + */ + PDFRadioGroup.prototype.enableMutualExclusion = function () { + this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, false); + }; + /** + * When the user clicks a radio button in this group only it will be selected. + * No other radio buttons in the group will be selected, even if they share + * the same underlying value. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.disableMutualExclusion() + * ``` + * Note that this option must be disabled prior to adding options to the + * radio group. It does not currently apply retroactively to existing + * radio buttons in the group. + */ + PDFRadioGroup.prototype.disableMutualExclusion = function () { + this.acroField.setFlagTo(AcroButtonFlags.RadiosInUnison, true); + }; + /** + * Add a new radio button to this group on the specified page. For example: + * ```js + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const radioGroup = form.createRadioGroup('best.gundam') + * + * const options = { + * x: 50, + * width: 25, + * height: 25, + * textColor: rgb(1, 0, 0), + * backgroundColor: rgb(0, 1, 0), + * borderColor: rgb(0, 0, 1), + * borderWidth: 2, + * rotate: degrees(90), + * } + * + * radioGroup.addOptionToPage('Exia', page, { ...options, y: 50 }) + * radioGroup.addOptionToPage('Dynames', page, { ...options, y: 110 }) + * ``` + * This will create a new radio button widget for this radio group field. + * @param option The option that the radio button widget represents. + * @param page The page to which the radio button widget should be added. + * @param options The options to be used when adding the radio button widget. + */ + PDFRadioGroup.prototype.addOptionToPage = function (option, page, options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + assertIs(option, 'option', ['string']); + assertIs(page, 'page', [[PDFPage, 'PDFPage']]); + assertFieldAppearanceOptions(options); + // Create a widget for this radio button + var widget = this.createWidget({ + x: (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : 50, + height: (_d = options === null || options === void 0 ? void 0 : options.height) !== null && _d !== void 0 ? _d : 50, + textColor: (_e = options === null || options === void 0 ? void 0 : options.textColor) !== null && _e !== void 0 ? _e : rgb(0, 0, 0), + backgroundColor: (_f = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _f !== void 0 ? _f : rgb(1, 1, 1), + borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), + borderWidth: (_h = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _h !== void 0 ? _h : 1, + rotate: (_j = options === null || options === void 0 ? void 0 : options.rotate) !== null && _j !== void 0 ? _j : degrees(0), + hidden: options === null || options === void 0 ? void 0 : options.hidden, + page: page.ref, + }); + var widgetRef = this.doc.context.register(widget.dict); + // Add widget to this field + var apStateValue = this.acroField.addWidgetWithOpt(widgetRef, PDFHexString.fromText(option), !this.isMutuallyExclusive()); + // Set appearance streams for widget + widget.setAppearanceState(PDFName.of('Off')); + this.updateWidgetAppearance(widget, apStateValue); + // Add widget to the given page + page.node.addAnnot(widgetRef); + }; + /** + * Returns `true` if any of this group's radio button widgets do not have an + * appearance stream for their current state. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * if (radioGroup.needsAppearancesUpdate()) console.log('Needs update') + * ``` + * @returns Whether or not this radio group needs an appearance update. + */ + PDFRadioGroup.prototype.needsAppearancesUpdate = function () { + var _a; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var state = widget.getAppearanceState(); + var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal; + if (!(normal instanceof PDFDict)) + return true; + if (state && !normal.has(state)) + return true; + } + return false; + }; + /** + * Update the appearance streams for each of this group's radio button widgets + * using the default appearance provider for radio groups. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.defaultUpdateAppearances() + * ``` + */ + PDFRadioGroup.prototype.defaultUpdateAppearances = function () { + this.updateAppearances(); + }; + // rg.updateAppearances((field: any, widget: any) => { + // assert(field === rg); + // assert(widget instanceof PDFWidgetAnnotation); + // return { on: [...rectangle, ...circle], off: [...rectangle, ...circle] }; + // }); + /** + * Update the appearance streams for each of this group's radio button widgets + * using the given appearance provider. If no `provider` is passed, the + * default appearance provider for radio groups will be used. For example: + * ```js + * const radioGroup = form.getRadioGroup('some.radioGroup.field') + * radioGroup.updateAppearances((field, widget) => { + * ... + * return { + * normal: { on: drawRadioButton(...), off: drawRadioButton(...) }, + * down: { on: drawRadioButton(...), off: drawRadioButton(...) }, + * } + * }) + * ``` + * @param provider Optionally, the appearance provider to be used for + * generating the contents of the appearance streams. + */ + PDFRadioGroup.prototype.updateAppearances = function (provider) { + assertOrUndefined(provider, 'provider', [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var onValue = widget.getOnValue(); + if (!onValue) + continue; + this.updateWidgetAppearance(widget, onValue, provider); + } + }; + PDFRadioGroup.prototype.updateWidgetAppearance = function (widget, onValue, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultRadioGroupAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget)); + this.updateOnOffWidgetAppearance(widget, onValue, appearances); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getOptionList]] method, which will create an + * > instance of [[PDFOptionList]] for you. + * + * Create an instance of [[PDFOptionList]] from an existing acroRadioButton + * and ref + * + * @param acroRadioButton The underlying `PDFAcroRadioButton` for this + * radio group. + * @param ref The unique reference for this radio group. + * @param doc The document to which this radio group will belong. + */ + PDFRadioGroup.of = function (acroRadioButton, ref, doc) { return new PDFRadioGroup(acroRadioButton, ref, doc); }; + return PDFRadioGroup; +}(PDFField)); + +/** + * Represents a signature field of a [[PDFForm]]. + * + * [[PDFSignature]] fields are digital signatures. `pdf-lib` does not + * currently provide any specialized APIs for creating digital signatures or + * reading the contents of existing digital signatures. + */ +var PDFSignature = /** @class */ (function (_super) { + __extends(PDFSignature, _super); + function PDFSignature(acroSignature, ref, doc) { + var _this = _super.call(this, acroSignature, ref, doc) || this; + assertIs(acroSignature, 'acroSignature', [ + [PDFAcroSignature, 'PDFAcroSignature'], + ]); + _this.acroField = acroSignature; + return _this; + } + PDFSignature.prototype.needsAppearancesUpdate = function () { + return false; + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getSignature]] method, which will create an + * > instance of [[PDFSignature]] for you. + * + * Create an instance of [[PDFSignature]] from an existing acroSignature and + * ref + * + * @param acroSignature The underlying `PDFAcroSignature` for this signature. + * @param ref The unique reference for this signature. + * @param doc The document to which this signature will belong. + */ + PDFSignature.of = function (acroSignature, ref, doc) { return new PDFSignature(acroSignature, ref, doc); }; + return PDFSignature; +}(PDFField)); + +/** + * Represents a text field of a [[PDFForm]]. + * + * [[PDFTextField]] fields are boxes that display text entered by the user. The + * purpose of a text field is to enable users to enter text or view text values + * in the document prefilled by software. Users can click on a text field and + * input text via their keyboard. Some text fields allow multiple lines of text + * to be entered (see [[PDFTextField.isMultiline]]). + */ +var PDFTextField = /** @class */ (function (_super) { + __extends(PDFTextField, _super); + function PDFTextField(acroText, ref, doc) { + var _this = _super.call(this, acroText, ref, doc) || this; + assertIs(acroText, 'acroText', [[PDFAcroText, 'PDFAcroText']]); + _this.acroField = acroText; + return _this; + } + /** + * Get the text that this field contains. This text is visible to users who + * view this field in a PDF reader. + * + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * const text = textField.getText() + * console.log('Text field contents:', text) + * ``` + * + * Note that if this text field contains no underlying value, `undefined` + * will be returned. Text fields may also contain an underlying value that + * is simply an empty string (`''`). This detail is largely irrelevant for + * most applications. In general, you'll want to treat both cases the same + * way and simply consider the text field to be empty. In either case, the + * text field will appear empty to users when viewed in a PDF reader. + * + * An error will be thrown if this is a rich text field. `pdf-lib` does not + * support reading rich text fields. Nor do most PDF readers and writers. + * Rich text fields are based on XFA (XML Forms Architecture). Relatively few + * PDFs use rich text fields or XFA. Unlike PDF itself, XFA is not an ISO + * standard. XFA has been deprecated in PDF 2.0: + * * https://en.wikipedia.org/wiki/XFA + * * http://blog.pdfshareforms.com/pdf-2-0-release-bid-farewell-xfa-forms/ + * + * @returns The text contained in this text field. + */ + PDFTextField.prototype.getText = function () { + var value = this.acroField.getValue(); + if (!value && this.isRichFormatted()) { + throw new RichTextFieldReadError(this.getName()); + } + return value === null || value === void 0 ? void 0 : value.decodeText(); + }; + /** + * Set the text for this field. This operation is analogous to a human user + * clicking on the text field in a PDF reader and typing in text via their + * keyboard. This method will update the underlying state of the text field + * to indicate what text has been set. PDF libraries and readers will be able + * to extract these values from the saved document and determine what text + * was set. + * + * For example: + * ```js + * const textField = form.getTextField('best.superhero.text.field') + * textField.setText('One Punch Man') + * ``` + * + * This method will mark this text field as dirty, causing its appearance + * streams to be updated when either [[PDFDocument.save]] or + * [[PDFForm.updateFieldAppearances]] is called. The updated streams will + * display the text this field contains inside the widgets of this text + * field. + * + * **IMPORTANT:** The default font used to update appearance streams is + * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means + * that encoding errors will be thrown if this field contains text outside + * the WinAnsi character set (the latin alphabet). + * + * Embedding a custom font and passing it to + * [[PDFForm.updateFieldAppearances]] or [[PDFTextField.updateAppearances]] + * allows you to generate appearance streams with characters outside the + * latin alphabet (assuming the custom font supports them). + * + * If this is a rich text field, it will be converted to a standard text + * field in order to set the text. `pdf-lib` does not support writing rich + * text strings. Nor do most PDF readers and writers. See + * [[PDFTextField.getText]] for more information about rich text fields and + * their deprecation in PDF 2.0. + * + * @param text The text this field should contain. + */ + PDFTextField.prototype.setText = function (text) { + assertOrUndefined(text, 'text', ['string']); + var maxLength = this.getMaxLength(); + if (maxLength !== undefined && text && text.length > maxLength) { + throw new ExceededMaxLengthError(text.length, maxLength, this.getName()); + } + this.markAsDirty(); + this.disableRichFormatting(); + if (text) { + this.acroField.setValue(PDFHexString.fromText(text)); + } + else { + this.acroField.removeValue(); + } + }; + /** + * Get the alignment for this text field. This value represents the + * justification of the text when it is displayed to the user in PDF readers. + * There are three possible alignments: left, center, and right. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * const alignment = textField.getAlignment() + * if (alignment === TextAlignment.Left) console.log('Text is left justified') + * if (alignment === TextAlignment.Center) console.log('Text is centered') + * if (alignment === TextAlignment.Right) console.log('Text is right justified') + * ``` + * @returns The alignment of this text field. + */ + PDFTextField.prototype.getAlignment = function () { + var quadding = this.acroField.getQuadding(); + // prettier-ignore + return (quadding === 0 ? TextAlignment.Left + : quadding === 1 ? TextAlignment.Center + : quadding === 2 ? TextAlignment.Right + : TextAlignment.Left); + }; + /** + * Set the alignment for this text field. This will determine the + * justification of the text when it is displayed to the user in PDF readers. + * There are three possible alignments: left, center, and right. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * + * // Text will be left justified when displayed + * textField.setAlignment(TextAlignment.Left) + * + * // Text will be centered when displayed + * textField.setAlignment(TextAlignment.Center) + * + * // Text will be right justified when displayed + * textField.setAlignment(TextAlignment.Right) + * ``` + * This method will mark this text field as dirty. See + * [[PDFTextField.setText]] for more details about what this means. + * @param alignment The alignment for this text field. + */ + PDFTextField.prototype.setAlignment = function (alignment) { + assertIsOneOf(alignment, 'alignment', TextAlignment); + this.markAsDirty(); + this.acroField.setQuadding(alignment); + }; + /** + * Get the maximum length of this field. This value represents the maximum + * number of characters that can be typed into this field by the user. If + * this field does not have a maximum length, `undefined` is returned. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * const maxLength = textField.getMaxLength() + * if (maxLength === undefined) console.log('No max length') + * else console.log(`Max length is ${maxLength}`) + * ``` + * @returns The maximum number of characters allowed in this field, or + * `undefined` if no limit exists. + */ + PDFTextField.prototype.getMaxLength = function () { + return this.acroField.getMaxLength(); + }; + /** + * Set the maximum length of this field. This limits the number of characters + * that can be typed into this field by the user. This also limits the length + * of the string that can be passed to [[PDFTextField.setText]]. This limit + * can be removed by passing `undefined` as `maxLength`. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * + * // Allow between 0 and 5 characters to be entered + * textField.setMaxLength(5) + * + * // Allow any number of characters to be entered + * textField.setMaxLength(undefined) + * ``` + * This method will mark this text field as dirty. See + * [[PDFTextField.setText]] for more details about what this means. + * @param maxLength The maximum number of characters allowed in this field, or + * `undefined` to remove the limit. + */ + PDFTextField.prototype.setMaxLength = function (maxLength) { + assertRangeOrUndefined(maxLength, 'maxLength', 0, Number.MAX_SAFE_INTEGER); + this.markAsDirty(); + if (maxLength === undefined) { + this.acroField.removeMaxLength(); + } + else { + var text = this.getText(); + if (text && text.length > maxLength) { + throw new InvalidMaxLengthError(text.length, maxLength, this.getName()); + } + this.acroField.setMaxLength(maxLength); + } + }; + /** + * Remove the maximum length for this text field. This allows any number of + * characters to be typed into this field by the user. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.removeMaxLength() + * ``` + * Calling this method is equivalent to passing `undefined` to + * [[PDFTextField.setMaxLength]]. + */ + PDFTextField.prototype.removeMaxLength = function () { + this.markAsDirty(); + this.acroField.removeMaxLength(); + }; + /** + * Display an image inside the bounds of this text field's widgets. For example: + * ```js + * const pngImage = await pdfDoc.embedPng(...) + * const textField = form.getTextField('some.text.field') + * textField.setImage(pngImage) + * ``` + * This will update the appearances streams for each of this text field's widgets. + * @param image The image that should be displayed. + */ + PDFTextField.prototype.setImage = function (image) { + var fieldAlignment = this.getAlignment(); + // prettier-ignore + var alignment = fieldAlignment === TextAlignment.Center ? ImageAlignment.Center + : fieldAlignment === TextAlignment.Right ? ImageAlignment.Right + : ImageAlignment.Left; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var streamRef = this.createImageAppearanceStream(widget, image, alignment); + this.updateWidgetAppearances(widget, { normal: streamRef }); + } + this.markAsClean(); + }; + /** + * Set the font size for this field. Larger font sizes will result in larger + * text being displayed when PDF readers render this text field. Font sizes + * may be integer or floating point numbers. Supplying a negative font size + * will cause this method to throw an error. + * + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.setFontSize(4) + * textField.setFontSize(15.7) + * ``` + * + * > This method depends upon the existence of a default appearance + * > (`/DA`) string. If this field does not have a default appearance string, + * > or that string does not contain a font size (via the `Tf` operator), + * > then this method will throw an error. + * + * @param fontSize The font size to be used when rendering text in this field. + */ + PDFTextField.prototype.setFontSize = function (fontSize) { + assertPositive(fontSize, 'fontSize'); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + /** + * Returns `true` if each line of text is shown on a new line when this + * field is displayed in a PDF reader. The alternative is that all lines of + * text are merged onto a single line when displayed. See + * [[PDFTextField.enableMultiline]] and [[PDFTextField.disableMultiline]]. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isMultiline()) console.log('Multiline is enabled') + * ``` + * @returns Whether or not this is a multiline text field. + */ + PDFTextField.prototype.isMultiline = function () { + return this.acroField.hasFlag(AcroTextFlags.Multiline); + }; + /** + * Display each line of text on a new line when this field is displayed in a + * PDF reader. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enableMultiline() + * ``` + * This method will mark this text field as dirty. See + * [[PDFTextField.setText]] for more details about what this means. + */ + PDFTextField.prototype.enableMultiline = function () { + this.markAsDirty(); + this.acroField.setFlagTo(AcroTextFlags.Multiline, true); + }; + /** + * Display each line of text on the same line when this field is displayed + * in a PDF reader. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disableMultiline() + * ``` + * This method will mark this text field as dirty. See + * [[PDFTextField.setText]] for more details about what this means. + */ + PDFTextField.prototype.disableMultiline = function () { + this.markAsDirty(); + this.acroField.setFlagTo(AcroTextFlags.Multiline, false); + }; + /** + * Returns `true` if this is a password text field. This means that the field + * is intended for storing a secure password. See + * [[PDFTextField.enablePassword]] and [[PDFTextField.disablePassword]]. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isPassword()) console.log('Password is enabled') + * ``` + * @returns Whether or not this is a password text field. + */ + PDFTextField.prototype.isPassword = function () { + return this.acroField.hasFlag(AcroTextFlags.Password); + }; + /** + * Indicate that this text field is intended for storing a secure password. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enablePassword() + * ``` + * Values entered into password text fields should not be displayed on the + * screen by PDF readers. Most PDF readers will display the value as + * asterisks or bullets. PDF readers should never store values entered by the + * user into password text fields. Similarly, applications should not + * write data to a password text field. + * + * **Please note that this method does not cause entered values to be + * encrypted or secured in any way! It simply sets a flag that PDF software + * and readers can access to determine the _purpose_ of this field.** + */ + PDFTextField.prototype.enablePassword = function () { + this.acroField.setFlagTo(AcroTextFlags.Password, true); + }; + /** + * Indicate that this text field is **not** intended for storing a secure + * password. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disablePassword() + * ``` + */ + PDFTextField.prototype.disablePassword = function () { + this.acroField.setFlagTo(AcroTextFlags.Password, false); + }; + /** + * Returns `true` if the contents of this text field represent a file path. + * See [[PDFTextField.enableFileSelection]] and + * [[PDFTextField.disableFileSelection]]. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isFileSelector()) console.log('Is a file selector') + * ``` + * @returns Whether or not this field should contain file paths. + */ + PDFTextField.prototype.isFileSelector = function () { + return this.acroField.hasFlag(AcroTextFlags.FileSelect); + }; + /** + * Indicate that this text field is intended to store a file path. The + * contents of the file stored at that path should be submitted as the value + * of the field. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enableFileSelection() + * ``` + */ + PDFTextField.prototype.enableFileSelection = function () { + this.acroField.setFlagTo(AcroTextFlags.FileSelect, true); + }; + /** + * Indicate that this text field is **not** intended to store a file path. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disableFileSelection() + * ``` + */ + PDFTextField.prototype.disableFileSelection = function () { + this.acroField.setFlagTo(AcroTextFlags.FileSelect, false); + }; + /** + * Returns `true` if the text entered in this field should be spell checked + * by PDF readers. See [[PDFTextField.enableSpellChecking]] and + * [[PDFTextField.disableSpellChecking]]. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isSpellChecked()) console.log('Spell checking is enabled') + * ``` + * @returns Whether or not this field should be spell checked. + */ + PDFTextField.prototype.isSpellChecked = function () { + return !this.acroField.hasFlag(AcroTextFlags.DoNotSpellCheck); + }; + /** + * Allow PDF readers to spell check the text entered in this field. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enableSpellChecking() + * ``` + */ + PDFTextField.prototype.enableSpellChecking = function () { + this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, false); + }; + /** + * Do not allow PDF readers to spell check the text entered in this field. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disableSpellChecking() + * ``` + */ + PDFTextField.prototype.disableSpellChecking = function () { + this.acroField.setFlagTo(AcroTextFlags.DoNotSpellCheck, true); + }; + /** + * Returns `true` if PDF readers should allow the user to scroll the text + * field when its contents do not fit within the field's view bounds. See + * [[PDFTextField.enableScrolling]] and [[PDFTextField.disableScrolling]]. + * For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isScrollable()) console.log('Scrolling is enabled') + * ``` + * @returns Whether or not the field is scrollable in PDF readers. + */ + PDFTextField.prototype.isScrollable = function () { + return !this.acroField.hasFlag(AcroTextFlags.DoNotScroll); + }; + /** + * Allow PDF readers to present a scroll bar to the user when the contents + * of this text field do not fit within its view bounds. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enableScrolling() + * ``` + * A horizontal scroll bar should be shown for singleline fields. A vertical + * scroll bar should be shown for multiline fields. + */ + PDFTextField.prototype.enableScrolling = function () { + this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, false); + }; + /** + * Do not allow PDF readers to present a scroll bar to the user when the + * contents of this text field do not fit within its view bounds. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disableScrolling() + * ``` + */ + PDFTextField.prototype.disableScrolling = function () { + this.acroField.setFlagTo(AcroTextFlags.DoNotScroll, true); + }; + /** + * Returns `true` if this is a combed text field. This means that the field + * is split into `n` equal size cells with one character in each (where `n` + * is equal to the max length of the text field). The result is that all + * characters in this field are displayed an equal distance apart from one + * another. See [[PDFTextField.enableCombing]] and + * [[PDFTextField.disableCombing]]. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isCombed()) console.log('Combing is enabled') + * ``` + * Note that in order for a text field to be combed, the following must be + * true (in addition to enabling combing): + * * It must not be a multiline field (see [[PDFTextField.isMultiline]]) + * * It must not be a password field (see [[PDFTextField.isPassword]]) + * * It must not be a file selector field (see [[PDFTextField.isFileSelector]]) + * * It must have a max length defined (see [[PDFTextField.setMaxLength]]) + * @returns Whether or not this field is combed. + */ + PDFTextField.prototype.isCombed = function () { + return (this.acroField.hasFlag(AcroTextFlags.Comb) && + !this.isMultiline() && + !this.isPassword() && + !this.isFileSelector() && + this.getMaxLength() !== undefined); + }; + /** + * Split this field into `n` equal size cells with one character in each + * (where `n` is equal to the max length of the text field). This will cause + * all characters in the field to be displayed an equal distance apart from + * one another. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enableCombing() + * ``` + * + * In addition to calling this method, text fields must have a max length + * defined in order to be combed (see [[PDFTextField.setMaxLength]]). + * + * This method will also call the following three methods internally: + * * [[PDFTextField.disableMultiline]] + * * [[PDFTextField.disablePassword]] + * * [[PDFTextField.disableFileSelection]] + * + * This method will mark this text field as dirty. See + * [[PDFTextField.setText]] for more details about what this means. + */ + PDFTextField.prototype.enableCombing = function () { + if (this.getMaxLength() === undefined) { + var msg = "PDFTextFields must have a max length in order to be combed"; + console.warn(msg); + } + this.markAsDirty(); + this.disableMultiline(); + this.disablePassword(); + this.disableFileSelection(); + this.acroField.setFlagTo(AcroTextFlags.Comb, true); + }; + /** + * Turn off combing for this text field. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disableCombing() + * ``` + * See [[PDFTextField.isCombed]] and [[PDFTextField.enableCombing]] for more + * information about what combing is. + * + * This method will mark this text field as dirty. See + * [[PDFTextField.setText]] for more details about what this means. + */ + PDFTextField.prototype.disableCombing = function () { + this.markAsDirty(); + this.acroField.setFlagTo(AcroTextFlags.Comb, false); + }; + /** + * Returns `true` if this text field contains rich text. See + * [[PDFTextField.enableRichFormatting]] and + * [[PDFTextField.disableRichFormatting]]. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.isRichFormatted()) console.log('Rich formatting enabled') + * ``` + * @returns Whether or not this field contains rich text. + */ + PDFTextField.prototype.isRichFormatted = function () { + return this.acroField.hasFlag(AcroTextFlags.RichText); + }; + /** + * Indicate that this field contains XFA data - or rich text. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.enableRichFormatting() + * ``` + * Note that `pdf-lib` does not support reading or writing rich text fields. + * Nor do most PDF readers and writers. Rich text fields are based on XFA + * (XML Forms Architecture). Relatively few PDFs use rich text fields or XFA. + * Unlike PDF itself, XFA is not an ISO standard. XFA has been deprecated in + * PDF 2.0: + * * https://en.wikipedia.org/wiki/XFA + * * http://blog.pdfshareforms.com/pdf-2-0-release-bid-farewell-xfa-forms/ + */ + PDFTextField.prototype.enableRichFormatting = function () { + this.acroField.setFlagTo(AcroTextFlags.RichText, true); + }; + /** + * Indicate that this is a standard text field that does not XFA data (rich + * text). For example: + * ```js + * const textField = form.getTextField('some.text.field') + * textField.disableRichFormatting() + * ``` + */ + PDFTextField.prototype.disableRichFormatting = function () { + this.acroField.setFlagTo(AcroTextFlags.RichText, false); + }; + /** + * Show this text field on the specified page. For example: + * ```js + * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const textField = form.createTextField('best.gundam') + * textField.setText('Exia') + * + * textField.addToPage(page, { + * x: 50, + * y: 75, + * width: 200, + * height: 100, + * textColor: rgb(1, 0, 0), + * backgroundColor: rgb(0, 1, 0), + * borderColor: rgb(0, 0, 1), + * borderWidth: 2, + * rotate: degrees(90), + * font: ubuntuFont, + * }) + * ``` + * This will create a new widget for this text field. + * @param page The page to which this text field widget should be added. + * @param options The options to be used when adding this text field widget. + */ + PDFTextField.prototype.addToPage = function (page, options) { + var _a, _b, _c, _d, _e, _f, _g; + assertIs(page, 'page', [[PDFPage, 'PDFPage']]); + assertFieldAppearanceOptions(options); + if (!options) + options = {}; + if (!('textColor' in options)) + options.textColor = rgb(0, 0, 0); + if (!('backgroundColor' in options)) + options.backgroundColor = rgb(1, 1, 1); + if (!('borderColor' in options)) + options.borderColor = rgb(0, 0, 0); + if (!('borderWidth' in options)) + options.borderWidth = 1; + // Create a widget for this text field + var widget = this.createWidget({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : 0, + y: (_b = options.y) !== null && _b !== void 0 ? _b : 0, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 200, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 50, + textColor: options.textColor, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0, + rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : degrees(0), + hidden: options.hidden, + page: page.ref, + }); + var widgetRef = this.doc.context.register(widget.dict); + // Add widget to this field + this.acroField.addWidget(widgetRef); + // Set appearance streams for widget + var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + // Add widget to the given page + page.node.addAnnot(widgetRef); + }; + /** + * Returns `true` if this text field has been marked as dirty, or if any of + * this text field's widgets do not have an appearance stream. For example: + * ```js + * const textField = form.getTextField('some.text.field') + * if (textField.needsAppearancesUpdate()) console.log('Needs update') + * ``` + * @returns Whether or not this text field needs an appearance update. + */ + PDFTextField.prototype.needsAppearancesUpdate = function () { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream; + if (!hasAppearances) + return true; + } + return false; + }; + /** + * Update the appearance streams for each of this text field's widgets using + * the default appearance provider for text fields. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const textField = form.getTextField('some.text.field') + * textField.defaultUpdateAppearances(helvetica) + * ``` + * @param font The font to be used for creating the appearance streams. + */ + PDFTextField.prototype.defaultUpdateAppearances = function (font) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + this.updateAppearances(font); + }; + /** + * Update the appearance streams for each of this text field's widgets using + * the given appearance provider. If no `provider` is passed, the default + * appearance provider for text fields will be used. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const textField = form.getTextField('some.text.field') + * textField.updateAppearances(helvetica, (field, widget, font) => { + * ... + * return drawTextField(...) + * }) + * ``` + * @param font The font to be used for creating the appearance streams. + * @param provider Optionally, the appearance provider to be used for + * generating the contents of the appearance streams. + */ + PDFTextField.prototype.updateAppearances = function (font, provider) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + assertOrUndefined(provider, 'provider', [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + this.markAsClean(); + }; + PDFTextField.prototype.updateWidgetAppearance = function (widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultTextFieldAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getTextField]] method, which will create an + * > instance of [[PDFTextField]] for you. + * + * Create an instance of [[PDFTextField]] from an existing acroText and ref + * + * @param acroText The underlying `PDFAcroText` for this text field. + * @param ref The unique reference for this text field. + * @param doc The document to which this text field will belong. + */ + PDFTextField.of = function (acroText, ref, doc) { + return new PDFTextField(acroText, ref, doc); + }; + return PDFTextField; +}(PDFField)); + +var StandardFonts; +(function (StandardFonts) { + StandardFonts["Courier"] = "Courier"; + StandardFonts["CourierBold"] = "Courier-Bold"; + StandardFonts["CourierOblique"] = "Courier-Oblique"; + StandardFonts["CourierBoldOblique"] = "Courier-BoldOblique"; + StandardFonts["Helvetica"] = "Helvetica"; + StandardFonts["HelveticaBold"] = "Helvetica-Bold"; + StandardFonts["HelveticaOblique"] = "Helvetica-Oblique"; + StandardFonts["HelveticaBoldOblique"] = "Helvetica-BoldOblique"; + StandardFonts["TimesRoman"] = "Times-Roman"; + StandardFonts["TimesRomanBold"] = "Times-Bold"; + StandardFonts["TimesRomanItalic"] = "Times-Italic"; + StandardFonts["TimesRomanBoldItalic"] = "Times-BoldItalic"; + StandardFonts["Symbol"] = "Symbol"; + StandardFonts["ZapfDingbats"] = "ZapfDingbats"; +})(StandardFonts || (StandardFonts = {})); + +/** + * Represents the interactive form of a [[PDFDocument]]. + * + * Interactive forms (sometimes called _AcroForms_) are collections of fields + * designed to gather information from a user. A PDF document may contains any + * number of fields that appear on various pages, all of which make up a single, + * global interactive form spanning the entire document. This means that + * instances of [[PDFDocument]] shall contain at most one [[PDFForm]]. + * + * The fields of an interactive form are represented by [[PDFField]] instances. + */ +var PDFForm = /** @class */ (function () { + function PDFForm(acroForm, doc) { + var _this = this; + this.embedDefaultFont = function () { + return _this.doc.embedStandardFont(StandardFonts.Helvetica); + }; + assertIs(acroForm, 'acroForm', [[PDFAcroForm, 'PDFAcroForm']]); + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + this.acroForm = acroForm; + this.doc = doc; + this.dirtyFields = new Set(); + this.defaultFontCache = Cache.populatedBy(this.embedDefaultFont); + } + /** + * Returns `true` if this [[PDFForm]] has XFA data. Most PDFs with form + * fields do not use XFA as it is not widely supported by PDF readers. + * + * > `pdf-lib` does not support creation, modification, or reading of XFA + * > fields. + * + * For example: + * ```js + * const form = pdfDoc.getForm() + * if (form.hasXFA()) console.log('PDF has XFA data') + * ``` + * @returns Whether or not this form has XFA data. + */ + PDFForm.prototype.hasXFA = function () { + return this.acroForm.dict.has(PDFName.of('XFA')); + }; + /** + * Disconnect the XFA data from this [[PDFForm]] (if any exists). This will + * force readers to fallback to standard fields if the [[PDFDocument]] + * contains any. For example: + * + * For example: + * ```js + * const form = pdfDoc.getForm() + * form.deleteXFA() + * ``` + */ + PDFForm.prototype.deleteXFA = function () { + this.acroForm.dict.delete(PDFName.of('XFA')); + }; + /** + * Get all fields contained in this [[PDFForm]]. For example: + * ```js + * const form = pdfDoc.getForm() + * const fields = form.getFields() + * fields.forEach(field => { + * const type = field.constructor.name + * const name = field.getName() + * console.log(`${type}: ${name}`) + * }) + * ``` + * @returns An array of all fields in this form. + */ + PDFForm.prototype.getFields = function () { + var allFields = this.acroForm.getAllFields(); + var fields = []; + for (var idx = 0, len = allFields.length; idx < len; idx++) { + var _a = allFields[idx], acroField = _a[0], ref = _a[1]; + var field = convertToPDFField(acroField, ref, this.doc); + if (field) + fields.push(field); + } + return fields; + }; + /** + * Get the field in this [[PDFForm]] with the given name. For example: + * ```js + * const form = pdfDoc.getForm() + * const field = form.getFieldMaybe('Page1.Foo.Bar[0]') + * if (field) console.log('Field exists!') + * ``` + * @param name A fully qualified field name. + * @returns The field with the specified name, if one exists. + */ + PDFForm.prototype.getFieldMaybe = function (name) { + assertIs(name, 'name', ['string']); + var fields = this.getFields(); + for (var idx = 0, len = fields.length; idx < len; idx++) { + var field = fields[idx]; + if (field.getName() === name) + return field; + } + return undefined; + }; + /** + * Get the field in this [[PDFForm]] with the given name. For example: + * ```js + * const form = pdfDoc.getForm() + * const field = form.getField('Page1.Foo.Bar[0]') + * ``` + * If no field exists with the provided name, an error will be thrown. + * @param name A fully qualified field name. + * @returns The field with the specified name. + */ + PDFForm.prototype.getField = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getFieldMaybe(name); + if (field) + return field; + throw new NoSuchFieldError(name); + }; + /** + * Get the button field in this [[PDFForm]] with the given name. For example: + * ```js + * const form = pdfDoc.getForm() + * const button = form.getButton('Page1.Foo.Button[0]') + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not a button. + * @param name A fully qualified button name. + * @returns The button with the specified name. + */ + PDFForm.prototype.getButton = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFButton) + return field; + throw new UnexpectedFieldTypeError(name, PDFButton, field); + }; + /** + * Get the check box field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const checkBox = form.getCheckBox('Page1.Foo.CheckBox[0]') + * checkBox.check() + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not a check box. + * @param name A fully qualified check box name. + * @returns The check box with the specified name. + */ + PDFForm.prototype.getCheckBox = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFCheckBox) + return field; + throw new UnexpectedFieldTypeError(name, PDFCheckBox, field); + }; + /** + * Get the dropdown field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const dropdown = form.getDropdown('Page1.Foo.Dropdown[0]') + * const options = dropdown.getOptions() + * dropdown.select(options[0]) + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not a dropdown. + * @param name A fully qualified dropdown name. + * @returns The dropdown with the specified name. + */ + PDFForm.prototype.getDropdown = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFDropdown) + return field; + throw new UnexpectedFieldTypeError(name, PDFDropdown, field); + }; + /** + * Get the option list field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const optionList = form.getOptionList('Page1.Foo.OptionList[0]') + * const options = optionList.getOptions() + * optionList.select(options[0]) + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not an option list. + * @param name A fully qualified option list name. + * @returns The option list with the specified name. + */ + PDFForm.prototype.getOptionList = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFOptionList) + return field; + throw new UnexpectedFieldTypeError(name, PDFOptionList, field); + }; + /** + * Get the radio group field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const radioGroup = form.getRadioGroup('Page1.Foo.RadioGroup[0]') + * const options = radioGroup.getOptions() + * radioGroup.select(options[0]) + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not a radio group. + * @param name A fully qualified radio group name. + * @returns The radio group with the specified name. + */ + PDFForm.prototype.getRadioGroup = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFRadioGroup) + return field; + throw new UnexpectedFieldTypeError(name, PDFRadioGroup, field); + }; + /** + * Get the signature field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const signature = form.getSignature('Page1.Foo.Signature[0]') + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not a signature. + * @param name A fully qualified signature name. + * @returns The signature with the specified name. + */ + PDFForm.prototype.getSignature = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFSignature) + return field; + throw new UnexpectedFieldTypeError(name, PDFSignature, field); + }; + /** + * Get the text field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const textField = form.getTextField('Page1.Foo.TextField[0]') + * textField.setText('Are you designed to act or to be acted upon?') + * ``` + * An error will be thrown if no field exists with the provided name, or if + * the field exists but is not a text field. + * @param name A fully qualified text field name. + * @returns The text field with the specified name. + */ + PDFForm.prototype.getTextField = function (name) { + assertIs(name, 'name', ['string']); + var field = this.getField(name); + if (field instanceof PDFTextField) + return field; + throw new UnexpectedFieldTypeError(name, PDFTextField, field); + }; + /** + * Create a new button field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const font = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const button = form.createButton('cool.new.button') + * + * button.addToPage('Do Stuff', font, page) + * ``` + * An error will be thrown if a field already exists with the provided name. + * @param name The fully qualified name for the new button. + * @returns The new button field. + */ + PDFForm.prototype.createButton = function (name) { + assertIs(name, 'name', ['string']); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var button = PDFAcroPushButton.create(this.doc.context); + button.setPartialName(nameParts.terminal); + addFieldToParent(parent, [button, button.ref], nameParts.terminal); + return PDFButton.of(button, button.ref, this.doc); + }; + /** + * Create a new check box field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const font = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const checkBox = form.createCheckBox('cool.new.checkBox') + * + * checkBox.addToPage(page) + * ``` + * An error will be thrown if a field already exists with the provided name. + * @param name The fully qualified name for the new check box. + * @returns The new check box field. + */ + PDFForm.prototype.createCheckBox = function (name) { + assertIs(name, 'name', ['string']); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var checkBox = PDFAcroCheckBox.create(this.doc.context); + checkBox.setPartialName(nameParts.terminal); + addFieldToParent(parent, [checkBox, checkBox.ref], nameParts.terminal); + return PDFCheckBox.of(checkBox, checkBox.ref, this.doc); + }; + /** + * Create a new dropdown field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const font = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const dropdown = form.createDropdown('cool.new.dropdown') + * + * dropdown.addToPage(font, page) + * ``` + * An error will be thrown if a field already exists with the provided name. + * @param name The fully qualified name for the new dropdown. + * @returns The new dropdown field. + */ + PDFForm.prototype.createDropdown = function (name) { + assertIs(name, 'name', ['string']); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var comboBox = PDFAcroComboBox.create(this.doc.context); + comboBox.setPartialName(nameParts.terminal); + addFieldToParent(parent, [comboBox, comboBox.ref], nameParts.terminal); + return PDFDropdown.of(comboBox, comboBox.ref, this.doc); + }; + /** + * Create a new option list field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const font = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const optionList = form.createOptionList('cool.new.optionList') + * + * optionList.addToPage(font, page) + * ``` + * An error will be thrown if a field already exists with the provided name. + * @param name The fully qualified name for the new option list. + * @returns The new option list field. + */ + PDFForm.prototype.createOptionList = function (name) { + assertIs(name, 'name', ['string']); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var listBox = PDFAcroListBox.create(this.doc.context); + listBox.setPartialName(nameParts.terminal); + addFieldToParent(parent, [listBox, listBox.ref], nameParts.terminal); + return PDFOptionList.of(listBox, listBox.ref, this.doc); + }; + /** + * Create a new radio group field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const font = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const radioGroup = form.createRadioGroup('cool.new.radioGroup') + * + * radioGroup.addOptionToPage('is-dog', page, { y: 0 }) + * radioGroup.addOptionToPage('is-cat', page, { y: 75 }) + * ``` + * An error will be thrown if a field already exists with the provided name. + * @param name The fully qualified name for the new radio group. + * @returns The new radio group field. + */ + PDFForm.prototype.createRadioGroup = function (name) { + assertIs(name, 'name', ['string']); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var radioButton = PDFAcroRadioButton.create(this.doc.context); + radioButton.setPartialName(nameParts.terminal); + addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal); + return PDFRadioGroup.of(radioButton, radioButton.ref, this.doc); + }; + /** + * Create a new text field in this [[PDFForm]] with the given name. + * For example: + * ```js + * const font = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const textField = form.createTextField('cool.new.textField') + * + * textField.addToPage(font, page) + * ``` + * An error will be thrown if a field already exists with the provided name. + * @param name The fully qualified name for the new radio group. + * @returns The new radio group field. + */ + PDFForm.prototype.createTextField = function (name) { + assertIs(name, 'name', ['string']); + var nameParts = splitFieldName(name); + var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal); + var text = PDFAcroText.create(this.doc.context); + text.setPartialName(nameParts.terminal); + addFieldToParent(parent, [text, text.ref], nameParts.terminal); + return PDFTextField.of(text, text.ref, this.doc); + }; + /** + * Flatten all fields in this [[PDFForm]]. + * + * Flattening a form field will take the current appearance for each of that + * field's widgets and make them part of their page's content stream. All form + * fields and annotations associated are then removed. Note that once a form + * has been flattened its fields can no longer be accessed or edited. + * + * This operation is often used after filling form fields to ensure a + * consistent appearance across different PDF readers and/or printers. + * Another common use case is to copy a template document with form fields + * into another document. In this scenario you would load the template + * document, fill its fields, flatten it, and then copy its pages into the + * recipient document - the filled fields will be copied over. + * + * For example: + * ```js + * const form = pdfDoc.getForm(); + * form.flatten(); + * ``` + */ + PDFForm.prototype.flatten = function (options) { + if (options === void 0) { options = { updateFieldAppearances: true }; } + if (options.updateFieldAppearances) { + this.updateFieldAppearances(); + } + var fields = this.getFields(); + for (var i = 0, lenFields = fields.length; i < lenFields; i++) { + var field = fields[i]; + var widgets = field.acroField.getWidgets(); + for (var j = 0, lenWidgets = widgets.length; j < lenWidgets; j++) { + var widget = widgets[j]; + var page = this.findWidgetPage(widget); + var widgetRef = this.findWidgetAppearanceRef(field, widget); + var xObjectKey = page.node.newXObject('FlatWidget', widgetRef); + var rectangle = widget.getRectangle(); + var operators = __spreadArrays([ + pushGraphicsState(), + translate(rectangle.x, rectangle.y) + ], rotateInPlace(__assign(__assign({}, rectangle), { rotation: 0 })), [ + drawObject(xObjectKey), + popGraphicsState(), + ]).filter(Boolean); + page.pushOperators.apply(page, operators); + } + this.removeField(field); + } + }; + /** + * Remove a field from this [[PDFForm]]. + * + * For example: + * ```js + * const form = pdfDoc.getForm(); + * const ageField = form.getFields().find(x => x.getName() === 'Age'); + * form.removeField(ageField); + * ``` + */ + PDFForm.prototype.removeField = function (field) { + var widgets = field.acroField.getWidgets(); + var pages = new Set(); + for (var i = 0, len = widgets.length; i < len; i++) { + var widget = widgets[i]; + var widgetRef = this.findWidgetAppearanceRef(field, widget); + var page = this.findWidgetPage(widget); + pages.add(page); + page.node.removeAnnot(widgetRef); + } + pages.forEach(function (page) { return page.node.removeAnnot(field.ref); }); + this.acroForm.removeField(field.acroField); + var fieldKids = field.acroField.normalizedEntries().Kids; + var kidsCount = fieldKids.size(); + for (var childIndex = 0; childIndex < kidsCount; childIndex++) { + var child = fieldKids.get(childIndex); + if (child instanceof PDFRef) { + this.doc.context.delete(child); + } + } + this.doc.context.delete(field.ref); + }; + /** + * Update the appearance streams for all widgets of all fields in this + * [[PDFForm]]. Appearance streams will only be created for a widget if it + * does not have any existing appearance streams, or the field's value has + * changed (e.g. by calling [[PDFTextField.setText]] or + * [[PDFDropdown.select]]). + * + * For example: + * ```js + * const courier = await pdfDoc.embedFont(StandardFonts.Courier) + * const form = pdfDoc.getForm() + * form.updateFieldAppearances(courier) + * ``` + * + * **IMPORTANT:** The default value for the `font` parameter is + * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means + * that encoding errors will be thrown if any fields contain text with + * characters outside the WinAnsi character set (the latin alphabet). + * + * Embedding a custom font and passing that as the `font` + * parameter allows you to generate appearance streams with non WinAnsi + * characters (assuming your custom font supports them). + * + * > **NOTE:** The [[PDFDocument.save]] method will call this method to + * > update appearances automatically if a form was accessed via the + * > [[PDFDocument.getForm]] method prior to saving. + * + * @param font Optionally, the font to use when creating new appearances. + */ + PDFForm.prototype.updateFieldAppearances = function (font) { + assertOrUndefined(font, 'font', [[PDFFont, 'PDFFont']]); + font = font !== null && font !== void 0 ? font : this.getDefaultFont(); + var fields = this.getFields(); + for (var idx = 0, len = fields.length; idx < len; idx++) { + var field = fields[idx]; + if (field.needsAppearancesUpdate()) { + field.defaultUpdateAppearances(font); + } + } + }; + /** + * Mark a field as dirty. This will cause its appearance streams to be + * updated by [[PDFForm.updateFieldAppearances]]. + * ```js + * const form = pdfDoc.getForm() + * const field = form.getField('foo.bar') + * form.markFieldAsDirty(field.ref) + * ``` + * @param fieldRef The reference to the field that should be marked. + */ + PDFForm.prototype.markFieldAsDirty = function (fieldRef) { + assertOrUndefined(fieldRef, 'fieldRef', [[PDFRef, 'PDFRef']]); + this.dirtyFields.add(fieldRef); + }; + /** + * Mark a field as dirty. This will cause its appearance streams to not be + * updated by [[PDFForm.updateFieldAppearances]]. + * ```js + * const form = pdfDoc.getForm() + * const field = form.getField('foo.bar') + * form.markFieldAsClean(field.ref) + * ``` + * @param fieldRef The reference to the field that should be marked. + */ + PDFForm.prototype.markFieldAsClean = function (fieldRef) { + assertOrUndefined(fieldRef, 'fieldRef', [[PDFRef, 'PDFRef']]); + this.dirtyFields.delete(fieldRef); + }; + /** + * Returns `true` is the specified field has been marked as dirty. + * ```js + * const form = pdfDoc.getForm() + * const field = form.getField('foo.bar') + * if (form.fieldIsDirty(field.ref)) console.log('Field is dirty') + * ``` + * @param fieldRef The reference to the field that should be checked. + * @returns Whether or not the specified field is dirty. + */ + PDFForm.prototype.fieldIsDirty = function (fieldRef) { + assertOrUndefined(fieldRef, 'fieldRef', [[PDFRef, 'PDFRef']]); + return this.dirtyFields.has(fieldRef); + }; + PDFForm.prototype.getDefaultFont = function () { + return this.defaultFontCache.access(); + }; + PDFForm.prototype.findWidgetPage = function (widget) { + var pageRef = widget.P(); + var page = this.doc.getPages().find(function (x) { return x.ref === pageRef; }); + if (page === undefined) { + var widgetRef = this.doc.context.getObjectRef(widget.dict); + if (widgetRef === undefined) { + throw new Error('Could not find PDFRef for PDFObject'); + } + page = this.doc.findPageForAnnotationRef(widgetRef); + if (page === undefined) { + throw new Error("Could not find page for PDFRef " + widgetRef); + } + } + return page; + }; + PDFForm.prototype.findWidgetAppearanceRef = function (field, widget) { + var _a; + var refOrDict = widget.getNormalAppearance(); + if (refOrDict instanceof PDFDict && + (field instanceof PDFCheckBox || field instanceof PDFRadioGroup)) { + var value = field.acroField.getValue(); + var ref = (_a = refOrDict.get(value)) !== null && _a !== void 0 ? _a : refOrDict.get(PDFName.of('Off')); + if (ref instanceof PDFRef) { + refOrDict = ref; + } + } + if (!(refOrDict instanceof PDFRef)) { + var name_1 = field.getName(); + throw new Error("Failed to extract appearance ref for: " + name_1); + } + return refOrDict; + }; + PDFForm.prototype.findOrCreateNonTerminals = function (partialNames) { + var nonTerminal = [ + this.acroForm, + ]; + for (var idx = 0, len = partialNames.length; idx < len; idx++) { + var namePart = partialNames[idx]; + if (!namePart) + throw new InvalidFieldNamePartError(namePart); + var parent_1 = nonTerminal[0], parentRef = nonTerminal[1]; + var res = this.findNonTerminal(namePart, parent_1); + if (res) { + nonTerminal = res; + } + else { + var node = PDFAcroNonTerminal.create(this.doc.context); + node.setPartialName(namePart); + node.setParent(parentRef); + var nodeRef = this.doc.context.register(node.dict); + parent_1.addField(nodeRef); + nonTerminal = [node, nodeRef]; + } + } + return nonTerminal; + }; + PDFForm.prototype.findNonTerminal = function (partialName, parent) { + var fields = parent instanceof PDFAcroForm + ? this.acroForm.getFields() + : createPDFAcroFields(parent.Kids()); + for (var idx = 0, len = fields.length; idx < len; idx++) { + var _a = fields[idx], field = _a[0], ref = _a[1]; + if (field.getPartialName() === partialName) { + if (field instanceof PDFAcroNonTerminal) + return [field, ref]; + throw new FieldAlreadyExistsError(partialName); + } + } + return undefined; + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.getForm]] method, which will create an + * > instance of [[PDFForm]] for you. + * + * Create an instance of [[PDFForm]] from an existing acroForm and embedder + * + * @param acroForm The underlying `PDFAcroForm` for this form. + * @param doc The document to which the form will belong. + */ + PDFForm.of = function (acroForm, doc) { + return new PDFForm(acroForm, doc); + }; + return PDFForm; +}()); +var convertToPDFField = function (field, ref, doc) { + if (field instanceof PDFAcroPushButton) + return PDFButton.of(field, ref, doc); + if (field instanceof PDFAcroCheckBox) + return PDFCheckBox.of(field, ref, doc); + if (field instanceof PDFAcroComboBox) + return PDFDropdown.of(field, ref, doc); + if (field instanceof PDFAcroListBox) + return PDFOptionList.of(field, ref, doc); + if (field instanceof PDFAcroText) + return PDFTextField.of(field, ref, doc); + if (field instanceof PDFAcroRadioButton) { + return PDFRadioGroup.of(field, ref, doc); + } + if (field instanceof PDFAcroSignature) { + return PDFSignature.of(field, ref, doc); + } + return undefined; +}; +var splitFieldName = function (fullyQualifiedName) { + if (fullyQualifiedName.length === 0) { + throw new Error('PDF field names must not be empty strings'); + } + var parts = fullyQualifiedName.split('.'); + for (var idx = 0, len = parts.length; idx < len; idx++) { + if (parts[idx] === '') { + throw new Error("Periods in PDF field names must be separated by at least one character: \"" + fullyQualifiedName + "\""); + } + } + if (parts.length === 1) + return { nonTerminal: [], terminal: parts[0] }; + return { + nonTerminal: parts.slice(0, parts.length - 1), + terminal: parts[parts.length - 1], + }; +}; +var addFieldToParent = function (_a, _b, partialName) { + var parent = _a[0], parentRef = _a[1]; + var field = _b[0], fieldRef = _b[1]; + var entries = parent.normalizedEntries(); + var fields = createPDFAcroFields('Kids' in entries ? entries.Kids : entries.Fields); + for (var idx = 0, len = fields.length; idx < len; idx++) { + if (fields[idx][0].getPartialName() === partialName) { + throw new FieldAlreadyExistsError(partialName); + } + } + parent.addField(fieldRef); + field.setParent(parentRef); +}; + +var PageSizes = { + '4A0': [4767.87, 6740.79], + '2A0': [3370.39, 4767.87], + A0: [2383.94, 3370.39], + A1: [1683.78, 2383.94], + A2: [1190.55, 1683.78], + A3: [841.89, 1190.55], + A4: [595.28, 841.89], + A5: [419.53, 595.28], + A6: [297.64, 419.53], + A7: [209.76, 297.64], + A8: [147.4, 209.76], + A9: [104.88, 147.4], + A10: [73.7, 104.88], + B0: [2834.65, 4008.19], + B1: [2004.09, 2834.65], + B2: [1417.32, 2004.09], + B3: [1000.63, 1417.32], + B4: [708.66, 1000.63], + B5: [498.9, 708.66], + B6: [354.33, 498.9], + B7: [249.45, 354.33], + B8: [175.75, 249.45], + B9: [124.72, 175.75], + B10: [87.87, 124.72], + C0: [2599.37, 3676.54], + C1: [1836.85, 2599.37], + C2: [1298.27, 1836.85], + C3: [918.43, 1298.27], + C4: [649.13, 918.43], + C5: [459.21, 649.13], + C6: [323.15, 459.21], + C7: [229.61, 323.15], + C8: [161.57, 229.61], + C9: [113.39, 161.57], + C10: [79.37, 113.39], + RA0: [2437.8, 3458.27], + RA1: [1729.13, 2437.8], + RA2: [1218.9, 1729.13], + RA3: [864.57, 1218.9], + RA4: [609.45, 864.57], + SRA0: [2551.18, 3628.35], + SRA1: [1814.17, 2551.18], + SRA2: [1275.59, 1814.17], + SRA3: [907.09, 1275.59], + SRA4: [637.8, 907.09], + Executive: [521.86, 756.0], + Folio: [612.0, 936.0], + Legal: [612.0, 1008.0], + Letter: [612.0, 792.0], + Tabloid: [792.0, 1224.0], +}; + +var ParseSpeeds; +(function (ParseSpeeds) { + ParseSpeeds[ParseSpeeds["Fastest"] = Infinity] = "Fastest"; + ParseSpeeds[ParseSpeeds["Fast"] = 1500] = "Fast"; + ParseSpeeds[ParseSpeeds["Medium"] = 500] = "Medium"; + ParseSpeeds[ParseSpeeds["Slow"] = 100] = "Slow"; +})(ParseSpeeds || (ParseSpeeds = {})); + +/** + * Represents a file that has been embedded in a [[PDFDocument]]. + */ +var PDFEmbeddedFile = /** @class */ (function () { + function PDFEmbeddedFile(ref, doc, embedder) { + this.alreadyEmbedded = false; + this.ref = ref; + this.doc = doc; + this.embedder = embedder; + } + /** + * > **NOTE:** You probably don't need to call this method directly. The + * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will + * > automatically ensure all embeddable files get embedded. + * + * Embed this embeddable file in its document. + * + * @returns Resolves when the embedding is complete. + */ + PDFEmbeddedFile.prototype.embed = function () { + return __awaiter(this, void 0, void 0, function () { + var ref, Names, EmbeddedFiles, EFNames, AF; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!!this.alreadyEmbedded) return [3 /*break*/, 2]; + return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + ref = _a.sent(); + if (!this.doc.catalog.has(PDFName.of('Names'))) { + this.doc.catalog.set(PDFName.of('Names'), this.doc.context.obj({})); + } + Names = this.doc.catalog.lookup(PDFName.of('Names'), PDFDict); + if (!Names.has(PDFName.of('EmbeddedFiles'))) { + Names.set(PDFName.of('EmbeddedFiles'), this.doc.context.obj({})); + } + EmbeddedFiles = Names.lookup(PDFName.of('EmbeddedFiles'), PDFDict); + if (!EmbeddedFiles.has(PDFName.of('Names'))) { + EmbeddedFiles.set(PDFName.of('Names'), this.doc.context.obj([])); + } + EFNames = EmbeddedFiles.lookup(PDFName.of('Names'), PDFArray); + EFNames.push(PDFHexString.fromText(this.embedder.fileName)); + EFNames.push(ref); + /** + * The AF-Tag is needed to achieve PDF-A3 compliance for embedded files + * + * The following document outlines the uses cases of the associated files (AF) tag. + * See: + * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf + */ + if (!this.doc.catalog.has(PDFName.of('AF'))) { + this.doc.catalog.set(PDFName.of('AF'), this.doc.context.obj([])); + } + AF = this.doc.catalog.lookup(PDFName.of('AF'), PDFArray); + AF.push(ref); + this.alreadyEmbedded = true; + _a.label = 2; + case 2: return [2 /*return*/]; + } + }); + }); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.attach]] method, which will create + * instances of [[PDFEmbeddedFile]] for you. + * + * Create an instance of [[PDFEmbeddedFile]] from an existing ref and embedder + * + * @param ref The unique reference for this file. + * @param doc The document to which the file will belong. + * @param embedder The embedder that will be used to embed the file. + */ + PDFEmbeddedFile.of = function (ref, doc, embedder) { + return new PDFEmbeddedFile(ref, doc, embedder); + }; + return PDFEmbeddedFile; +}()); + +/** + * Represents JavaScript that has been embedded in a [[PDFDocument]]. + */ +var PDFJavaScript = /** @class */ (function () { + function PDFJavaScript(ref, doc, embedder) { + this.alreadyEmbedded = false; + this.ref = ref; + this.doc = doc; + this.embedder = embedder; + } + /** + * > **NOTE:** You probably don't need to call this method directly. The + * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will + * > automatically ensure all JavaScripts get embedded. + * + * Embed this JavaScript in its document. + * + * @returns Resolves when the embedding is complete. + */ + PDFJavaScript.prototype.embed = function () { + return __awaiter(this, void 0, void 0, function () { + var _a, catalog, context, ref, Names, Javascript, JSNames; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (!!this.alreadyEmbedded) return [3 /*break*/, 2]; + _a = this.doc, catalog = _a.catalog, context = _a.context; + return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)]; + case 1: + ref = _b.sent(); + if (!catalog.has(PDFName.of('Names'))) { + catalog.set(PDFName.of('Names'), context.obj({})); + } + Names = catalog.lookup(PDFName.of('Names'), PDFDict); + if (!Names.has(PDFName.of('JavaScript'))) { + Names.set(PDFName.of('JavaScript'), context.obj({})); + } + Javascript = Names.lookup(PDFName.of('JavaScript'), PDFDict); + if (!Javascript.has(PDFName.of('Names'))) { + Javascript.set(PDFName.of('Names'), context.obj([])); + } + JSNames = Javascript.lookup(PDFName.of('Names'), PDFArray); + JSNames.push(PDFHexString.fromText(this.embedder.scriptName)); + JSNames.push(ref); + this.alreadyEmbedded = true; + _b.label = 2; + case 2: return [2 /*return*/]; + } + }); + }); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.addJavaScript]] method, which will + * create instances of [[PDFJavaScript]] for you. + * + * Create an instance of [[PDFJavaScript]] from an existing ref and script + * + * @param ref The unique reference for this script. + * @param doc The document to which the script will belong. + * @param embedder The embedder that will be used to embed the script. + */ + PDFJavaScript.of = function (ref, doc, embedder) { + return new PDFJavaScript(ref, doc, embedder); + }; + return PDFJavaScript; +}()); + +var JavaScriptEmbedder = /** @class */ (function () { + function JavaScriptEmbedder(script, scriptName) { + this.script = script; + this.scriptName = scriptName; + } + JavaScriptEmbedder.for = function (script, scriptName) { + return new JavaScriptEmbedder(script, scriptName); + }; + JavaScriptEmbedder.prototype.embedIntoContext = function (context, ref) { + return __awaiter(this, void 0, void 0, function () { + var jsActionDict; + return __generator(this, function (_a) { + jsActionDict = context.obj({ + Type: 'Action', + S: 'JavaScript', + JS: PDFHexString.fromText(this.script), + }); + if (ref) { + context.assign(ref, jsActionDict); + return [2 /*return*/, ref]; + } + else { + return [2 /*return*/, context.register(jsActionDict)]; + } + }); + }); + }; + return JavaScriptEmbedder; +}()); + +/** + * Represents a PDF document. + */ +var PDFDocument = /** @class */ (function () { + function PDFDocument(context, ignoreEncryption, updateMetadata) { + var _this = this; + /** The default word breaks used in PDFPage.drawText */ + this.defaultWordBreaks = [' ']; + this.computePages = function () { + var pages = []; + _this.catalog.Pages().traverse(function (node, ref) { + if (node instanceof PDFPageLeaf) { + var page = _this.pageMap.get(node); + if (!page) { + page = PDFPage.of(node, ref, _this); + _this.pageMap.set(node, page); + } + pages.push(page); + } + }); + return pages; + }; + this.getOrCreateForm = function () { + var acroForm = _this.catalog.getOrCreateAcroForm(); + return PDFForm.of(acroForm, _this); + }; + assertIs(context, 'context', [[PDFContext, 'PDFContext']]); + assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']); + this.context = context; + this.catalog = context.lookup(context.trailerInfo.Root); + this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt); + this.pageCache = Cache.populatedBy(this.computePages); + this.pageMap = new Map(); + this.formCache = Cache.populatedBy(this.getOrCreateForm); + this.fonts = []; + this.images = []; + this.embeddedPages = []; + this.embeddedFiles = []; + this.javaScripts = []; + if (!ignoreEncryption && this.isEncrypted) + throw new EncryptedPDFError(); + if (updateMetadata) + this.updateInfoDict(); + } + /** + * Load an existing [[PDFDocument]]. The input data can be provided in + * multiple formats: + * + * | Type | Contents | + * | ------------- | ------------------------------------------------------ | + * | `string` | A base64 encoded string (or data URI) containing a PDF | + * | `Uint8Array` | The raw bytes of a PDF | + * | `ArrayBuffer` | The raw bytes of a PDF | + * + * For example: + * ```js + * import { PDFDocument } from 'pdf-lib' + * + * // pdf=string + * const base64 = + * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' + + * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' + + * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' + + * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' + + * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' + + * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' + + * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' + + * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' + + * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' + + * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' + + * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' + + * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' + + * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' + + * 'FydHhyZWYKNTEwCiUlRU9G' + * + * const dataUri = 'data:application/pdf;base64,' + base64 + * + * const pdfDoc1 = await PDFDocument.load(base64) + * const pdfDoc2 = await PDFDocument.load(dataUri) + * + * // pdf=Uint8Array + * import fs from 'fs' + * const uint8Array = fs.readFileSync('with_update_sections.pdf') + * const pdfDoc3 = await PDFDocument.load(uint8Array) + * + * // pdf=ArrayBuffer + * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf' + * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer()) + * const pdfDoc4 = await PDFDocument.load(arrayBuffer) + * + * ``` + * + * @param pdf The input data containing a PDF document. + * @param options The options to be used when loading the document. + * @returns Resolves with a document loaded from the input. + */ + PDFDocument.load = function (pdf, options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context; + return __generator(this, function (_f) { + switch (_f.label) { + case 0: + _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? ParseSpeeds.Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e; + assertIs(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]); + assertIs(ignoreEncryption, 'ignoreEncryption', ['boolean']); + assertIs(parseSpeed, 'parseSpeed', ['number']); + assertIs(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']); + bytes = toUint8Array(pdf); + return [4 /*yield*/, PDFParser.forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()]; + case 1: + context = _f.sent(); + return [2 /*return*/, new PDFDocument(context, ignoreEncryption, updateMetadata)]; + } + }); + }); + }; + /** + * Create a new [[PDFDocument]]. + * @returns Resolves with the newly created document. + */ + PDFDocument.create = function (options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, updateMetadata, context, pageTree, pageTreeRef, catalog; + return __generator(this, function (_b) { + _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a; + context = PDFContext.create(); + pageTree = PDFPageTree.withContext(context); + pageTreeRef = context.register(pageTree); + catalog = PDFCatalog.withContextAndPages(context, pageTreeRef); + context.trailerInfo.Root = context.register(catalog); + return [2 /*return*/, new PDFDocument(context, false, updateMetadata)]; + }); + }); + }; + /** + * Register a fontkit instance. This must be done before custom fonts can + * be embedded. See [here](https://github.com/Hopding/pdf-lib/tree/master#fontkit-installation) + * for instructions on how to install and register a fontkit instance. + * + * > You do **not** need to call this method to embed standard fonts. + * + * For example: + * ```js + * import { PDFDocument } from 'pdf-lib' + * import fontkit from '@pdf-lib/fontkit' + * + * const pdfDoc = await PDFDocument.create() + * pdfDoc.registerFontkit(fontkit) + * ``` + * + * @param fontkit The fontkit instance to be registered. + */ + PDFDocument.prototype.registerFontkit = function (fontkit) { + this.fontkit = fontkit; + }; + /** + * Get the [[PDFForm]] containing all interactive fields for this document. + * For example: + * ```js + * const form = pdfDoc.getForm() + * const fields = form.getFields() + * fields.forEach(field => { + * const type = field.constructor.name + * const name = field.getName() + * console.log(`${type}: ${name}`) + * }) + * ``` + * @returns The form for this document. + */ + PDFDocument.prototype.getForm = function () { + var form = this.formCache.access(); + if (form.hasXFA()) { + console.warn('Removing XFA form data as pdf-lib does not support reading or writing XFA'); + form.deleteXFA(); + } + return form; + }; + /** + * Get this document's title metadata. The title appears in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * const title = pdfDoc.getTitle() + * ``` + * @returns A string containing the title of this document, if it has one. + */ + PDFDocument.prototype.getTitle = function () { + var title = this.getInfoDict().lookup(PDFName.Title); + if (!title) + return undefined; + assertIsLiteralOrHexString(title); + return title.decodeText(); + }; + /** + * Get this document's author metadata. The author appears in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * const author = pdfDoc.getAuthor() + * ``` + * @returns A string containing the author of this document, if it has one. + */ + PDFDocument.prototype.getAuthor = function () { + var author = this.getInfoDict().lookup(PDFName.Author); + if (!author) + return undefined; + assertIsLiteralOrHexString(author); + return author.decodeText(); + }; + /** + * Get this document's subject metadata. The subject appears in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * const subject = pdfDoc.getSubject() + * ``` + * @returns A string containing the subject of this document, if it has one. + */ + PDFDocument.prototype.getSubject = function () { + var subject = this.getInfoDict().lookup(PDFName.Subject); + if (!subject) + return undefined; + assertIsLiteralOrHexString(subject); + return subject.decodeText(); + }; + /** + * Get this document's keywords metadata. The keywords appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * const keywords = pdfDoc.getKeywords() + * ``` + * @returns A string containing the keywords of this document, if it has any. + */ + PDFDocument.prototype.getKeywords = function () { + var keywords = this.getInfoDict().lookup(PDFName.Keywords); + if (!keywords) + return undefined; + assertIsLiteralOrHexString(keywords); + return keywords.decodeText(); + }; + /** + * Get this document's creator metadata. The creator appears in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * const creator = pdfDoc.getCreator() + * ``` + * @returns A string containing the creator of this document, if it has one. + */ + PDFDocument.prototype.getCreator = function () { + var creator = this.getInfoDict().lookup(PDFName.Creator); + if (!creator) + return undefined; + assertIsLiteralOrHexString(creator); + return creator.decodeText(); + }; + /** + * Get this document's producer metadata. The producer appears in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * const producer = pdfDoc.getProducer() + * ``` + * @returns A string containing the producer of this document, if it has one. + */ + PDFDocument.prototype.getProducer = function () { + var producer = this.getInfoDict().lookup(PDFName.Producer); + if (!producer) + return undefined; + assertIsLiteralOrHexString(producer); + return producer.decodeText(); + }; + /** + * Get this document's creation date metadata. The creation date appears in + * the "Document Properties" section of most PDF readers. For example: + * ```js + * const creationDate = pdfDoc.getCreationDate() + * ``` + * @returns A Date containing the creation date of this document, + * if it has one. + */ + PDFDocument.prototype.getCreationDate = function () { + var creationDate = this.getInfoDict().lookup(PDFName.CreationDate); + if (!creationDate) + return undefined; + assertIsLiteralOrHexString(creationDate); + return creationDate.decodeDate(); + }; + /** + * Get this document's modification date metadata. The modification date + * appears in the "Document Properties" section of most PDF readers. + * For example: + * ```js + * const modification = pdfDoc.getModificationDate() + * ``` + * @returns A Date containing the modification date of this document, + * if it has one. + */ + PDFDocument.prototype.getModificationDate = function () { + var modificationDate = this.getInfoDict().lookup(PDFName.ModDate); + if (!modificationDate) + return undefined; + assertIsLiteralOrHexString(modificationDate); + return modificationDate.decodeDate(); + }; + /** + * Set this document's title metadata. The title will appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setTitle('🥚 The Life of an Egg 🍳') + * ``` + * + * To display the title in the window's title bar, set the + * `showInWindowTitleBar` option to `true` (works for _most_ PDF readers). + * For example: + * ```js + * pdfDoc.setTitle('🥚 The Life of an Egg 🍳', { showInWindowTitleBar: true }) + * ``` + * + * @param title The title of this document. + * @param options The options to be used when setting the title. + */ + PDFDocument.prototype.setTitle = function (title, options) { + assertIs(title, 'title', ['string']); + var key = PDFName.of('Title'); + this.getInfoDict().set(key, PDFHexString.fromText(title)); + // Indicate that readers should display the title rather than the filename + if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) { + var prefs = this.catalog.getOrCreateViewerPreferences(); + prefs.setDisplayDocTitle(true); + } + }; + /** + * Set this document's author metadata. The author will appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setAuthor('Humpty Dumpty') + * ``` + * @param author The author of this document. + */ + PDFDocument.prototype.setAuthor = function (author) { + assertIs(author, 'author', ['string']); + var key = PDFName.of('Author'); + this.getInfoDict().set(key, PDFHexString.fromText(author)); + }; + /** + * Set this document's subject metadata. The subject will appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setSubject('📘 An Epic Tale of Woe 📖') + * ``` + * @param subject The subject of this document. + */ + PDFDocument.prototype.setSubject = function (subject) { + assertIs(subject, 'author', ['string']); + var key = PDFName.of('Subject'); + this.getInfoDict().set(key, PDFHexString.fromText(subject)); + }; + /** + * Set this document's keyword metadata. These keywords will appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setKeywords(['eggs', 'wall', 'fall', 'king', 'horses', 'men']) + * ``` + * @param keywords An array of keywords associated with this document. + */ + PDFDocument.prototype.setKeywords = function (keywords) { + assertIs(keywords, 'keywords', [Array]); + var key = PDFName.of('Keywords'); + this.getInfoDict().set(key, PDFHexString.fromText(keywords.join(' '))); + }; + /** + * Set this document's creator metadata. The creator will appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setCreator('PDF App 9000 🤖') + * ``` + * @param creator The creator of this document. + */ + PDFDocument.prototype.setCreator = function (creator) { + assertIs(creator, 'creator', ['string']); + var key = PDFName.of('Creator'); + this.getInfoDict().set(key, PDFHexString.fromText(creator)); + }; + /** + * Set this document's producer metadata. The producer will appear in the + * "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setProducer('PDF App 9000 🤖') + * ``` + * @param producer The producer of this document. + */ + PDFDocument.prototype.setProducer = function (producer) { + assertIs(producer, 'creator', ['string']); + var key = PDFName.of('Producer'); + this.getInfoDict().set(key, PDFHexString.fromText(producer)); + }; + /** + * Set this document's language metadata. The language will appear in the + * "Document Properties" section of some PDF readers. For example: + * ```js + * pdfDoc.setLanguage('en-us') + * ``` + * + * @param language An RFC 3066 _Language-Tag_ denoting the language of this + * document, or an empty string if the language is unknown. + */ + PDFDocument.prototype.setLanguage = function (language) { + assertIs(language, 'language', ['string']); + var key = PDFName.of('Lang'); + this.catalog.set(key, PDFString.of(language)); + }; + /** + * Set this document's creation date metadata. The creation date will appear + * in the "Document Properties" section of most PDF readers. For example: + * ```js + * pdfDoc.setCreationDate(new Date()) + * ``` + * @param creationDate The date this document was created. + */ + PDFDocument.prototype.setCreationDate = function (creationDate) { + assertIs(creationDate, 'creationDate', [[Date, 'Date']]); + var key = PDFName.of('CreationDate'); + this.getInfoDict().set(key, PDFString.fromDate(creationDate)); + }; + /** + * Set this document's modification date metadata. The modification date will + * appear in the "Document Properties" section of most PDF readers. For + * example: + * ```js + * pdfDoc.setModificationDate(new Date()) + * ``` + * @param modificationDate The date this document was last modified. + */ + PDFDocument.prototype.setModificationDate = function (modificationDate) { + assertIs(modificationDate, 'modificationDate', [[Date, 'Date']]); + var key = PDFName.of('ModDate'); + this.getInfoDict().set(key, PDFString.fromDate(modificationDate)); + }; + /** + * Get the number of pages contained in this document. For example: + * ```js + * const totalPages = pdfDoc.getPageCount() + * ``` + * @returns The number of pages in this document. + */ + PDFDocument.prototype.getPageCount = function () { + if (this.pageCount === undefined) + this.pageCount = this.getPages().length; + return this.pageCount; + }; + /** + * Get an array of all the pages contained in this document. The pages are + * stored in the array in the same order that they are rendered in the + * document. For example: + * ```js + * const pages = pdfDoc.getPages() + * pages[0] // The first page of the document + * pages[2] // The third page of the document + * pages[197] // The 198th page of the document + * ``` + * @returns An array of all the pages contained in this document. + */ + PDFDocument.prototype.getPages = function () { + return this.pageCache.access(); + }; + /** + * Get the page rendered at a particular `index` of the document. For example: + * ```js + * pdfDoc.getPage(0) // The first page of the document + * pdfDoc.getPage(2) // The third page of the document + * pdfDoc.getPage(197) // The 198th page of the document + * ``` + * @returns The [[PDFPage]] rendered at the given `index` of the document. + */ + PDFDocument.prototype.getPage = function (index) { + var pages = this.getPages(); + assertRange(index, 'index', 0, pages.length - 1); + return pages[index]; + }; + /** + * Get an array of indices for all the pages contained in this document. The + * array will contain a range of integers from + * `0..pdfDoc.getPageCount() - 1`. For example: + * ```js + * const pdfDoc = await PDFDocument.create() + * pdfDoc.addPage() + * pdfDoc.addPage() + * pdfDoc.addPage() + * + * const indices = pdfDoc.getPageIndices() + * indices // => [0, 1, 2] + * ``` + * @returns An array of indices for all pages contained in this document. + */ + PDFDocument.prototype.getPageIndices = function () { + return range(0, this.getPageCount()); + }; + /** + * Remove the page at a given index from this document. For example: + * ```js + * pdfDoc.removePage(0) // Remove the first page of the document + * pdfDoc.removePage(2) // Remove the third page of the document + * pdfDoc.removePage(197) // Remove the 198th page of the document + * ``` + * Once a page has been removed, it will no longer be rendered at that index + * in the document. + * @param index The index of the page to be removed. + */ + PDFDocument.prototype.removePage = function (index) { + var pageCount = this.getPageCount(); + if (this.pageCount === 0) + throw new RemovePageFromEmptyDocumentError(); + assertRange(index, 'index', 0, pageCount - 1); + this.catalog.removeLeafNode(index); + this.pageCount = pageCount - 1; + }; + /** + * Add a page to the end of this document. This method accepts three + * different value types for the `page` parameter: + * + * | Type | Behavior | + * | ------------------ | ----------------------------------------------------------------------------------- | + * | `undefined` | Create a new page and add it to the end of this document | + * | `[number, number]` | Create a new page with the given dimensions and add it to the end of this document | + * | `PDFPage` | Add the existing page to the end of this document | + * + * For example: + * ```js + * // page=undefined + * const newPage = pdfDoc.addPage() + * + * // page=[number, number] + * import { PageSizes } from 'pdf-lib' + * const newPage1 = pdfDoc.addPage(PageSizes.A7) + * const newPage2 = pdfDoc.addPage(PageSizes.Letter) + * const newPage3 = pdfDoc.addPage([500, 750]) + * + * // page=PDFPage + * const pdfDoc1 = await PDFDocument.create() + * const pdfDoc2 = await PDFDocument.load(...) + * const [existingPage] = await pdfDoc1.copyPages(pdfDoc2, [0]) + * pdfDoc1.addPage(existingPage) + * ``` + * + * @param page Optionally, the desired dimensions or existing page. + * @returns The newly created (or existing) page. + */ + PDFDocument.prototype.addPage = function (page) { + assertIs(page, 'page', ['undefined', [PDFPage, 'PDFPage'], Array]); + return this.insertPage(this.getPageCount(), page); + }; + /** + * Insert a page at a given index within this document. This method accepts + * three different value types for the `page` parameter: + * + * | Type | Behavior | + * | ------------------ | ------------------------------------------------------------------------------ | + * | `undefined` | Create a new page and insert it into this document | + * | `[number, number]` | Create a new page with the given dimensions and insert it into this document | + * | `PDFPage` | Insert the existing page into this document | + * + * For example: + * ```js + * // page=undefined + * const newPage = pdfDoc.insertPage(2) + * + * // page=[number, number] + * import { PageSizes } from 'pdf-lib' + * const newPage1 = pdfDoc.insertPage(2, PageSizes.A7) + * const newPage2 = pdfDoc.insertPage(0, PageSizes.Letter) + * const newPage3 = pdfDoc.insertPage(198, [500, 750]) + * + * // page=PDFPage + * const pdfDoc1 = await PDFDocument.create() + * const pdfDoc2 = await PDFDocument.load(...) + * const [existingPage] = await pdfDoc1.copyPages(pdfDoc2, [0]) + * pdfDoc1.insertPage(0, existingPage) + * ``` + * + * @param index The index at which the page should be inserted (zero-based). + * @param page Optionally, the desired dimensions or existing page. + * @returns The newly created (or existing) page. + */ + PDFDocument.prototype.insertPage = function (index, page) { + var pageCount = this.getPageCount(); + assertRange(index, 'index', 0, pageCount); + assertIs(page, 'page', ['undefined', [PDFPage, 'PDFPage'], Array]); + if (!page || Array.isArray(page)) { + var dims = Array.isArray(page) ? page : PageSizes.A4; + page = PDFPage.create(this); + page.setSize.apply(page, dims); + } + else if (page.doc !== this) { + throw new ForeignPageError(); + } + var parentRef = this.catalog.insertLeafNode(page.ref, index); + page.node.setParent(parentRef); + this.pageMap.set(page.node, page); + this.pageCache.invalidate(); + this.pageCount = pageCount + 1; + return page; + }; + /** + * Copy pages from a source document into this document. Allows pages to be + * copied between different [[PDFDocument]] instances. For example: + * ```js + * const pdfDoc = await PDFDocument.create() + * const srcDoc = await PDFDocument.load(...) + * + * const copiedPages = await pdfDoc.copyPages(srcDoc, [0, 3, 89]) + * const [firstPage, fourthPage, ninetiethPage] = copiedPages; + * + * pdfDoc.addPage(fourthPage) + * pdfDoc.insertPage(0, ninetiethPage) + * pdfDoc.addPage(firstPage) + * ``` + * @param srcDoc The document from which pages should be copied. + * @param indices The indices of the pages that should be copied. + * @returns Resolves with an array of pages copied into this document. + */ + PDFDocument.prototype.copyPages = function (srcDoc, indices) { + return __awaiter(this, void 0, void 0, function () { + var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + assertIs(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]); + assertIs(indices, 'indices', [Array]); + return [4 /*yield*/, srcDoc.flush()]; + case 1: + _a.sent(); + copier = PDFObjectCopier.for(srcDoc.context, this.context); + srcPages = srcDoc.getPages(); + copiedPages = new Array(indices.length); + for (idx = 0, len = indices.length; idx < len; idx++) { + srcPage = srcPages[indices[idx]]; + copiedPage = copier.copy(srcPage.node); + ref = this.context.register(copiedPage); + copiedPages[idx] = PDFPage.of(copiedPage, ref, this); + } + return [2 /*return*/, copiedPages]; + } + }); + }); + }; + /** + * Get a copy of this document. + * + * For example: + * ```js + * const srcDoc = await PDFDocument.load(...) + * const pdfDoc = await srcDoc.copy() + * ``` + * + * > **NOTE:** This method won't copy all information over to the new + * > document (acroforms, outlines, etc...). + * + * @returns Resolves with a copy this document. + */ + PDFDocument.prototype.copy = function () { + return __awaiter(this, void 0, void 0, function () { + var pdfCopy, contentPages, idx, len; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, PDFDocument.create()]; + case 1: + pdfCopy = _a.sent(); + return [4 /*yield*/, pdfCopy.copyPages(this, this.getPageIndices())]; + case 2: + contentPages = _a.sent(); + for (idx = 0, len = contentPages.length; idx < len; idx++) { + pdfCopy.addPage(contentPages[idx]); + } + if (this.getAuthor() !== undefined) { + pdfCopy.setAuthor(this.getAuthor()); + } + if (this.getCreationDate() !== undefined) { + pdfCopy.setCreationDate(this.getCreationDate()); + } + if (this.getCreator() !== undefined) { + pdfCopy.setCreator(this.getCreator()); + } + if (this.getModificationDate() !== undefined) { + pdfCopy.setModificationDate(this.getModificationDate()); + } + if (this.getProducer() !== undefined) { + pdfCopy.setProducer(this.getProducer()); + } + if (this.getSubject() !== undefined) { + pdfCopy.setSubject(this.getSubject()); + } + if (this.getTitle() !== undefined) { + pdfCopy.setTitle(this.getTitle()); + } + pdfCopy.defaultWordBreaks = this.defaultWordBreaks; + return [2 /*return*/, pdfCopy]; + } + }); + }); + }; + /** + * Add JavaScript to this document. The supplied `script` is executed when the + * document is opened. The `script` can be used to perform some operation + * when the document is opened (e.g. logging to the console), or it can be + * used to define a function that can be referenced later in a JavaScript + * action. For example: + * ```js + * // Show "Hello World!" in the console when the PDF is opened + * pdfDoc.addJavaScript( + * 'main', + * 'console.show(); console.println("Hello World!");' + * ); + * + * // Define a function named "foo" that can be called in JavaScript Actions + * pdfDoc.addJavaScript( + * 'foo', + * 'function foo() { return "foo"; }' + * ); + * ``` + * See the [JavaScript for Acrobat API Reference](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf) + * for details. + * @param name The name of the script. Must be unique per document. + * @param script The JavaScript to execute. + */ + PDFDocument.prototype.addJavaScript = function (name, script) { + assertIs(name, 'name', ['string']); + assertIs(script, 'script', ['string']); + var embedder = JavaScriptEmbedder.for(script, name); + var ref = this.context.nextRef(); + var javaScript = PDFJavaScript.of(ref, this, embedder); + this.javaScripts.push(javaScript); + }; + /** + * Add an attachment to this document. Attachments are visible in the + * "Attachments" panel of Adobe Acrobat and some other PDF readers. Any + * type of file can be added as an attachment. This includes, but is not + * limited to, `.png`, `.jpg`, `.pdf`, `.csv`, `.docx`, and `.xlsx` files. + * + * The input data can be provided in multiple formats: + * + * | Type | Contents | + * | ------------- | -------------------------------------------------------------- | + * | `string` | A base64 encoded string (or data URI) containing an attachment | + * | `Uint8Array` | The raw bytes of an attachment | + * | `ArrayBuffer` | The raw bytes of an attachment | + * + * For example: + * ```js + * // attachment=string + * await pdfDoc.attach('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...', 'cat_riding_unicorn.jpg', { + * mimeType: 'image/jpeg', + * description: 'Cool cat riding a unicorn! 🦄🐈🕶️', + * creationDate: new Date('2019/12/01'), + * modificationDate: new Date('2020/04/19'), + * }) + * await pdfDoc.attach('data:image/jpeg;base64,/9j/4AAQ...', 'cat_riding_unicorn.jpg', { + * mimeType: 'image/jpeg', + * description: 'Cool cat riding a unicorn! 🦄🐈🕶️', + * creationDate: new Date('2019/12/01'), + * modificationDate: new Date('2020/04/19'), + * }) + * + * // attachment=Uint8Array + * import fs from 'fs' + * const uint8Array = fs.readFileSync('cat_riding_unicorn.jpg') + * await pdfDoc.attach(uint8Array, 'cat_riding_unicorn.jpg', { + * mimeType: 'image/jpeg', + * description: 'Cool cat riding a unicorn! 🦄🐈🕶️', + * creationDate: new Date('2019/12/01'), + * modificationDate: new Date('2020/04/19'), + * }) + * + * // attachment=ArrayBuffer + * const url = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg' + * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer()) + * await pdfDoc.attach(arrayBuffer, 'cat_riding_unicorn.jpg', { + * mimeType: 'image/jpeg', + * description: 'Cool cat riding a unicorn! 🦄🐈🕶️', + * creationDate: new Date('2019/12/01'), + * modificationDate: new Date('2020/04/19'), + * }) + * ``` + * + * @param attachment The input data containing the file to be attached. + * @param name The name of the file to be attached. + * @returns Resolves when the attachment is complete. + */ + PDFDocument.prototype.attach = function (attachment, name, options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var bytes, embedder, ref, embeddedFile; + return __generator(this, function (_a) { + assertIs(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]); + assertIs(name, 'name', ['string']); + assertOrUndefined(options.mimeType, 'mimeType', ['string']); + assertOrUndefined(options.description, 'description', ['string']); + assertOrUndefined(options.creationDate, 'options.creationDate', [Date]); + assertOrUndefined(options.modificationDate, 'options.modificationDate', [ + Date, + ]); + assertIsOneOfOrUndefined(options.afRelationship, 'options.afRelationship', AFRelationship); + bytes = toUint8Array(attachment); + embedder = FileEmbedder.for(bytes, name, options); + ref = this.context.nextRef(); + embeddedFile = PDFEmbeddedFile.of(ref, this, embedder); + this.embeddedFiles.push(embeddedFile); + return [2 /*return*/]; + }); + }); + }; + /** + * Embed a font into this document. The input data can be provided in multiple + * formats: + * + * | Type | Contents | + * | --------------- | ------------------------------------------------------- | + * | `StandardFonts` | One of the standard 14 fonts | + * | `string` | A base64 encoded string (or data URI) containing a font | + * | `Uint8Array` | The raw bytes of a font | + * | `ArrayBuffer` | The raw bytes of a font | + * + * For example: + * ```js + * // font=StandardFonts + * import { StandardFonts } from 'pdf-lib' + * const font1 = await pdfDoc.embedFont(StandardFonts.Helvetica) + * + * // font=string + * const font2 = await pdfDoc.embedFont('AAEAAAAVAQAABABQRFNJRx/upe...') + * const font3 = await pdfDoc.embedFont('data:font/opentype;base64,AAEAAA...') + * + * // font=Uint8Array + * import fs from 'fs' + * const font4 = await pdfDoc.embedFont(fs.readFileSync('Ubuntu-R.ttf')) + * + * // font=ArrayBuffer + * const url = 'https://pdf-lib.js.org/assets/ubuntu/Ubuntu-R.ttf' + * const ubuntuBytes = await fetch(url).then(res => res.arrayBuffer()) + * const font5 = await pdfDoc.embedFont(ubuntuBytes) + * ``` + * See also: [[registerFontkit]] + * @param font The input data for a font. + * @param options The options to be used when embedding the font. + * @returns Resolves with the embedded font. + */ + PDFDocument.prototype.embedFont = function (font, options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features; + assertIs(font, 'font', ['string', Uint8Array, ArrayBuffer]); + assertIs(subset, 'subset', ['boolean']); + if (!isStandardFont(font)) return [3 /*break*/, 1]; + embedder = StandardFontEmbedder.for(font, customName); + return [3 /*break*/, 7]; + case 1: + if (!canBeConvertedToUint8Array(font)) return [3 /*break*/, 6]; + bytes = toUint8Array(font); + fontkit = this.assertFontkit(); + if (!subset) return [3 /*break*/, 3]; + return [4 /*yield*/, CustomFontSubsetEmbedder.for(fontkit, bytes, customName, features)]; + case 2: + _b = _c.sent(); + return [3 /*break*/, 5]; + case 3: return [4 /*yield*/, CustomFontEmbedder.for(fontkit, bytes, customName, features)]; + case 4: + _b = _c.sent(); + _c.label = 5; + case 5: + embedder = _b; + return [3 /*break*/, 7]; + case 6: throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`'); + case 7: + ref = this.context.nextRef(); + pdfFont = PDFFont.of(ref, this, embedder); + this.fonts.push(pdfFont); + return [2 /*return*/, pdfFont]; + } + }); + }); + }; + /** + * Embed a standard font into this document. + * For example: + * ```js + * import { StandardFonts } from 'pdf-lib' + * const helveticaFont = pdfDoc.embedFont(StandardFonts.Helvetica) + * ``` + * @param font The standard font to be embedded. + * @param customName The name to be used when embedding the font. + * @returns The embedded font. + */ + PDFDocument.prototype.embedStandardFont = function (font, customName) { + assertIs(font, 'font', ['string']); + if (!isStandardFont(font)) { + throw new TypeError('`font` must be one of type `StandardFonts`'); + } + var embedder = StandardFontEmbedder.for(font, customName); + var ref = this.context.nextRef(); + var pdfFont = PDFFont.of(ref, this, embedder); + this.fonts.push(pdfFont); + return pdfFont; + }; + /** + * Embed a JPEG image into this document. The input data can be provided in + * multiple formats: + * + * | Type | Contents | + * | ------------- | ------------------------------------------------------------- | + * | `string` | A base64 encoded string (or data URI) containing a JPEG image | + * | `Uint8Array` | The raw bytes of a JPEG image | + * | `ArrayBuffer` | The raw bytes of a JPEG image | + * + * For example: + * ```js + * // jpg=string + * const image1 = await pdfDoc.embedJpg('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...') + * const image2 = await pdfDoc.embedJpg('data:image/jpeg;base64,/9j/4AAQ...') + * + * // jpg=Uint8Array + * import fs from 'fs' + * const uint8Array = fs.readFileSync('cat_riding_unicorn.jpg') + * const image3 = await pdfDoc.embedJpg(uint8Array) + * + * // jpg=ArrayBuffer + * const url = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg' + * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer()) + * const image4 = await pdfDoc.embedJpg(arrayBuffer) + * ``` + * + * @param jpg The input data for a JPEG image. + * @returns Resolves with the embedded image. + */ + PDFDocument.prototype.embedJpg = function (jpg) { + return __awaiter(this, void 0, void 0, function () { + var bytes, embedder, ref, pdfImage; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + assertIs(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]); + bytes = toUint8Array(jpg); + return [4 /*yield*/, JpegEmbedder.for(bytes)]; + case 1: + embedder = _a.sent(); + ref = this.context.nextRef(); + pdfImage = PDFImage.of(ref, this, embedder); + this.images.push(pdfImage); + return [2 /*return*/, pdfImage]; + } + }); + }); + }; + /** + * Embed a PNG image into this document. The input data can be provided in + * multiple formats: + * + * | Type | Contents | + * | ------------- | ------------------------------------------------------------ | + * | `string` | A base64 encoded string (or data URI) containing a PNG image | + * | `Uint8Array` | The raw bytes of a PNG image | + * | `ArrayBuffer` | The raw bytes of a PNG image | + * + * For example: + * ```js + * // png=string + * const image1 = await pdfDoc.embedPng('iVBORw0KGgoAAAANSUhEUgAAAlgAAAF3...') + * const image2 = await pdfDoc.embedPng('data:image/png;base64,iVBORw0KGg...') + * + * // png=Uint8Array + * import fs from 'fs' + * const uint8Array = fs.readFileSync('small_mario.png') + * const image3 = await pdfDoc.embedPng(uint8Array) + * + * // png=ArrayBuffer + * const url = 'https://pdf-lib.js.org/assets/small_mario.png' + * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer()) + * const image4 = await pdfDoc.embedPng(arrayBuffer) + * ``` + * + * @param png The input data for a PNG image. + * @returns Resolves with the embedded image. + */ + PDFDocument.prototype.embedPng = function (png) { + return __awaiter(this, void 0, void 0, function () { + var bytes, embedder, ref, pdfImage; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + assertIs(png, 'png', ['string', Uint8Array, ArrayBuffer]); + bytes = toUint8Array(png); + return [4 /*yield*/, PngEmbedder.for(bytes)]; + case 1: + embedder = _a.sent(); + ref = this.context.nextRef(); + pdfImage = PDFImage.of(ref, this, embedder); + this.images.push(pdfImage); + return [2 /*return*/, pdfImage]; + } + }); + }); + }; + /** + * Embed one or more PDF pages into this document. + * + * For example: + * ```js + * const pdfDoc = await PDFDocument.create() + * + * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf' + * const sourcePdf = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer()) + * + * // Embed page 74 of `sourcePdf` into `pdfDoc` + * const [embeddedPage] = await pdfDoc.embedPdf(sourcePdf, [73]) + * ``` + * + * See [[PDFDocument.load]] for examples of the allowed input data formats. + * + * @param pdf The input data containing a PDF document. + * @param indices The indices of the pages that should be embedded. + * @returns Resolves with an array of the embedded pages. + */ + PDFDocument.prototype.embedPdf = function (pdf, indices) { + if (indices === void 0) { indices = [0]; } + return __awaiter(this, void 0, void 0, function () { + var srcDoc, _a, srcPages; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + assertIs(pdf, 'pdf', [ + 'string', + Uint8Array, + ArrayBuffer, + [PDFDocument, 'PDFDocument'], + ]); + assertIs(indices, 'indices', [Array]); + if (!(pdf instanceof PDFDocument)) return [3 /*break*/, 1]; + _a = pdf; + return [3 /*break*/, 3]; + case 1: return [4 /*yield*/, PDFDocument.load(pdf)]; + case 2: + _a = _b.sent(); + _b.label = 3; + case 3: + srcDoc = _a; + srcPages = pluckIndices(srcDoc.getPages(), indices); + return [2 /*return*/, this.embedPages(srcPages)]; + } + }); + }); + }; + /** + * Embed a single PDF page into this document. + * + * For example: + * ```js + * const pdfDoc = await PDFDocument.create() + * + * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf' + * const sourceBuffer = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer()) + * const sourcePdfDoc = await PDFDocument.load(sourceBuffer) + * const sourcePdfPage = sourcePdfDoc.getPages()[73] + * + * const embeddedPage = await pdfDoc.embedPage( + * sourcePdfPage, + * + * // Clip a section of the source page so that we only embed part of it + * { left: 100, right: 450, bottom: 330, top: 570 }, + * + * // Translate all drawings of the embedded page by (10, 200) units + * [1, 0, 0, 1, 10, 200], + * ) + * ``` + * + * @param page The page to be embedded. + * @param boundingBox + * Optionally, an area of the source page that should be embedded + * (defaults to entire page). + * @param transformationMatrix + * Optionally, a transformation matrix that is always applied to the embedded + * page anywhere it is drawn. + * @returns Resolves with the embedded pdf page. + */ + PDFDocument.prototype.embedPage = function (page, boundingBox, transformationMatrix) { + return __awaiter(this, void 0, void 0, function () { + var embeddedPage; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + assertIs(page, 'page', [[PDFPage, 'PDFPage']]); + return [4 /*yield*/, this.embedPages([page], [boundingBox], [transformationMatrix])]; + case 1: + embeddedPage = (_a.sent())[0]; + return [2 /*return*/, embeddedPage]; + } + }); + }); + }; + /** + * Embed one or more PDF pages into this document. + * + * For example: + * ```js + * const pdfDoc = await PDFDocument.create() + * + * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf' + * const sourceBuffer = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer()) + * const sourcePdfDoc = await PDFDocument.load(sourceBuffer) + * + * const page1 = sourcePdfDoc.getPages()[0] + * const page2 = sourcePdfDoc.getPages()[52] + * const page3 = sourcePdfDoc.getPages()[73] + * + * const embeddedPages = await pdfDoc.embedPages([page1, page2, page3]) + * ``` + * + * @param page + * The pages to be embedded (they must all share the same context). + * @param boundingBoxes + * Optionally, an array of clipping boundaries - one for each page + * (defaults to entirety of each page). + * @param transformationMatrices + * Optionally, an array of transformation matrices - one for each page + * (each page's transformation will apply anywhere it is drawn). + * @returns Resolves with an array of the embedded pdf pages. + */ + PDFDocument.prototype.embedPages = function (pages, boundingBoxes, transformationMatrices) { + if (boundingBoxes === void 0) { boundingBoxes = []; } + if (transformationMatrices === void 0) { transformationMatrices = []; } + return __awaiter(this, void 0, void 0, function () { + var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref; + var _a; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + if (pages.length === 0) + return [2 /*return*/, []]; + // Assert all pages have the same context + for (idx = 0, len = pages.length - 1; idx < len; idx++) { + currPage = pages[idx]; + nextPage = pages[idx + 1]; + if (currPage.node.context !== nextPage.node.context) { + throw new PageEmbeddingMismatchedContextError(); + } + } + context = pages[0].node.context; + maybeCopyPage = context === this.context + ? function (p) { return p; } + : PDFObjectCopier.for(context, this.context).copy; + embeddedPages = new Array(pages.length); + idx = 0, len = pages.length; + _b.label = 1; + case 1: + if (!(idx < len)) return [3 /*break*/, 4]; + page = maybeCopyPage(pages[idx].node); + box = boundingBoxes[idx]; + matrix = transformationMatrices[idx]; + return [4 /*yield*/, PDFPageEmbedder.for(page, box, matrix)]; + case 2: + embedder = _b.sent(); + ref = this.context.nextRef(); + embeddedPages[idx] = PDFEmbeddedPage.of(ref, this, embedder); + _b.label = 3; + case 3: + idx++; + return [3 /*break*/, 1]; + case 4: + (_a = this.embeddedPages).push.apply(_a, embeddedPages); + return [2 /*return*/, embeddedPages]; + } + }); + }); + }; + /** + * > **NOTE:** You shouldn't need to call this method directly. The [[save]] + * > and [[saveAsBase64]] methods will automatically ensure that all embedded + * > assets are flushed before serializing the document. + * + * Flush all embedded fonts, PDF pages, and images to this document's + * [[context]]. + * + * @returns Resolves when the flush is complete. + */ + PDFDocument.prototype.flush = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.embedAll(this.fonts)]; + case 1: + _a.sent(); + return [4 /*yield*/, this.embedAll(this.images)]; + case 2: + _a.sent(); + return [4 /*yield*/, this.embedAll(this.embeddedPages)]; + case 3: + _a.sent(); + return [4 /*yield*/, this.embedAll(this.embeddedFiles)]; + case 4: + _a.sent(); + return [4 /*yield*/, this.embedAll(this.javaScripts)]; + case 5: + _a.sent(); + return [2 /*return*/]; + } + }); + }); + }; + /** + * Serialize this document to an array of bytes making up a PDF file. + * For example: + * ```js + * const pdfBytes = await pdfDoc.save() + * ``` + * + * There are a number of things you can do with the serialized document, + * depending on the JavaScript environment you're running in: + * * Write it to a file in Node or React Native + * * Download it as a Blob in the browser + * * Render it in an `iframe` + * + * @param options The options to be used when saving the document. + * @returns Resolves with the bytes of the serialized document. + */ + PDFDocument.prototype.save = function (options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer; + return __generator(this, function (_e) { + switch (_e.label) { + case 0: + _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d; + assertIs(useObjectStreams, 'useObjectStreams', ['boolean']); + assertIs(addDefaultPage, 'addDefaultPage', ['boolean']); + assertIs(objectsPerTick, 'objectsPerTick', ['number']); + assertIs(updateFieldAppearances, 'updateFieldAppearances', ['boolean']); + if (addDefaultPage && this.getPageCount() === 0) + this.addPage(); + if (updateFieldAppearances) { + form = this.formCache.getValue(); + if (form) + form.updateFieldAppearances(); + } + return [4 /*yield*/, this.flush()]; + case 1: + _e.sent(); + Writer = useObjectStreams ? PDFStreamWriter : PDFWriter; + return [2 /*return*/, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()]; + } + }); + }); + }; + /** + * Serialize this document to a base64 encoded string or data URI making up a + * PDF file. For example: + * ```js + * const base64String = await pdfDoc.saveAsBase64() + * base64String // => 'JVBERi0xLjcKJYGBgYEKC...' + * + * const base64DataUri = await pdfDoc.saveAsBase64({ dataUri: true }) + * base64DataUri // => 'data:application/pdf;base64,JVBERi0xLjcKJYGBgYEKC...' + * ``` + * + * @param options The options to be used when saving the document. + * @returns Resolves with a base64 encoded string or data URI of the + * serialized document. + */ + PDFDocument.prototype.saveAsBase64 = function (options) { + if (options === void 0) { options = {}; } + return __awaiter(this, void 0, void 0, function () { + var _a, dataUri, otherOptions, bytes, base64; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = __rest(options, ["dataUri"]); + assertIs(dataUri, 'dataUri', ['boolean']); + return [4 /*yield*/, this.save(otherOptions)]; + case 1: + bytes = _b.sent(); + base64 = encodeToBase64(bytes); + return [2 /*return*/, dataUri ? "data:application/pdf;base64," + base64 : base64]; + } + }); + }); + }; + PDFDocument.prototype.findPageForAnnotationRef = function (ref) { + var pages = this.getPages(); + for (var idx = 0, len = pages.length; idx < len; idx++) { + var page = pages[idx]; + var annotations = page.node.Annots(); + if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== undefined) { + return page; + } + } + return undefined; + }; + PDFDocument.prototype.embedAll = function (embeddables) { + return __awaiter(this, void 0, void 0, function () { + var idx, len; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + idx = 0, len = embeddables.length; + _a.label = 1; + case 1: + if (!(idx < len)) return [3 /*break*/, 4]; + return [4 /*yield*/, embeddables[idx].embed()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + idx++; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }); + }; + PDFDocument.prototype.updateInfoDict = function () { + var pdfLib = "pdf-lib (https://github.com/Hopding/pdf-lib)"; + var now = new Date(); + var info = this.getInfoDict(); + this.setProducer(pdfLib); + this.setModificationDate(now); + if (!info.get(PDFName.of('Creator'))) + this.setCreator(pdfLib); + if (!info.get(PDFName.of('CreationDate'))) + this.setCreationDate(now); + }; + PDFDocument.prototype.getInfoDict = function () { + var existingInfo = this.context.lookup(this.context.trailerInfo.Info); + if (existingInfo instanceof PDFDict) + return existingInfo; + var newInfo = this.context.obj({}); + this.context.trailerInfo.Info = this.context.register(newInfo); + return newInfo; + }; + PDFDocument.prototype.assertFontkit = function () { + if (!this.fontkit) + throw new FontkitNotRegisteredError(); + return this.fontkit; + }; + return PDFDocument; +}()); +/* tslint:disable-next-line only-arrow-functions */ +function assertIsLiteralOrHexString(pdfObject) { + if (!(pdfObject instanceof PDFHexString) && + !(pdfObject instanceof PDFString)) { + throw new UnexpectedObjectTypeError([PDFHexString, PDFString], pdfObject); + } +} + +var BlendMode; +(function (BlendMode) { + BlendMode["Normal"] = "Normal"; + BlendMode["Multiply"] = "Multiply"; + BlendMode["Screen"] = "Screen"; + BlendMode["Overlay"] = "Overlay"; + BlendMode["Darken"] = "Darken"; + BlendMode["Lighten"] = "Lighten"; + BlendMode["ColorDodge"] = "ColorDodge"; + BlendMode["ColorBurn"] = "ColorBurn"; + BlendMode["HardLight"] = "HardLight"; + BlendMode["SoftLight"] = "SoftLight"; + BlendMode["Difference"] = "Difference"; + BlendMode["Exclusion"] = "Exclusion"; +})(BlendMode || (BlendMode = {})); + +/** + * Represents a single page of a [[PDFDocument]]. + */ +var PDFPage = /** @class */ (function () { + function PDFPage(leafNode, ref, doc) { + this.fontSize = 24; + this.fontColor = rgb(0, 0, 0); + this.lineHeight = 24; + this.x = 0; + this.y = 0; + assertIs(leafNode, 'leafNode', [[PDFPageLeaf, 'PDFPageLeaf']]); + assertIs(ref, 'ref', [[PDFRef, 'PDFRef']]); + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + this.node = leafNode; + this.ref = ref; + this.doc = doc; + } + /** + * Rotate this page by a multiple of 90 degrees. For example: + * ```js + * import { degrees } from 'pdf-lib' + * + * page.setRotation(degrees(-90)) + * page.setRotation(degrees(0)) + * page.setRotation(degrees(90)) + * page.setRotation(degrees(180)) + * page.setRotation(degrees(270)) + * ``` + * @param angle The angle to rotate this page. + */ + PDFPage.prototype.setRotation = function (angle) { + var degreesAngle = toDegrees(angle); + assertMultiple(degreesAngle, 'degreesAngle', 90); + this.node.set(PDFName.of('Rotate'), this.doc.context.obj(degreesAngle)); + }; + /** + * Get this page's rotation angle in degrees. For example: + * ```js + * const rotationAngle = page.getRotation().angle; + * ``` + * @returns The rotation angle of the page in degrees (always a multiple of + * 90 degrees). + */ + PDFPage.prototype.getRotation = function () { + var Rotate = this.node.Rotate(); + return degrees(Rotate ? Rotate.asNumber() : 0); + }; + /** + * Resize this page by increasing or decreasing its width and height. For + * example: + * ```js + * page.setSize(250, 500) + * page.setSize(page.getWidth() + 50, page.getHeight() + 100) + * page.setSize(page.getWidth() - 50, page.getHeight() - 100) + * ``` + * + * Note that the PDF specification does not allow for pages to have explicit + * widths and heights. Instead it defines the "size" of a page in terms of + * five rectangles: the MediaBox, CropBox, BleedBox, TrimBox, and ArtBox. As a + * result, this method cannot directly change the width and height of a page. + * Instead, it works by adjusting these five boxes. + * + * This method performs the following steps: + * 1. Set width & height of MediaBox. + * 2. Set width & height of CropBox, if it has same dimensions as MediaBox. + * 3. Set width & height of BleedBox, if it has same dimensions as MediaBox. + * 4. Set width & height of TrimBox, if it has same dimensions as MediaBox. + * 5. Set width & height of ArtBox, if it has same dimensions as MediaBox. + * + * This approach works well for most PDF documents as all PDF pages must + * have a MediaBox, but relatively few have a CropBox, BleedBox, TrimBox, or + * ArtBox. And when they do have these additional boxes, they often have the + * same dimensions as the MediaBox. However, if you find this method does not + * work for your document, consider setting the boxes directly: + * * [[PDFPage.setMediaBox]] + * * [[PDFPage.setCropBox]] + * * [[PDFPage.setBleedBox]] + * * [[PDFPage.setTrimBox]] + * * [[PDFPage.setArtBox]] + * + * @param width The new width of the page. + * @param height The new height of the page. + */ + PDFPage.prototype.setSize = function (width, height) { + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var mediaBox = this.getMediaBox(); + this.setMediaBox(mediaBox.x, mediaBox.y, width, height); + var cropBox = this.getCropBox(); + var bleedBox = this.getBleedBox(); + var trimBox = this.getTrimBox(); + var artBox = this.getArtBox(); + var hasCropBox = this.node.CropBox(); + var hasBleedBox = this.node.BleedBox(); + var hasTrimBox = this.node.TrimBox(); + var hasArtBox = this.node.ArtBox(); + if (hasCropBox && rectanglesAreEqual(cropBox, mediaBox)) { + this.setCropBox(mediaBox.x, mediaBox.y, width, height); + } + if (hasBleedBox && rectanglesAreEqual(bleedBox, mediaBox)) { + this.setBleedBox(mediaBox.x, mediaBox.y, width, height); + } + if (hasTrimBox && rectanglesAreEqual(trimBox, mediaBox)) { + this.setTrimBox(mediaBox.x, mediaBox.y, width, height); + } + if (hasArtBox && rectanglesAreEqual(artBox, mediaBox)) { + this.setArtBox(mediaBox.x, mediaBox.y, width, height); + } + }; + /** + * Resize this page by increasing or decreasing its width. For example: + * ```js + * page.setWidth(250) + * page.setWidth(page.getWidth() + 50) + * page.setWidth(page.getWidth() - 50) + * ``` + * + * This method uses [[PDFPage.setSize]] to set the page's width. + * + * @param width The new width of the page. + */ + PDFPage.prototype.setWidth = function (width) { + assertIs(width, 'width', ['number']); + this.setSize(width, this.getSize().height); + }; + /** + * Resize this page by increasing or decreasing its height. For example: + * ```js + * page.setHeight(500) + * page.setHeight(page.getWidth() + 100) + * page.setHeight(page.getWidth() - 100) + * ``` + * + * This method uses [[PDFPage.setSize]] to set the page's height. + * + * @param height The new height of the page. + */ + PDFPage.prototype.setHeight = function (height) { + assertIs(height, 'height', ['number']); + this.setSize(this.getSize().width, height); + }; + /** + * Set the MediaBox of this page. For example: + * ```js + * const mediaBox = page.getMediaBox() + * + * page.setMediaBox(0, 0, 250, 500) + * page.setMediaBox(mediaBox.x, mediaBox.y, 50, 100) + * page.setMediaBox(15, 5, mediaBox.width - 50, mediaBox.height - 100) + * ``` + * + * See [[PDFPage.getMediaBox]] for details about what the MediaBox represents. + * + * @param x The x coordinate of the lower left corner of the new MediaBox. + * @param y The y coordinate of the lower left corner of the new MediaBox. + * @param width The width of the new MediaBox. + * @param height The height of the new MediaBox. + */ + PDFPage.prototype.setMediaBox = function (x, y, width, height) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var mediaBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName.MediaBox, mediaBox); + }; + /** + * Set the CropBox of this page. For example: + * ```js + * const cropBox = page.getCropBox() + * + * page.setCropBox(0, 0, 250, 500) + * page.setCropBox(cropBox.x, cropBox.y, 50, 100) + * page.setCropBox(15, 5, cropBox.width - 50, cropBox.height - 100) + * ``` + * + * See [[PDFPage.getCropBox]] for details about what the CropBox represents. + * + * @param x The x coordinate of the lower left corner of the new CropBox. + * @param y The y coordinate of the lower left corner of the new CropBox. + * @param width The width of the new CropBox. + * @param height The height of the new CropBox. + */ + PDFPage.prototype.setCropBox = function (x, y, width, height) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var cropBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName.CropBox, cropBox); + }; + /** + * Set the BleedBox of this page. For example: + * ```js + * const bleedBox = page.getBleedBox() + * + * page.setBleedBox(0, 0, 250, 500) + * page.setBleedBox(bleedBox.x, bleedBox.y, 50, 100) + * page.setBleedBox(15, 5, bleedBox.width - 50, bleedBox.height - 100) + * ``` + * + * See [[PDFPage.getBleedBox]] for details about what the BleedBox represents. + * + * @param x The x coordinate of the lower left corner of the new BleedBox. + * @param y The y coordinate of the lower left corner of the new BleedBox. + * @param width The width of the new BleedBox. + * @param height The height of the new BleedBox. + */ + PDFPage.prototype.setBleedBox = function (x, y, width, height) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var bleedBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName.BleedBox, bleedBox); + }; + /** + * Set the TrimBox of this page. For example: + * ```js + * const trimBox = page.getTrimBox() + * + * page.setTrimBox(0, 0, 250, 500) + * page.setTrimBox(trimBox.x, trimBox.y, 50, 100) + * page.setTrimBox(15, 5, trimBox.width - 50, trimBox.height - 100) + * ``` + * + * See [[PDFPage.getTrimBox]] for details about what the TrimBox represents. + * + * @param x The x coordinate of the lower left corner of the new TrimBox. + * @param y The y coordinate of the lower left corner of the new TrimBox. + * @param width The width of the new TrimBox. + * @param height The height of the new TrimBox. + */ + PDFPage.prototype.setTrimBox = function (x, y, width, height) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var trimBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName.TrimBox, trimBox); + }; + /** + * Set the ArtBox of this page. For example: + * ```js + * const artBox = page.getArtBox() + * + * page.setArtBox(0, 0, 250, 500) + * page.setArtBox(artBox.x, artBox.y, 50, 100) + * page.setArtBox(15, 5, artBox.width - 50, artBox.height - 100) + * ``` + * + * See [[PDFPage.getArtBox]] for details about what the ArtBox represents. + * + * @param x The x coordinate of the lower left corner of the new ArtBox. + * @param y The y coordinate of the lower left corner of the new ArtBox. + * @param width The width of the new ArtBox. + * @param height The height of the new ArtBox. + */ + PDFPage.prototype.setArtBox = function (x, y, width, height) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + assertIs(width, 'width', ['number']); + assertIs(height, 'height', ['number']); + var artBox = this.doc.context.obj([x, y, x + width, y + height]); + this.node.set(PDFName.ArtBox, artBox); + }; + /** + * Get this page's width and height. For example: + * ```js + * const { width, height } = page.getSize() + * ``` + * + * This method uses [[PDFPage.getMediaBox]] to obtain the page's + * width and height. + * + * @returns The width and height of the page. + */ + PDFPage.prototype.getSize = function () { + var _a = this.getMediaBox(), width = _a.width, height = _a.height; + return { width: width, height: height }; + }; + /** + * Get this page's width. For example: + * ```js + * const width = page.getWidth() + * ``` + * + * This method uses [[PDFPage.getSize]] to obtain the page's size. + * + * @returns The width of the page. + */ + PDFPage.prototype.getWidth = function () { + return this.getSize().width; + }; + /** + * Get this page's height. For example: + * ```js + * const height = page.getHeight() + * ``` + * + * This method uses [[PDFPage.getSize]] to obtain the page's size. + * + * @returns The height of the page. + */ + PDFPage.prototype.getHeight = function () { + return this.getSize().height; + }; + /** + * Get the rectangle defining this page's MediaBox. For example: + * ```js + * const { x, y, width, height } = page.getMediaBox() + * ``` + * + * The MediaBox of a page defines the boundaries of the physical medium on + * which the page is to be displayed/printed. It may include extended area + * surrounding the page content for bleed marks, printing marks, etc... + * It may also include areas close to the edges of the medium that cannot be + * marked because of physical limitations of the output device. Content + * falling outside this boundary may safely be discarded without affecting + * the meaning of the PDF file. + * + * @returns An object defining the lower left corner of the MediaBox and its + * width & height. + */ + PDFPage.prototype.getMediaBox = function () { + var mediaBox = this.node.MediaBox(); + return mediaBox.asRectangle(); + }; + /** + * Get the rectangle defining this page's CropBox. For example: + * ```js + * const { x, y, width, height } = page.getCropBox() + * ``` + * + * The CropBox of a page defines the region to which the contents of the page + * shall be clipped when displayed or printed. Unlike the other boxes, the + * CropBox does not necessarily represent the physical page geometry. It + * merely imposes clipping on the page contents. + * + * The CropBox's default value is the page's MediaBox. + * + * @returns An object defining the lower left corner of the CropBox and its + * width & height. + */ + PDFPage.prototype.getCropBox = function () { + var _a; + var cropBox = this.node.CropBox(); + return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox(); + }; + /** + * Get the rectangle defining this page's BleedBox. For example: + * ```js + * const { x, y, width, height } = page.getBleedBox() + * ``` + * + * The BleedBox of a page defines the region to which the contents of the + * page shall be clipped when output in a production environment. This may + * include any extra bleed area needed to accommodate the physical + * limitations of cutting, folding, and trimming equipment. The actual + * printed page may include printing marks that fall outside the BleedBox. + * + * The BleedBox's default value is the page's CropBox. + * + * @returns An object defining the lower left corner of the BleedBox and its + * width & height. + */ + PDFPage.prototype.getBleedBox = function () { + var _a; + var bleedBox = this.node.BleedBox(); + return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); + }; + /** + * Get the rectangle defining this page's TrimBox. For example: + * ```js + * const { x, y, width, height } = page.getTrimBox() + * ``` + * + * The TrimBox of a page defines the intended dimensions of the finished + * page after trimming. It may be smaller than the MediaBox to allow for + * production-related content, such as printing instructions, cut marks, or + * color bars. + * + * The TrimBox's default value is the page's CropBox. + * + * @returns An object defining the lower left corner of the TrimBox and its + * width & height. + */ + PDFPage.prototype.getTrimBox = function () { + var _a; + var trimBox = this.node.TrimBox(); + return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); + }; + /** + * Get the rectangle defining this page's ArtBox. For example: + * ```js + * const { x, y, width, height } = page.getArtBox() + * ``` + * + * The ArtBox of a page defines the extent of the page's meaningful content + * (including potential white space). + * + * The ArtBox's default value is the page's CropBox. + * + * @returns An object defining the lower left corner of the ArtBox and its + * width & height. + */ + PDFPage.prototype.getArtBox = function () { + var _a; + var artBox = this.node.ArtBox(); + return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox(); + }; + /** + * Translate this page's content to a new location on the page. This operation + * is often useful after resizing the page with [[setSize]]. For example: + * ```js + * // Add 50 units of whitespace to the top and right of the page + * page.setSize(page.getWidth() + 50, page.getHeight() + 50) + * + * // Move the page's content from the lower-left corner of the page + * // to the top-right corner. + * page.translateContent(50, 50) + * + * // Now there are 50 units of whitespace to the left and bottom of the page + * ``` + * See also: [[resetPosition]] + * @param x The new position on the x-axis for this page's content. + * @param y The new position on the y-axis for this page's content. + */ + PDFPage.prototype.translateContent = function (x, y) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + this.node.normalize(); + this.getContentStream(); + var start = this.createContentStream(pushGraphicsState(), translate(x, y)); + var startRef = this.doc.context.register(start); + var end = this.createContentStream(popGraphicsState()); + var endRef = this.doc.context.register(end); + this.node.wrapContentStreams(startRef, endRef); + }; + /** + * Scale the size, content, and annotations of a page. + * + * For example: + * ```js + * page.scale(0.5, 0.5); + * ``` + * + * @param x The factor by which the width for the page should be scaled + * (e.g. `0.5` is 50%). + * @param y The factor by which the height for the page should be scaled + * (e.g. `2.0` is 200%). + */ + PDFPage.prototype.scale = function (x, y) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + this.setSize(this.getWidth() * x, this.getHeight() * y); + this.scaleContent(x, y); + this.scaleAnnotations(x, y); + }; + /** + * Scale the content of a page. This is useful after resizing an existing + * page. This scales only the content, not the annotations. + * + * For example: + * ```js + * // Bisect the size of the page + * page.setSize(page.getWidth() / 2, page.getHeight() / 2); + * + * // Scale the content of the page down by 50% in x and y + * page.scaleContent(0.5, 0.5); + * ``` + * See also: [[scaleAnnotations]] + * @param x The factor by which the x-axis for the content should be scaled + * (e.g. `0.5` is 50%). + * @param y The factor by which the y-axis for the content should be scaled + * (e.g. `2.0` is 200%). + */ + PDFPage.prototype.scaleContent = function (x, y) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + this.node.normalize(); + this.getContentStream(); + var start = this.createContentStream(pushGraphicsState(), scale(x, y)); + var startRef = this.doc.context.register(start); + var end = this.createContentStream(popGraphicsState()); + var endRef = this.doc.context.register(end); + this.node.wrapContentStreams(startRef, endRef); + }; + /** + * Scale the annotations of a page. This is useful if you want to scale a + * page with comments or other annotations. + * ```js + * // Scale the content of the page down by 50% in x and y + * page.scaleContent(0.5, 0.5); + * + * // Scale the content of the page down by 50% in x and y + * page.scaleAnnotations(0.5, 0.5); + * ``` + * See also: [[scaleContent]] + * @param x The factor by which the x-axis for the annotations should be + * scaled (e.g. `0.5` is 50%). + * @param y The factor by which the y-axis for the annotations should be + * scaled (e.g. `2.0` is 200%). + */ + PDFPage.prototype.scaleAnnotations = function (x, y) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + var annots = this.node.Annots(); + if (!annots) + return; + for (var idx = 0; idx < annots.size(); idx++) { + var annot = annots.lookup(idx); + if (annot instanceof PDFDict) + this.scaleAnnot(annot, x, y); + } + }; + /** + * Reset the x and y coordinates of this page to `(0, 0)`. This operation is + * often useful after calling [[translateContent]]. For example: + * ```js + * // Shift the page's contents up and to the right by 50 units + * page.translateContent(50, 50) + * + * // This text will shifted - it will be drawn at (50, 50) + * page.drawText('I am shifted') + * + * // Move back to (0, 0) + * page.resetPosition() + * + * // This text will not be shifted - it will be drawn at (0, 0) + * page.drawText('I am not shifted') + * ``` + */ + PDFPage.prototype.resetPosition = function () { + this.getContentStream(false); + this.x = 0; + this.y = 0; + }; + /** + * Choose a default font for this page. The default font will be used whenever + * text is drawn on this page and no font is specified. For example: + * ```js + * import { StandardFonts } from 'pdf-lib' + * + * const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman) + * const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const courierFont = await pdfDoc.embedFont(StandardFonts.Courier) + * + * const page = pdfDoc.addPage() + * + * page.setFont(helveticaFont) + * page.drawText('I will be drawn in Helvetica') + * + * page.setFont(timesRomanFont) + * page.drawText('I will be drawn in Courier', { font: courierFont }) + * ``` + * @param font The default font to be used when drawing text on this page. + */ + PDFPage.prototype.setFont = function (font) { + // TODO: Reuse image Font name if we've already added this image to Resources.Fonts + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + this.font = font; + this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref); + }; + /** + * Choose a default font size for this page. The default font size will be + * used whenever text is drawn on this page and no font size is specified. + * For example: + * ```js + * page.setFontSize(12) + * page.drawText('I will be drawn in size 12') + * + * page.setFontSize(36) + * page.drawText('I will be drawn in size 24', { fontSize: 24 }) + * ``` + * @param fontSize The default font size to be used when drawing text on this + * page. + */ + PDFPage.prototype.setFontSize = function (fontSize) { + assertIs(fontSize, 'fontSize', ['number']); + this.fontSize = fontSize; + }; + /** + * Choose a default font color for this page. The default font color will be + * used whenever text is drawn on this page and no font color is specified. + * For example: + * ```js + * import { rgb, cmyk, grayscale } from 'pdf-lib' + * + * page.setFontColor(rgb(0.97, 0.02, 0.97)) + * page.drawText('I will be drawn in pink') + * + * page.setFontColor(cmyk(0.4, 0.7, 0.39, 0.15)) + * page.drawText('I will be drawn in gray', { color: grayscale(0.5) }) + * ``` + * @param fontColor The default font color to be used when drawing text on + * this page. + */ + PDFPage.prototype.setFontColor = function (fontColor) { + assertIs(fontColor, 'fontColor', [[Object, 'Color']]); + this.fontColor = fontColor; + }; + /** + * Choose a default line height for this page. The default line height will be + * used whenever text is drawn on this page and no line height is specified. + * For example: + * ```js + * page.setLineHeight(12); + * page.drawText('These lines will be vertically \n separated by 12 units') + * + * page.setLineHeight(36); + * page.drawText('These lines will be vertically \n separated by 24 units', { + * lineHeight: 24 + * }) + * ``` + * @param lineHeight The default line height to be used when drawing text on + * this page. + */ + PDFPage.prototype.setLineHeight = function (lineHeight) { + assertIs(lineHeight, 'lineHeight', ['number']); + this.lineHeight = lineHeight; + }; + /** + * Get the default position of this page. For example: + * ```js + * const { x, y } = page.getPosition() + * ``` + * @returns The default position of the page. + */ + PDFPage.prototype.getPosition = function () { + return { x: this.x, y: this.y }; + }; + /** + * Get the default x coordinate of this page. For example: + * ```js + * const x = page.getX() + * ``` + * @returns The default x coordinate of the page. + */ + PDFPage.prototype.getX = function () { + return this.x; + }; + /** + * Get the default y coordinate of this page. For example: + * ```js + * const y = page.getY() + * ``` + * @returns The default y coordinate of the page. + */ + PDFPage.prototype.getY = function () { + return this.y; + }; + /** + * Change the default position of this page. For example: + * ```js + * page.moveTo(0, 0) + * page.drawText('I will be drawn at the origin') + * + * page.moveTo(0, 25) + * page.drawText('I will be drawn 25 units up') + * + * page.moveTo(25, 25) + * page.drawText('I will be drawn 25 units up and 25 units to the right') + * ``` + * @param x The new default position on the x-axis for this page. + * @param y The new default position on the y-axis for this page. + */ + PDFPage.prototype.moveTo = function (x, y) { + assertIs(x, 'x', ['number']); + assertIs(y, 'y', ['number']); + this.x = x; + this.y = y; + }; + /** + * Change the default position of this page to be further down the y-axis. + * For example: + * ```js + * page.moveTo(50, 50) + * page.drawText('I will be drawn at (50, 50)') + * + * page.moveDown(10) + * page.drawText('I will be drawn at (50, 40)') + * ``` + * @param yDecrease The amount by which the page's default position along the + * y-axis should be decreased. + */ + PDFPage.prototype.moveDown = function (yDecrease) { + assertIs(yDecrease, 'yDecrease', ['number']); + this.y -= yDecrease; + }; + /** + * Change the default position of this page to be further up the y-axis. + * For example: + * ```js + * page.moveTo(50, 50) + * page.drawText('I will be drawn at (50, 50)') + * + * page.moveUp(10) + * page.drawText('I will be drawn at (50, 60)') + * ``` + * @param yIncrease The amount by which the page's default position along the + * y-axis should be increased. + */ + PDFPage.prototype.moveUp = function (yIncrease) { + assertIs(yIncrease, 'yIncrease', ['number']); + this.y += yIncrease; + }; + /** + * Change the default position of this page to be further left on the x-axis. + * For example: + * ```js + * page.moveTo(50, 50) + * page.drawText('I will be drawn at (50, 50)') + * + * page.moveLeft(10) + * page.drawText('I will be drawn at (40, 50)') + * ``` + * @param xDecrease The amount by which the page's default position along the + * x-axis should be decreased. + */ + PDFPage.prototype.moveLeft = function (xDecrease) { + assertIs(xDecrease, 'xDecrease', ['number']); + this.x -= xDecrease; + }; + /** + * Change the default position of this page to be further right on the y-axis. + * For example: + * ```js + * page.moveTo(50, 50) + * page.drawText('I will be drawn at (50, 50)') + * + * page.moveRight(10) + * page.drawText('I will be drawn at (60, 50)') + * ``` + * @param xIncrease The amount by which the page's default position along the + * x-axis should be increased. + */ + PDFPage.prototype.moveRight = function (xIncrease) { + assertIs(xIncrease, 'xIncrease', ['number']); + this.x += xIncrease; + }; + /** + * Push one or more operators to the end of this page's current content + * stream. For example: + * ```js + * import { + * pushGraphicsState, + * moveTo, + * lineTo, + * closePath, + * setFillingColor, + * rgb, + * fill, + * popGraphicsState, + * } from 'pdf-lib' + * + * // Draw a green triangle in the lower-left corner of the page + * page.pushOperators( + * pushGraphicsState(), + * moveTo(0, 0), + * lineTo(100, 0), + * lineTo(50, 100), + * closePath(), + * setFillingColor(rgb(0.0, 1.0, 0.0)), + * fill(), + * popGraphicsState(), + * ) + * ``` + * @param operator The operators to be pushed. + */ + PDFPage.prototype.pushOperators = function () { + var operator = []; + for (var _i = 0; _i < arguments.length; _i++) { + operator[_i] = arguments[_i]; + } + assertEachIs(operator, 'operator', [[PDFOperator, 'PDFOperator']]); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, operator); + }; + /** + * Draw one or more lines of text on this page. For example: + * ```js + * import { StandardFonts, rgb } from 'pdf-lib' + * + * const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman) + * + * const page = pdfDoc.addPage() + * + * page.setFont(helveticaFont) + * + * page.moveTo(5, 200) + * page.drawText('The Life of an Egg', { size: 36 }) + * + * page.moveDown(36) + * page.drawText('An Epic Tale of Woe', { size: 30 }) + * + * page.drawText( + * `Humpty Dumpty sat on a wall \n` + + * `Humpty Dumpty had a great fall; \n` + + * `All the king's horses and all the king's men \n` + + * `Couldn't put Humpty together again. \n`, + * { + * x: 25, + * y: 100, + * font: timesRomanFont, + * size: 24, + * color: rgb(1, 0, 0), + * lineHeight: 24, + * opacity: 0.75, + * }, + * ) + * ``` + * @param text The text to be drawn. + * @param options The options to be used when drawing the text. + */ + PDFPage.prototype.drawText = function (text, options) { + var _a, _b, _c, _d, _e, _f, _g; + if (options === void 0) { options = {}; } + assertIs(text, 'text', ['string']); + assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertOrUndefined(options.font, 'options.font', [[PDFFont, 'PDFFont']]); + assertOrUndefined(options.size, 'options.size', ['number']); + assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]); + assertOrUndefined(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]); + assertOrUndefined(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]); + assertOrUndefined(options.x, 'options.x', ['number']); + assertOrUndefined(options.y, 'options.y', ['number']); + assertOrUndefined(options.lineHeight, 'options.lineHeight', ['number']); + assertOrUndefined(options.maxWidth, 'options.maxWidth', ['number']); + assertOrUndefined(options.wordBreaks, 'options.wordBreaks', [Array]); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var _h = this.setOrEmbedFont(options.font), oldFont = _h.oldFont, newFont = _h.newFont, newFontKey = _h.newFontKey; + var fontSize = options.size || this.fontSize; + var wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks; + var textWidth = function (t) { return newFont.widthOfTextAtSize(t, fontSize); }; + var lines = options.maxWidth === undefined + ? lineSplit(cleanText(text)) + : breakTextIntoLines(text, wordBreaks, options.maxWidth, textWidth); + var encodedLines = new Array(lines.length); + for (var idx = 0, len = lines.length; idx < len; idx++) { + encodedLines[idx] = newFont.encodeText(lines[idx]); + } + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + blendMode: options.blendMode, + }); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawLinesOfText(encodedLines, { + color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor, + font: newFontKey, + size: fontSize, + rotate: (_b = options.rotate) !== null && _b !== void 0 ? _b : degrees(0), + xSkew: (_c = options.xSkew) !== null && _c !== void 0 ? _c : degrees(0), + ySkew: (_d = options.ySkew) !== null && _d !== void 0 ? _d : degrees(0), + x: (_e = options.x) !== null && _e !== void 0 ? _e : this.x, + y: (_f = options.y) !== null && _f !== void 0 ? _f : this.y, + lineHeight: (_g = options.lineHeight) !== null && _g !== void 0 ? _g : this.lineHeight, + graphicsState: graphicsStateKey, + })); + if (options.font) { + if (oldFont) + this.setFont(oldFont); + else + this.resetFont(); + } + }; + /** + * Draw an image on this page. For example: + * ```js + * import { degrees } from 'pdf-lib' + * + * const jpgUrl = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg' + * const jpgImageBytes = await fetch(jpgUrl).then((res) => res.arrayBuffer()) + * + * const jpgImage = await pdfDoc.embedJpg(jpgImageBytes) + * const jpgDims = jpgImage.scale(0.5) + * + * const page = pdfDoc.addPage() + * + * page.drawImage(jpgImage, { + * x: 25, + * y: 25, + * width: jpgDims.width, + * height: jpgDims.height, + * rotate: degrees(30), + * opacity: 0.75, + * }) + * ``` + * @param image The image to be drawn. + * @param options The options to be used when drawing the image. + */ + PDFPage.prototype.drawImage = function (image, options) { + var _a, _b, _c, _d, _e, _f, _g; + if (options === void 0) { options = {}; } + // TODO: Reuse image XObject name if we've already added this image to Resources.XObjects + assertIs(image, 'image', [[PDFImage, 'PDFImage']]); + assertOrUndefined(options.x, 'options.x', ['number']); + assertOrUndefined(options.y, 'options.y', ['number']); + assertOrUndefined(options.width, 'options.width', ['number']); + assertOrUndefined(options.height, 'options.height', ['number']); + assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]); + assertOrUndefined(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]); + assertOrUndefined(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var xObjectKey = this.node.newXObject('Image', image.ref); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + blendMode: options.blendMode, + }); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawImage(xObjectKey, { + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width, + height: (_d = options.height) !== null && _d !== void 0 ? _d : image.size().height, + rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), + xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), + ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), + graphicsState: graphicsStateKey, + })); + }; + /** + * Draw an embedded PDF page on this page. For example: + * ```js + * import { degrees } from 'pdf-lib' + * + * const pdfDoc = await PDFDocument.create() + * const page = pdfDoc.addPage() + * + * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf' + * const sourcePdf = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer()) + * + * // Embed page 74 from the PDF + * const [embeddedPage] = await pdfDoc.embedPdf(sourcePdf, 73) + * + * page.drawPage(embeddedPage, { + * x: 250, + * y: 200, + * xScale: 0.5, + * yScale: 0.5, + * rotate: degrees(30), + * opacity: 0.75, + * }) + * ``` + * + * The `options` argument accepts both `width`/`height` and `xScale`/`yScale` + * as options. Since each of these options defines the size of the drawn page, + * if both options are given, `width` and `height` take precedence and the + * corresponding scale variants are ignored. + * + * @param embeddedPage The embedded page to be drawn. + * @param options The options to be used when drawing the embedded page. + */ + PDFPage.prototype.drawPage = function (embeddedPage, options) { + var _a, _b, _c, _d, _e; + if (options === void 0) { options = {}; } + // TODO: Reuse embeddedPage XObject name if we've already added this embeddedPage to Resources.XObjects + assertIs(embeddedPage, 'embeddedPage', [ + [PDFEmbeddedPage, 'PDFEmbeddedPage'], + ]); + assertOrUndefined(options.x, 'options.x', ['number']); + assertOrUndefined(options.y, 'options.y', ['number']); + assertOrUndefined(options.xScale, 'options.xScale', ['number']); + assertOrUndefined(options.yScale, 'options.yScale', ['number']); + assertOrUndefined(options.width, 'options.width', ['number']); + assertOrUndefined(options.height, 'options.height', ['number']); + assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]); + assertOrUndefined(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]); + assertOrUndefined(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var xObjectKey = this.node.newXObject('EmbeddedPdfPage', embeddedPage.ref); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + blendMode: options.blendMode, + }); + // prettier-ignore + var xScale = (options.width !== undefined ? options.width / embeddedPage.width + : options.xScale !== undefined ? options.xScale + : 1); + // prettier-ignore + var yScale = (options.height !== undefined ? options.height / embeddedPage.height + : options.yScale !== undefined ? options.yScale + : 1); + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawPage(xObjectKey, { + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + xScale: xScale, + yScale: yScale, + rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), + xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : degrees(0), + ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : degrees(0), + graphicsState: graphicsStateKey, + })); + }; + /** + * Draw an SVG path on this page. For example: + * ```js + * import { rgb } from 'pdf-lib' + * + * const svgPath = 'M 0,20 L 100,160 Q 130,200 150,120 C 190,-40 200,200 300,150 L 400,90' + * + * // Draw path as black line + * page.drawSvgPath(svgPath, { x: 25, y: 75 }) + * + * // Change border style and opacity + * page.drawSvgPath(svgPath, { + * x: 25, + * y: 275, + * borderColor: rgb(0.5, 0.5, 0.5), + * borderWidth: 2, + * borderOpacity: 0.75, + * }) + * + * // Set fill color and opacity + * page.drawSvgPath(svgPath, { + * x: 25, + * y: 475, + * color: rgb(1.0, 0, 0), + * opacity: 0.75, + * }) + * + * // Draw 50% of original size + * page.drawSvgPath(svgPath, { + * x: 25, + * y: 675, + * scale: 0.5, + * }) + * ``` + * @param path The SVG path to be drawn. + * @param options The options to be used when drawing the SVG path. + */ + PDFPage.prototype.drawSvgPath = function (path, options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + if (options === void 0) { options = {}; } + assertIs(path, 'path', ['string']); + assertOrUndefined(options.x, 'options.x', ['number']); + assertOrUndefined(options.y, 'options.y', ['number']); + assertOrUndefined(options.scale, 'options.scale', ['number']); + assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]); + assertOrUndefined(options.borderWidth, 'options.borderWidth', ['number']); + assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertOrUndefined(options.borderColor, 'options.borderColor', [ + [Object, 'Color'], + ]); + assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [ + Array, + ]); + assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', [ + 'number', + ]); + assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle); + assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + borderOpacity: options.borderOpacity, + blendMode: options.blendMode, + }); + if (!('color' in options) && !('borderColor' in options)) { + options.borderColor = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawSvgPath(path, { + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + scale: options.scale, + rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : degrees(0), + color: (_d = options.color) !== null && _d !== void 0 ? _d : undefined, + borderColor: (_e = options.borderColor) !== null && _e !== void 0 ? _e : undefined, + borderWidth: (_f = options.borderWidth) !== null && _f !== void 0 ? _f : 0, + borderDashArray: (_g = options.borderDashArray) !== null && _g !== void 0 ? _g : undefined, + borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : undefined, + borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : undefined, + graphicsState: graphicsStateKey, + })); + }; + /** + * Draw a line on this page. For example: + * ```js + * import { rgb } from 'pdf-lib' + * + * page.drawLine({ + * start: { x: 25, y: 75 }, + * end: { x: 125, y: 175 }, + * thickness: 2, + * color: rgb(0.75, 0.2, 0.2), + * opacity: 0.75, + * }) + * ``` + * @param options The options to be used when drawing the line. + */ + PDFPage.prototype.drawLine = function (options) { + var _a, _b, _c, _d, _e; + assertIs(options.start, 'options.start', [ + [Object, '{ x: number, y: number }'], + ]); + assertIs(options.end, 'options.end', [ + [Object, '{ x: number, y: number }'], + ]); + assertIs(options.start.x, 'options.start.x', ['number']); + assertIs(options.start.y, 'options.start.y', ['number']); + assertIs(options.end.x, 'options.end.x', ['number']); + assertIs(options.end.y, 'options.end.y', ['number']); + assertOrUndefined(options.thickness, 'options.thickness', ['number']); + assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]); + assertOrUndefined(options.dashArray, 'options.dashArray', [Array]); + assertOrUndefined(options.dashPhase, 'options.dashPhase', ['number']); + assertIsOneOfOrUndefined(options.lineCap, 'options.lineCap', LineCapStyle); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + borderOpacity: options.opacity, + blendMode: options.blendMode, + }); + if (!('color' in options)) { + options.color = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawLine({ + start: options.start, + end: options.end, + thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1, + color: (_b = options.color) !== null && _b !== void 0 ? _b : undefined, + dashArray: (_c = options.dashArray) !== null && _c !== void 0 ? _c : undefined, + dashPhase: (_d = options.dashPhase) !== null && _d !== void 0 ? _d : undefined, + lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : undefined, + graphicsState: graphicsStateKey, + })); + }; + /** + * Draw a rectangle on this page. For example: + * ```js + * import { degrees, grayscale, rgb } from 'pdf-lib' + * + * page.drawRectangle({ + * x: 25, + * y: 75, + * width: 250, + * height: 75, + * rotate: degrees(-15), + * borderWidth: 5, + * borderColor: grayscale(0.5), + * color: rgb(0.75, 0.2, 0.2), + * opacity: 0.5, + * borderOpacity: 0.75, + * }) + * ``` + * @param options The options to be used when drawing the rectangle. + */ + PDFPage.prototype.drawRectangle = function (options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; + if (options === void 0) { options = {}; } + assertOrUndefined(options.x, 'options.x', ['number']); + assertOrUndefined(options.y, 'options.y', ['number']); + assertOrUndefined(options.width, 'options.width', ['number']); + assertOrUndefined(options.height, 'options.height', ['number']); + assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]); + assertOrUndefined(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]); + assertOrUndefined(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]); + assertOrUndefined(options.borderWidth, 'options.borderWidth', ['number']); + assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertOrUndefined(options.borderColor, 'options.borderColor', [ + [Object, 'Color'], + ]); + assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [ + Array, + ]); + assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', [ + 'number', + ]); + assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle); + assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + borderOpacity: options.borderOpacity, + blendMode: options.blendMode, + }); + if (!('color' in options) && !('borderColor' in options)) { + options.color = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawRectangle({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + width: (_c = options.width) !== null && _c !== void 0 ? _c : 150, + height: (_d = options.height) !== null && _d !== void 0 ? _d : 100, + rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : degrees(0), + xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : degrees(0), + ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : degrees(0), + borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, + color: (_j = options.color) !== null && _j !== void 0 ? _j : undefined, + borderColor: (_k = options.borderColor) !== null && _k !== void 0 ? _k : undefined, + borderDashArray: (_l = options.borderDashArray) !== null && _l !== void 0 ? _l : undefined, + borderDashPhase: (_m = options.borderDashPhase) !== null && _m !== void 0 ? _m : undefined, + graphicsState: graphicsStateKey, + borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : undefined, + })); + }; + /** + * Draw a square on this page. For example: + * ```js + * import { degrees, grayscale, rgb } from 'pdf-lib' + * + * page.drawSquare({ + * x: 25, + * y: 75, + * size: 100, + * rotate: degrees(-15), + * borderWidth: 5, + * borderColor: grayscale(0.5), + * color: rgb(0.75, 0.2, 0.2), + * opacity: 0.5, + * borderOpacity: 0.75, + * }) + * ``` + * @param options The options to be used when drawing the square. + */ + PDFPage.prototype.drawSquare = function (options) { + if (options === void 0) { options = {}; } + var size = options.size; + assertOrUndefined(size, 'size', ['number']); + this.drawRectangle(__assign(__assign({}, options), { width: size, height: size })); + }; + /** + * Draw an ellipse on this page. For example: + * ```js + * import { grayscale, rgb } from 'pdf-lib' + * + * page.drawEllipse({ + * x: 200, + * y: 75, + * xScale: 100, + * yScale: 50, + * borderWidth: 5, + * borderColor: grayscale(0.5), + * color: rgb(0.75, 0.2, 0.2), + * opacity: 0.5, + * borderOpacity: 0.75, + * }) + * ``` + * @param options The options to be used when drawing the ellipse. + */ + PDFPage.prototype.drawEllipse = function (options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; + if (options === void 0) { options = {}; } + assertOrUndefined(options.x, 'options.x', ['number']); + assertOrUndefined(options.y, 'options.y', ['number']); + assertOrUndefined(options.xScale, 'options.xScale', ['number']); + assertOrUndefined(options.yScale, 'options.yScale', ['number']); + assertOrUndefined(options.rotate, 'options.rotate', [[Object, 'Rotation']]); + assertOrUndefined(options.color, 'options.color', [[Object, 'Color']]); + assertRangeOrUndefined(options.opacity, 'opacity.opacity', 0, 1); + assertOrUndefined(options.borderColor, 'options.borderColor', [ + [Object, 'Color'], + ]); + assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1); + assertOrUndefined(options.borderWidth, 'options.borderWidth', ['number']); + assertOrUndefined(options.borderDashArray, 'options.borderDashArray', [ + Array, + ]); + assertOrUndefined(options.borderDashPhase, 'options.borderDashPhase', [ + 'number', + ]); + assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', LineCapStyle); + assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', BlendMode); + var graphicsStateKey = this.maybeEmbedGraphicsState({ + opacity: options.opacity, + borderOpacity: options.borderOpacity, + blendMode: options.blendMode, + }); + if (!('color' in options) && !('borderColor' in options)) { + options.color = rgb(0, 0, 0); + } + var contentStream = this.getContentStream(); + contentStream.push.apply(contentStream, drawEllipse({ + x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x, + y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y, + xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100, + yScale: (_d = options.yScale) !== null && _d !== void 0 ? _d : 100, + rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : undefined, + color: (_f = options.color) !== null && _f !== void 0 ? _f : undefined, + borderColor: (_g = options.borderColor) !== null && _g !== void 0 ? _g : undefined, + borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0, + borderDashArray: (_j = options.borderDashArray) !== null && _j !== void 0 ? _j : undefined, + borderDashPhase: (_k = options.borderDashPhase) !== null && _k !== void 0 ? _k : undefined, + borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : undefined, + graphicsState: graphicsStateKey, + })); + }; + /** + * Draw a circle on this page. For example: + * ```js + * import { grayscale, rgb } from 'pdf-lib' + * + * page.drawCircle({ + * x: 200, + * y: 150, + * size: 100, + * borderWidth: 5, + * borderColor: grayscale(0.5), + * color: rgb(0.75, 0.2, 0.2), + * opacity: 0.5, + * borderOpacity: 0.75, + * }) + * ``` + * @param options The options to be used when drawing the ellipse. + */ + PDFPage.prototype.drawCircle = function (options) { + if (options === void 0) { options = {}; } + var _a = options.size, size = _a === void 0 ? 100 : _a; + assertOrUndefined(size, 'size', ['number']); + this.drawEllipse(__assign(__assign({}, options), { xScale: size, yScale: size })); + }; + PDFPage.prototype.setOrEmbedFont = function (font) { + var oldFont = this.font; + var oldFontKey = this.fontKey; + if (font) + this.setFont(font); + else + this.getFont(); + var newFont = this.font; + var newFontKey = this.fontKey; + return { oldFont: oldFont, oldFontKey: oldFontKey, newFont: newFont, newFontKey: newFontKey }; + }; + PDFPage.prototype.getFont = function () { + if (!this.font || !this.fontKey) { + var font = this.doc.embedStandardFont(StandardFonts.Helvetica); + this.setFont(font); + } + return [this.font, this.fontKey]; + }; + PDFPage.prototype.resetFont = function () { + this.font = undefined; + this.fontKey = undefined; + }; + PDFPage.prototype.getContentStream = function (useExisting) { + if (useExisting === void 0) { useExisting = true; } + if (useExisting && this.contentStream) + return this.contentStream; + this.contentStream = this.createContentStream(); + this.contentStreamRef = this.doc.context.register(this.contentStream); + this.node.addContentStream(this.contentStreamRef); + return this.contentStream; + }; + PDFPage.prototype.createContentStream = function () { + var operators = []; + for (var _i = 0; _i < arguments.length; _i++) { + operators[_i] = arguments[_i]; + } + var dict = this.doc.context.obj({}); + var contentStream = PDFContentStream.of(dict, operators); + return contentStream; + }; + PDFPage.prototype.maybeEmbedGraphicsState = function (options) { + var opacity = options.opacity, borderOpacity = options.borderOpacity, blendMode = options.blendMode; + if (opacity === undefined && + borderOpacity === undefined && + blendMode === undefined) { + return undefined; + } + var graphicsState = this.doc.context.obj({ + Type: 'ExtGState', + ca: opacity, + CA: borderOpacity, + BM: blendMode, + }); + var key = this.node.newExtGState('GS', graphicsState); + return key; + }; + PDFPage.prototype.scaleAnnot = function (annot, x, y) { + var selectors = ['RD', 'CL', 'Vertices', 'QuadPoints', 'L', 'Rect']; + for (var idx = 0, len = selectors.length; idx < len; idx++) { + var list = annot.lookup(PDFName.of(selectors[idx])); + if (list instanceof PDFArray) + list.scalePDFNumbers(x, y); + } + var inkLists = annot.lookup(PDFName.of('InkList')); + if (inkLists instanceof PDFArray) { + for (var idx = 0, len = inkLists.size(); idx < len; idx++) { + var arr = inkLists.lookup(idx); + if (arr instanceof PDFArray) + arr.scalePDFNumbers(x, y); + } + } + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]] + * > methods, which can create instances of [[PDFPage]] for you. + * + * Create an instance of [[PDFPage]] from an existing leaf node. + * + * @param leafNode The leaf node to be wrapped. + * @param ref The unique reference for the page. + * @param doc The document to which the page will belong. + */ + PDFPage.of = function (leafNode, ref, doc) { + return new PDFPage(leafNode, ref, doc); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]] + * > methods, which can create instances of [[PDFPage]] for you. + * + * Create an instance of [[PDFPage]]. + * + * @param doc The document to which the page will belong. + */ + PDFPage.create = function (doc) { + assertIs(doc, 'doc', [[PDFDocument, 'PDFDocument']]); + var dummyRef = PDFRef.of(-1); + var pageLeaf = PDFPageLeaf.withContextAndParent(doc.context, dummyRef); + var pageRef = doc.context.register(pageLeaf); + return new PDFPage(pageLeaf, pageRef, doc); + }; + return PDFPage; +}()); + +/** + * Represents a button field of a [[PDFForm]]. + * + * [[PDFButton]] fields are interactive controls that users can click with their + * mouse. This type of [[PDFField]] is not stateful. The purpose of a button + * is to perform an action when the user clicks on it, such as opening a print + * modal or resetting the form. Buttons are typically rectangular in shape and + * have a text label describing the action that they perform when clicked. + */ +var PDFButton = /** @class */ (function (_super) { + __extends(PDFButton, _super); + function PDFButton(acroPushButton, ref, doc) { + var _this = _super.call(this, acroPushButton, ref, doc) || this; + assertIs(acroPushButton, 'acroButton', [ + [PDFAcroPushButton, 'PDFAcroPushButton'], + ]); + _this.acroField = acroPushButton; + return _this; + } + /** + * Display an image inside the bounds of this button's widgets. For example: + * ```js + * const pngImage = await pdfDoc.embedPng(...) + * const button = form.getButton('some.button.field') + * button.setImage(pngImage, ImageAlignment.Center) + * ``` + * This will update the appearances streams for each of this button's widgets. + * @param image The image that should be displayed. + * @param alignment The alignment of the image. + */ + PDFButton.prototype.setImage = function (image, alignment) { + if (alignment === void 0) { alignment = ImageAlignment.Center; } + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var streamRef = this.createImageAppearanceStream(widget, image, alignment); + this.updateWidgetAppearances(widget, { normal: streamRef }); + } + this.markAsClean(); + }; + /** + * Set the font size for this field. Larger font sizes will result in larger + * text being displayed when PDF readers render this button. Font sizes may + * be integer or floating point numbers. Supplying a negative font size will + * cause this method to throw an error. + * + * For example: + * ```js + * const button = form.getButton('some.button.field') + * button.setFontSize(4) + * button.setFontSize(15.7) + * ``` + * + * > This method depends upon the existence of a default appearance + * > (`/DA`) string. If this field does not have a default appearance string, + * > or that string does not contain a font size (via the `Tf` operator), + * > then this method will throw an error. + * + * @param fontSize The font size to be used when rendering text in this field. + */ + PDFButton.prototype.setFontSize = function (fontSize) { + assertPositive(fontSize, 'fontSize'); + this.acroField.setFontSize(fontSize); + this.markAsDirty(); + }; + /** + * Show this button on the specified page with the given text. For example: + * ```js + * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes) + * const page = pdfDoc.addPage() + * + * const form = pdfDoc.getForm() + * const button = form.createButton('some.button.field') + * + * button.addToPage('Do Stuff', page, { + * x: 50, + * y: 75, + * width: 200, + * height: 100, + * textColor: rgb(1, 0, 0), + * backgroundColor: rgb(0, 1, 0), + * borderColor: rgb(0, 0, 1), + * borderWidth: 2, + * rotate: degrees(90), + * font: ubuntuFont, + * }) + * ``` + * This will create a new widget for this button field. + * @param text The text to be displayed for this button widget. + * @param page The page to which this button widget should be added. + * @param options The options to be used when adding this button widget. + */ + PDFButton.prototype.addToPage = function ( + // TODO: This needs to be optional, e.g. for image buttons + text, page, options) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; + assertOrUndefined(text, 'text', ['string']); + assertOrUndefined(page, 'page', [[PDFPage, 'PDFPage']]); + assertFieldAppearanceOptions(options); + // Create a widget for this button + var widget = this.createWidget({ + x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2, + y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2, + width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100, + height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50, + textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : rgb(0, 0, 0), + backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : rgb(0.75, 0.75, 0.75), + borderColor: options === null || options === void 0 ? void 0 : options.borderColor, + borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0, + rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : degrees(0), + caption: text, + hidden: options === null || options === void 0 ? void 0 : options.hidden, + page: page.ref, + }); + var widgetRef = this.doc.context.register(widget.dict); + // Add widget to this field + this.acroField.addWidget(widgetRef); + // Set appearance streams for widget + var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont(); + this.updateWidgetAppearance(widget, font); + // Add widget to the given page + page.node.addAnnot(widgetRef); + }; + /** + * Returns `true` if this button has been marked as dirty, or if any of this + * button's widgets do not have an appearance stream. For example: + * ```js + * const button = form.getButton('some.button.field') + * if (button.needsAppearancesUpdate()) console.log('Needs update') + * ``` + * @returns Whether or not this button needs an appearance update. + */ + PDFButton.prototype.needsAppearancesUpdate = function () { + var _a; + if (this.isDirty()) + return true; + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof PDFStream; + if (!hasAppearances) + return true; + } + return false; + }; + /** + * Update the appearance streams for each of this button's widgets using + * the default appearance provider for buttons. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const button = form.getButton('some.button.field') + * button.defaultUpdateAppearances(helvetica) + * ``` + * @param font The font to be used for creating the appearance streams. + */ + PDFButton.prototype.defaultUpdateAppearances = function (font) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + this.updateAppearances(font); + }; + /** + * Update the appearance streams for each of this button's widgets using + * the given appearance provider. If no `provider` is passed, the default + * appearance provider for buttons will be used. For example: + * ```js + * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica) + * const button = form.getButton('some.button.field') + * button.updateAppearances(helvetica, (field, widget, font) => { + * ... + * return { + * normal: drawButton(...), + * down: drawButton(...), + * } + * }) + * ``` + * @param font The font to be used for creating the appearance streams. + * @param provider Optionally, the appearance provider to be used for + * generating the contents of the appearance streams. + */ + PDFButton.prototype.updateAppearances = function (font, provider) { + assertIs(font, 'font', [[PDFFont, 'PDFFont']]); + assertOrUndefined(provider, 'provider', [Function]); + var widgets = this.acroField.getWidgets(); + for (var idx = 0, len = widgets.length; idx < len; idx++) { + var widget = widgets[idx]; + this.updateWidgetAppearance(widget, font, provider); + } + }; + PDFButton.prototype.updateWidgetAppearance = function (widget, font, provider) { + var apProvider = provider !== null && provider !== void 0 ? provider : defaultButtonAppearanceProvider; + var appearances = normalizeAppearance(apProvider(this, widget, font)); + this.updateWidgetAppearanceWithFont(widget, font, appearances); + }; + /** + * > **NOTE:** You probably don't want to call this method directly. Instead, + * > consider using the [[PDFForm.getButton]] method, which will create an + * > instance of [[PDFButton]] for you. + * + * Create an instance of [[PDFButton]] from an existing acroPushButton and ref + * + * @param acroPushButton The underlying `PDFAcroPushButton` for this button. + * @param ref The unique reference for this button. + * @param doc The document to which this button will belong. + */ + PDFButton.of = function (acroPushButton, ref, doc) { return new PDFButton(acroPushButton, ref, doc); }; + return PDFButton; +}(PDFField)); + +export { AFRelationship, AcroButtonFlags, AcroChoiceFlags, AcroFieldFlags, AcroTextFlags, AnnotationFlags, AppearanceCharacteristics, BlendMode, Cache, CharCodes$1 as CharCodes, ColorTypes, CombedTextLayoutError, CorruptPageTreeError, CustomFontEmbedder, CustomFontSubsetEmbedder, Duplex, EncryptedPDFError, ExceededMaxLengthError, FieldAlreadyExistsError, FieldExistsAsNonTerminalError, FileEmbedder, FontkitNotRegisteredError, ForeignPageError, ImageAlignment, IndexOutOfBoundsError, InvalidAcroFieldValueError, InvalidFieldNamePartError, InvalidMaxLengthError, InvalidPDFDateStringError, InvalidTargetIndexError, JpegEmbedder, LineCapStyle, LineJoinStyle, MethodNotImplementedError, MissingCatalogError, MissingDAEntryError, MissingKeywordError, MissingOnValueCheckError, MissingPDFHeaderError, MissingPageContentsEmbeddingError, MissingTfOperatorError, MultiSelectValueError, NextByteAssertionError, NoSuchFieldError, NonFullScreenPageMode, NumberParsingError, PDFAcroButton, PDFAcroCheckBox, PDFAcroChoice, PDFAcroComboBox, PDFAcroField, PDFAcroForm, PDFAcroListBox, PDFAcroNonTerminal, PDFAcroPushButton, PDFAcroRadioButton, PDFAcroSignature, PDFAcroTerminal, PDFAcroText, PDFAnnotation, PDFArray, PDFArrayIsNotRectangleError, PDFBool, PDFButton, PDFCatalog, PDFCheckBox, PDFContentStream, PDFContext, PDFCrossRefSection, PDFCrossRefStream, PDFDict, PDFDocument, PDFDropdown, PDFEmbeddedPage, PDFField, PDFFlateStream, PDFFont, PDFForm, PDFHeader, PDFHexString, PDFImage, PDFInvalidObject, PDFInvalidObjectParsingError, PDFJavaScript, PDFName, PDFNull$1 as PDFNull, PDFNumber, PDFObject, PDFObjectCopier, PDFObjectParser, PDFObjectParsingError, PDFObjectStream, PDFObjectStreamParser, PDFOperator, Ops as PDFOperatorNames, PDFOptionList, PDFPage, PDFPageEmbedder, PDFPageLeaf, PDFPageTree, PDFParser, PDFParsingError, PDFRadioGroup, PDFRawStream, PDFRef, PDFSignature, PDFStream, PDFStreamParsingError, PDFStreamWriter, PDFString, PDFTextField, PDFTrailer, PDFTrailerDict, PDFWidgetAnnotation, PDFWriter, PDFXRefStreamParser, PageEmbeddingMismatchedContextError, PageSizes, ParseSpeeds, PngEmbedder, PrintScaling, PrivateConstructorError, ReadingDirection, RemovePageFromEmptyDocumentError, ReparseError, RichTextFieldReadError, RotationTypes, StalledParserError, StandardFontEmbedder, StandardFontValues, StandardFonts, TextAlignment, TextRenderingMode, UnbalancedParenthesisError, UnexpectedFieldTypeError, UnexpectedObjectTypeError, UnrecognizedStreamTypeError, UnsupportedEncodingError, ViewerPreferences, addRandomSuffix, adjustDimsForRotation, appendBezierCurve, appendQuadraticCurve, arrayAsString, asNumber, asPDFName, asPDFNumber, assertEachIs, assertInteger, assertIs, assertIsOneOf, assertIsOneOfOrUndefined, assertIsSubset, assertMultiple, assertOrUndefined, assertPositive, assertRange, assertRangeOrUndefined, backtick, beginMarkedContent, beginText, breakTextIntoLines, byAscendingId, bytesFor, canBeConvertedToUint8Array, charAtIndex, charFromCode, charFromHexCode, charSplit, cleanText, clip, clipEvenOdd, closePath, cmyk, colorToComponents, componentsToColor, concatTransformationMatrix, copyStringIntoBuffer, createPDFAcroField, createPDFAcroFields, createTypeErrorMsg, createValueErrorMsg, decodeFromBase64, decodeFromBase64DataUri, decodePDFRawStream, defaultButtonAppearanceProvider, defaultCheckBoxAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultTextFieldAppearanceProvider, degrees, degreesToRadians, drawButton, drawCheckBox, drawCheckMark, drawEllipse, drawEllipsePath, drawImage, drawLine, drawLinesOfText, drawObject, drawOptionList, drawPage, drawRadioButton, drawRectangle, drawSvgPath, drawText, drawTextField, drawTextLines, encodeToBase64, endMarkedContent, endPath, endText, error, escapeRegExp, escapedNewlineChars, fill, fillAndStroke, findLastMatch, getType, grayscale, hasSurrogates, hasUtf16BOM, highSurrogate, isNewlineChar, isStandardFont, isType, isWithinBMP, last, layoutCombedText, layoutMultilineText, layoutSinglelineText, lineSplit, lineTo, lowSurrogate, mergeIntoTypedArray, mergeLines, mergeUint8Arrays, moveText, moveTo, newlineChars, nextLine, normalizeAppearance, numberToString, padStart, parseDate, pdfDocEncodingDecode, pluckIndices, popGraphicsState, pushGraphicsState, radians, radiansToDegrees, range, rectangle, rectanglesAreEqual, reduceRotation, restoreDashPattern, reverseArray, rgb, rotateAndSkewTextDegreesAndTranslate, rotateAndSkewTextRadiansAndTranslate, rotateDegrees, rotateInPlace, rotateRadians, rotateRectangle, scale, setCharacterSpacing, setCharacterSqueeze, setDashPattern, setFillingCmykColor, setFillingColor, setFillingGrayscaleColor, setFillingRgbColor, setFontAndSize, setGraphicsState, setLineCap, setLineHeight, setLineJoin, setLineWidth, setStrokingCmykColor, setStrokingColor, setStrokingGrayscaleColor, setStrokingRgbColor, setTextMatrix, setTextRenderingMode, setTextRise, setWordSpacing, showText, singleQuote, sizeInBytes, skewDegrees, skewRadians, sortedUniq, square, stroke, sum, toCharCode, toCodePoint, toDegrees, toHexString, toHexStringOfMinLength, toRadians, toUint8Array, translate, typedArrayFor, utf16Decode, utf16Encode, utf8Encode, values, waitForTick }; +//# sourceMappingURL=pdf-lib.esm.js.map diff --git a/go/cmd/kjol-web/frontend/vendor/pdf-lib/package.json b/go/cmd/kjol-web/frontend/vendor/pdf-lib/package.json new file mode 100644 index 00000000..090b03ea --- /dev/null +++ b/go/cmd/kjol-web/frontend/vendor/pdf-lib/package.json @@ -0,0 +1,141 @@ +{ + "name": "pdf-lib", + "version": "1.17.1", + "description": "Create and modify PDF files with JavaScript", + "author": "Andrew Dillon <andrew.dillon.j@gmail.com>", + "contributors": [ + "jerp (https://github.com/jerp)", + "Greg Bacchus (https://github.com/gregbacchus)", + "Mickael Lecoq (https://github.com/mlecoq)", + "Philip Murphy (https://github.com/philipjmurphy)", + "Dmitry Kozliuk (https://github.com/PlushBeaver)", + "Said Amezyane (https://github.com/samezyane)", + "Georges Gabereau (https://github.com/multiplegeorges)", + "Gerard Smit (https://github.com/GerardSmit)", + "jlmessenger (https://github.com/jlmessenger)", + "thebenlamm (https://github.com/thebenlamm)", + "cshenks (https://github.com/cshenks)", + "James Woodrow (https://github.com/jwoodrow)", + "Guillaume Grossetie (https://github.com/Mogztter)", + "Philipp Tessenow (https://github.com/tessi)", + "Tim Kräuter (https://github.com/timKraeuter)", + "Richard Bateman (https://github.com/taxilian)", + "Sebastian Martinez (https://github.com/sebastinez)", + "soadzoor (https://github.com/soadzoor)", + "Slobodan Babic (https://github.com/bockoblur)", + "Zach Toben (https://github.com/ztoben)", + "Zack Sheppard (https://github.com/zackdotcomputer)", + "DkDavid (https://github.com/DkDavid)", + "Bj Tecu (https://github.com/btecu)", + "Brent McSharry (https://github.com/mcshaz)", + "Tim Knapp (https://github.com/duffyd)", + "Ching Chang (https://github.com/ChingChang9)" + ], + "scripts": { + "release:latest": "yarn publish --tag latest && yarn pack && yarn release:tag", + "release:next": "yarn publish --tag next", + "release:prep": "yarn clean && yarn lint && yarn typecheck && yarn test && yarn build", + "release:tag": "TAG=\"v$(yarn --silent get:version)\" && git tag $TAG && git push origin $TAG", + "get:version": "node --eval 'console.log(require(`./package.json`).version)'", + "clean": "rimraf ts3.4 build cjs dist es scratchpad/build coverage tsBuildInfo.json apps/node-build apps/node/tsBuildInfo.json isolate*.log flamegraph.html out.pdf", + "typecheck": "tsc --noEmit --incremental false --tsBuildInfoFile null", + "test": "jest --config jest.json --runInBand", + "testw": "jest --config jest.json --watch", + "testc": "jest --config jest.json --coverage && open coverage/index.html", + "lint": "yarn lint:prettier && yarn lint:tslint:src && yarn lint:tslint:tests", + "lint:tslint:src": "tslint --project tsconfig.json --fix", + "lint:tslint:tests": "tslint --project tests/tsconfig.json --fix", + "lint:prettier": "prettier --write \"./{src,tests,apps}/**/*.{ts,js,json,html,css}\" --loglevel error", + "build": "yarn build:cjs && yarn build:es && yarn build:esm && yarn build:esm:min && yarn build:umd && yarn build:umd:min && yarn build:downlevel-dts", + "build:cjs": "ttsc --module commonjs --outDir cjs", + "build:es": "ttsc --module ES2015 --outDir es", + "build:esm": "rollup --config rollup.config.js --file dist/pdf-lib.esm.js --environment MODULE_TYPE:es", + "build:esm:min": "rollup --config rollup.config.js --file dist/pdf-lib.esm.min.js --environment MINIFY,MODULE_TYPE:es", + "build:umd": "rollup --config rollup.config.js --file dist/pdf-lib.js --environment MODULE_TYPE:umd", + "build:umd:min": "rollup --config rollup.config.js --file dist/pdf-lib.min.js --environment MINIFY,MODULE_TYPE:umd", + "build:downlevel-dts": "rimraf ts3.4 && yarn downlevel-dts . ts3.4 && rimraf ts3.4/scratchpad", + "scratchpad:start": "ttsc --build scratchpad/tsconfig.json --watch", + "scratchpad:run": "node scratchpad/build/scratchpad/index.js", + "scratchpad:flame": "rimraf isolate*.log && node --prof scratchpad/build/scratchpad/index.js && node --prof-process --preprocess -j isolate*.log | flamebearer", + "apps:node": "ttsc --build apps/node/tsconfig.json && node apps/node-build/index.js", + "apps:deno": "deno run --allow-read --allow-write --allow-run apps/deno/index.ts", + "apps:web": "http-server -c-1 .", + "apps:web:mac": "bash -c 'sleep 1 && open http://localhost:8080/apps/web/test1.html' & yarn apps:web", + "apps:rn:ios": "cd apps/rn && yarn add ./../.. --force && react-native run-ios", + "apps:rn:android": "yarn apps:rn:emulator & cd apps/rn && yarn add ./../.. --force && react-native run-android", + "apps:rn:emulator": "emulator -avd \"$(emulator -list-avds | head -n 1)\" & bash -c 'sleep 5 && adb reverse tcp:8080 tcp:8080 && adb reverse tcp:8081 tcp:8081'" + }, + "main": "cjs/index.js", + "module": "es/index.js", + "unpkg": "dist/pdf-lib.min.js", + "types": "cjs/index.d.ts", + "typesVersions": { + "<=3.5": { + "*": [ + "ts3.4/*" + ] + } + }, + "files": [ + "cjs/", + "dist/", + "es/", + "src/", + "ts3.4", + "LICENSE.md", + "package.json", + "README.md", + "yarn.lock" + ], + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + }, + "devDependencies": { + "@pdf-lib/fontkit": "^1.1.0", + "@rollup/plugin-commonjs": "^13.0.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^8.0.1", + "@types/jest": "^26.0.0", + "@types/node-fetch": "^2.5.7", + "@types/pako": "^1.0.1", + "@zerollup/ts-transform-paths": "^1.7.18", + "downlevel-dts": "^0.5.0", + "flamebearer": "^1.1.3", + "http-server": "^0.12.3", + "jest": "^26.0.1", + "node-fetch": "^2.6.0", + "prettier": "^2.0.5", + "rimraf": "^3.0.2", + "rollup": "^2.17.1", + "rollup-plugin-terser": "^6.1.0", + "ts-jest": "^26.1.0", + "tslint": "^6.1.2", + "tslint-config-prettier": "^1.18.0", + "ttypescript": "^1.5.10", + "typescript": "^3.9.5" + }, + "license": "MIT", + "private": false, + "homepage": "https://pdf-lib.js.org", + "repository": "git+https://github.com/Hopding/pdf-lib.git", + "bugs": { + "url": "https://github.com/Hopding/pdf-lib/issues" + }, + "keywords": [ + "pdf-lib", + "pdf", + "document", + "create", + "modify", + "creation", + "modification", + "edit", + "editing", + "typescript", + "javascript", + "library" + ] +} diff --git a/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.mjs b/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.mjs new file mode 100644 index 00000000..bd281289 --- /dev/null +++ b/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.mjs @@ -0,0 +1,26465 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2024 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */ + +/** + * pdfjsVersion = 5.5.207 + * pdfjsBuild = 527964698 + */ +/******/ // The require scope +/******/ var __webpack_require__ = {}; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; + +;// ./src/shared/util.js +const isNodeJS = typeof process === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; +const LINE_FACTOR = 1.35; +const LINE_DESCENT_FACTOR = 0.35; +const BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR; +const RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + SAVE: 0x08, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + IS_EDITING: 0x80, + OPLIST: 0x100 +}; +const AnnotationMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_FORMS: 2, + ENABLE_STORAGE: 3 +}; +const AnnotationEditorPrefix = "pdfjs_internal_editor_"; +const AnnotationEditorType = { + DISABLE: -1, + NONE: 0, + FREETEXT: 3, + HIGHLIGHT: 9, + STAMP: 13, + INK: 15, + POPUP: 16, + SIGNATURE: 101, + COMMENT: 102 +}; +const AnnotationEditorParamsType = { + RESIZE: 1, + CREATE: 2, + FREETEXT_SIZE: 11, + FREETEXT_COLOR: 12, + FREETEXT_OPACITY: 13, + INK_COLOR: 21, + INK_THICKNESS: 22, + INK_OPACITY: 23, + HIGHLIGHT_COLOR: 31, + HIGHLIGHT_THICKNESS: 32, + HIGHLIGHT_FREE: 33, + HIGHLIGHT_SHOW_ALL: 34, + DRAW_STEP: 41 +}; +const PermissionFlag = { + PRINT: 0x04, + MODIFY_CONTENTS: 0x08, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +const MeshFigureType = { + TRIANGLES: 1, + LATTICE: 2, + PATCH: 3 +}; +const TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +const ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +const AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +const AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +const AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +const AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +const AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +const AnnotationActionEventType = { + E: "Mouse Enter", + X: "Mouse Exit", + D: "Mouse Down", + U: "Mouse Up", + Fo: "Focus", + Bl: "Blur", + PO: "PageOpen", + PC: "PageClose", + PV: "PageVisible", + PI: "PageInvisible", + K: "Keystroke", + F: "Format", + V: "Validate", + C: "Calculate" +}; +const DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +const PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +const VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +const OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotation: 80, + endAnnotation: 81, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91, + setStrokeTransparent: 92, + setFillTransparent: 93, + rawFillPath: 94 +}; +const DrawOPS = { + moveTo: 0, + lineTo: 1, + curveTo: 2, + quadraticCurveTo: 3, + closePath: 4 +}; +const PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +let verbosity = VerbosityLevel.WARNINGS; +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} +function getVerbosityLevel() { + return verbosity; +} +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.info(`Info: ${msg}`); + } +} +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.warn(`Warning: ${msg}`); + } +} +function unreachable(msg) { + throw new Error(msg); +} +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} +function _isValidProtocol(url) { + switch (url?.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + default: + return false; + } +} +function createValidAbsoluteUrl(url, baseUrl = null, options = null) { + if (!url) { + return null; + } + if (options && typeof url === "string") { + if (options.addDefaultProtocol && url.startsWith("www.")) { + const dots = url.match(/\./g); + if (dots?.length >= 2) { + url = `http://${url}`; + } + } + if (options.tryConvertEncoding) { + try { + url = stringToUTF8String(url); + } catch {} + } + } + const absoluteUrl = baseUrl ? URL.parse(url, baseUrl) : URL.parse(url); + return _isValidProtocol(absoluteUrl) ? absoluteUrl : null; +} +function updateUrlHash(url, hash, allowRel = false) { + const res = URL.parse(url); + if (res) { + res.hash = hash; + return res.href; + } + if (allowRel && createValidAbsoluteUrl(url, "http://example.com")) { + return url.split("#", 1)[0] + `${hash ? `#${hash}` : ""}`; + } + return ""; +} +function stripPath(str) { + return str.substring(str.lastIndexOf("/") + 1); +} +function shadow(obj, prop, value, nonSerializable = false) { + Object.defineProperty(obj, prop, { + value, + enumerable: !nonSerializable, + configurable: true, + writable: false + }); + return value; +} +const BaseException = function BaseExceptionClosure() { + function BaseException(message, name) { + this.message = message; + this.name = name; + } + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); +class PasswordException extends BaseException { + constructor(msg, code) { + super(msg, "PasswordException"); + this.code = code; + } +} +class UnknownErrorException extends BaseException { + constructor(msg, details) { + super(msg, "UnknownErrorException"); + this.details = details; + } +} +class InvalidPDFException extends BaseException { + constructor(msg) { + super(msg, "InvalidPDFException"); + } +} +class ResponseException extends BaseException { + constructor(msg, status, missing) { + super(msg, "ResponseException"); + this.status = status; + this.missing = missing; + } +} +class FormatError extends BaseException { + constructor(msg) { + super(msg, "FormatError"); + } +} +class AbortException extends BaseException { + constructor(msg) { + super(msg, "AbortException"); + } +} +function bytesToString(bytes) { + if (typeof bytes !== "object" || bytes?.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + const length = bytes.length; + const MAX_ARGUMENT_COUNT = 8192; + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + const strBuf = []; + for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + const chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + return strBuf.join(""); +} +function stringToBytes(str) { + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + const length = str.length; + const bytes = new Uint8Array(length); + for (let i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + return bytes; +} +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} +function objectSize(obj) { + return Object.keys(obj).length; +} +function isLittleEndian() { + const buffer8 = new Uint8Array(4); + buffer8[0] = 1; + const view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} +function isEvalSupported() { + try { + new Function(""); + return true; + } catch { + return false; + } +} +class FeatureTest { + static get isLittleEndian() { + return shadow(this, "isLittleEndian", isLittleEndian()); + } + static get isEvalSupported() { + return shadow(this, "isEvalSupported", isEvalSupported()); + } + static get isOffscreenCanvasSupported() { + return shadow(this, "isOffscreenCanvasSupported", typeof OffscreenCanvas !== "undefined"); + } + static get isImageDecoderSupported() { + return shadow(this, "isImageDecoderSupported", typeof ImageDecoder !== "undefined"); + } + static get isFloat16ArraySupported() { + return shadow(this, "isFloat16ArraySupported", typeof Float16Array !== "undefined"); + } + static get isSanitizerSupported() { + return shadow(this, "isSanitizerSupported", typeof Sanitizer !== "undefined"); + } + static get platform() { + const { + platform, + userAgent + } = navigator; + return shadow(this, "platform", { + isAndroid: userAgent.includes("Android"), + isLinux: platform.includes("Linux"), + isMac: platform.includes("Mac"), + isWindows: platform.includes("Win"), + isFirefox: userAgent.includes("Firefox") + }); + } + static get isCSSRoundSupported() { + return shadow(this, "isCSSRoundSupported", globalThis.CSS?.supports?.("width: round(1.5px, 1px)")); + } +} +const hexNumbers = Array.from(Array(256).keys(), n => n.toString(16).padStart(2, "0")); +class Util { + static makeHexColor(r, g, b) { + return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`; + } + static domMatrixToTransform(dm) { + return [dm.a, dm.b, dm.c, dm.d, dm.e, dm.f]; + } + static scaleMinMax(transform, minMax) { + let temp; + if (transform[0]) { + if (transform[0] < 0) { + temp = minMax[0]; + minMax[0] = minMax[2]; + minMax[2] = temp; + } + minMax[0] *= transform[0]; + minMax[2] *= transform[0]; + if (transform[3] < 0) { + temp = minMax[1]; + minMax[1] = minMax[3]; + minMax[3] = temp; + } + minMax[1] *= transform[3]; + minMax[3] *= transform[3]; + } else { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + if (transform[1] < 0) { + temp = minMax[1]; + minMax[1] = minMax[3]; + minMax[3] = temp; + } + minMax[1] *= transform[1]; + minMax[3] *= transform[1]; + if (transform[2] < 0) { + temp = minMax[0]; + minMax[0] = minMax[2]; + minMax[2] = temp; + } + minMax[0] *= transform[2]; + minMax[2] *= transform[2]; + } + minMax[0] += transform[4]; + minMax[1] += transform[5]; + minMax[2] += transform[4]; + minMax[3] += transform[5]; + } + static transform(m1, m2) { + return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; + } + static multiplyByDOMMatrix(m, md) { + return [m[0] * md.a + m[2] * md.b, m[1] * md.a + m[3] * md.b, m[0] * md.c + m[2] * md.d, m[1] * md.c + m[3] * md.d, m[0] * md.e + m[2] * md.f + m[4], m[1] * md.e + m[3] * md.f + m[5]]; + } + static applyTransform(p, m, pos = 0) { + const p0 = p[pos]; + const p1 = p[pos + 1]; + p[pos] = p0 * m[0] + p1 * m[2] + m[4]; + p[pos + 1] = p0 * m[1] + p1 * m[3] + m[5]; + } + static applyTransformToBezier(p, transform, pos = 0) { + const m0 = transform[0]; + const m1 = transform[1]; + const m2 = transform[2]; + const m3 = transform[3]; + const m4 = transform[4]; + const m5 = transform[5]; + for (let i = 0; i < 6; i += 2) { + const pI = p[pos + i]; + const pI1 = p[pos + i + 1]; + p[pos + i] = pI * m0 + pI1 * m2 + m4; + p[pos + i + 1] = pI * m1 + pI1 * m3 + m5; + } + } + static applyInverseTransform(p, m) { + const p0 = p[0]; + const p1 = p[1]; + const d = m[0] * m[3] - m[1] * m[2]; + p[0] = (p0 * m[3] - p1 * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + p[1] = (-p0 * m[1] + p1 * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + } + static axialAlignedBoundingBox(rect, transform, output) { + const m0 = transform[0]; + const m1 = transform[1]; + const m2 = transform[2]; + const m3 = transform[3]; + const m4 = transform[4]; + const m5 = transform[5]; + const r0 = rect[0]; + const r1 = rect[1]; + const r2 = rect[2]; + const r3 = rect[3]; + let a0 = m0 * r0 + m4; + let a2 = a0; + let a1 = m0 * r2 + m4; + let a3 = a1; + let b0 = m3 * r1 + m5; + let b2 = b0; + let b1 = m3 * r3 + m5; + let b3 = b1; + if (m1 !== 0 || m2 !== 0) { + const m1r0 = m1 * r0; + const m1r2 = m1 * r2; + const m2r1 = m2 * r1; + const m2r3 = m2 * r3; + a0 += m2r1; + a3 += m2r1; + a1 += m2r3; + a2 += m2r3; + b0 += m1r0; + b3 += m1r0; + b1 += m1r2; + b2 += m1r2; + } + output[0] = Math.min(output[0], a0, a1, a2, a3); + output[1] = Math.min(output[1], b0, b1, b2, b3); + output[2] = Math.max(output[2], a0, a1, a2, a3); + output[3] = Math.max(output[3], b0, b1, b2, b3); + } + static inverseTransform(m) { + const d = m[0] * m[3] - m[1] * m[2]; + return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; + } + static singularValueDecompose2dScale(matrix, output) { + const m0 = matrix[0]; + const m1 = matrix[1]; + const m2 = matrix[2]; + const m3 = matrix[3]; + const a = m0 ** 2 + m1 ** 2; + const b = m0 * m2 + m1 * m3; + const c = m2 ** 2 + m3 ** 2; + const first = (a + c) / 2; + const second = Math.sqrt(first ** 2 - (a * c - b ** 2)); + output[0] = Math.sqrt(first + second || 1); + output[1] = Math.sqrt(first - second || 1); + } + static normalizeRect(rect) { + const r = rect.slice(0); + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + return r; + } + static intersect(rect1, rect2) { + const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2])); + const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2])); + if (xLow > xHigh) { + return null; + } + const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3])); + const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3])); + if (yLow > yHigh) { + return null; + } + return [xLow, yLow, xHigh, yHigh]; + } + static pointBoundingBox(x, y, minMax) { + minMax[0] = Math.min(minMax[0], x); + minMax[1] = Math.min(minMax[1], y); + minMax[2] = Math.max(minMax[2], x); + minMax[3] = Math.max(minMax[3], y); + } + static rectBoundingBox(x0, y0, x1, y1, minMax) { + minMax[0] = Math.min(minMax[0], x0, x1); + minMax[1] = Math.min(minMax[1], y0, y1); + minMax[2] = Math.max(minMax[2], x0, x1); + minMax[3] = Math.max(minMax[3], y0, y1); + } + static #getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, t, minMax) { + if (t <= 0 || t >= 1) { + return; + } + const mt = 1 - t; + const tt = t * t; + const ttt = tt * t; + const x = mt * (mt * (mt * x0 + 3 * t * x1) + 3 * tt * x2) + ttt * x3; + const y = mt * (mt * (mt * y0 + 3 * t * y1) + 3 * tt * y2) + ttt * y3; + minMax[0] = Math.min(minMax[0], x); + minMax[1] = Math.min(minMax[1], y); + minMax[2] = Math.max(minMax[2], x); + minMax[3] = Math.max(minMax[3], y); + } + static #getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, a, b, c, minMax) { + if (Math.abs(a) < 1e-12) { + if (Math.abs(b) >= 1e-12) { + this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, -c / b, minMax); + } + return; + } + const delta = b ** 2 - 4 * c * a; + if (delta < 0) { + return; + } + const sqrtDelta = Math.sqrt(delta); + const a2 = 2 * a; + this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, (-b + sqrtDelta) / a2, minMax); + this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, (-b - sqrtDelta) / a2, minMax); + } + static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3, minMax) { + minMax[0] = Math.min(minMax[0], x0, x3); + minMax[1] = Math.min(minMax[1], y0, y3); + minMax[2] = Math.max(minMax[2], x0, x3); + minMax[3] = Math.max(minMax[3], y0, y3); + this.#getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, 3 * (-x0 + 3 * (x1 - x2) + x3), 6 * (x0 - 2 * x1 + x2), 3 * (x1 - x0), minMax); + this.#getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, 3 * (-y0 + 3 * (y1 - y2) + y3), 6 * (y0 - 2 * y1 + y2), 3 * (y1 - y0), minMax); + } +} +const PDFStringTranslateTable = (/* unused pure expression or super */ null && ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac])); +function stringToPDFString(str, keepEscapeSequence = false) { + if (str[0] >= "\xEF") { + let encoding; + if (str[0] === "\xFE" && str[1] === "\xFF") { + encoding = "utf-16be"; + if (str.length % 2 === 1) { + str = str.slice(0, -1); + } + } else if (str[0] === "\xFF" && str[1] === "\xFE") { + encoding = "utf-16le"; + if (str.length % 2 === 1) { + str = str.slice(0, -1); + } + } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { + encoding = "utf-8"; + } + if (encoding) { + try { + const decoder = new TextDecoder(encoding, { + fatal: true + }); + const buffer = stringToBytes(str); + const decoded = decoder.decode(buffer); + if (keepEscapeSequence || !decoded.includes("\x1b")) { + return decoded; + } + return decoded.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g, ""); + } catch (ex) { + warn(`stringToPDFString: "${ex}".`); + } + } + } + const strBuf = []; + for (let i = 0, ii = str.length; i < ii; i++) { + const charCode = str.charCodeAt(i); + if (!keepEscapeSequence && charCode === 0x1b) { + while (++i < ii && str.charCodeAt(i) !== 0x1b) {} + continue; + } + const code = PDFStringTranslateTable[charCode]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + return strBuf.join(""); +} +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + return true; +} +function getModificationDate(date = new Date()) { + if (!(date instanceof Date)) { + date = new Date(date); + } + const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")]; + return buffer.join(""); +} +let NormalizeRegex = null; +let NormalizationMap = null; +function normalizeUnicode(str) { + if (!NormalizeRegex) { + NormalizeRegex = /([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu; + NormalizationMap = new Map([["ſt", "ſt"]]); + } + return str.replaceAll(NormalizeRegex, (_, p1, p2) => p1 ? p1.normalize("NFKC") : NormalizationMap.get(p2)); +} +function getUuid() { + if (typeof crypto.randomUUID === "function") { + return crypto.randomUUID(); + } + const buf = new Uint8Array(32); + crypto.getRandomValues(buf); + return bytesToString(buf); +} +const AnnotationPrefix = "pdfjs_internal_id_"; +function _isValidExplicitDest(validRef, validName, dest) { + if (!Array.isArray(dest) || dest.length < 2) { + return false; + } + const [page, zoom, ...args] = dest; + if (!validRef(page) && !Number.isInteger(page)) { + return false; + } + if (!validName(zoom)) { + return false; + } + const argsLen = args.length; + let allowNull = true; + switch (zoom.name) { + case "XYZ": + if (argsLen < 2 || argsLen > 3) { + return false; + } + break; + case "Fit": + case "FitB": + return argsLen === 0; + case "FitH": + case "FitBH": + case "FitV": + case "FitBV": + if (argsLen > 1) { + return false; + } + break; + case "FitR": + if (argsLen !== 4) { + return false; + } + allowNull = false; + break; + default: + return false; + } + for (const arg of args) { + if (typeof arg === "number" || allowNull && arg === null) { + continue; + } + return false; + } + return true; +} +const makeArr = () => []; +const makeMap = () => new Map(); +const makeObj = () => Object.create(null); +function MathClamp(v, min, max) { + return Math.min(Math.max(v, min), max); +} +if (typeof Math.sumPrecise !== "function") { + Math.sumPrecise = function (numbers) { + return numbers.reduce((a, b) => a + b, 0); + }; +} + +;// ./src/display/xfa_text.js +class XfaText { + static textContent(xfa) { + const items = []; + const output = { + items, + styles: Object.create(null) + }; + function walk(node) { + if (!node) { + return; + } + let str = null; + const name = node.name; + if (name === "#text") { + str = node.value; + } else if (!XfaText.shouldBuildText(name)) { + return; + } else if (node?.attributes?.textContent) { + str = node.attributes.textContent; + } else if (node.value) { + str = node.value; + } + if (str !== null) { + items.push({ + str + }); + } + if (!node.children) { + return; + } + for (const child of node.children) { + walk(child); + } + } + walk(xfa); + return output; + } + static shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); + } +} + +;// ./src/display/xfa_layer.js + +class XfaLayer { + static setupStorage(html, id, element, storage, intent) { + const storedData = storage.getValue(id, { + value: null + }); + switch (element.name) { + case "textarea": + if (storedData.value !== null) { + html.textContent = storedData.value; + } + if (intent === "print") { + break; + } + html.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + }); + break; + case "input": + if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { + if (storedData.value === element.attributes.xfaOn) { + html.setAttribute("checked", true); + } else if (storedData.value === element.attributes.xfaOff) { + html.removeAttribute("checked"); + } + if (intent === "print") { + break; + } + html.addEventListener("change", event => { + storage.setValue(id, { + value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") + }); + }); + } else { + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + if (intent === "print") { + break; + } + html.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + }); + } + break; + case "select": + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + for (const option of element.children) { + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } else if (option.attributes.hasOwnProperty("selected")) { + delete option.attributes.selected; + } + } + } + html.addEventListener("input", event => { + const options = event.target.options; + const value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; + storage.setValue(id, { + value + }); + }); + break; + } + } + static setAttributes({ + html, + element, + storage = null, + intent, + linkService + }) { + const { + attributes + } = element; + const isHTMLAnchorElement = html instanceof HTMLAnchorElement; + if (attributes.type === "radio") { + attributes.name = `${attributes.name}-${intent}`; + } + for (const [key, value] of Object.entries(attributes)) { + if (value === null || value === undefined) { + continue; + } + switch (key) { + case "class": + if (value.length) { + html.setAttribute(key, value.join(" ")); + } + break; + case "dataId": + break; + case "id": + html.setAttribute("data-element-id", value); + break; + case "style": + Object.assign(html.style, value); + break; + case "textContent": + html.textContent = value; + break; + default: + if (!isHTMLAnchorElement || key !== "href" && key !== "newWindow") { + html.setAttribute(key, value); + } + } + } + if (isHTMLAnchorElement) { + linkService.addLinkAttributes(html, attributes.href, attributes.newWindow); + } + if (storage && attributes.dataId) { + this.setupStorage(html, attributes.dataId, element, storage); + } + } + static render(parameters) { + const storage = parameters.annotationStorage; + const linkService = parameters.linkService; + const root = parameters.xfaHtml; + const intent = parameters.intent || "display"; + const rootHtml = document.createElement(root.name); + if (root.attributes) { + this.setAttributes({ + html: rootHtml, + element: root, + intent, + linkService + }); + } + const isNotForRichText = intent !== "richText"; + const rootDiv = parameters.div; + rootDiv.append(rootHtml); + if (parameters.viewport) { + const transform = `matrix(${parameters.viewport.transform.join(",")})`; + rootDiv.style.transform = transform; + } + if (isNotForRichText) { + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + } + const textDivs = []; + if (root.children.length === 0) { + if (root.value) { + const node = document.createTextNode(root.value); + rootHtml.append(node); + if (isNotForRichText && XfaText.shouldBuildText(root.name)) { + textDivs.push(node); + } + } + return { + textDivs + }; + } + const stack = [[root, -1, rootHtml]]; + while (stack.length > 0) { + const [parent, i, html] = stack.at(-1); + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + const child = parent.children[++stack.at(-1)[1]]; + if (child === null) { + continue; + } + const { + name + } = child; + if (name === "#text") { + const node = document.createTextNode(child.value); + textDivs.push(node); + html.append(node); + continue; + } + const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name); + html.append(childHtml); + if (child.attributes) { + this.setAttributes({ + html: childHtml, + element: child, + storage, + intent, + linkService + }); + } + if (child.children?.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + const node = document.createTextNode(child.value); + if (isNotForRichText && XfaText.shouldBuildText(name)) { + textDivs.push(node); + } + childHtml.append(node); + } + } + for (const el of rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")) { + el.setAttribute("readOnly", true); + } + return { + textDivs + }; + } + static update(parameters) { + const transform = `matrix(${parameters.viewport.transform.join(",")})`; + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } +} + +;// ./src/display/display_utils.js + + +const SVG_NS = "http://www.w3.org/2000/svg"; +class PixelsPerInch { + static CSS = 96.0; + static PDF = 72.0; + static PDF_TO_CSS_UNITS = this.CSS / this.PDF; +} +async function fetchData(url, type = "text") { + if (isValidFetchUrl(url, document.baseURI)) { + const response = await fetch(url); + if (!response.ok) { + throw new Error(response.statusText); + } + switch (type) { + case "blob": + return response.blob(); + case "bytes": + return response.bytes(); + case "json": + return response.json(); + } + return response.text(); + } + return new Promise((resolve, reject) => { + const request = new XMLHttpRequest(); + request.open("GET", url, true); + request.responseType = type === "bytes" ? "arraybuffer" : type; + request.onreadystatechange = () => { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + if (request.status === 200 || request.status === 0) { + switch (type) { + case "bytes": + resolve(new Uint8Array(request.response)); + return; + case "blob": + case "json": + resolve(request.response); + return; + } + resolve(request.responseText); + return; + } + reject(new Error(request.statusText)); + }; + request.send(null); + }); +} +class PageViewport { + constructor({ + viewBox, + userUnit, + scale, + rotation, + offsetX = 0, + offsetY = 0, + dontFlip = false + }) { + this.viewBox = viewBox; + this.userUnit = userUnit; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + scale *= userUnit; + const centerX = (viewBox[2] + viewBox[0]) / 2; + const centerY = (viewBox[3] + viewBox[1]) / 2; + let rotateA, rotateB, rotateC, rotateD; + rotation %= 360; + if (rotation < 0) { + rotation += 360; + } + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + case 0: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); + } + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + let offsetCanvasX, offsetCanvasY; + let width, height; + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = (viewBox[3] - viewBox[1]) * scale; + height = (viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = (viewBox[2] - viewBox[0]) * scale; + height = (viewBox[3] - viewBox[1]) * scale; + } + this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; + this.width = width; + this.height = height; + } + get rawDims() { + const dims = this.viewBox; + return shadow(this, "rawDims", { + pageWidth: dims[2] - dims[0], + pageHeight: dims[3] - dims[1], + pageX: dims[0], + pageY: dims[1] + }); + } + clone({ + scale = this.scale, + rotation = this.rotation, + offsetX = this.offsetX, + offsetY = this.offsetY, + dontFlip = false + } = {}) { + return new PageViewport({ + viewBox: this.viewBox.slice(), + userUnit: this.userUnit, + scale, + rotation, + offsetX, + offsetY, + dontFlip + }); + } + convertToViewportPoint(x, y) { + const p = [x, y]; + Util.applyTransform(p, this.transform); + return p; + } + convertToViewportRectangle(rect) { + const topLeft = [rect[0], rect[1]]; + Util.applyTransform(topLeft, this.transform); + const bottomRight = [rect[2], rect[3]]; + Util.applyTransform(bottomRight, this.transform); + return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; + } + convertToPdfPoint(x, y) { + const p = [x, y]; + Util.applyInverseTransform(p, this.transform); + return p; + } +} +class RenderingCancelledException extends BaseException { + constructor(msg, extraDelay = 0) { + super(msg, "RenderingCancelledException"); + this.extraDelay = extraDelay; + } +} +function isDataScheme(url) { + const ii = url.length; + let i = 0; + while (i < ii && url[i].trim() === "") { + i++; + } + return url.substring(i, i + 5).toLowerCase() === "data:"; +} +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} +function getFilenameFromUrl(url) { + [url] = url.split(/[#?]/, 1); + return stripPath(url); +} +function getPdfFilenameFromUrl(url, defaultFilename = "document.pdf") { + if (typeof url !== "string") { + return defaultFilename; + } + if (isDataScheme(url)) { + warn('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + const getURL = urlString => { + try { + return new URL(urlString); + } catch { + try { + return new URL(decodeURIComponent(urlString)); + } catch { + try { + return new URL(urlString, "https://foo.bar"); + } catch { + try { + return new URL(decodeURIComponent(urlString), "https://foo.bar"); + } catch { + return null; + } + } + } + } + }; + const newURL = getURL(url); + if (!newURL) { + return defaultFilename; + } + const decode = name => { + try { + let decoded = decodeURIComponent(name); + if (decoded.includes("/")) { + decoded = stripPath(decoded); + if (/^\.pdf$/i.test(decoded)) { + return name; + } + } + return decoded; + } catch { + return name; + } + }; + const pdfRegex = /\.pdf$/i; + const filename = stripPath(newURL.pathname); + if (pdfRegex.test(filename)) { + return decode(filename); + } + if (newURL.searchParams.size > 0) { + const getLast = iterator => [...iterator].findLast(v => pdfRegex.test(v)); + const name = getLast(newURL.searchParams.values()) ?? getLast(newURL.searchParams.keys()); + if (name) { + return decode(name); + } + } + if (newURL.hash) { + const reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + const hashFilename = reFilename.exec(newURL.hash); + if (hashFilename) { + return decode(hashFilename[0]); + } + } + return defaultFilename; +} +class StatTimer { + started = Object.create(null); + times = []; + time(name) { + if (name in this.started) { + warn(`Timer is already running for ${name}`); + } + this.started[name] = Date.now(); + } + timeEnd(name) { + if (!(name in this.started)) { + warn(`Timer has not been started for ${name}`); + } + this.times.push({ + name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + toString() { + const outBuf = []; + let longest = 0; + for (const { + name + } of this.times) { + longest = Math.max(name.length, longest); + } + for (const { + name, + start, + end + } of this.times) { + outBuf.push(`${name.padEnd(longest)} ${end - start}ms\n`); + } + return outBuf.join(""); + } +} +function isValidFetchUrl(url, baseUrl) { + const res = baseUrl ? URL.parse(url, baseUrl) : URL.parse(url); + return /https?:/.test(res?.protocol ?? ""); +} +function noContextMenu(e) { + e.preventDefault(); +} +function stopEvent(e) { + e.preventDefault(); + e.stopPropagation(); +} +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} +class PDFDateString { + static #regex; + static toDateObject(input) { + if (input instanceof Date) { + return input; + } + if (!input || typeof input !== "string") { + return null; + } + this.#regex ||= new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); + const matches = this.#regex.exec(input); + if (!matches) { + return null; + } + const year = parseInt(matches[1], 10); + let month = parseInt(matches[2], 10); + month = month >= 1 && month <= 12 ? month - 1 : 0; + let day = parseInt(matches[3], 10); + day = day >= 1 && day <= 31 ? day : 1; + let hour = parseInt(matches[4], 10); + hour = hour >= 0 && hour <= 23 ? hour : 0; + let minute = parseInt(matches[5], 10); + minute = minute >= 0 && minute <= 59 ? minute : 0; + let second = parseInt(matches[6], 10); + second = second >= 0 && second <= 59 ? second : 0; + const universalTimeRelation = matches[7] || "Z"; + let offsetHour = parseInt(matches[8], 10); + offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; + let offsetMinute = parseInt(matches[9], 10) || 0; + offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; + if (universalTimeRelation === "-") { + hour += offsetHour; + minute += offsetMinute; + } else if (universalTimeRelation === "+") { + hour -= offsetHour; + minute -= offsetMinute; + } + return new Date(Date.UTC(year, month, day, hour, minute, second)); + } +} +function getXfaPageViewport(xfaPage, { + scale = 1, + rotation = 0 +}) { + const { + width, + height + } = xfaPage.attributes.style; + const viewBox = [0, 0, parseInt(width), parseInt(height)]; + return new PageViewport({ + viewBox, + userUnit: 1, + scale, + rotation + }); +} +function getRGB(color) { + if (color.startsWith("#")) { + const colorRGB = parseInt(color.slice(1), 16); + return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff]; + } + if (color.startsWith("rgb(")) { + return color.slice(4, -1).split(",").map(x => parseInt(x)); + } + if (color.startsWith("rgba(")) { + return color.slice(5, -1).split(",").map(x => parseInt(x)).slice(0, 3); + } + warn(`Not a valid color format: "${color}"`); + return [0, 0, 0]; +} +function getColorValues(colors) { + const span = document.createElement("span"); + span.style.visibility = "hidden"; + span.style.colorScheme = "only light"; + document.body.append(span); + for (const name of colors.keys()) { + span.style.color = name; + const computedColor = window.getComputedStyle(span).color; + colors.set(name, getRGB(computedColor)); + } + span.remove(); +} +function getCurrentTransform(ctx) { + const { + a, + b, + c, + d, + e, + f + } = ctx.getTransform(); + return [a, b, c, d, e, f]; +} +function getCurrentTransformInverse(ctx) { + const { + a, + b, + c, + d, + e, + f + } = ctx.getTransform().invertSelf(); + return [a, b, c, d, e, f]; +} +function setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) { + if (viewport instanceof PageViewport) { + const { + pageWidth, + pageHeight + } = viewport.rawDims; + const { + style + } = div; + const useRound = FeatureTest.isCSSRoundSupported; + const w = `var(--total-scale-factor) * ${pageWidth}px`, + h = `var(--total-scale-factor) * ${pageHeight}px`; + const widthStr = useRound ? `round(down, ${w}, var(--scale-round-x))` : `calc(${w})`, + heightStr = useRound ? `round(down, ${h}, var(--scale-round-y))` : `calc(${h})`; + if (!mustFlip || viewport.rotation % 180 === 0) { + style.width = widthStr; + style.height = heightStr; + } else { + style.width = heightStr; + style.height = widthStr; + } + } + if (mustRotate) { + div.setAttribute("data-main-rotation", viewport.rotation); + } +} +class OutputScale { + constructor() { + const { + pixelRatio + } = OutputScale; + this.sx = pixelRatio; + this.sy = pixelRatio; + } + get scaled() { + return this.sx !== 1 || this.sy !== 1; + } + get symmetric() { + return this.sx === this.sy; + } + limitCanvas(width, height, maxPixels, maxDim, capAreaFactor = -1) { + let maxAreaScale = Infinity, + maxWidthScale = Infinity, + maxHeightScale = Infinity; + maxPixels = OutputScale.capPixels(maxPixels, capAreaFactor); + if (maxPixels > 0) { + maxAreaScale = Math.sqrt(maxPixels / (width * height)); + } + if (maxDim !== -1) { + maxWidthScale = maxDim / width; + maxHeightScale = maxDim / height; + } + const maxScale = Math.min(maxAreaScale, maxWidthScale, maxHeightScale); + if (this.sx > maxScale || this.sy > maxScale) { + this.sx = maxScale; + this.sy = maxScale; + return true; + } + return false; + } + static get pixelRatio() { + return globalThis.devicePixelRatio || 1; + } + static capPixels(maxPixels, capAreaFactor) { + if (capAreaFactor >= 0) { + const winPixels = Math.ceil(window.screen.availWidth * window.screen.availHeight * this.pixelRatio ** 2 * (1 + capAreaFactor / 100)); + return maxPixels > 0 ? Math.min(maxPixels, winPixels) : winPixels; + } + return maxPixels; + } +} +const SupportedImageMimeTypes = ["image/apng", "image/avif", "image/bmp", "image/gif", "image/jpeg", "image/png", "image/svg+xml", "image/webp", "image/x-icon"]; +class ColorScheme { + static get isDarkMode() { + return shadow(this, "isDarkMode", !!window?.matchMedia?.("(prefers-color-scheme: dark)").matches); + } +} +class CSSConstants { + static get commentForegroundColor() { + const element = document.createElement("span"); + element.classList.add("comment", "sidebar"); + const { + style + } = element; + style.width = style.height = "0"; + style.display = "none"; + style.color = "var(--comment-fg-color)"; + document.body.append(element); + const { + color + } = window.getComputedStyle(element); + element.remove(); + return shadow(this, "commentForegroundColor", getRGB(color)); + } +} +function applyOpacity(r, g, b, opacity) { + opacity = MathClamp(opacity ?? 1, 0, 1); + const white = 255 * (1 - opacity); + r = Math.round(r * opacity + white); + g = Math.round(g * opacity + white); + b = Math.round(b * opacity + white); + return [r, g, b]; +} +function RGBToHSL(rgb, output) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + const l = (max + min) / 2; + if (max === min) { + output[0] = output[1] = 0; + } else { + const d = max - min; + output[1] = l < 0.5 ? d / (max + min) : d / (2 - max - min); + switch (max) { + case r: + output[0] = ((g - b) / d + (g < b ? 6 : 0)) * 60; + break; + case g: + output[0] = ((b - r) / d + 2) * 60; + break; + case b: + output[0] = ((r - g) / d + 4) * 60; + break; + } + } + output[2] = l; +} +function HSLToRGB(hsl, output) { + const h = hsl[0]; + const s = hsl[1]; + const l = hsl[2]; + const c = (1 - Math.abs(2 * l - 1)) * s; + const x = c * (1 - Math.abs(h / 60 % 2 - 1)); + const m = l - c / 2; + switch (Math.floor(h / 60)) { + case 0: + output[0] = c + m; + output[1] = x + m; + output[2] = m; + break; + case 1: + output[0] = x + m; + output[1] = c + m; + output[2] = m; + break; + case 2: + output[0] = m; + output[1] = c + m; + output[2] = x + m; + break; + case 3: + output[0] = m; + output[1] = x + m; + output[2] = c + m; + break; + case 4: + output[0] = x + m; + output[1] = m; + output[2] = c + m; + break; + case 5: + case 6: + output[0] = c + m; + output[1] = m; + output[2] = x + m; + break; + } +} +function computeLuminance(x) { + return x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4; +} +function contrastRatio(hsl1, hsl2, output) { + HSLToRGB(hsl1, output); + output.map(computeLuminance); + const lum1 = 0.2126 * output[0] + 0.7152 * output[1] + 0.0722 * output[2]; + HSLToRGB(hsl2, output); + output.map(computeLuminance); + const lum2 = 0.2126 * output[0] + 0.7152 * output[1] + 0.0722 * output[2]; + return lum1 > lum2 ? (lum1 + 0.05) / (lum2 + 0.05) : (lum2 + 0.05) / (lum1 + 0.05); +} +const contrastCache = new Map(); +function findContrastColor(baseColor, fixedColor) { + const key = baseColor[0] + baseColor[1] * 0x100 + baseColor[2] * 0x10000 + fixedColor[0] * 0x1000000 + fixedColor[1] * 0x100000000 + fixedColor[2] * 0x10000000000; + let cachedValue = contrastCache.get(key); + if (cachedValue) { + return cachedValue; + } + const array = new Float32Array(9); + const output = array.subarray(0, 3); + const baseHSL = array.subarray(3, 6); + RGBToHSL(baseColor, baseHSL); + const fixedHSL = array.subarray(6, 9); + RGBToHSL(fixedColor, fixedHSL); + const isFixedColorDark = fixedHSL[2] < 0.5; + const minContrast = isFixedColorDark ? 12 : 4.5; + baseHSL[2] = isFixedColorDark ? Math.sqrt(baseHSL[2]) : 1 - Math.sqrt(1 - baseHSL[2]); + if (contrastRatio(baseHSL, fixedHSL, output) < minContrast) { + let start, end; + if (isFixedColorDark) { + start = baseHSL[2]; + end = 1; + } else { + start = 0; + end = baseHSL[2]; + } + const PRECISION = 0.005; + while (end - start > PRECISION) { + const mid = baseHSL[2] = (start + end) / 2; + if (isFixedColorDark === contrastRatio(baseHSL, fixedHSL, output) < minContrast) { + start = mid; + } else { + end = mid; + } + } + baseHSL[2] = isFixedColorDark ? end : start; + } + HSLToRGB(baseHSL, output); + cachedValue = Util.makeHexColor(Math.round(output[0] * 255), Math.round(output[1] * 255), Math.round(output[2] * 255)); + contrastCache.set(key, cachedValue); + return cachedValue; +} +function renderRichText({ + html, + dir, + className +}, container) { + const fragment = document.createDocumentFragment(); + if (typeof html === "string") { + const p = document.createElement("p"); + p.dir = dir || "auto"; + const lines = html.split(/(?:\r\n?|\n)/); + for (let i = 0, ii = lines.length; i < ii; ++i) { + const line = lines[i]; + p.append(document.createTextNode(line)); + if (i < ii - 1) { + p.append(document.createElement("br")); + } + } + fragment.append(p); + } else { + XfaLayer.render({ + xfaHtml: html, + div: fragment, + intent: "richText" + }); + } + fragment.firstElementChild.classList.add("richText", className); + container.append(fragment); +} +function makePathFromDrawOPS(data) { + const path = new Path2D(); + if (!data) { + return path; + } + for (let i = 0, ii = data.length; i < ii;) { + switch (data[i++]) { + case DrawOPS.moveTo: + path.moveTo(data[i++], data[i++]); + break; + case DrawOPS.lineTo: + path.lineTo(data[i++], data[i++]); + break; + case DrawOPS.curveTo: + path.bezierCurveTo(data[i++], data[i++], data[i++], data[i++], data[i++], data[i++]); + break; + case DrawOPS.quadraticCurveTo: + path.quadraticCurveTo(data[i++], data[i++], data[i++], data[i++]); + break; + case DrawOPS.closePath: + path.closePath(); + break; + default: + warn(`Unrecognized drawing path operator: ${data[i - 1]}`); + break; + } + } + return path; +} +class PagesMapper { + #idToPageNumber = null; + #pageNumberToId = null; + #prevPageNumbers = null; + #pagesNumber = 0; + #listeners = []; + #copiedPageIds = null; + #copiedPageNumbers = null; + get pagesNumber() { + return this.#pagesNumber; + } + set pagesNumber(n) { + if (this.#pagesNumber === n) { + return; + } + this.#pagesNumber = n; + this.#reset(); + } + #reset() { + this.#pageNumberToId = null; + this.#idToPageNumber = null; + } + addListener(listener) { + this.#listeners.push(listener); + } + removeListener(listener) { + const index = this.#listeners.indexOf(listener); + if (index >= 0) { + this.#listeners.splice(index, 1); + } + } + #updateListeners(data) { + for (const listener of this.#listeners) { + listener(data); + } + } + #init(mustInit) { + if (this.#pageNumberToId) { + return; + } + const n = this.#pagesNumber; + const pageNumberToId = this.#pageNumberToId = new Uint32Array(n); + this.#prevPageNumbers = new Int32Array(pageNumberToId); + const idToPageNumber = this.#idToPageNumber = new Map(); + if (mustInit) { + for (let i = 1; i <= n; i++) { + pageNumberToId[i - 1] = i; + idToPageNumber.set(i, [i]); + } + } + } + #updateIdToPageNumber() { + const idToPageNumber = this.#idToPageNumber; + const pageNumberToId = this.#pageNumberToId; + idToPageNumber.clear(); + for (let i = 0, ii = this.#pagesNumber; i < ii; i++) { + const id = pageNumberToId[i]; + const pageNumbers = idToPageNumber.get(id); + if (pageNumbers) { + pageNumbers.push(i + 1); + } else { + idToPageNumber.set(id, [i + 1]); + } + } + } + movePages(selectedPages, pagesToMove, index) { + this.#init(true); + const pageNumberToId = this.#pageNumberToId; + const idToPageNumber = this.#idToPageNumber; + const movedCount = pagesToMove.length; + const mappedPagesToMove = new Uint32Array(movedCount); + let removedBeforeTarget = 0; + for (let i = 0; i < movedCount; i++) { + const pageIndex = pagesToMove[i] - 1; + mappedPagesToMove[i] = pageNumberToId[pageIndex]; + if (pageIndex < index) { + removedBeforeTarget += 1; + } + } + const pagesNumber = this.#pagesNumber; + let adjustedTarget = index - removedBeforeTarget; + const remainingLen = pagesNumber - movedCount; + adjustedTarget = MathClamp(adjustedTarget, 0, remainingLen); + for (let i = 0, r = 0; i < pagesNumber; i++) { + if (!selectedPages.has(i + 1)) { + pageNumberToId[r++] = pageNumberToId[i]; + } + } + pageNumberToId.copyWithin(adjustedTarget + movedCount, adjustedTarget, remainingLen); + pageNumberToId.set(mappedPagesToMove, adjustedTarget); + this.#setPrevPageNumbers(idToPageNumber, null); + this.#updateIdToPageNumber(); + this.#updateListeners({ + type: "move" + }); + if (pageNumberToId.every((id, i) => id === i + 1)) { + this.#reset(); + } + } + deletePages(pagesToDelete) { + this.#init(true); + const pageNumberToId = this.#pageNumberToId; + const prevIdToPageNumber = this.#idToPageNumber; + this.pagesNumber -= pagesToDelete.length; + this.#init(false); + const newPageNumberToId = this.#pageNumberToId; + let sourceIndex = 0; + let destIndex = 0; + for (const pageNumber of pagesToDelete) { + const pageIndex = pageNumber - 1; + if (pageIndex !== sourceIndex) { + newPageNumberToId.set(pageNumberToId.subarray(sourceIndex, pageIndex), destIndex); + destIndex += pageIndex - sourceIndex; + } + sourceIndex = pageIndex + 1; + } + if (sourceIndex < pageNumberToId.length) { + newPageNumberToId.set(pageNumberToId.subarray(sourceIndex), destIndex); + } + this.#setPrevPageNumbers(prevIdToPageNumber, null); + this.#updateIdToPageNumber(); + this.#updateListeners({ + type: "delete", + pageNumbers: pagesToDelete + }); + } + copyPages(pagesToCopy) { + this.#init(true); + this.#copiedPageNumbers = pagesToCopy; + this.#copiedPageIds = pagesToCopy.map(pageNumber => this.#pageNumberToId[pageNumber - 1]); + this.#updateListeners({ + type: "copy", + pageNumbers: pagesToCopy + }); + } + pastePages(index) { + this.#init(true); + const pageNumberToId = this.#pageNumberToId; + const prevIdToPageNumber = this.#idToPageNumber; + const copiedPageNumbers = this.#copiedPageNumbers; + const copiedPageMapping = new Map(); + let base = index; + for (const pageNumber of copiedPageNumbers) { + copiedPageMapping.set(++base, pageNumber); + } + this.pagesNumber += copiedPageNumbers.length; + this.#init(false); + const newPageNumberToId = this.#pageNumberToId; + newPageNumberToId.set(pageNumberToId.subarray(0, index), 0); + newPageNumberToId.set(this.#copiedPageIds, index); + newPageNumberToId.set(pageNumberToId.subarray(index), index + copiedPageNumbers.length); + this.#setPrevPageNumbers(prevIdToPageNumber, copiedPageMapping); + this.#updateIdToPageNumber(); + this.#updateListeners({ + type: "paste" + }); + this.#copiedPageIds = null; + } + #setPrevPageNumbers(prevIdToPageNumber, copiedPageMapping) { + const prevPageNumbers = this.#prevPageNumbers; + const newPageNumberToId = this.#pageNumberToId; + const idsIndices = new Map(); + for (let i = 0, ii = this.#pagesNumber; i < ii; i++) { + const oldPageNumber = copiedPageMapping?.get(i + 1); + if (oldPageNumber) { + prevPageNumbers[i] = -oldPageNumber; + continue; + } + const id = newPageNumberToId[i]; + const j = idsIndices.get(id) || 0; + prevPageNumbers[i] = prevIdToPageNumber.get(id)?.[j]; + idsIndices.set(id, j + 1); + } + } + hasBeenAltered() { + return this.#pageNumberToId !== null; + } + getPageMappingForSaving() { + const idToPageNumber = this.#idToPageNumber; + let nCopy = 0; + for (const pageNumbers of idToPageNumber.values()) { + nCopy = Math.max(nCopy, pageNumbers.length); + } + const extractParams = new Array(nCopy); + for (let i = 0; i < nCopy; i++) { + extractParams[i] = { + document: null, + pageIndices: [], + includePages: [] + }; + } + for (const [id, pageNumbers] of idToPageNumber) { + for (let i = 0, ii = pageNumbers.length; i < ii; i++) { + extractParams[i].includePages.push([id - 1, pageNumbers[i] - 1]); + } + } + for (const { + includePages, + pageIndices + } of extractParams) { + includePages.sort((a, b) => a[0] - b[0]); + for (let i = 0, ii = includePages.length; i < ii; i++) { + pageIndices.push(includePages[i][1]); + includePages[i] = includePages[i][0]; + } + } + return extractParams; + } + getPrevPageNumber(pageNumber) { + return this.#prevPageNumbers[pageNumber - 1] ?? 0; + } + getPageNumber(id) { + return this.#idToPageNumber ? this.#idToPageNumber.get(id)?.[0] ?? 0 : id; + } + getPageId(pageNumber) { + return this.#pageNumberToId?.[pageNumber - 1] ?? pageNumber; + } + getMapping() { + return this.#pageNumberToId.subarray(0, this.pagesNumber); + } +} + +;// ./src/display/editor/toolbar.js + +class EditorToolbar { + #toolbar = null; + #colorPicker = null; + #editor; + #buttons = null; + #altText = null; + #comment = null; + #commentButtonDivider = null; + #signatureDescriptionButton = null; + static #l10nRemove = null; + constructor(editor) { + this.#editor = editor; + EditorToolbar.#l10nRemove ||= Object.freeze({ + freetext: "pdfjs-editor-remove-freetext-button", + highlight: "pdfjs-editor-remove-highlight-button", + ink: "pdfjs-editor-remove-ink-button", + stamp: "pdfjs-editor-remove-stamp-button", + signature: "pdfjs-editor-remove-signature-button" + }); + } + render() { + const editToolbar = this.#toolbar = document.createElement("div"); + editToolbar.classList.add("editToolbar", "hidden"); + editToolbar.setAttribute("role", "toolbar"); + const signal = this.#editor._uiManager._signal; + if (signal instanceof AbortSignal && !signal.aborted) { + editToolbar.addEventListener("contextmenu", noContextMenu, { + signal + }); + editToolbar.addEventListener("pointerdown", EditorToolbar.#pointerDown, { + signal + }); + } + const buttons = this.#buttons = document.createElement("div"); + buttons.className = "buttons"; + editToolbar.append(buttons); + const position = this.#editor.toolbarPosition; + if (position) { + const { + style + } = editToolbar; + const x = this.#editor._uiManager.direction === "ltr" ? 1 - position[0] : position[0]; + style.insetInlineEnd = `${100 * x}%`; + style.top = `calc(${100 * position[1]}% + var(--editor-toolbar-vert-offset))`; + } + return editToolbar; + } + get div() { + return this.#toolbar; + } + static #pointerDown(e) { + e.stopPropagation(); + } + #focusIn(e) { + this.#editor._focusEventsAllowed = false; + stopEvent(e); + } + #focusOut(e) { + this.#editor._focusEventsAllowed = true; + stopEvent(e); + } + #addListenersToElement(element) { + const signal = this.#editor._uiManager._signal; + if (!(signal instanceof AbortSignal) || signal.aborted) { + return false; + } + element.addEventListener("focusin", this.#focusIn.bind(this), { + capture: true, + signal + }); + element.addEventListener("focusout", this.#focusOut.bind(this), { + capture: true, + signal + }); + element.addEventListener("contextmenu", noContextMenu, { + signal + }); + return true; + } + hide() { + this.#toolbar.classList.add("hidden"); + this.#colorPicker?.hideDropdown(); + } + show() { + this.#toolbar.classList.remove("hidden"); + this.#altText?.shown(); + this.#comment?.shown(); + } + addDeleteButton() { + const { + editorType, + _uiManager + } = this.#editor; + const button = document.createElement("button"); + button.classList.add("basic", "deleteButton"); + button.tabIndex = 0; + button.setAttribute("data-l10n-id", EditorToolbar.#l10nRemove[editorType]); + if (this.#addListenersToElement(button)) { + button.addEventListener("click", e => { + _uiManager.delete(); + }, { + signal: _uiManager._signal + }); + } + this.#buttons.append(button); + } + get #divider() { + const divider = document.createElement("div"); + divider.className = "divider"; + return divider; + } + async addAltText(altText) { + const button = await altText.render(); + this.#addListenersToElement(button); + this.#buttons.append(button, this.#divider); + this.#altText = altText; + } + addComment(comment, beforeElement = null) { + if (this.#comment) { + return; + } + const button = comment.renderForToolbar(); + if (!button) { + return; + } + this.#addListenersToElement(button); + const divider = this.#commentButtonDivider = this.#divider; + if (!beforeElement) { + this.#buttons.append(button, divider); + } else { + this.#buttons.insertBefore(button, beforeElement); + this.#buttons.insertBefore(divider, beforeElement); + } + this.#comment = comment; + comment.toolbar = this; + } + addColorPicker(colorPicker) { + if (this.#colorPicker) { + return; + } + this.#colorPicker = colorPicker; + const button = colorPicker.renderButton(); + this.#addListenersToElement(button); + this.#buttons.append(button, this.#divider); + } + async addEditSignatureButton(signatureManager) { + const button = this.#signatureDescriptionButton = await signatureManager.renderEditButton(this.#editor); + this.#addListenersToElement(button); + this.#buttons.append(button, this.#divider); + } + removeButton(name) { + switch (name) { + case "comment": + this.#comment?.removeToolbarCommentButton(); + this.#comment = null; + this.#commentButtonDivider?.remove(); + this.#commentButtonDivider = null; + break; + } + } + async addButton(name, tool) { + switch (name) { + case "colorPicker": + if (tool) { + this.addColorPicker(tool); + } + break; + case "altText": + if (tool) { + await this.addAltText(tool); + } + break; + case "editSignature": + if (tool) { + await this.addEditSignatureButton(tool); + } + break; + case "delete": + this.addDeleteButton(); + break; + case "comment": + if (tool) { + this.addComment(tool); + } + break; + } + } + async addButtonBefore(name, tool, beforeSelector) { + if (!tool && name === "comment") { + return; + } + const beforeElement = this.#buttons.querySelector(beforeSelector); + if (!beforeElement) { + return; + } + if (name === "comment") { + this.addComment(tool, beforeElement); + } + } + updateEditSignatureButton(description) { + if (this.#signatureDescriptionButton) { + this.#signatureDescriptionButton.title = description; + } + } + remove() { + this.#toolbar.remove(); + this.#colorPicker?.destroy(); + this.#colorPicker = null; + } +} +class FloatingToolbar { + #buttons = null; + #toolbar = null; + #uiManager; + constructor(uiManager) { + this.#uiManager = uiManager; + } + #render() { + const editToolbar = this.#toolbar = document.createElement("div"); + editToolbar.className = "editToolbar"; + editToolbar.setAttribute("role", "toolbar"); + const signal = this.#uiManager._signal; + if (signal instanceof AbortSignal && !signal.aborted) { + editToolbar.addEventListener("contextmenu", noContextMenu, { + signal + }); + } + const buttons = this.#buttons = document.createElement("div"); + buttons.className = "buttons"; + editToolbar.append(buttons); + if (this.#uiManager.hasCommentManager()) { + this.#makeButton("commentButton", `pdfjs-comment-floating-button`, "pdfjs-comment-floating-button-label", () => { + this.#uiManager.commentSelection("floating_button"); + }); + } + this.#makeButton("highlightButton", `pdfjs-highlight-floating-button1`, "pdfjs-highlight-floating-button-label", () => { + this.#uiManager.highlightSelection("floating_button"); + }); + return editToolbar; + } + #getLastPoint(boxes, isLTR) { + let lastY = 0; + let lastX = 0; + for (const box of boxes) { + const y = box.y + box.height; + if (y < lastY) { + continue; + } + const x = box.x + (isLTR ? box.width : 0); + if (y > lastY) { + lastX = x; + lastY = y; + continue; + } + if (isLTR) { + if (x > lastX) { + lastX = x; + } + } else if (x < lastX) { + lastX = x; + } + } + return [isLTR ? 1 - lastX : lastX, lastY]; + } + show(parent, boxes, isLTR) { + const [x, y] = this.#getLastPoint(boxes, isLTR); + const { + style + } = this.#toolbar ||= this.#render(); + parent.append(this.#toolbar); + style.insetInlineEnd = `${100 * x}%`; + style.top = `calc(${100 * y}% + var(--editor-toolbar-vert-offset))`; + } + hide() { + this.#toolbar.remove(); + } + #makeButton(buttonClass, l10nId, labelL10nId, clickHandler) { + const button = document.createElement("button"); + button.classList.add("basic", buttonClass); + button.tabIndex = 0; + button.setAttribute("data-l10n-id", l10nId); + const span = document.createElement("span"); + button.append(span); + span.className = "visuallyHidden"; + span.setAttribute("data-l10n-id", labelL10nId); + const signal = this.#uiManager._signal; + if (signal instanceof AbortSignal && !signal.aborted) { + button.addEventListener("contextmenu", noContextMenu, { + signal + }); + button.addEventListener("click", clickHandler, { + signal + }); + } + this.#buttons.append(button); + } +} + +;// ./src/display/editor/tools.js + + + +function bindEvents(obj, element, names) { + for (const name of names) { + element.addEventListener(name, obj[name].bind(obj)); + } +} +class CurrentPointers { + static #pointerId = NaN; + static #pointerIds = null; + static #moveTimestamp = NaN; + static #pointerType = null; + static initializeAndAddPointerId(pointerId) { + (CurrentPointers.#pointerIds ||= new Set()).add(pointerId); + } + static setPointer(pointerType, pointerId) { + CurrentPointers.#pointerId ||= pointerId; + CurrentPointers.#pointerType ??= pointerType; + } + static setTimeStamp(timeStamp) { + CurrentPointers.#moveTimestamp = timeStamp; + } + static isSamePointerId(pointerId) { + return CurrentPointers.#pointerId === pointerId; + } + static isSamePointerIdOrRemove(pointerId) { + if (CurrentPointers.#pointerId === pointerId) { + return true; + } + CurrentPointers.#pointerIds?.delete(pointerId); + return false; + } + static isSamePointerType(pointerType) { + return CurrentPointers.#pointerType === pointerType; + } + static isInitializedAndDifferentPointerType(pointerType) { + return CurrentPointers.#pointerType !== null && !CurrentPointers.isSamePointerType(pointerType); + } + static isSameTimeStamp(timeStamp) { + return CurrentPointers.#moveTimestamp === timeStamp; + } + static isUsingMultiplePointers() { + return CurrentPointers.#pointerIds?.size >= 1; + } + static clearPointerType() { + CurrentPointers.#pointerType = null; + } + static clearPointerIds() { + CurrentPointers.#pointerId = NaN; + CurrentPointers.#pointerIds = null; + } + static clearTimeStamp() { + CurrentPointers.#moveTimestamp = NaN; + } +} +class IdManager { + #id = 0; + get id() { + return `${AnnotationEditorPrefix}${this.#id++}`; + } +} +class ImageManager { + #baseId = getUuid(); + #id = 0; + #cache = null; + static get _isSVGFittingCanvas() { + const svg = `data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>`; + const canvas = new OffscreenCanvas(1, 3); + const ctx = canvas.getContext("2d", { + willReadFrequently: true + }); + const image = new Image(); + image.src = svg; + const promise = image.decode().then(() => { + ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3); + return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0; + }); + return shadow(this, "_isSVGFittingCanvas", promise); + } + async #get(key, rawData) { + this.#cache ||= new Map(); + let data = this.#cache.get(key); + if (data === null) { + return null; + } + if (data?.bitmap) { + data.refCounter += 1; + return data; + } + try { + data ||= { + bitmap: null, + id: `image_${this.#baseId}_${this.#id++}`, + refCounter: 0, + isSvg: false + }; + let image; + if (typeof rawData === "string") { + data.url = rawData; + image = await fetchData(rawData, "blob"); + } else if (rawData instanceof File) { + image = data.file = rawData; + } else if (rawData instanceof Blob) { + image = rawData; + } + if (image.type === "image/svg+xml") { + const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas; + const fileReader = new FileReader(); + const imageElement = new Image(); + const imagePromise = new Promise((resolve, reject) => { + imageElement.onload = () => { + data.bitmap = imageElement; + data.isSvg = true; + resolve(); + }; + fileReader.onload = async () => { + const url = data.svgUrl = fileReader.result; + imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url; + }; + imageElement.onerror = fileReader.onerror = reject; + }); + fileReader.readAsDataURL(image); + await imagePromise; + } else { + data.bitmap = await createImageBitmap(image); + } + data.refCounter = 1; + } catch (e) { + warn(e); + data = null; + } + this.#cache.set(key, data); + if (data) { + this.#cache.set(data.id, data); + } + return data; + } + async getFromFile(file) { + const { + lastModified, + name, + size, + type + } = file; + return this.#get(`${lastModified}_${name}_${size}_${type}`, file); + } + async getFromUrl(url) { + return this.#get(url, url); + } + async getFromBlob(id, blobPromise) { + const blob = await blobPromise; + return this.#get(id, blob); + } + async getFromId(id) { + this.#cache ||= new Map(); + const data = this.#cache.get(id); + if (!data) { + return null; + } + if (data.bitmap) { + data.refCounter += 1; + return data; + } + if (data.file) { + return this.getFromFile(data.file); + } + if (data.blobPromise) { + const { + blobPromise + } = data; + delete data.blobPromise; + return this.getFromBlob(data.id, blobPromise); + } + return this.getFromUrl(data.url); + } + getFromCanvas(id, canvas) { + this.#cache ||= new Map(); + let data = this.#cache.get(id); + if (data?.bitmap) { + data.refCounter += 1; + return data; + } + const offscreen = new OffscreenCanvas(canvas.width, canvas.height); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(canvas, 0, 0); + data = { + bitmap: offscreen.transferToImageBitmap(), + id: `image_${this.#baseId}_${this.#id++}`, + refCounter: 1, + isSvg: false + }; + this.#cache.set(id, data); + this.#cache.set(data.id, data); + return data; + } + getSvgUrl(id) { + const data = this.#cache.get(id); + if (!data?.isSvg) { + return null; + } + return data.svgUrl; + } + deleteId(id) { + this.#cache ||= new Map(); + const data = this.#cache.get(id); + if (!data) { + return; + } + data.refCounter -= 1; + if (data.refCounter !== 0) { + return; + } + const { + bitmap + } = data; + if (!data.url && !data.file) { + const canvas = new OffscreenCanvas(bitmap.width, bitmap.height); + const ctx = canvas.getContext("bitmaprenderer"); + ctx.transferFromImageBitmap(bitmap); + data.blobPromise = canvas.convertToBlob(); + } + bitmap.close?.(); + data.bitmap = null; + } + isValidId(id) { + return id.startsWith(`image_${this.#baseId}_`); + } +} +class CommandManager { + #commands = []; + #locked = false; + #maxSize; + #position = -1; + constructor(maxSize = 128) { + this.#maxSize = maxSize; + } + add({ + cmd, + undo, + post, + mustExec, + type = NaN, + overwriteIfSameType = false, + keepUndo = false + }) { + if (mustExec) { + cmd(); + } + if (this.#locked) { + return; + } + const save = { + cmd, + undo, + post, + type + }; + if (this.#position === -1) { + if (this.#commands.length > 0) { + this.#commands.length = 0; + } + this.#position = 0; + this.#commands.push(save); + return; + } + if (overwriteIfSameType && this.#commands[this.#position].type === type) { + if (keepUndo) { + save.undo = this.#commands[this.#position].undo; + } + this.#commands[this.#position] = save; + return; + } + const next = this.#position + 1; + if (next === this.#maxSize) { + this.#commands.splice(0, 1); + } else { + this.#position = next; + if (next < this.#commands.length) { + this.#commands.splice(next); + } + } + this.#commands.push(save); + } + undo() { + if (this.#position === -1) { + return; + } + this.#locked = true; + const { + undo, + post + } = this.#commands[this.#position]; + undo(); + post?.(); + this.#locked = false; + this.#position -= 1; + } + redo() { + if (this.#position < this.#commands.length - 1) { + this.#position += 1; + this.#locked = true; + const { + cmd, + post + } = this.#commands[this.#position]; + cmd(); + post?.(); + this.#locked = false; + } + } + hasSomethingToUndo() { + return this.#position !== -1; + } + hasSomethingToRedo() { + return this.#position < this.#commands.length - 1; + } + cleanType(type) { + if (this.#position === -1) { + return; + } + for (let i = this.#position; i >= 0; i--) { + if (this.#commands[i].type !== type) { + this.#commands.splice(i + 1, this.#position - i); + this.#position = i; + return; + } + } + this.#commands.length = 0; + this.#position = -1; + } + destroy() { + this.#commands = null; + } +} +class KeyboardManager { + constructor(callbacks) { + this.buffer = []; + this.callbacks = new Map(); + this.allKeys = new Set(); + const { + isMac + } = FeatureTest.platform; + for (const [keys, callback, options = {}] of callbacks) { + for (const key of keys) { + const isMacKey = key.startsWith("mac+"); + if (isMac && isMacKey) { + this.callbacks.set(key.slice(4), { + callback, + options + }); + this.allKeys.add(key.split("+").at(-1)); + } else if (!isMac && !isMacKey) { + this.callbacks.set(key, { + callback, + options + }); + this.allKeys.add(key.split("+").at(-1)); + } + } + } + } + #serialize(event) { + if (event.altKey) { + this.buffer.push("alt"); + } + if (event.ctrlKey) { + this.buffer.push("ctrl"); + } + if (event.metaKey) { + this.buffer.push("meta"); + } + if (event.shiftKey) { + this.buffer.push("shift"); + } + this.buffer.push(event.key); + const str = this.buffer.join("+"); + this.buffer.length = 0; + return str; + } + exec(self, event) { + if (!this.allKeys.has(event.key)) { + return; + } + const info = this.callbacks.get(this.#serialize(event)); + if (!info) { + return; + } + const { + callback, + options: { + bubbles = false, + args = [], + checker = null + } + } = info; + if (checker && !checker(self, event)) { + return; + } + callback.bind(self, ...args, event)(); + if (!bubbles) { + stopEvent(event); + } + } +} +class ColorManager { + static _colorsMapping = new Map([["CanvasText", [0, 0, 0]], ["Canvas", [255, 255, 255]]]); + get _colors() { + const colors = new Map([["CanvasText", null], ["Canvas", null]]); + getColorValues(colors); + return shadow(this, "_colors", colors); + } + convert(color) { + const rgb = getRGB(color); + if (!window.matchMedia("(forced-colors: active)").matches) { + return rgb; + } + for (const [name, RGB] of this._colors) { + if (RGB.every((x, i) => x === rgb[i])) { + return ColorManager._colorsMapping.get(name); + } + } + return rgb; + } + getHexCode(name) { + const rgb = this._colors.get(name); + if (!rgb) { + return name; + } + return Util.makeHexColor(...rgb); + } +} +class AnnotationEditorUIManager { + #abortController = new AbortController(); + #activeEditor = null; + #allEditableAnnotations = null; + #allEditors = new Map(); + #allLayers = new Map(); + #altTextManager = null; + #annotationStorage = null; + #changedExistingAnnotations = null; + #commandManager = new CommandManager(); + #commentManager = null; + #copyPasteAC = null; + #currentDrawingSession = null; + #currentPageIndex = 0; + #deletedAnnotationsElementIds = new Set(); + #draggingEditors = null; + #editorTypes = null; + #editorsToRescale = new Set(); + _editorUndoBar = null; + #enableHighlightFloatingButton = false; + #enableUpdatedAddImage = false; + #enableNewAltTextWhenAddingImage = false; + #filterFactory = null; + #focusMainContainerTimeoutId = null; + #focusManagerAC = null; + #highlightColors = null; + #highlightWhenShiftUp = false; + #floatingToolbar = null; + #idManager = new IdManager(); + #isEnabled = false; + #isPointerDown = false; + #isWaiting = false; + #keyboardManagerAC = null; + #lastActiveElement = null; + #mainHighlightColorPicker = null; + #missingCanvases = null; + #mlManager = null; + #mode = AnnotationEditorType.NONE; + #selectedEditors = new Set(); + #selectedTextNode = null; + #signatureManager = null; + #pageColors = null; + #showAllStates = null; + #pdfDocument = null; + #previousStates = { + isEditing: false, + isEmpty: true, + hasSomethingToUndo: false, + hasSomethingToRedo: false, + hasSelectedEditor: false, + hasSelectedText: false + }; + #translation = [0, 0]; + #translationTimeoutId = null; + #container = null; + #viewer = null; + #viewerAlert = null; + #updateModeCapability = null; + static TRANSLATE_SMALL = 1; + static TRANSLATE_BIG = 10; + static get _keyboardManager() { + const proto = AnnotationEditorUIManager.prototype; + const arrowChecker = self => self.#container.contains(document.activeElement) && document.activeElement.tagName !== "BUTTON" && self.hasSomethingToControl(); + const textInputChecker = (_self, { + target: el + }) => { + if (el instanceof HTMLInputElement) { + const { + type + } = el; + return type !== "text" && type !== "number"; + } + return true; + }; + const small = this.TRANSLATE_SMALL; + const big = this.TRANSLATE_BIG; + return shadow(this, "_keyboardManager", new KeyboardManager([[["ctrl+a", "mac+meta+a"], proto.selectAll, { + checker: textInputChecker + }], [["ctrl+z", "mac+meta+z"], proto.undo, { + checker: textInputChecker + }], [["ctrl+y", "ctrl+shift+z", "mac+meta+shift+z", "ctrl+shift+Z", "mac+meta+shift+Z"], proto.redo, { + checker: textInputChecker + }], [["Backspace", "alt+Backspace", "ctrl+Backspace", "shift+Backspace", "mac+Backspace", "mac+alt+Backspace", "mac+ctrl+Backspace", "Delete", "ctrl+Delete", "shift+Delete", "mac+Delete"], proto.delete, { + checker: textInputChecker + }], [["Enter", "mac+Enter"], proto.addNewEditorFromKeyboard, { + checker: (self, { + target: el + }) => !(el instanceof HTMLButtonElement) && self.#container.contains(el) && !self.isEnterHandled + }], [[" ", "mac+ "], proto.addNewEditorFromKeyboard, { + checker: (self, { + target: el + }) => !(el instanceof HTMLButtonElement) && self.#container.contains(document.activeElement) + }], [["Escape", "mac+Escape"], proto.unselectAll], [["ArrowLeft", "mac+ArrowLeft"], proto.translateSelectedEditors, { + args: [-small, 0], + checker: arrowChecker + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto.translateSelectedEditors, { + args: [-big, 0], + checker: arrowChecker + }], [["ArrowRight", "mac+ArrowRight"], proto.translateSelectedEditors, { + args: [small, 0], + checker: arrowChecker + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto.translateSelectedEditors, { + args: [big, 0], + checker: arrowChecker + }], [["ArrowUp", "mac+ArrowUp"], proto.translateSelectedEditors, { + args: [0, -small], + checker: arrowChecker + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto.translateSelectedEditors, { + args: [0, -big], + checker: arrowChecker + }], [["ArrowDown", "mac+ArrowDown"], proto.translateSelectedEditors, { + args: [0, small], + checker: arrowChecker + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto.translateSelectedEditors, { + args: [0, big], + checker: arrowChecker + }]])); + } + constructor(container, viewer, viewerAlert, altTextManager, commentManager, signatureManager, eventBus, pdfDocument, pageColors, highlightColors, enableHighlightFloatingButton, enableUpdatedAddImage, enableNewAltTextWhenAddingImage, mlManager, editorUndoBar, supportsPinchToZoom) { + const signal = this._signal = this.#abortController.signal; + this.#container = container; + this.#viewer = viewer; + this.#viewerAlert = viewerAlert; + this.#altTextManager = altTextManager; + this.#commentManager = commentManager; + this.#signatureManager = signatureManager; + this.#pdfDocument = pdfDocument; + this._eventBus = eventBus; + eventBus._on("editingaction", this.onEditingAction.bind(this), { + signal + }); + eventBus._on("pagechanging", this.onPageChanging.bind(this), { + signal + }); + eventBus._on("scalechanging", this.onScaleChanging.bind(this), { + signal + }); + eventBus._on("rotationchanging", this.onRotationChanging.bind(this), { + signal + }); + eventBus._on("setpreference", this.onSetPreference.bind(this), { + signal + }); + eventBus._on("switchannotationeditorparams", evt => this.updateParams(evt.type, evt.value), { + signal + }); + window.addEventListener("pointerdown", () => { + this.#isPointerDown = true; + }, { + capture: true, + signal + }); + window.addEventListener("pointerup", () => { + this.#isPointerDown = false; + }, { + capture: true, + signal + }); + window.addEventListener("beforeunload", this.#beforeUnload.bind(this), { + capture: true, + signal + }); + this.#addSelectionListener(); + this.#addDragAndDropListeners(); + this.#addKeyboardManager(); + this.#annotationStorage = pdfDocument.annotationStorage; + this.#filterFactory = pdfDocument.filterFactory; + this.#pageColors = pageColors; + this.#highlightColors = highlightColors || null; + this.#enableHighlightFloatingButton = enableHighlightFloatingButton; + this.#enableUpdatedAddImage = enableUpdatedAddImage; + this.#enableNewAltTextWhenAddingImage = enableNewAltTextWhenAddingImage; + this.#mlManager = mlManager || null; + this.viewParameters = { + realScale: PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: 0 + }; + this.isShiftKeyDown = false; + this._editorUndoBar = editorUndoBar || null; + this._supportsPinchToZoom = supportsPinchToZoom !== false; + commentManager?.setSidebarUiManager(this); + } + destroy() { + this.#updateModeCapability?.resolve(); + this.#updateModeCapability = null; + this.#abortController?.abort(); + this.#abortController = null; + this._signal = null; + for (const layer of this.#allLayers.values()) { + layer.destroy(); + } + this.#allLayers.clear(); + this.#allEditors.clear(); + this.#editorsToRescale.clear(); + this.#missingCanvases?.clear(); + this.#activeEditor = null; + this.#selectedEditors.clear(); + this.#commandManager.destroy(); + this.#altTextManager?.destroy(); + this.#commentManager?.destroy(); + this.#signatureManager?.destroy(); + this.#floatingToolbar?.hide(); + this.#floatingToolbar = null; + this.#mainHighlightColorPicker?.destroy(); + this.#mainHighlightColorPicker = null; + this.#allEditableAnnotations = null; + if (this.#focusMainContainerTimeoutId) { + clearTimeout(this.#focusMainContainerTimeoutId); + this.#focusMainContainerTimeoutId = null; + } + if (this.#translationTimeoutId) { + clearTimeout(this.#translationTimeoutId); + this.#translationTimeoutId = null; + } + this._editorUndoBar?.destroy(); + this.#pdfDocument = null; + } + combinedSignal(ac) { + return AbortSignal.any([this._signal, ac.signal]); + } + get mlManager() { + return this.#mlManager; + } + get useNewAltTextFlow() { + return this.#enableUpdatedAddImage; + } + get useNewAltTextWhenAddingImage() { + return this.#enableNewAltTextWhenAddingImage; + } + get hcmFilter() { + return shadow(this, "hcmFilter", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : "none"); + } + get direction() { + return shadow(this, "direction", getComputedStyle(this.#container).direction); + } + get _highlightColors() { + return shadow(this, "_highlightColors", this.#highlightColors ? new Map(this.#highlightColors.split(",").map(pair => { + pair = pair.split("=").map(x => x.trim()); + pair[1] = pair[1].toUpperCase(); + return pair; + })) : null); + } + get highlightColors() { + const { + _highlightColors + } = this; + if (!_highlightColors) { + return shadow(this, "highlightColors", null); + } + const map = new Map(); + const hasHCM = !!this.#pageColors; + for (const [name, color] of _highlightColors) { + const isNameForHCM = name.endsWith("_HCM"); + if (hasHCM && isNameForHCM) { + map.set(name.replace("_HCM", ""), color); + continue; + } + if (!hasHCM && !isNameForHCM) { + map.set(name, color); + } + } + return shadow(this, "highlightColors", map); + } + get highlightColorNames() { + return shadow(this, "highlightColorNames", this.highlightColors ? new Map(Array.from(this.highlightColors, e => e.reverse())) : null); + } + getNonHCMColor(color) { + if (!this._highlightColors) { + return color; + } + const colorName = this.highlightColorNames.get(color); + return this._highlightColors.get(colorName) || color; + } + getNonHCMColorName(color) { + return this.highlightColorNames.get(color) || color; + } + setCurrentDrawingSession(layer) { + if (layer) { + this.unselectAll(); + this.disableUserSelect(true); + } else { + this.disableUserSelect(false); + } + this.#currentDrawingSession = layer; + } + setMainHighlightColorPicker(colorPicker) { + this.#mainHighlightColorPicker = colorPicker; + } + editAltText(editor, firstTime = false) { + this.#altTextManager?.editAltText(this, editor, firstTime); + } + hasCommentManager() { + return !!this.#commentManager; + } + editComment(editor, posX, posY, options) { + this.#commentManager?.showDialog(this, editor, posX, posY, options); + } + selectComment(pageIndex, uid) { + const layer = this.#allLayers.get(pageIndex); + const editor = layer?.getEditorByUID(uid); + editor?.toggleComment(true, true); + } + updateComment(editor) { + this.#commentManager?.updateComment(editor.getData()); + } + updatePopupColor(editor) { + this.#commentManager?.updatePopupColor(editor); + } + removeComment(editor) { + this.#commentManager?.removeComments([editor.uid]); + } + deleteComment(editor, savedData) { + const undo = () => { + editor.comment = savedData; + }; + const cmd = () => { + this._editorUndoBar?.show(undo, "comment"); + this.toggleComment(null); + editor.comment = null; + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } + toggleComment(editor, isSelected, visibility = undefined) { + this.#commentManager?.toggleCommentPopup(editor, isSelected, visibility); + } + makeCommentColor(color, opacity) { + return color && this.#commentManager?.makeCommentColor(color, opacity) || null; + } + getCommentDialogElement() { + return this.#commentManager?.dialogElement || null; + } + async waitForEditorsRendered(pageNumber) { + if (this.#allLayers.has(pageNumber - 1)) { + return; + } + const { + resolve, + promise + } = Promise.withResolvers(); + const onEditorsRendered = evt => { + if (evt.pageNumber === pageNumber) { + this._eventBus._off("editorsrendered", onEditorsRendered); + resolve(); + } + }; + this._eventBus.on("editorsrendered", onEditorsRendered); + await promise; + } + getSignature(editor) { + this.#signatureManager?.getSignature({ + uiManager: this, + editor + }); + } + get signatureManager() { + return this.#signatureManager; + } + switchToMode(mode, callback) { + this._eventBus.on("annotationeditormodechanged", callback, { + once: true, + signal: this._signal + }); + this._eventBus.dispatch("showannotationeditorui", { + source: this, + mode + }); + } + setPreference(name, value) { + this._eventBus.dispatch("setpreference", { + source: this, + name, + value + }); + } + onSetPreference({ + name, + value + }) { + switch (name) { + case "enableNewAltTextWhenAddingImage": + this.#enableNewAltTextWhenAddingImage = value; + break; + } + } + onPageChanging({ + pageNumber + }) { + this.#currentPageIndex = pageNumber - 1; + } + deletePage(id) { + for (const editor of this.getEditors(id)) { + editor.remove(); + } + this.#allLayers.delete(id); + if (this.#currentPageIndex === id) { + this.#currentPageIndex = 0; + } + } + focusMainContainer() { + this.#container.focus(); + } + findParent(x, y) { + for (const layer of this.#allLayers.values()) { + const { + x: layerX, + y: layerY, + width, + height + } = layer.div.getBoundingClientRect(); + if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) { + return layer; + } + } + return null; + } + disableUserSelect(value = false) { + this.#viewer.classList.toggle("noUserSelect", value); + } + addShouldRescale(editor) { + this.#editorsToRescale.add(editor); + } + removeShouldRescale(editor) { + this.#editorsToRescale.delete(editor); + } + onScaleChanging({ + scale + }) { + this.commitOrRemove(); + this.viewParameters.realScale = scale * PixelsPerInch.PDF_TO_CSS_UNITS; + for (const editor of this.#editorsToRescale) { + editor.onScaleChanging(); + } + this.#currentDrawingSession?.onScaleChanging(); + } + onRotationChanging({ + pagesRotation + }) { + this.commitOrRemove(); + this.viewParameters.rotation = pagesRotation; + } + #getAnchorElementForSelection({ + anchorNode + }) { + return anchorNode.nodeType === Node.TEXT_NODE ? anchorNode.parentElement : anchorNode; + } + #getLayerForTextLayer(textLayer) { + const { + currentLayer + } = this; + if (currentLayer.hasTextLayer(textLayer)) { + return currentLayer; + } + for (const layer of this.#allLayers.values()) { + if (layer.hasTextLayer(textLayer)) { + return layer; + } + } + return null; + } + highlightSelection(methodOfCreation = "", comment = false) { + const selection = document.getSelection(); + if (!selection || selection.isCollapsed) { + return; + } + const { + anchorNode, + anchorOffset, + focusNode, + focusOffset + } = selection; + const text = selection.toString(); + const anchorElement = this.#getAnchorElementForSelection(selection); + const textLayer = anchorElement.closest(".textLayer"); + const boxes = this.getSelectionBoxes(textLayer); + if (!boxes) { + return; + } + selection.empty(); + const layer = this.#getLayerForTextLayer(textLayer); + const isNoneMode = this.#mode === AnnotationEditorType.NONE; + const callback = () => { + const editor = layer?.createAndAddNewEditor({ + x: 0, + y: 0 + }, false, { + methodOfCreation, + boxes, + anchorNode, + anchorOffset, + focusNode, + focusOffset, + text + }); + if (isNoneMode) { + this.showAllEditors("highlight", true, true); + } + if (comment) { + editor?.editComment(); + } + }; + if (isNoneMode) { + this.switchToMode(AnnotationEditorType.HIGHLIGHT, callback); + return; + } + callback(); + } + commentSelection(methodOfCreation = "") { + this.highlightSelection(methodOfCreation, true); + } + #beforeUnload(e) { + this.commitOrRemove(); + this.currentLayer?.endDrawingSession(false); + } + #displayFloatingToolbar() { + const selection = document.getSelection(); + if (!selection || selection.isCollapsed) { + return; + } + const anchorElement = this.#getAnchorElementForSelection(selection); + const textLayer = anchorElement.closest(".textLayer"); + const boxes = this.getSelectionBoxes(textLayer); + if (!boxes) { + return; + } + this.#floatingToolbar ||= new FloatingToolbar(this); + this.#floatingToolbar.show(textLayer, boxes, this.direction === "ltr"); + } + getAndRemoveDataFromAnnotationStorage(annotationId) { + if (!this.#annotationStorage) { + return null; + } + const key = `${AnnotationEditorPrefix}${annotationId}`; + const storedValue = this.#annotationStorage.getRawValue(key); + if (storedValue) { + this.#annotationStorage.remove(key); + } + return storedValue; + } + addToAnnotationStorage(editor) { + if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) { + this.#annotationStorage.setValue(editor.id, editor); + } + } + a11yAlert(messageId, args = null) { + const viewerAlert = this.#viewerAlert; + if (!viewerAlert) { + return; + } + viewerAlert.setAttribute("data-l10n-id", messageId); + if (args) { + viewerAlert.setAttribute("data-l10n-args", JSON.stringify(args)); + } else { + viewerAlert.removeAttribute("data-l10n-args"); + } + } + #selectionChange() { + const selection = document.getSelection(); + if (!selection || selection.isCollapsed) { + if (this.#selectedTextNode) { + this.#floatingToolbar?.hide(); + this.#selectedTextNode = null; + this.#dispatchUpdateStates({ + hasSelectedText: false + }); + } + return; + } + const { + anchorNode + } = selection; + if (anchorNode === this.#selectedTextNode) { + return; + } + const anchorElement = this.#getAnchorElementForSelection(selection); + const textLayer = anchorElement.closest(".textLayer"); + if (!textLayer) { + if (this.#selectedTextNode) { + this.#floatingToolbar?.hide(); + this.#selectedTextNode = null; + this.#dispatchUpdateStates({ + hasSelectedText: false + }); + } + return; + } + this.#floatingToolbar?.hide(); + this.#selectedTextNode = anchorNode; + this.#dispatchUpdateStates({ + hasSelectedText: true + }); + if (this.#mode !== AnnotationEditorType.HIGHLIGHT && this.#mode !== AnnotationEditorType.NONE) { + return; + } + if (this.#mode === AnnotationEditorType.HIGHLIGHT) { + this.showAllEditors("highlight", true, true); + } + this.#highlightWhenShiftUp = this.isShiftKeyDown; + if (!this.isShiftKeyDown) { + const activeLayer = this.#mode === AnnotationEditorType.HIGHLIGHT ? this.#getLayerForTextLayer(textLayer) : null; + activeLayer?.toggleDrawing(); + if (this.#isPointerDown) { + const ac = new AbortController(); + const signal = this.combinedSignal(ac); + const pointerup = e => { + if (e.type === "pointerup" && e.button !== 0) { + return; + } + ac.abort(); + activeLayer?.toggleDrawing(true); + if (e.type === "pointerup") { + this.#onSelectEnd("main_toolbar"); + } + }; + window.addEventListener("pointerup", pointerup, { + signal + }); + window.addEventListener("blur", pointerup, { + signal + }); + } else { + activeLayer?.toggleDrawing(true); + this.#onSelectEnd("main_toolbar"); + } + } + } + #onSelectEnd(methodOfCreation = "") { + if (this.#mode === AnnotationEditorType.HIGHLIGHT) { + this.highlightSelection(methodOfCreation); + } else if (this.#enableHighlightFloatingButton) { + this.#displayFloatingToolbar(); + } + } + #addSelectionListener() { + document.addEventListener("selectionchange", this.#selectionChange.bind(this), { + signal: this._signal + }); + } + #addFocusManager() { + if (this.#focusManagerAC) { + return; + } + this.#focusManagerAC = new AbortController(); + const signal = this.combinedSignal(this.#focusManagerAC); + window.addEventListener("focus", this.focus.bind(this), { + signal + }); + window.addEventListener("blur", this.blur.bind(this), { + signal + }); + } + #removeFocusManager() { + this.#focusManagerAC?.abort(); + this.#focusManagerAC = null; + } + blur() { + this.isShiftKeyDown = false; + if (this.#highlightWhenShiftUp) { + this.#highlightWhenShiftUp = false; + this.#onSelectEnd("main_toolbar"); + } + if (!this.hasSelection) { + return; + } + const { + activeElement + } = document; + for (const editor of this.#selectedEditors) { + if (editor.div.contains(activeElement)) { + this.#lastActiveElement = [editor, activeElement]; + editor._focusEventsAllowed = false; + break; + } + } + } + focus() { + if (!this.#lastActiveElement) { + return; + } + const [lastEditor, lastActiveElement] = this.#lastActiveElement; + this.#lastActiveElement = null; + lastActiveElement.addEventListener("focusin", () => { + lastEditor._focusEventsAllowed = true; + }, { + once: true, + signal: this._signal + }); + lastActiveElement.focus(); + } + #addKeyboardManager() { + if (this.#keyboardManagerAC) { + return; + } + this.#keyboardManagerAC = new AbortController(); + const signal = this.combinedSignal(this.#keyboardManagerAC); + window.addEventListener("keydown", this.keydown.bind(this), { + signal + }); + window.addEventListener("keyup", this.keyup.bind(this), { + signal + }); + } + #removeKeyboardManager() { + this.#keyboardManagerAC?.abort(); + this.#keyboardManagerAC = null; + } + #addCopyPasteListeners() { + if (this.#copyPasteAC) { + return; + } + this.#copyPasteAC = new AbortController(); + const signal = this.combinedSignal(this.#copyPasteAC); + document.addEventListener("copy", this.copy.bind(this), { + signal + }); + document.addEventListener("cut", this.cut.bind(this), { + signal + }); + document.addEventListener("paste", this.paste.bind(this), { + signal + }); + } + #removeCopyPasteListeners() { + this.#copyPasteAC?.abort(); + this.#copyPasteAC = null; + } + #addDragAndDropListeners() { + const signal = this._signal; + document.addEventListener("dragover", this.dragOver.bind(this), { + signal + }); + document.addEventListener("drop", this.drop.bind(this), { + signal + }); + } + addEditListeners() { + this.#addKeyboardManager(); + this.setEditingState(true); + } + removeEditListeners() { + this.#removeKeyboardManager(); + this.setEditingState(false); + } + dragOver(event) { + for (const { + type + } of event.dataTransfer.items) { + for (const editorType of this.#editorTypes) { + if (editorType.isHandlingMimeForPasting(type)) { + event.dataTransfer.dropEffect = "copy"; + event.preventDefault(); + return; + } + } + } + } + drop(event) { + for (const item of event.dataTransfer.items) { + for (const editorType of this.#editorTypes) { + if (editorType.isHandlingMimeForPasting(item.type)) { + editorType.paste(item, this.currentLayer); + event.preventDefault(); + return; + } + } + } + } + copy(event) { + event.preventDefault(); + this.#activeEditor?.commitOrRemove(); + if (!this.hasSelection) { + return; + } + const editors = []; + for (const editor of this.#selectedEditors) { + const serialized = editor.serialize(true); + if (serialized) { + editors.push(serialized); + } + } + if (editors.length === 0) { + return; + } + event.clipboardData.setData("application/pdfjs", JSON.stringify(editors)); + } + cut(event) { + this.copy(event); + this.delete(); + } + async paste(event) { + event.preventDefault(); + const { + clipboardData + } = event; + for (const item of clipboardData.items) { + for (const editorType of this.#editorTypes) { + if (editorType.isHandlingMimeForPasting(item.type)) { + editorType.paste(item, this.currentLayer); + return; + } + } + } + let data = clipboardData.getData("application/pdfjs"); + if (!data) { + return; + } + try { + data = JSON.parse(data); + } catch (ex) { + warn(`paste: "${ex.message}".`); + return; + } + if (!Array.isArray(data)) { + return; + } + this.unselectAll(); + const layer = this.currentLayer; + try { + const newEditors = []; + for (const editor of data) { + const deserializedEditor = await layer.deserialize(editor); + if (!deserializedEditor) { + return; + } + newEditors.push(deserializedEditor); + } + const cmd = () => { + for (const editor of newEditors) { + this.#addEditorToLayer(editor); + } + this.#selectEditors(newEditors); + }; + const undo = () => { + for (const editor of newEditors) { + editor.remove(); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } catch (ex) { + warn(`paste: "${ex.message}".`); + } + } + keydown(event) { + if (!this.isShiftKeyDown && event.key === "Shift") { + this.isShiftKeyDown = true; + } + if (this.#mode !== AnnotationEditorType.NONE && !this.isEditorHandlingKeyboard) { + AnnotationEditorUIManager._keyboardManager.exec(this, event); + } + } + keyup(event) { + if (this.isShiftKeyDown && event.key === "Shift") { + this.isShiftKeyDown = false; + if (this.#highlightWhenShiftUp) { + this.#highlightWhenShiftUp = false; + this.#onSelectEnd("main_toolbar"); + } + } + } + onEditingAction({ + name + }) { + switch (name) { + case "undo": + case "redo": + case "delete": + case "selectAll": + this[name](); + break; + case "highlightSelection": + this.highlightSelection("context_menu"); + break; + case "commentSelection": + this.commentSelection("context_menu"); + break; + } + } + #dispatchUpdateStates(details) { + const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value); + if (hasChanged) { + this._eventBus.dispatch("annotationeditorstateschanged", { + source: this, + details: Object.assign(this.#previousStates, details) + }); + if (this.#mode === AnnotationEditorType.HIGHLIGHT && details.hasSelectedEditor === false) { + this.#dispatchUpdateUI([[AnnotationEditorParamsType.HIGHLIGHT_FREE, true]]); + } + } + } + #dispatchUpdateUI(details) { + this._eventBus.dispatch("annotationeditorparamschanged", { + source: this, + details + }); + } + setEditingState(isEditing) { + if (isEditing) { + this.#addFocusManager(); + this.#addCopyPasteListeners(); + this.#dispatchUpdateStates({ + isEditing: this.#mode !== AnnotationEditorType.NONE, + isEmpty: this.#isEmpty(), + hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(), + hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(), + hasSelectedEditor: false + }); + } else { + this.#removeFocusManager(); + this.#removeCopyPasteListeners(); + this.#dispatchUpdateStates({ + isEditing: false + }); + this.disableUserSelect(false); + } + } + registerEditorTypes(types) { + if (this.#editorTypes) { + return; + } + this.#editorTypes = types; + for (const editorType of this.#editorTypes) { + this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate); + } + } + getId() { + return this.#idManager.id; + } + get currentLayer() { + return this.#allLayers.get(this.#currentPageIndex); + } + getLayer(pageIndex) { + return this.#allLayers.get(pageIndex); + } + get currentPageIndex() { + return this.#currentPageIndex; + } + addLayer(layer) { + this.#allLayers.set(layer.pageIndex, layer); + if (this.#isEnabled) { + layer.enable(); + } else { + layer.disable(); + } + } + removeLayer(layer) { + this.#allLayers.delete(layer.pageIndex); + } + async updateMode(mode, editId = null, isFromUser = false, isFromKeyboard = false, mustEnterInEditMode = false, editComment = false) { + if (this.#mode === mode) { + return; + } + if (this.#updateModeCapability) { + await this.#updateModeCapability.promise; + if (!this.#updateModeCapability) { + return; + } + } + this.#updateModeCapability = Promise.withResolvers(); + this.#currentDrawingSession?.commitOrRemove(); + if (this.#mode === AnnotationEditorType.POPUP) { + this.#commentManager?.hideSidebar(); + } + this.#commentManager?.destroyPopup(); + this.#mode = mode; + if (mode === AnnotationEditorType.NONE) { + this.setEditingState(false); + this.#disableAll(); + for (const editor of this.#allEditors.values()) { + editor.hideStandaloneCommentButton(); + } + this._editorUndoBar?.hide(); + this.toggleComment(null); + this.#updateModeCapability.resolve(); + return; + } + for (const editor of this.#allEditors.values()) { + editor.addStandaloneCommentButton(); + } + if (mode === AnnotationEditorType.SIGNATURE) { + await this.#signatureManager?.loadSignatures(); + } + if (isFromUser) { + CurrentPointers.clearPointerType(); + } + this.setEditingState(true); + await this.#enableAll(); + this.unselectAll(); + for (const layer of this.#allLayers.values()) { + layer.updateMode(mode); + } + if (mode === AnnotationEditorType.POPUP) { + this.#allEditableAnnotations ||= await this.#pdfDocument.getAnnotationsByType(new Set(this.#editorTypes.map(editorClass => editorClass._editorType))); + const elementIds = new Set(); + const allComments = []; + for (const editor of this.#allEditors.values()) { + const { + annotationElementId, + hasComment, + deleted + } = editor; + if (annotationElementId) { + elementIds.add(annotationElementId); + } + if (hasComment && !deleted) { + allComments.push(editor.getData()); + } + } + for (const annotation of this.#allEditableAnnotations) { + const { + id, + popupRef, + contentsObj + } = annotation; + if (popupRef && contentsObj?.str && !elementIds.has(id) && !this.#deletedAnnotationsElementIds.has(id)) { + allComments.push(annotation); + } + } + this.#commentManager?.showSidebar(allComments); + } + if (!editId) { + if (isFromKeyboard) { + this.addNewEditorFromKeyboard(); + } + this.#updateModeCapability.resolve(); + return; + } + for (const editor of this.#allEditors.values()) { + if (editor.uid === editId) { + this.setSelected(editor); + if (editComment) { + editor.editComment(); + } else if (mustEnterInEditMode) { + editor.enterInEditMode(); + } else { + editor.focus(); + } + } else { + editor.unselect(); + } + } + this.#updateModeCapability.resolve(); + } + addNewEditorFromKeyboard() { + if (this.currentLayer.canCreateNewEmptyEditor()) { + this.currentLayer.addNewEditor(); + } + } + updateToolbar(options) { + if (options.mode === this.#mode) { + return; + } + this._eventBus.dispatch("switchannotationeditormode", { + source: this, + ...options + }); + } + updateParams(type, value) { + if (!this.#editorTypes) { + return; + } + switch (type) { + case AnnotationEditorParamsType.CREATE: + this.currentLayer.addNewEditor(value); + return; + case AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL: + this._eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "editing", + data: { + type: "highlight", + action: "toggle_visibility" + } + } + }); + (this.#showAllStates ||= new Map()).set(type, value); + this.showAllEditors("highlight", value); + break; + } + if (this.hasSelection) { + for (const editor of this.#selectedEditors) { + editor.updateParams(type, value); + } + } else { + for (const editorType of this.#editorTypes) { + editorType.updateDefaultParams(type, value); + } + } + } + showAllEditors(type, visible, updateButton = false) { + for (const editor of this.#allEditors.values()) { + if (editor.editorType === type) { + editor.show(visible); + } + } + const state = this.#showAllStates?.get(AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL) ?? true; + if (state !== visible) { + this.#dispatchUpdateUI([[AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL, visible]]); + } + } + enableWaiting(mustWait = false) { + if (this.#isWaiting === mustWait) { + return; + } + this.#isWaiting = mustWait; + for (const layer of this.#allLayers.values()) { + if (mustWait) { + layer.disableClick(); + } else { + layer.enableClick(); + } + layer.div.classList.toggle("waiting", mustWait); + } + } + async #enableAll() { + if (!this.#isEnabled) { + this.#isEnabled = true; + const promises = []; + for (const layer of this.#allLayers.values()) { + promises.push(layer.enable()); + } + await Promise.all(promises); + for (const editor of this.#allEditors.values()) { + editor.enable(); + } + } + } + #disableAll() { + this.unselectAll(); + if (this.#isEnabled) { + this.#isEnabled = false; + for (const layer of this.#allLayers.values()) { + layer.disable(); + } + for (const editor of this.#allEditors.values()) { + editor.disable(); + } + } + } + *getEditors(pageIndex) { + for (const editor of this.#allEditors.values()) { + if (editor.pageIndex === pageIndex) { + yield editor; + } + } + } + getEditor(id) { + return this.#allEditors.get(id); + } + addEditor(editor) { + this.#allEditors.set(editor.id, editor); + } + removeEditor(editor) { + if (editor.div.contains(document.activeElement)) { + if (this.#focusMainContainerTimeoutId) { + clearTimeout(this.#focusMainContainerTimeoutId); + } + this.#focusMainContainerTimeoutId = setTimeout(() => { + this.focusMainContainer(); + this.#focusMainContainerTimeoutId = null; + }, 0); + } + this.#allEditors.delete(editor.id); + if (editor.annotationElementId) { + this.#missingCanvases?.delete(editor.annotationElementId); + } + this.unselect(editor); + if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) { + this.#annotationStorage?.remove(editor.id); + } + } + addDeletedAnnotationElement(editor) { + this.#deletedAnnotationsElementIds.add(editor.annotationElementId); + this.addChangedExistingAnnotation(editor); + editor.deleted = true; + } + isDeletedAnnotationElement(annotationElementId) { + return this.#deletedAnnotationsElementIds.has(annotationElementId); + } + removeDeletedAnnotationElement(editor) { + this.#deletedAnnotationsElementIds.delete(editor.annotationElementId); + this.removeChangedExistingAnnotation(editor); + editor.deleted = false; + } + #addEditorToLayer(editor) { + const layer = this.#allLayers.get(editor.pageIndex); + if (layer) { + layer.addOrRebuild(editor); + } else { + this.addEditor(editor); + this.addToAnnotationStorage(editor); + } + } + setActiveEditor(editor) { + if (this.#activeEditor === editor) { + return; + } + this.#activeEditor = editor; + if (editor) { + this.#dispatchUpdateUI(editor.propertiesToUpdate); + } + } + get #lastSelectedEditor() { + let ed = null; + for (ed of this.#selectedEditors) {} + return ed; + } + updateUI(editor) { + if (this.#lastSelectedEditor === editor) { + this.#dispatchUpdateUI(editor.propertiesToUpdate); + } + } + updateUIForDefaultProperties(editorType) { + this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate); + } + toggleSelected(editor) { + if (this.#selectedEditors.has(editor)) { + this.#selectedEditors.delete(editor); + editor.unselect(); + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + return; + } + this.#selectedEditors.add(editor); + editor.select(); + this.#dispatchUpdateUI(editor.propertiesToUpdate); + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + setSelected(editor) { + this.updateToolbar({ + mode: editor.mode, + editId: editor.uid + }); + this.#currentDrawingSession?.commitOrRemove(); + for (const ed of this.#selectedEditors) { + if (ed !== editor) { + ed.unselect(); + } + } + this.#selectedEditors.clear(); + this.#selectedEditors.add(editor); + editor.select(); + this.#dispatchUpdateUI(editor.propertiesToUpdate); + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + isSelected(editor) { + return this.#selectedEditors.has(editor); + } + get firstSelectedEditor() { + return this.#selectedEditors.values().next().value; + } + unselect(editor) { + editor.unselect(); + this.#selectedEditors.delete(editor); + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + } + get hasSelection() { + return this.#selectedEditors.size !== 0; + } + get isEnterHandled() { + return this.#selectedEditors.size === 1 && this.firstSelectedEditor.isEnterHandled; + } + undo() { + this.#commandManager.undo(); + this.#dispatchUpdateStates({ + hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(), + hasSomethingToRedo: true, + isEmpty: this.#isEmpty() + }); + this._editorUndoBar?.hide(); + } + redo() { + this.#commandManager.redo(); + this.#dispatchUpdateStates({ + hasSomethingToUndo: true, + hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(), + isEmpty: this.#isEmpty() + }); + } + addCommands(params) { + this.#commandManager.add(params); + this.#dispatchUpdateStates({ + hasSomethingToUndo: true, + hasSomethingToRedo: false, + isEmpty: this.#isEmpty() + }); + } + cleanUndoStack(type) { + this.#commandManager.cleanType(type); + } + #isEmpty() { + if (this.#allEditors.size === 0) { + return true; + } + if (this.#allEditors.size === 1) { + for (const editor of this.#allEditors.values()) { + return editor.isEmpty(); + } + } + return false; + } + delete() { + this.commitOrRemove(); + const drawingEditor = this.currentLayer?.endDrawingSession(true); + if (!this.hasSelection && !drawingEditor) { + return; + } + const editors = drawingEditor ? [drawingEditor] : [...this.#selectedEditors]; + const cmd = () => { + this._editorUndoBar?.show(undo, editors.length === 1 ? editors[0].editorType : editors.length); + for (const editor of editors) { + editor.remove(); + } + }; + const undo = () => { + for (const editor of editors) { + this.#addEditorToLayer(editor); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } + commitOrRemove() { + this.#activeEditor?.commitOrRemove(); + } + hasSomethingToControl() { + return this.#activeEditor || this.hasSelection; + } + #selectEditors(editors) { + for (const editor of this.#selectedEditors) { + editor.unselect(); + } + this.#selectedEditors.clear(); + for (const editor of editors) { + if (editor.isEmpty()) { + continue; + } + this.#selectedEditors.add(editor); + editor.select(); + } + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + } + selectAll() { + for (const editor of this.#selectedEditors) { + editor.commit(); + } + this.#selectEditors(this.#allEditors.values()); + } + unselectAll() { + if (this.#activeEditor) { + this.#activeEditor.commitOrRemove(); + if (this.#mode !== AnnotationEditorType.NONE) { + return; + } + } + if (this.#currentDrawingSession?.commitOrRemove()) { + return; + } + if (!this.hasSelection) { + return; + } + for (const editor of this.#selectedEditors) { + editor.unselect(); + } + this.#selectedEditors.clear(); + this.#dispatchUpdateStates({ + hasSelectedEditor: false + }); + } + translateSelectedEditors(x, y, noCommit = false) { + if (!noCommit) { + this.commitOrRemove(); + } + if (!this.hasSelection) { + return; + } + this.#translation[0] += x; + this.#translation[1] += y; + const [totalX, totalY] = this.#translation; + const editors = [...this.#selectedEditors]; + const TIME_TO_WAIT = 1000; + if (this.#translationTimeoutId) { + clearTimeout(this.#translationTimeoutId); + } + this.#translationTimeoutId = setTimeout(() => { + this.#translationTimeoutId = null; + this.#translation[0] = this.#translation[1] = 0; + this.addCommands({ + cmd: () => { + for (const editor of editors) { + if (this.#allEditors.has(editor.id)) { + editor.translateInPage(totalX, totalY); + editor.translationDone(); + } + } + }, + undo: () => { + for (const editor of editors) { + if (this.#allEditors.has(editor.id)) { + editor.translateInPage(-totalX, -totalY); + editor.translationDone(); + } + } + }, + mustExec: false + }); + }, TIME_TO_WAIT); + for (const editor of editors) { + editor.translateInPage(x, y); + editor.translationDone(); + } + } + setUpDragSession() { + if (!this.hasSelection) { + return; + } + this.disableUserSelect(true); + this.#draggingEditors = new Map(); + for (const editor of this.#selectedEditors) { + this.#draggingEditors.set(editor, { + savedX: editor.x, + savedY: editor.y, + savedPageIndex: editor.pageIndex, + newX: 0, + newY: 0, + newPageIndex: -1 + }); + } + } + endDragSession() { + if (!this.#draggingEditors) { + return false; + } + this.disableUserSelect(false); + const map = this.#draggingEditors; + this.#draggingEditors = null; + let mustBeAddedInUndoStack = false; + for (const [{ + x, + y, + pageIndex + }, value] of map) { + value.newX = x; + value.newY = y; + value.newPageIndex = pageIndex; + mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex; + } + if (!mustBeAddedInUndoStack) { + return false; + } + const move = (editor, x, y, pageIndex) => { + if (this.#allEditors.has(editor.id)) { + const parent = this.#allLayers.get(pageIndex); + if (parent) { + editor._setParentAndPosition(parent, x, y); + } else { + editor.pageIndex = pageIndex; + editor.x = x; + editor.y = y; + } + } + }; + this.addCommands({ + cmd: () => { + for (const [editor, { + newX, + newY, + newPageIndex + }] of map) { + move(editor, newX, newY, newPageIndex); + } + }, + undo: () => { + for (const [editor, { + savedX, + savedY, + savedPageIndex + }] of map) { + move(editor, savedX, savedY, savedPageIndex); + } + }, + mustExec: true + }); + return true; + } + dragSelectedEditors(tx, ty) { + if (!this.#draggingEditors) { + return; + } + for (const editor of this.#draggingEditors.keys()) { + editor.drag(tx, ty); + } + } + rebuild(editor) { + if (editor.parent === null) { + const parent = this.getLayer(editor.pageIndex); + if (parent) { + parent.changeParent(editor); + parent.addOrRebuild(editor); + } else { + this.addEditor(editor); + this.addToAnnotationStorage(editor); + editor.rebuild(); + } + } else { + editor.parent.addOrRebuild(editor); + } + } + get isEditorHandlingKeyboard() { + return this.getActive()?.shouldGetKeyboardEvents() || this.#selectedEditors.size === 1 && this.firstSelectedEditor.shouldGetKeyboardEvents(); + } + isActive(editor) { + return this.#activeEditor === editor; + } + getActive() { + return this.#activeEditor; + } + getMode() { + return this.#mode; + } + isEditingMode() { + return this.#mode !== AnnotationEditorType.NONE; + } + get imageManager() { + return shadow(this, "imageManager", new ImageManager()); + } + getSelectionBoxes(textLayer) { + if (!textLayer) { + return null; + } + const selection = document.getSelection(); + for (let i = 0, ii = selection.rangeCount; i < ii; i++) { + if (!textLayer.contains(selection.getRangeAt(i).commonAncestorContainer)) { + return null; + } + } + const { + x: layerX, + y: layerY, + width: parentWidth, + height: parentHeight + } = textLayer.getBoundingClientRect(); + let rotator; + switch (textLayer.getAttribute("data-main-rotation")) { + case "90": + rotator = (x, y, w, h) => ({ + x: (y - layerY) / parentHeight, + y: 1 - (x + w - layerX) / parentWidth, + width: h / parentHeight, + height: w / parentWidth + }); + break; + case "180": + rotator = (x, y, w, h) => ({ + x: 1 - (x + w - layerX) / parentWidth, + y: 1 - (y + h - layerY) / parentHeight, + width: w / parentWidth, + height: h / parentHeight + }); + break; + case "270": + rotator = (x, y, w, h) => ({ + x: 1 - (y + h - layerY) / parentHeight, + y: (x - layerX) / parentWidth, + width: h / parentHeight, + height: w / parentWidth + }); + break; + default: + rotator = (x, y, w, h) => ({ + x: (x - layerX) / parentWidth, + y: (y - layerY) / parentHeight, + width: w / parentWidth, + height: h / parentHeight + }); + break; + } + const boxes = []; + for (let i = 0, ii = selection.rangeCount; i < ii; i++) { + const range = selection.getRangeAt(i); + if (range.collapsed) { + continue; + } + for (const { + x, + y, + width, + height + } of range.getClientRects()) { + if (width === 0 || height === 0) { + continue; + } + boxes.push(rotator(x, y, width, height)); + } + } + return boxes.length === 0 ? null : boxes; + } + addChangedExistingAnnotation({ + annotationElementId, + id + }) { + (this.#changedExistingAnnotations ||= new Map()).set(annotationElementId, id); + } + removeChangedExistingAnnotation({ + annotationElementId + }) { + this.#changedExistingAnnotations?.delete(annotationElementId); + } + renderAnnotationElement(annotation) { + const editorId = this.#changedExistingAnnotations?.get(annotation.data.id); + if (!editorId) { + return; + } + const editor = this.#annotationStorage.getRawValue(editorId); + if (!editor) { + return; + } + if (this.#mode === AnnotationEditorType.NONE && !editor.hasBeenModified) { + return; + } + editor.renderAnnotationElement(annotation); + } + setMissingCanvas(annotationId, annotationElementId, canvas) { + const editor = this.#missingCanvases?.get(annotationId); + if (!editor) { + return; + } + editor.setCanvas(annotationElementId, canvas); + this.#missingCanvases.delete(annotationId); + } + addMissingCanvas(annotationId, editor) { + (this.#missingCanvases ||= new Map()).set(annotationId, editor); + } +} + +;// ./src/display/editor/alt_text.js + +class AltText { + #altText = null; + #altTextDecorative = false; + #altTextButton = null; + #altTextButtonLabel = null; + #altTextTooltip = null; + #altTextTooltipTimeout = null; + #altTextWasFromKeyBoard = false; + #badge = null; + #editor = null; + #guessedText = null; + #textWithDisclaimer = null; + #useNewAltTextFlow = false; + static #l10nNewButton = null; + static _l10n = null; + constructor(editor) { + this.#editor = editor; + this.#useNewAltTextFlow = editor._uiManager.useNewAltTextFlow; + AltText.#l10nNewButton ||= Object.freeze({ + added: "pdfjs-editor-new-alt-text-added-button", + "added-label": "pdfjs-editor-new-alt-text-added-button-label", + missing: "pdfjs-editor-new-alt-text-missing-button", + "missing-label": "pdfjs-editor-new-alt-text-missing-button-label", + review: "pdfjs-editor-new-alt-text-to-review-button", + "review-label": "pdfjs-editor-new-alt-text-to-review-button-label" + }); + } + static initialize(l10n) { + AltText._l10n ??= l10n; + } + async render() { + const altText = this.#altTextButton = document.createElement("button"); + altText.className = "altText"; + altText.tabIndex = "0"; + const label = this.#altTextButtonLabel = document.createElement("span"); + altText.append(label); + if (this.#useNewAltTextFlow) { + altText.classList.add("new"); + altText.setAttribute("data-l10n-id", AltText.#l10nNewButton.missing); + label.setAttribute("data-l10n-id", AltText.#l10nNewButton["missing-label"]); + } else { + altText.setAttribute("data-l10n-id", "pdfjs-editor-alt-text-button"); + label.setAttribute("data-l10n-id", "pdfjs-editor-alt-text-button-label"); + } + const signal = this.#editor._uiManager._signal; + altText.addEventListener("contextmenu", noContextMenu, { + signal + }); + altText.addEventListener("pointerdown", event => event.stopPropagation(), { + signal + }); + const onClick = event => { + event.preventDefault(); + this.#editor._uiManager.editAltText(this.#editor); + if (this.#useNewAltTextFlow) { + this.#editor._reportTelemetry({ + action: "pdfjs.image.alt_text.image_status_label_clicked", + data: { + label: this.#label + } + }); + } + }; + altText.addEventListener("click", onClick, { + capture: true, + signal + }); + altText.addEventListener("keydown", event => { + if (event.target === altText && event.key === "Enter") { + this.#altTextWasFromKeyBoard = true; + onClick(event); + } + }, { + signal + }); + await this.#setState(); + return altText; + } + get #label() { + return this.#altText && "added" || this.#altText === null && this.guessedText && "review" || "missing"; + } + finish() { + if (!this.#altTextButton) { + return; + } + this.#altTextButton.focus({ + focusVisible: this.#altTextWasFromKeyBoard + }); + this.#altTextWasFromKeyBoard = false; + } + isEmpty() { + if (this.#useNewAltTextFlow) { + return this.#altText === null; + } + return !this.#altText && !this.#altTextDecorative; + } + hasData() { + if (this.#useNewAltTextFlow) { + return this.#altText !== null || !!this.#guessedText; + } + return this.isEmpty(); + } + get guessedText() { + return this.#guessedText; + } + async setGuessedText(guessedText) { + if (this.#altText !== null) { + return; + } + this.#guessedText = guessedText; + this.#textWithDisclaimer = await AltText._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer", { + generatedAltText: guessedText + }); + this.#setState(); + } + toggleAltTextBadge(visibility = false) { + if (!this.#useNewAltTextFlow || this.#altText) { + this.#badge?.remove(); + this.#badge = null; + return; + } + if (!this.#badge) { + const badge = this.#badge = document.createElement("div"); + badge.className = "noAltTextBadge"; + this.#editor.div.append(badge); + } + this.#badge.classList.toggle("hidden", !visibility); + } + serialize(isForCopying) { + let altText = this.#altText; + if (!isForCopying && this.#guessedText === altText) { + altText = this.#textWithDisclaimer; + } + return { + altText, + decorative: this.#altTextDecorative, + guessedText: this.#guessedText, + textWithDisclaimer: this.#textWithDisclaimer + }; + } + get data() { + return { + altText: this.#altText, + decorative: this.#altTextDecorative + }; + } + set data({ + altText, + decorative, + guessedText, + textWithDisclaimer, + cancel = false + }) { + if (guessedText) { + this.#guessedText = guessedText; + this.#textWithDisclaimer = textWithDisclaimer; + } + if (this.#altText === altText && this.#altTextDecorative === decorative) { + return; + } + if (!cancel) { + this.#altText = altText; + this.#altTextDecorative = decorative; + } + this.#setState(); + } + toggle(enabled = false) { + if (!this.#altTextButton) { + return; + } + if (!enabled && this.#altTextTooltipTimeout) { + clearTimeout(this.#altTextTooltipTimeout); + this.#altTextTooltipTimeout = null; + } + this.#altTextButton.disabled = !enabled; + } + shown() { + this.#editor._reportTelemetry({ + action: "pdfjs.image.alt_text.image_status_label_displayed", + data: { + label: this.#label + } + }); + } + destroy() { + this.#altTextButton?.remove(); + this.#altTextButton = null; + this.#altTextButtonLabel = null; + this.#altTextTooltip = null; + this.#badge?.remove(); + this.#badge = null; + } + async #setState() { + const button = this.#altTextButton; + if (!button) { + return; + } + if (this.#useNewAltTextFlow) { + button.classList.toggle("done", !!this.#altText); + button.setAttribute("data-l10n-id", AltText.#l10nNewButton[this.#label]); + this.#altTextButtonLabel?.setAttribute("data-l10n-id", AltText.#l10nNewButton[`${this.#label}-label`]); + if (!this.#altText) { + this.#altTextTooltip?.remove(); + return; + } + } else { + if (!this.#altText && !this.#altTextDecorative) { + button.classList.remove("done"); + this.#altTextTooltip?.remove(); + return; + } + button.classList.add("done"); + button.setAttribute("data-l10n-id", "pdfjs-editor-alt-text-edit-button"); + } + let tooltip = this.#altTextTooltip; + if (!tooltip) { + this.#altTextTooltip = tooltip = document.createElement("span"); + tooltip.className = "tooltip"; + tooltip.setAttribute("role", "tooltip"); + tooltip.id = `alt-text-tooltip-${this.#editor.id}`; + const DELAY_TO_SHOW_TOOLTIP = 100; + const signal = this.#editor._uiManager._signal; + signal.addEventListener("abort", () => { + clearTimeout(this.#altTextTooltipTimeout); + this.#altTextTooltipTimeout = null; + }, { + once: true + }); + button.addEventListener("mouseenter", () => { + this.#altTextTooltipTimeout = setTimeout(() => { + this.#altTextTooltipTimeout = null; + this.#altTextTooltip.classList.add("show"); + this.#editor._reportTelemetry({ + action: "alt_text_tooltip" + }); + }, DELAY_TO_SHOW_TOOLTIP); + }, { + signal + }); + button.addEventListener("mouseleave", () => { + if (this.#altTextTooltipTimeout) { + clearTimeout(this.#altTextTooltipTimeout); + this.#altTextTooltipTimeout = null; + } + this.#altTextTooltip?.classList.remove("show"); + }, { + signal + }); + } + if (this.#altTextDecorative) { + tooltip.setAttribute("data-l10n-id", "pdfjs-editor-alt-text-decorative-tooltip"); + } else { + tooltip.removeAttribute("data-l10n-id"); + tooltip.textContent = this.#altText; + } + if (!tooltip.parentNode) { + button.append(tooltip); + } + const element = this.#editor.getElementForAltText(); + element?.setAttribute("aria-describedby", tooltip.id); + } +} + +;// ./src/display/editor/comment.js + +class Comment { + #commentStandaloneButton = null; + #commentToolbarButton = null; + #commentWasFromKeyBoard = false; + #editor = null; + #initialText = null; + #richText = null; + #text = null; + #date = null; + #deleted = false; + #popupPosition = null; + constructor(editor) { + this.#editor = editor; + } + renderForToolbar() { + const button = this.#commentToolbarButton = document.createElement("button"); + button.className = "comment"; + return this.#render(button, false); + } + renderForStandalone() { + const button = this.#commentStandaloneButton = document.createElement("button"); + button.className = "annotationCommentButton"; + const position = this.#editor.commentButtonPosition; + if (position) { + const { + style + } = button; + style.insetInlineEnd = `calc(${100 * (this.#editor._uiManager.direction === "ltr" ? 1 - position[0] : position[0])}% - var(--comment-button-dim))`; + style.top = `calc(${100 * position[1]}% - var(--comment-button-dim))`; + const color = this.#editor.commentButtonColor; + if (color) { + style.backgroundColor = color; + } + } + return this.#render(button, true); + } + focusButton() { + setTimeout(() => { + (this.#commentStandaloneButton ?? this.#commentToolbarButton)?.focus(); + }, 0); + } + onUpdatedColor() { + if (!this.#commentStandaloneButton) { + return; + } + const color = this.#editor.commentButtonColor; + if (color) { + this.#commentStandaloneButton.style.backgroundColor = color; + } + this.#editor._uiManager.updatePopupColor(this.#editor); + } + get commentButtonWidth() { + return (this.#commentStandaloneButton?.getBoundingClientRect().width ?? 0) / this.#editor.parent.boundingClientRect.width; + } + get commentPopupPositionInLayer() { + if (this.#popupPosition) { + return this.#popupPosition; + } + if (!this.#commentStandaloneButton) { + return null; + } + const { + x, + y, + height + } = this.#commentStandaloneButton.getBoundingClientRect(); + const { + x: parentX, + y: parentY, + width: parentWidth, + height: parentHeight + } = this.#editor.parent.boundingClientRect; + return [(x - parentX) / parentWidth, (y + height - parentY) / parentHeight]; + } + set commentPopupPositionInLayer(pos) { + this.#popupPosition = pos; + } + hasDefaultPopupPosition() { + return this.#popupPosition === null; + } + removeStandaloneCommentButton() { + this.#commentStandaloneButton?.remove(); + this.#commentStandaloneButton = null; + } + removeToolbarCommentButton() { + this.#commentToolbarButton?.remove(); + this.#commentToolbarButton = null; + } + setCommentButtonStates({ + selected, + hasPopup + }) { + if (!this.#commentStandaloneButton) { + return; + } + this.#commentStandaloneButton.classList.toggle("selected", selected); + this.#commentStandaloneButton.ariaExpanded = hasPopup; + } + #render(comment, isStandalone) { + if (!this.#editor._uiManager.hasCommentManager()) { + return null; + } + comment.tabIndex = "0"; + comment.ariaHasPopup = "dialog"; + if (isStandalone) { + comment.ariaControls = "commentPopup"; + comment.setAttribute("data-l10n-id", "pdfjs-show-comment-button"); + } else { + comment.ariaControlsElements = [this.#editor._uiManager.getCommentDialogElement()]; + comment.setAttribute("data-l10n-id", "pdfjs-editor-add-comment-button"); + } + const signal = this.#editor._uiManager._signal; + if (!(signal instanceof AbortSignal) || signal.aborted) { + return comment; + } + comment.addEventListener("contextmenu", noContextMenu, { + signal + }); + if (isStandalone) { + comment.addEventListener("focusin", e => { + this.#editor._focusEventsAllowed = false; + stopEvent(e); + }, { + capture: true, + signal + }); + comment.addEventListener("focusout", e => { + this.#editor._focusEventsAllowed = true; + stopEvent(e); + }, { + capture: true, + signal + }); + } + comment.addEventListener("pointerdown", event => event.stopPropagation(), { + signal + }); + const onClick = event => { + event.preventDefault(); + if (comment === this.#commentToolbarButton) { + this.edit(); + } else { + this.#editor.toggleComment(true); + } + }; + comment.addEventListener("click", onClick, { + capture: true, + signal + }); + comment.addEventListener("keydown", event => { + if (event.target === comment && event.key === "Enter") { + this.#commentWasFromKeyBoard = true; + onClick(event); + } + }, { + signal + }); + comment.addEventListener("pointerenter", () => { + this.#editor.toggleComment(false, true); + }, { + signal + }); + comment.addEventListener("pointerleave", () => { + this.#editor.toggleComment(false, false); + }, { + signal + }); + return comment; + } + edit(options) { + const position = this.commentPopupPositionInLayer; + let posX, posY; + if (position) { + [posX, posY] = position; + } else { + [posX, posY] = this.#editor.commentButtonPosition; + const { + width, + height, + x, + y + } = this.#editor; + posX = x + posX * width; + posY = y + posY * height; + } + const parentDimensions = this.#editor.parent.boundingClientRect; + const { + x: parentX, + y: parentY, + width: parentWidth, + height: parentHeight + } = parentDimensions; + this.#editor._uiManager.editComment(this.#editor, parentX + posX * parentWidth, parentY + posY * parentHeight, { + ...options, + parentDimensions + }); + } + finish() { + if (!this.#commentToolbarButton) { + return; + } + this.#commentToolbarButton.focus({ + focusVisible: this.#commentWasFromKeyBoard + }); + this.#commentWasFromKeyBoard = false; + } + isDeleted() { + return this.#deleted || this.#text === ""; + } + isEmpty() { + return this.#text === null; + } + hasBeenEdited() { + return this.isDeleted() || this.#text !== this.#initialText; + } + serialize() { + return this.data; + } + get data() { + return { + text: this.#text, + richText: this.#richText, + date: this.#date, + deleted: this.isDeleted() + }; + } + set data(text) { + if (text !== this.#text) { + this.#richText = null; + } + if (text === null) { + this.#text = ""; + this.#deleted = true; + return; + } + this.#text = text; + this.#date = new Date(); + this.#deleted = false; + } + restoreData({ + text, + richText, + date + }) { + this.#text = text; + this.#richText = richText; + this.#date = date; + this.#deleted = false; + } + setInitialText(text, richText = null) { + this.#initialText = text; + this.data = text; + this.#date = null; + this.#richText = richText; + } + shown() {} + destroy() { + this.#commentToolbarButton?.remove(); + this.#commentToolbarButton = null; + this.#commentStandaloneButton?.remove(); + this.#commentStandaloneButton = null; + this.#text = ""; + this.#richText = null; + this.#date = null; + this.#editor = null; + this.#commentWasFromKeyBoard = false; + this.#deleted = false; + } +} + +;// ./src/display/touch_manager.js + +class TouchManager { + #container; + #isPinching = false; + #isPinchingStopped = null; + #isPinchingDisabled; + #onPinchStart; + #onPinching; + #onPinchEnd; + #pointerDownAC = null; + #signal; + #touchInfo = null; + #touchManagerAC; + #touchMoveAC = null; + constructor({ + container, + isPinchingDisabled = null, + isPinchingStopped = null, + onPinchStart = null, + onPinching = null, + onPinchEnd = null, + signal + }) { + this.#container = container; + this.#isPinchingStopped = isPinchingStopped; + this.#isPinchingDisabled = isPinchingDisabled; + this.#onPinchStart = onPinchStart; + this.#onPinching = onPinching; + this.#onPinchEnd = onPinchEnd; + this.#touchManagerAC = new AbortController(); + this.#signal = AbortSignal.any([signal, this.#touchManagerAC.signal]); + container.addEventListener("touchstart", this.#onTouchStart.bind(this), { + passive: false, + signal: this.#signal + }); + } + get MIN_TOUCH_DISTANCE_TO_PINCH() { + return 35 / OutputScale.pixelRatio; + } + #onTouchStart(evt) { + if (this.#isPinchingDisabled?.()) { + return; + } + if (evt.touches.length === 1) { + if (this.#pointerDownAC) { + return; + } + const pointerDownAC = this.#pointerDownAC = new AbortController(); + const signal = AbortSignal.any([this.#signal, pointerDownAC.signal]); + const container = this.#container; + const opts = { + capture: true, + signal, + passive: false + }; + const cancelPointerDown = e => { + if (e.pointerType === "touch") { + this.#pointerDownAC?.abort(); + this.#pointerDownAC = null; + } + }; + container.addEventListener("pointerdown", e => { + if (e.pointerType === "touch") { + stopEvent(e); + cancelPointerDown(e); + } + }, opts); + container.addEventListener("pointerup", cancelPointerDown, opts); + container.addEventListener("pointercancel", cancelPointerDown, opts); + return; + } + if (!this.#touchMoveAC) { + this.#touchMoveAC = new AbortController(); + const signal = AbortSignal.any([this.#signal, this.#touchMoveAC.signal]); + const container = this.#container; + const opt = { + signal, + capture: false, + passive: false + }; + container.addEventListener("touchmove", this.#onTouchMove.bind(this), opt); + const onTouchEnd = this.#onTouchEnd.bind(this); + container.addEventListener("touchend", onTouchEnd, opt); + container.addEventListener("touchcancel", onTouchEnd, opt); + opt.capture = true; + container.addEventListener("pointerdown", stopEvent, opt); + container.addEventListener("pointermove", stopEvent, opt); + container.addEventListener("pointercancel", stopEvent, opt); + container.addEventListener("pointerup", stopEvent, opt); + this.#onPinchStart?.(); + } + stopEvent(evt); + if (evt.touches.length !== 2 || this.#isPinchingStopped?.()) { + this.#touchInfo = null; + return; + } + let [touch0, touch1] = evt.touches; + if (touch0.identifier > touch1.identifier) { + [touch0, touch1] = [touch1, touch0]; + } + this.#touchInfo = { + touch0X: touch0.screenX, + touch0Y: touch0.screenY, + touch1X: touch1.screenX, + touch1Y: touch1.screenY + }; + } + #onTouchMove(evt) { + if (!this.#touchInfo || evt.touches.length !== 2) { + return; + } + stopEvent(evt); + let [touch0, touch1] = evt.touches; + if (touch0.identifier > touch1.identifier) { + [touch0, touch1] = [touch1, touch0]; + } + const { + screenX: screen0X, + screenY: screen0Y + } = touch0; + const { + screenX: screen1X, + screenY: screen1Y + } = touch1; + const touchInfo = this.#touchInfo; + const { + touch0X: pTouch0X, + touch0Y: pTouch0Y, + touch1X: pTouch1X, + touch1Y: pTouch1Y + } = touchInfo; + const prevGapX = pTouch1X - pTouch0X; + const prevGapY = pTouch1Y - pTouch0Y; + const currGapX = screen1X - screen0X; + const currGapY = screen1Y - screen0Y; + const distance = Math.hypot(currGapX, currGapY) || 1; + const pDistance = Math.hypot(prevGapX, prevGapY) || 1; + if (!this.#isPinching && Math.abs(pDistance - distance) <= TouchManager.MIN_TOUCH_DISTANCE_TO_PINCH) { + return; + } + touchInfo.touch0X = screen0X; + touchInfo.touch0Y = screen0Y; + touchInfo.touch1X = screen1X; + touchInfo.touch1Y = screen1Y; + if (!this.#isPinching) { + this.#isPinching = true; + return; + } + const origin = [(screen0X + screen1X) / 2, (screen0Y + screen1Y) / 2]; + this.#onPinching?.(origin, pDistance, distance); + } + #onTouchEnd(evt) { + if (evt.touches.length >= 2) { + return; + } + if (this.#touchMoveAC) { + this.#touchMoveAC.abort(); + this.#touchMoveAC = null; + this.#onPinchEnd?.(); + } + if (!this.#touchInfo) { + return; + } + stopEvent(evt); + this.#touchInfo = null; + this.#isPinching = false; + } + destroy() { + this.#touchManagerAC?.abort(); + this.#touchManagerAC = null; + this.#pointerDownAC?.abort(); + this.#pointerDownAC = null; + } +} + +;// ./src/display/editor/editor.js + + + + + + + +class AnnotationEditor { + #accessibilityData = null; + #allResizerDivs = null; + #altText = null; + #comment = null; + #commentStandaloneButton = null; + #disabled = false; + #dragPointerId = null; + #dragPointerType = ""; + #resizersDiv = null; + #lastPointerCoords = null; + #savedDimensions = null; + #fakeAnnotation = null; + #focusAC = null; + #focusedResizerName = ""; + #hasBeenClicked = false; + #initialRect = null; + #isEditing = false; + #isInEditMode = false; + #isResizerEnabledForKeyboard = false; + #moveInDOMTimeout = null; + #prevDragX = 0; + #prevDragY = 0; + #telemetryTimeouts = null; + #touchManager = null; + isSelected = false; + _isCopy = false; + _editToolbar = null; + _initialOptions = Object.create(null); + _initialData = null; + _isVisible = true; + _uiManager = null; + _focusEventsAllowed = true; + static _l10n = null; + static _l10nResizer = null; + #isDraggable = false; + #zIndex = AnnotationEditor._zIndex++; + static _borderLineWidth = -1; + static _colorManager = new ColorManager(); + static _zIndex = 1; + static _telemetryTimeout = 1000; + static get _resizerKeyboardManager() { + const resize = AnnotationEditor.prototype._resizeWithKeyboard; + const small = AnnotationEditorUIManager.TRANSLATE_SMALL; + const big = AnnotationEditorUIManager.TRANSLATE_BIG; + return shadow(this, "_resizerKeyboardManager", new KeyboardManager([[["ArrowLeft", "mac+ArrowLeft"], resize, { + args: [-small, 0] + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], resize, { + args: [-big, 0] + }], [["ArrowRight", "mac+ArrowRight"], resize, { + args: [small, 0] + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], resize, { + args: [big, 0] + }], [["ArrowUp", "mac+ArrowUp"], resize, { + args: [0, -small] + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], resize, { + args: [0, -big] + }], [["ArrowDown", "mac+ArrowDown"], resize, { + args: [0, small] + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], resize, { + args: [0, big] + }], [["Escape", "mac+Escape"], AnnotationEditor.prototype._stopResizingWithKeyboard]])); + } + constructor(parameters) { + this.parent = parameters.parent; + this.id = parameters.id; + this.width = this.height = null; + this.pageIndex = parameters.parent.pageIndex; + this.name = parameters.name; + this.div = null; + this._uiManager = parameters.uiManager; + this.annotationElementId = null; + this._willKeepAspectRatio = false; + this._initialOptions.isCentered = parameters.isCentered; + this._structTreeParentId = null; + this.annotationElementId = parameters.annotationElementId || null; + this.creationDate = parameters.creationDate || new Date(); + this.modificationDate = parameters.modificationDate || null; + this.canAddComment = true; + const { + rotation, + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } = this.parent.viewport; + this.rotation = rotation; + this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360; + this.pageDimensions = [pageWidth, pageHeight]; + this.pageTranslation = [pageX, pageY]; + const [width, height] = this.parentDimensions; + this.x = parameters.x / width; + this.y = parameters.y / height; + this.isAttachedToDOM = false; + this.deleted = false; + } + updatePageIndex(newPageIndex) { + this.pageIndex = newPageIndex; + } + get editorType() { + return Object.getPrototypeOf(this).constructor._type; + } + get mode() { + return Object.getPrototypeOf(this).constructor._editorType; + } + static get isDrawer() { + return false; + } + static get _defaultLineColor() { + return shadow(this, "_defaultLineColor", this._colorManager.getHexCode("CanvasText")); + } + static deleteAnnotationElement(editor) { + const fakeEditor = new FakeEditor({ + id: editor.parent.getNextId(), + parent: editor.parent, + uiManager: editor._uiManager + }); + fakeEditor.annotationElementId = editor.annotationElementId; + fakeEditor.deleted = true; + fakeEditor._uiManager.addToAnnotationStorage(fakeEditor); + } + static initialize(l10n, _uiManager) { + AnnotationEditor._l10n ??= l10n; + AnnotationEditor._l10nResizer ||= Object.freeze({ + topLeft: "pdfjs-editor-resizer-top-left", + topMiddle: "pdfjs-editor-resizer-top-middle", + topRight: "pdfjs-editor-resizer-top-right", + middleRight: "pdfjs-editor-resizer-middle-right", + bottomRight: "pdfjs-editor-resizer-bottom-right", + bottomMiddle: "pdfjs-editor-resizer-bottom-middle", + bottomLeft: "pdfjs-editor-resizer-bottom-left", + middleLeft: "pdfjs-editor-resizer-middle-left" + }); + if (AnnotationEditor._borderLineWidth !== -1) { + return; + } + const style = getComputedStyle(document.documentElement); + AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue("--outline-width")) || 0; + } + static updateDefaultParams(_type, _value) {} + static get defaultPropertiesToUpdate() { + return []; + } + static isHandlingMimeForPasting(mime) { + return false; + } + static paste(item, parent) { + unreachable("Not implemented"); + } + get propertiesToUpdate() { + return []; + } + get _isDraggable() { + return this.#isDraggable; + } + set _isDraggable(value) { + this.#isDraggable = value; + this.div?.classList.toggle("draggable", value); + } + get uid() { + return this.annotationElementId || this.id; + } + get isEnterHandled() { + return true; + } + center() { + const [pageWidth, pageHeight] = this.pageDimensions; + switch (this.parentRotation) { + case 90: + this.x -= this.height * pageHeight / (pageWidth * 2); + this.y += this.width * pageWidth / (pageHeight * 2); + break; + case 180: + this.x += this.width / 2; + this.y += this.height / 2; + break; + case 270: + this.x += this.height * pageHeight / (pageWidth * 2); + this.y -= this.width * pageWidth / (pageHeight * 2); + break; + default: + this.x -= this.width / 2; + this.y -= this.height / 2; + break; + } + this.fixAndSetPosition(); + } + addCommands(params) { + this._uiManager.addCommands(params); + } + get currentLayer() { + return this._uiManager.currentLayer; + } + setInBackground() { + this.div.style.zIndex = 0; + } + setInForeground() { + this.div.style.zIndex = this.#zIndex; + } + setParent(parent) { + if (parent !== null) { + this.pageIndex = parent.pageIndex; + this.pageDimensions = parent.pageDimensions; + } else { + this.#stopResizing(); + this.#fakeAnnotation?.remove(); + this.#fakeAnnotation = null; + } + this.parent = parent; + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + if (!this.#hasBeenClicked) { + this.parent.setSelected(this); + } else { + this.#hasBeenClicked = false; + } + } + focusout(event) { + if (!this._focusEventsAllowed) { + return; + } + if (!this.isAttachedToDOM) { + return; + } + const target = event.relatedTarget; + if (target?.closest(`#${this.id}`)) { + return; + } + event.preventDefault(); + if (!this.parent?.isMultipleSelection) { + this.commitOrRemove(); + } + } + commitOrRemove() { + if (this.isEmpty()) { + this.remove(); + } else { + this.commit(); + } + } + commit() { + if (!this.isInEditMode()) { + return; + } + this.addToAnnotationStorage(); + } + addToAnnotationStorage() { + this._uiManager.addToAnnotationStorage(this); + } + setAt(x, y, tx, ty) { + const [width, height] = this.parentDimensions; + [tx, ty] = this.screenToPageTranslation(tx, ty); + this.x = (x + tx) / width; + this.y = (y + ty) / height; + this.fixAndSetPosition(); + } + _moveAfterPaste(baseX, baseY) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + this._onTranslated(); + } + #translate([width, height], x, y) { + [x, y] = this.screenToPageTranslation(x, y); + this.x += x / width; + this.y += y / height; + this._onTranslating(this.x, this.y); + this.fixAndSetPosition(); + } + translate(x, y) { + this.#translate(this.parentDimensions, x, y); + } + translateInPage(x, y) { + this.#initialRect ||= [this.x, this.y, this.width, this.height]; + this.#translate(this.pageDimensions, x, y); + this.div.scrollIntoView({ + block: "nearest" + }); + } + translationDone() { + this._onTranslated(this.x, this.y); + } + drag(tx, ty) { + this.#initialRect ||= [this.x, this.y, this.width, this.height]; + const { + div, + parentDimensions: [parentWidth, parentHeight] + } = this; + this.x += tx / parentWidth; + this.y += ty / parentHeight; + if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) { + const { + x, + y + } = this.div.getBoundingClientRect(); + if (this.parent.findNewParent(this, x, y)) { + this.x -= Math.floor(this.x); + this.y -= Math.floor(this.y); + } + } + let { + x, + y + } = this; + const [bx, by] = this.getBaseTranslation(); + x += bx; + y += by; + const { + style + } = div; + style.left = `${(100 * x).toFixed(2)}%`; + style.top = `${(100 * y).toFixed(2)}%`; + this._onTranslating(x, y); + div.scrollIntoView({ + block: "nearest" + }); + } + _onTranslating(x, y) {} + _onTranslated(x, y) {} + get _hasBeenMoved() { + return !!this.#initialRect && (this.#initialRect[0] !== this.x || this.#initialRect[1] !== this.y); + } + get _hasBeenResized() { + return !!this.#initialRect && (this.#initialRect[2] !== this.width || this.#initialRect[3] !== this.height); + } + getBaseTranslation() { + const [parentWidth, parentHeight] = this.parentDimensions; + const { + _borderLineWidth + } = AnnotationEditor; + const x = _borderLineWidth / parentWidth; + const y = _borderLineWidth / parentHeight; + switch (this.rotation) { + case 90: + return [-x, y]; + case 180: + return [x, y]; + case 270: + return [x, -y]; + default: + return [-x, -y]; + } + } + get _mustFixPosition() { + return true; + } + fixAndSetPosition(rotation = this.rotation) { + const { + div: { + style + }, + pageDimensions: [pageWidth, pageHeight] + } = this; + let { + x, + y, + width, + height + } = this; + width *= pageWidth; + height *= pageHeight; + x *= pageWidth; + y *= pageHeight; + if (this._mustFixPosition) { + switch (rotation) { + case 0: + x = MathClamp(x, 0, pageWidth - width); + y = MathClamp(y, 0, pageHeight - height); + break; + case 90: + x = MathClamp(x, 0, pageWidth - height); + y = MathClamp(y, width, pageHeight); + break; + case 180: + x = MathClamp(x, width, pageWidth); + y = MathClamp(y, height, pageHeight); + break; + case 270: + x = MathClamp(x, height, pageWidth); + y = MathClamp(y, 0, pageHeight - width); + break; + } + } + this.x = x /= pageWidth; + this.y = y /= pageHeight; + const [bx, by] = this.getBaseTranslation(); + x += bx; + y += by; + style.left = `${(100 * x).toFixed(2)}%`; + style.top = `${(100 * y).toFixed(2)}%`; + this.moveInDOM(); + } + static #rotatePoint(x, y, angle) { + switch (angle) { + case 90: + return [y, -x]; + case 180: + return [-x, -y]; + case 270: + return [-y, x]; + default: + return [x, y]; + } + } + screenToPageTranslation(x, y) { + return AnnotationEditor.#rotatePoint(x, y, this.parentRotation); + } + pageTranslationToScreen(x, y) { + return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation); + } + #getRotationMatrix(rotation) { + switch (rotation) { + case 90: + { + const [pageWidth, pageHeight] = this.pageDimensions; + return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0]; + } + case 180: + return [-1, 0, 0, -1]; + case 270: + { + const [pageWidth, pageHeight] = this.pageDimensions; + return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0]; + } + default: + return [1, 0, 0, 1]; + } + } + get parentScale() { + return this._uiManager.viewParameters.realScale; + } + get parentRotation() { + return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360; + } + get parentDimensions() { + const { + parentScale, + pageDimensions: [pageWidth, pageHeight] + } = this; + return [pageWidth * parentScale, pageHeight * parentScale]; + } + setDims() { + const { + div: { + style + }, + width, + height + } = this; + style.width = `${(100 * width).toFixed(2)}%`; + style.height = `${(100 * height).toFixed(2)}%`; + } + getInitialTranslation() { + return [0, 0]; + } + #createResizers() { + if (this.#resizersDiv) { + return; + } + this.#resizersDiv = document.createElement("div"); + this.#resizersDiv.classList.add("resizers"); + const classes = this._willKeepAspectRatio ? ["topLeft", "topRight", "bottomRight", "bottomLeft"] : ["topLeft", "topMiddle", "topRight", "middleRight", "bottomRight", "bottomMiddle", "bottomLeft", "middleLeft"]; + const signal = this._uiManager._signal; + for (const name of classes) { + const div = document.createElement("div"); + this.#resizersDiv.append(div); + div.classList.add("resizer", name); + div.setAttribute("data-resizer-name", name); + div.addEventListener("pointerdown", this.#resizerPointerdown.bind(this, name), { + signal + }); + div.addEventListener("contextmenu", noContextMenu, { + signal + }); + div.tabIndex = -1; + } + this.div.prepend(this.#resizersDiv); + } + #resizerPointerdown(name, event) { + event.preventDefault(); + const { + isMac + } = FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + this.#altText?.toggle(false); + const savedDraggable = this._isDraggable; + this._isDraggable = false; + this.#lastPointerCoords = [event.screenX, event.screenY]; + const ac = new AbortController(); + const signal = this._uiManager.combinedSignal(ac); + this.parent.togglePointerEvents(false); + window.addEventListener("pointermove", this.#resizerPointermove.bind(this, name), { + passive: true, + capture: true, + signal + }); + window.addEventListener("touchmove", stopEvent, { + passive: false, + signal + }); + window.addEventListener("contextmenu", noContextMenu, { + signal + }); + this.#savedDimensions = { + savedX: this.x, + savedY: this.y, + savedWidth: this.width, + savedHeight: this.height + }; + const savedParentCursor = this.parent.div.style.cursor; + const savedCursor = this.div.style.cursor; + this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor; + const pointerUpCallback = () => { + ac.abort(); + this.parent.togglePointerEvents(true); + this.#altText?.toggle(true); + this._isDraggable = savedDraggable; + this.parent.div.style.cursor = savedParentCursor; + this.div.style.cursor = savedCursor; + this.#addResizeToUndoStack(); + }; + window.addEventListener("pointerup", pointerUpCallback, { + signal + }); + window.addEventListener("blur", pointerUpCallback, { + signal + }); + } + #resize(x, y, width, height) { + this.width = width; + this.height = height; + this.x = x; + this.y = y; + this.setDims(); + this.fixAndSetPosition(); + this._onResized(); + } + _onResized() {} + #addResizeToUndoStack() { + if (!this.#savedDimensions) { + return; + } + const { + savedX, + savedY, + savedWidth, + savedHeight + } = this.#savedDimensions; + this.#savedDimensions = null; + const newX = this.x; + const newY = this.y; + const newWidth = this.width; + const newHeight = this.height; + if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) { + return; + } + this.addCommands({ + cmd: this.#resize.bind(this, newX, newY, newWidth, newHeight), + undo: this.#resize.bind(this, savedX, savedY, savedWidth, savedHeight), + mustExec: true + }); + } + static _round(x) { + return Math.round(x * 10000) / 10000; + } + #resizerPointermove(name, event) { + const [parentWidth, parentHeight] = this.parentDimensions; + const savedX = this.x; + const savedY = this.y; + const savedWidth = this.width; + const savedHeight = this.height; + const minWidth = AnnotationEditor.MIN_SIZE / parentWidth; + const minHeight = AnnotationEditor.MIN_SIZE / parentHeight; + const rotationMatrix = this.#getRotationMatrix(this.rotation); + const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y]; + const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation); + const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y]; + let getPoint; + let getOpposite; + let isDiagonal = false; + let isHorizontal = false; + switch (name) { + case "topLeft": + isDiagonal = true; + getPoint = (w, h) => [0, 0]; + getOpposite = (w, h) => [w, h]; + break; + case "topMiddle": + getPoint = (w, h) => [w / 2, 0]; + getOpposite = (w, h) => [w / 2, h]; + break; + case "topRight": + isDiagonal = true; + getPoint = (w, h) => [w, 0]; + getOpposite = (w, h) => [0, h]; + break; + case "middleRight": + isHorizontal = true; + getPoint = (w, h) => [w, h / 2]; + getOpposite = (w, h) => [0, h / 2]; + break; + case "bottomRight": + isDiagonal = true; + getPoint = (w, h) => [w, h]; + getOpposite = (w, h) => [0, 0]; + break; + case "bottomMiddle": + getPoint = (w, h) => [w / 2, h]; + getOpposite = (w, h) => [w / 2, 0]; + break; + case "bottomLeft": + isDiagonal = true; + getPoint = (w, h) => [0, h]; + getOpposite = (w, h) => [w, 0]; + break; + case "middleLeft": + isHorizontal = true; + getPoint = (w, h) => [0, h / 2]; + getOpposite = (w, h) => [w, h / 2]; + break; + } + const point = getPoint(savedWidth, savedHeight); + const oppositePoint = getOpposite(savedWidth, savedHeight); + let transfOppositePoint = transf(...oppositePoint); + const oppositeX = AnnotationEditor._round(savedX + transfOppositePoint[0]); + const oppositeY = AnnotationEditor._round(savedY + transfOppositePoint[1]); + let ratioX = 1; + let ratioY = 1; + let deltaX, deltaY; + if (!event.fromKeyboard) { + const { + screenX, + screenY + } = event; + const [lastScreenX, lastScreenY] = this.#lastPointerCoords; + [deltaX, deltaY] = this.screenToPageTranslation(screenX - lastScreenX, screenY - lastScreenY); + this.#lastPointerCoords[0] = screenX; + this.#lastPointerCoords[1] = screenY; + } else { + ({ + deltaX, + deltaY + } = event); + } + [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight); + if (isDiagonal) { + const oldDiag = Math.hypot(savedWidth, savedHeight); + ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight); + } else if (isHorizontal) { + ratioX = MathClamp(Math.abs(oppositePoint[0] - point[0] - deltaX), minWidth, 1) / savedWidth; + } else { + ratioY = MathClamp(Math.abs(oppositePoint[1] - point[1] - deltaY), minHeight, 1) / savedHeight; + } + const newWidth = AnnotationEditor._round(savedWidth * ratioX); + const newHeight = AnnotationEditor._round(savedHeight * ratioY); + transfOppositePoint = transf(...getOpposite(newWidth, newHeight)); + const newX = oppositeX - transfOppositePoint[0]; + const newY = oppositeY - transfOppositePoint[1]; + this.#initialRect ||= [this.x, this.y, this.width, this.height]; + this.width = newWidth; + this.height = newHeight; + this.x = newX; + this.y = newY; + this.setDims(); + this.fixAndSetPosition(); + this._onResizing(); + } + _onResizing() {} + altTextFinish() { + this.#altText?.finish(); + } + get toolbarButtons() { + return null; + } + async addEditToolbar() { + if (this._editToolbar || this.#isInEditMode) { + return this._editToolbar; + } + this._editToolbar = new EditorToolbar(this); + this.div.append(this._editToolbar.render()); + const { + toolbarButtons + } = this; + if (toolbarButtons) { + for (const [name, tool] of toolbarButtons) { + await this._editToolbar.addButton(name, tool); + } + } + if (!this.hasComment) { + this._editToolbar.addButton("comment", this.addCommentButton()); + } + this._editToolbar.addButton("delete"); + return this._editToolbar; + } + addCommentButtonInToolbar() { + this._editToolbar?.addButtonBefore("comment", this.addCommentButton(), ".deleteButton"); + } + removeCommentButtonFromToolbar() { + this._editToolbar?.removeButton("comment"); + } + removeEditToolbar() { + this._editToolbar?.remove(); + this._editToolbar = null; + this.#altText?.destroy(); + } + addContainer(container) { + const editToolbarDiv = this._editToolbar?.div; + if (editToolbarDiv) { + editToolbarDiv.before(container); + } else { + this.div.append(container); + } + } + getClientDimensions() { + return this.div.getBoundingClientRect(); + } + createAltText() { + if (!this.#altText) { + AltText.initialize(AnnotationEditor._l10n); + this.#altText = new AltText(this); + if (this.#accessibilityData) { + this.#altText.data = this.#accessibilityData; + this.#accessibilityData = null; + } + } + return this.#altText; + } + get altTextData() { + return this.#altText?.data; + } + set altTextData(data) { + if (!this.#altText) { + return; + } + this.#altText.data = data; + } + get guessedAltText() { + return this.#altText?.guessedText; + } + async setGuessedAltText(text) { + await this.#altText?.setGuessedText(text); + } + serializeAltText(isForCopying) { + return this.#altText?.serialize(isForCopying); + } + hasAltText() { + return !!this.#altText && !this.#altText.isEmpty(); + } + hasAltTextData() { + return this.#altText?.hasData() ?? false; + } + focusCommentButton() { + this.#comment?.focusButton(); + } + addCommentButton() { + return this.canAddComment ? this.#comment ||= new Comment(this) : null; + } + addStandaloneCommentButton() { + if (!this._uiManager.hasCommentManager()) { + return; + } + if (this.#commentStandaloneButton) { + if (this._uiManager.isEditingMode()) { + this.#commentStandaloneButton.classList.remove("hidden"); + } + return; + } + if (!this.hasComment) { + return; + } + this.#commentStandaloneButton = this.#comment.renderForStandalone(); + this.div.append(this.#commentStandaloneButton); + } + removeStandaloneCommentButton() { + this.#comment.removeStandaloneCommentButton(); + this.#commentStandaloneButton = null; + } + hideStandaloneCommentButton() { + this.#commentStandaloneButton?.classList.add("hidden"); + } + get comment() { + if (!this.#comment) { + return null; + } + const { + data: { + richText, + text, + date, + deleted + } + } = this.#comment; + return { + text, + richText, + date, + deleted, + color: this.getNonHCMColor(), + opacity: this.opacity ?? 1 + }; + } + set comment(value) { + this.#comment ||= new Comment(this); + if (typeof value === "object" && value !== null) { + this.#comment.restoreData(value); + } else { + this.#comment.data = value; + } + if (this.hasComment) { + this.removeCommentButtonFromToolbar(); + this.addStandaloneCommentButton(); + this._uiManager.updateComment(this); + } else { + this.addCommentButtonInToolbar(); + this.removeStandaloneCommentButton(); + this._uiManager.removeComment(this); + } + } + setCommentData({ + comment, + popupRef, + richText + }) { + if (!popupRef) { + return; + } + this.#comment ||= new Comment(this); + this.#comment.setInitialText(comment, richText); + if (!this.annotationElementId) { + return; + } + const storedData = this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId); + if (storedData) { + this.updateFromAnnotationLayer(storedData); + } + } + get hasEditedComment() { + return this.#comment?.hasBeenEdited(); + } + get hasDeletedComment() { + return this.#comment?.isDeleted(); + } + get hasComment() { + return !!this.#comment && !this.#comment.isEmpty() && !this.#comment.isDeleted(); + } + async editComment(options) { + this.#comment ||= new Comment(this); + this.#comment.edit(options); + } + toggleComment(isSelected, visibility = undefined) { + if (this.hasComment) { + this._uiManager.toggleComment(this, isSelected, visibility); + } + } + setSelectedCommentButton(selected) { + this.#comment.setSelectedButton(selected); + } + addComment(serialized) { + if (this.hasEditedComment) { + const DEFAULT_POPUP_WIDTH = 180; + const DEFAULT_POPUP_HEIGHT = 100; + const [,,, trY] = serialized.rect; + const [pageWidth] = this.pageDimensions; + const [pageX] = this.pageTranslation; + const blX = pageX + pageWidth + 1; + const blY = trY - DEFAULT_POPUP_HEIGHT; + const trX = blX + DEFAULT_POPUP_WIDTH; + serialized.popup = { + contents: this.comment.text, + deleted: this.comment.deleted, + rect: [blX, blY, trX, trY] + }; + } + } + updateFromAnnotationLayer({ + popup: { + contents, + deleted + } + }) { + this.#comment.data = deleted ? null : contents; + } + get parentBoundingClientRect() { + return this.parent.boundingClientRect; + } + render() { + const div = this.div = document.createElement("div"); + div.setAttribute("data-editor-rotation", (360 - this.rotation) % 360); + div.className = this.name; + div.setAttribute("id", this.id); + div.tabIndex = this.#disabled ? -1 : 0; + div.setAttribute("role", "application"); + if (this.defaultL10nId) { + div.setAttribute("data-l10n-id", this.defaultL10nId); + } + if (!this._isVisible) { + div.classList.add("hidden"); + } + this.setInForeground(); + this.#addFocusListeners(); + const [parentWidth, parentHeight] = this.parentDimensions; + if (this.parentRotation % 180 !== 0) { + div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`; + div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`; + } + const [tx, ty] = this.getInitialTranslation(); + this.translate(tx, ty); + bindEvents(this, div, ["keydown", "pointerdown", "dblclick"]); + if (this.isResizable && this._uiManager._supportsPinchToZoom) { + this.#touchManager ||= new TouchManager({ + container: div, + isPinchingDisabled: () => !this.isSelected, + onPinchStart: this.#touchPinchStartCallback.bind(this), + onPinching: this.#touchPinchCallback.bind(this), + onPinchEnd: this.#touchPinchEndCallback.bind(this), + signal: this._uiManager._signal + }); + } + this.addStandaloneCommentButton(); + this._uiManager._editorUndoBar?.hide(); + return div; + } + #touchPinchStartCallback() { + this.#savedDimensions = { + savedX: this.x, + savedY: this.y, + savedWidth: this.width, + savedHeight: this.height + }; + this.#altText?.toggle(false); + this.parent.togglePointerEvents(false); + } + #touchPinchCallback(_origin, prevDistance, distance) { + const slowDownFactor = 0.7; + let factor = slowDownFactor * (distance / prevDistance) + 1 - slowDownFactor; + if (factor === 1) { + return; + } + const rotationMatrix = this.#getRotationMatrix(this.rotation); + const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y]; + const [parentWidth, parentHeight] = this.parentDimensions; + const savedX = this.x; + const savedY = this.y; + const savedWidth = this.width; + const savedHeight = this.height; + const minWidth = AnnotationEditor.MIN_SIZE / parentWidth; + const minHeight = AnnotationEditor.MIN_SIZE / parentHeight; + factor = Math.max(Math.min(factor, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight); + const newWidth = AnnotationEditor._round(savedWidth * factor); + const newHeight = AnnotationEditor._round(savedHeight * factor); + if (newWidth === savedWidth && newHeight === savedHeight) { + return; + } + this.#initialRect ||= [savedX, savedY, savedWidth, savedHeight]; + const transfCenterPoint = transf(savedWidth / 2, savedHeight / 2); + const centerX = AnnotationEditor._round(savedX + transfCenterPoint[0]); + const centerY = AnnotationEditor._round(savedY + transfCenterPoint[1]); + const newTransfCenterPoint = transf(newWidth / 2, newHeight / 2); + this.x = centerX - newTransfCenterPoint[0]; + this.y = centerY - newTransfCenterPoint[1]; + this.width = newWidth; + this.height = newHeight; + this.setDims(); + this.fixAndSetPosition(); + this._onResizing(); + } + #touchPinchEndCallback() { + this.#altText?.toggle(true); + this.parent.togglePointerEvents(true); + this.#addResizeToUndoStack(); + } + pointerdown(event) { + const { + isMac + } = FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + event.preventDefault(); + return; + } + this.#hasBeenClicked = true; + if (this._isDraggable) { + this.#setUpDragSession(event); + return; + } + this.#selectOnPointerEvent(event); + } + #selectOnPointerEvent(event) { + const { + isMac + } = FeatureTest.platform; + if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) { + this.parent.toggleSelected(this); + } else { + this.parent.setSelected(this); + } + } + #setUpDragSession(event) { + const { + isSelected + } = this; + this._uiManager.setUpDragSession(); + let hasDraggingStarted = false; + const ac = new AbortController(); + const signal = this._uiManager.combinedSignal(ac); + const opts = { + capture: true, + passive: false, + signal + }; + const cancelDrag = e => { + ac.abort(); + this.#dragPointerId = null; + this.#hasBeenClicked = false; + if (!this._uiManager.endDragSession()) { + this.#selectOnPointerEvent(e); + } + if (hasDraggingStarted) { + this._onStopDragging(); + } + }; + if (isSelected) { + this.#prevDragX = event.clientX; + this.#prevDragY = event.clientY; + this.#dragPointerId = event.pointerId; + this.#dragPointerType = event.pointerType; + window.addEventListener("pointermove", e => { + if (!hasDraggingStarted) { + hasDraggingStarted = true; + this._uiManager.toggleComment(this, true, false); + this._onStartDragging(); + } + const { + clientX: x, + clientY: y, + pointerId + } = e; + if (pointerId !== this.#dragPointerId) { + stopEvent(e); + return; + } + const [tx, ty] = this.screenToPageTranslation(x - this.#prevDragX, y - this.#prevDragY); + this.#prevDragX = x; + this.#prevDragY = y; + this._uiManager.dragSelectedEditors(tx, ty); + }, opts); + window.addEventListener("touchmove", stopEvent, opts); + window.addEventListener("pointerdown", e => { + if (e.pointerType === this.#dragPointerType) { + if (this.#touchManager || e.isPrimary) { + cancelDrag(e); + } + } + stopEvent(e); + }, opts); + } + const pointerUpCallback = e => { + if (!this.#dragPointerId || this.#dragPointerId === e.pointerId) { + cancelDrag(e); + return; + } + stopEvent(e); + }; + window.addEventListener("pointerup", pointerUpCallback, { + signal + }); + window.addEventListener("blur", pointerUpCallback, { + signal + }); + } + _onStartDragging() {} + _onStopDragging() {} + moveInDOM() { + if (this.#moveInDOMTimeout) { + clearTimeout(this.#moveInDOMTimeout); + } + this.#moveInDOMTimeout = setTimeout(() => { + this.#moveInDOMTimeout = null; + this.parent?.moveEditorInDOM(this); + }, 0); + } + _setParentAndPosition(parent, x, y) { + parent.changeParent(this); + this.x = x; + this.y = y; + this.fixAndSetPosition(); + this._onTranslated(); + } + getRect(tx, ty, rotation = this.rotation) { + const scale = this.parentScale; + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + const shiftX = tx / scale; + const shiftY = ty / scale; + const x = this.x * pageWidth; + const y = this.y * pageHeight; + const width = this.width * pageWidth; + const height = this.height * pageHeight; + switch (rotation) { + case 0: + return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY]; + case 90: + return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY]; + case 180: + return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY]; + case 270: + return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY]; + default: + throw new Error("Invalid rotation"); + } + } + getRectInCurrentCoords(rect, pageHeight) { + const [x1, y1, x2, y2] = rect; + const width = x2 - x1; + const height = y2 - y1; + switch (this.rotation) { + case 0: + return [x1, pageHeight - y2, width, height]; + case 90: + return [x1, pageHeight - y1, height, width]; + case 180: + return [x2, pageHeight - y1, width, height]; + case 270: + return [x2, pageHeight - y2, height, width]; + default: + throw new Error("Invalid rotation"); + } + } + getPDFRect() { + return this.getRect(0, 0); + } + getNonHCMColor() { + return this.color && AnnotationEditor._colorManager.convert(this._uiManager.getNonHCMColor(this.color)); + } + onUpdatedColor() { + this.#comment?.onUpdatedColor(); + } + getData() { + const { + comment: { + text: str, + color, + date, + opacity, + deleted, + richText + }, + uid: id, + pageIndex, + creationDate, + modificationDate + } = this; + return { + id, + pageIndex, + rect: this.getPDFRect(), + richText, + contentsObj: { + str + }, + creationDate, + modificationDate: date || modificationDate, + popupRef: !deleted, + color, + opacity + }; + } + onceAdded(focus) {} + isEmpty() { + return false; + } + enableEditMode() { + if (this.isInEditMode()) { + return false; + } + this.parent.setEditingState(false); + this.#isInEditMode = true; + return true; + } + disableEditMode() { + if (!this.isInEditMode()) { + return false; + } + this.parent.setEditingState(true); + this.#isInEditMode = false; + return true; + } + isInEditMode() { + return this.#isInEditMode; + } + shouldGetKeyboardEvents() { + return this.#isResizerEnabledForKeyboard; + } + needsToBeRebuilt() { + return this.div && !this.isAttachedToDOM; + } + get isOnScreen() { + const { + top, + left, + bottom, + right + } = this.getClientDimensions(); + const { + innerHeight, + innerWidth + } = window; + return left < innerWidth && right > 0 && top < innerHeight && bottom > 0; + } + #addFocusListeners() { + if (this.#focusAC || !this.div) { + return; + } + this.#focusAC = new AbortController(); + const signal = this._uiManager.combinedSignal(this.#focusAC); + this.div.addEventListener("focusin", this.focusin.bind(this), { + signal + }); + this.div.addEventListener("focusout", this.focusout.bind(this), { + signal + }); + } + rebuild() { + this.#addFocusListeners(); + } + rotate(_angle) {} + resize() {} + serializeDeleted() { + return { + id: this.annotationElementId, + deleted: true, + pageIndex: this.pageIndex, + popupRef: this._initialData?.popupRef || "" + }; + } + serialize(isForCopying = false, context = null) { + return { + annotationType: this.mode, + pageIndex: this.pageIndex, + rect: this.getPDFRect(), + rotation: this.rotation, + structTreeParentId: this._structTreeParentId, + popupRef: this._initialData?.popupRef || "" + }; + } + static async deserialize(data, parent, uiManager) { + const editor = new this.prototype.constructor({ + parent, + id: parent.getNextId(), + uiManager, + annotationElementId: data.annotationElementId, + creationDate: data.creationDate, + modificationDate: data.modificationDate + }); + editor.rotation = data.rotation; + editor.#accessibilityData = data.accessibilityData; + editor._isCopy = data.isCopy || false; + const [pageWidth, pageHeight] = editor.pageDimensions; + const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight); + editor.x = x / pageWidth; + editor.y = y / pageHeight; + editor.width = width / pageWidth; + editor.height = height / pageHeight; + return editor; + } + get hasBeenModified() { + return !!this.annotationElementId && (this.deleted || this.serialize() !== null); + } + remove() { + this.#focusAC?.abort(); + this.#focusAC = null; + if (!this.isEmpty()) { + this.commit(); + } + if (this.parent) { + this.parent.remove(this); + } else { + this._uiManager.removeEditor(this); + } + this.hideCommentPopup(); + if (this.#moveInDOMTimeout) { + clearTimeout(this.#moveInDOMTimeout); + this.#moveInDOMTimeout = null; + } + this.#stopResizing(); + this.removeEditToolbar(); + if (this.#telemetryTimeouts) { + for (const timeout of this.#telemetryTimeouts.values()) { + clearTimeout(timeout); + } + this.#telemetryTimeouts = null; + } + this.parent = null; + this.#touchManager?.destroy(); + this.#touchManager = null; + this.#fakeAnnotation?.remove(); + this.#fakeAnnotation = null; + } + get isResizable() { + return false; + } + makeResizable() { + if (this.isResizable) { + this.#createResizers(); + this.#resizersDiv.classList.remove("hidden"); + } + } + get toolbarPosition() { + return null; + } + get commentButtonPosition() { + return this._uiManager.direction === "ltr" ? [1, 0] : [0, 0]; + } + get commentButtonPositionInPage() { + const { + commentButtonPosition: [posX, posY] + } = this; + const [blX, blY, trX, trY] = this.getPDFRect(); + return [AnnotationEditor._round(blX + (trX - blX) * posX), AnnotationEditor._round(blY + (trY - blY) * (1 - posY))]; + } + get commentButtonColor() { + return this._uiManager.makeCommentColor(this.getNonHCMColor(), this.opacity); + } + get commentPopupPosition() { + return this.#comment.commentPopupPositionInLayer; + } + set commentPopupPosition(pos) { + this.#comment.commentPopupPositionInLayer = pos; + } + hasDefaultPopupPosition() { + return this.#comment.hasDefaultPopupPosition(); + } + get commentButtonWidth() { + return this.#comment.commentButtonWidth; + } + get elementBeforePopup() { + return this.div; + } + setCommentButtonStates(options) { + this.#comment?.setCommentButtonStates(options); + } + keydown(event) { + if (!this.isResizable || event.target !== this.div || event.key !== "Enter") { + return; + } + this._uiManager.setSelected(this); + this.#savedDimensions = { + savedX: this.x, + savedY: this.y, + savedWidth: this.width, + savedHeight: this.height + }; + const children = this.#resizersDiv.children; + if (!this.#allResizerDivs) { + this.#allResizerDivs = Array.from(children); + const boundResizerKeydown = this.#resizerKeydown.bind(this); + const boundResizerBlur = this.#resizerBlur.bind(this); + const signal = this._uiManager._signal; + for (const div of this.#allResizerDivs) { + const name = div.getAttribute("data-resizer-name"); + div.setAttribute("role", "spinbutton"); + div.addEventListener("keydown", boundResizerKeydown, { + signal + }); + div.addEventListener("blur", boundResizerBlur, { + signal + }); + div.addEventListener("focus", this.#resizerFocus.bind(this, name), { + signal + }); + div.setAttribute("data-l10n-id", AnnotationEditor._l10nResizer[name]); + } + } + const first = this.#allResizerDivs[0]; + let firstPosition = 0; + for (const div of children) { + if (div === first) { + break; + } + firstPosition++; + } + const nextFirstPosition = (360 - this.rotation + this.parentRotation) % 360 / 90 * (this.#allResizerDivs.length / 4); + if (nextFirstPosition !== firstPosition) { + if (nextFirstPosition < firstPosition) { + for (let i = 0; i < firstPosition - nextFirstPosition; i++) { + this.#resizersDiv.append(this.#resizersDiv.firstElementChild); + } + } else if (nextFirstPosition > firstPosition) { + for (let i = 0; i < nextFirstPosition - firstPosition; i++) { + this.#resizersDiv.firstElementChild.before(this.#resizersDiv.lastElementChild); + } + } + let i = 0; + for (const child of children) { + const div = this.#allResizerDivs[i++]; + const name = div.getAttribute("data-resizer-name"); + child.setAttribute("data-l10n-id", AnnotationEditor._l10nResizer[name]); + } + } + this.#setResizerTabIndex(0); + this.#isResizerEnabledForKeyboard = true; + this.#resizersDiv.firstElementChild.focus({ + focusVisible: true + }); + event.preventDefault(); + event.stopImmediatePropagation(); + } + #resizerKeydown(event) { + AnnotationEditor._resizerKeyboardManager.exec(this, event); + } + #resizerBlur(event) { + if (this.#isResizerEnabledForKeyboard && event.relatedTarget?.parentNode !== this.#resizersDiv) { + this.#stopResizing(); + } + } + #resizerFocus(name) { + this.#focusedResizerName = this.#isResizerEnabledForKeyboard ? name : ""; + } + #setResizerTabIndex(value) { + if (!this.#allResizerDivs) { + return; + } + for (const div of this.#allResizerDivs) { + div.tabIndex = value; + } + } + _resizeWithKeyboard(x, y) { + if (!this.#isResizerEnabledForKeyboard) { + return; + } + this.#resizerPointermove(this.#focusedResizerName, { + deltaX: x, + deltaY: y, + fromKeyboard: true + }); + } + #stopResizing() { + this.#isResizerEnabledForKeyboard = false; + this.#setResizerTabIndex(-1); + this.#addResizeToUndoStack(); + } + _stopResizingWithKeyboard() { + this.#stopResizing(); + this.div.focus(); + } + select() { + if (this.isSelected && this._editToolbar) { + this._editToolbar.show(); + return; + } + this.isSelected = true; + this.makeResizable(); + this.div?.classList.add("selectedEditor"); + if (!this._editToolbar) { + this.addEditToolbar().then(() => { + if (this.div?.classList.contains("selectedEditor")) { + this._editToolbar?.show(); + } + }); + return; + } + this._editToolbar?.show(); + this.#altText?.toggleAltTextBadge(false); + } + focus() { + if (this.div && !this.div.contains(document.activeElement)) { + setTimeout(() => this.div?.focus({ + preventScroll: true + }), 0); + } + } + unselect() { + if (!this.isSelected) { + return; + } + this.isSelected = false; + this.#resizersDiv?.classList.add("hidden"); + this.div?.classList.remove("selectedEditor"); + if (this.div?.contains(document.activeElement)) { + this._uiManager.currentLayer.div.focus({ + preventScroll: true + }); + } + this._editToolbar?.hide(); + this.#altText?.toggleAltTextBadge(true); + this.hideCommentPopup(); + } + hideCommentPopup() { + if (this.hasComment) { + this._uiManager.toggleComment(null); + } + } + updateParams(type, value) {} + disableEditing() {} + enableEditing() {} + get canChangeContent() { + return false; + } + enterInEditMode() { + if (!this.canChangeContent) { + return; + } + this.enableEditMode(); + this.div.focus(); + } + dblclick(event) { + if (event.target.nodeName === "BUTTON") { + return; + } + this.enterInEditMode(); + this.parent.updateToolbar({ + mode: this.constructor._editorType, + editId: this.uid + }); + } + getElementForAltText() { + return this.div; + } + get contentDiv() { + return this.div; + } + get isEditing() { + return this.#isEditing; + } + set isEditing(value) { + this.#isEditing = value; + if (!this.parent) { + return; + } + if (value) { + this.parent.setSelected(this); + this.parent.setActiveEditor(this); + } else { + this.parent.setActiveEditor(null); + } + } + static get MIN_SIZE() { + return 16; + } + static canCreateNewEmptyEditor() { + return true; + } + get telemetryInitialData() { + return { + action: "added" + }; + } + get telemetryFinalData() { + return null; + } + _reportTelemetry(data, mustWait = false) { + if (mustWait) { + this.#telemetryTimeouts ||= new Map(); + const { + action + } = data; + let timeout = this.#telemetryTimeouts.get(action); + if (timeout) { + clearTimeout(timeout); + } + timeout = setTimeout(() => { + this._reportTelemetry(data); + this.#telemetryTimeouts.delete(action); + if (this.#telemetryTimeouts.size === 0) { + this.#telemetryTimeouts = null; + } + }, AnnotationEditor._telemetryTimeout); + this.#telemetryTimeouts.set(action, timeout); + return; + } + data.type ||= this.editorType; + this._uiManager._eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "editing", + data + } + }); + } + show(visible = this._isVisible) { + this.div.classList.toggle("hidden", !visible); + this._isVisible = visible; + } + enable() { + if (this.div) { + this.div.tabIndex = 0; + } + this.#disabled = false; + } + disable() { + if (this.div) { + this.div.tabIndex = -1; + } + this.#disabled = true; + } + updateFakeAnnotationElement(annotationLayer) { + if (!this.#fakeAnnotation && !this.deleted) { + this.#fakeAnnotation = annotationLayer.addFakeAnnotation(this); + return; + } + if (this.deleted) { + this.#fakeAnnotation.remove(); + this.#fakeAnnotation = null; + return; + } + if (this.hasEditedComment || this._hasBeenMoved || this._hasBeenResized) { + this.#fakeAnnotation.updateEdited({ + rect: this.getPDFRect(), + popup: this.comment + }); + } + } + renderAnnotationElement(annotation) { + if (this.deleted) { + annotation.hide(); + return null; + } + let content = annotation.container.querySelector(".annotationContent"); + if (!content) { + content = document.createElement("div"); + content.classList.add("annotationContent", this.editorType); + annotation.container.prepend(content); + } else if (content.nodeName === "CANVAS") { + const canvas = content; + content = document.createElement("div"); + content.classList.add("annotationContent", this.editorType); + canvas.before(content); + } + return content; + } + resetAnnotationElement(annotation) { + const { + firstElementChild + } = annotation.container; + if (firstElementChild?.nodeName === "DIV" && firstElementChild.classList.contains("annotationContent")) { + firstElementChild.remove(); + } + } +} +class FakeEditor extends AnnotationEditor { + constructor(params) { + super(params); + this.annotationElementId = params.annotationElementId; + this.deleted = true; + } + serialize() { + return this.serializeDeleted(); + } +} + +;// ./src/shared/murmurhash3.js +const SEED = 0xc3d2e1f0; +const MASK_HIGH = 0xffff0000; +const MASK_LOW = 0xffff; +class MurmurHash3_64 { + constructor(seed) { + this.h1 = seed ? seed & 0xffffffff : SEED; + this.h2 = seed ? seed & 0xffffffff : SEED; + } + update(input) { + let data, length; + if (typeof input === "string") { + data = new Uint8Array(input.length * 2); + length = 0; + for (let i = 0, ii = input.length; i < ii; i++) { + const code = input.charCodeAt(i); + if (code <= 0xff) { + data[length++] = code; + } else { + data[length++] = code >>> 8; + data[length++] = code & 0xff; + } + } + } else if (ArrayBuffer.isView(input)) { + data = input.slice(); + length = data.byteLength; + } else { + throw new Error("Invalid data format, must be a string or TypedArray."); + } + const blockCounts = length >> 2; + const tailLength = length - blockCounts * 4; + const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts); + let k1 = 0, + k2 = 0; + let h1 = this.h1, + h2 = this.h2; + const C1 = 0xcc9e2d51, + C2 = 0x1b873593; + const C1_LOW = C1 & MASK_LOW, + C2_LOW = C2 & MASK_LOW; + for (let i = 0; i < blockCounts; i++) { + if (i & 1) { + k1 = dataUint32[i]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + h1 ^= k1; + h1 = h1 << 13 | h1 >>> 19; + h1 = h1 * 5 + 0xe6546b64; + } else { + k2 = dataUint32[i]; + k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW; + k2 = k2 << 15 | k2 >>> 17; + k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW; + h2 ^= k2; + h2 = h2 << 13 | h2 >>> 19; + h2 = h2 * 5 + 0xe6546b64; + } + } + k1 = 0; + switch (tailLength) { + case 3: + k1 ^= data[blockCounts * 4 + 2] << 16; + case 2: + k1 ^= data[blockCounts * 4 + 1] << 8; + case 1: + k1 ^= data[blockCounts * 4]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + if (blockCounts & 1) { + h1 ^= k1; + } else { + h2 ^= k1; + } + } + this.h1 = h1; + this.h2 = h2; + } + hexdigest() { + let h1 = this.h1, + h2 = this.h2; + h1 ^= h2 >>> 1; + h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW; + h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW; + h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + return (h1 >>> 0).toString(16).padStart(8, "0") + (h2 >>> 0).toString(16).padStart(8, "0"); + } +} + +;// ./src/display/annotation_storage.js + + + +const SerializableEmpty = Object.freeze({ + map: null, + hash: "", + transfer: undefined +}); +class AnnotationStorage { + #modified = false; + #modifiedIds = null; + #editorsMap = null; + #storage = new Map(); + onSetModified = null; + onResetModified = null; + onAnnotationEditor = null; + getValue(key, defaultValue) { + const value = this.#storage.get(key); + if (value === undefined) { + return defaultValue; + } + return Object.assign(defaultValue, value); + } + getRawValue(key) { + return this.#storage.get(key); + } + remove(key) { + const storedValue = this.#storage.get(key); + if (storedValue === undefined) { + return; + } + if (storedValue instanceof AnnotationEditor) { + this.#editorsMap.delete(storedValue.annotationElementId); + } + this.#storage.delete(key); + if (this.#storage.size === 0) { + this.resetModified(); + } + if (typeof this.onAnnotationEditor === "function") { + for (const value of this.#storage.values()) { + if (value instanceof AnnotationEditor) { + return; + } + } + this.onAnnotationEditor(null); + } + } + setValue(key, value) { + const obj = this.#storage.get(key); + let modified = false; + if (obj !== undefined) { + for (const [entry, val] of Object.entries(value)) { + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + modified = true; + this.#storage.set(key, value); + } + if (modified) { + this.#setModified(); + } + if (value instanceof AnnotationEditor) { + (this.#editorsMap ||= new Map()).set(value.annotationElementId, value); + if (typeof this.onAnnotationEditor === "function") { + this.onAnnotationEditor(value.constructor._type); + } + } + } + has(key) { + return this.#storage.has(key); + } + get size() { + return this.#storage.size; + } + #setModified() { + if (!this.#modified) { + this.#modified = true; + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + resetModified() { + if (this.#modified) { + this.#modified = false; + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + get print() { + return new PrintAnnotationStorage(this); + } + get serializable() { + if (this.#storage.size === 0) { + return SerializableEmpty; + } + const map = new Map(), + hash = new MurmurHash3_64(), + transfer = []; + const context = Object.create(null); + let hasBitmap = false; + for (const [key, val] of this.#storage) { + const serialized = val instanceof AnnotationEditor ? val.serialize(false, context) : val; + if (val.page) { + val.pageIndex = val.page._pageIndex; + delete val.page; + } + if (serialized) { + map.set(key, serialized); + hash.update(`${key}:${JSON.stringify(serialized)}`); + hasBitmap ||= !!serialized.bitmap; + } + } + if (hasBitmap) { + for (const value of map.values()) { + if (value.bitmap) { + transfer.push(value.bitmap); + } + } + } + return map.size > 0 ? { + map, + hash: hash.hexdigest(), + transfer + } : SerializableEmpty; + } + get editorStats() { + let stats = null; + const typeToEditor = new Map(); + let numberOfEditedComments = 0; + let numberOfDeletedComments = 0; + for (const value of this.#storage.values()) { + if (!(value instanceof AnnotationEditor)) { + if (value.popup) { + if (value.popup.deleted) { + numberOfDeletedComments += 1; + } else { + numberOfEditedComments += 1; + } + } + continue; + } + if (value.isCommentDeleted) { + numberOfDeletedComments += 1; + } else if (value.hasEditedComment) { + numberOfEditedComments += 1; + } + const editorStats = value.telemetryFinalData; + if (!editorStats) { + continue; + } + const { + type + } = editorStats; + if (!typeToEditor.has(type)) { + typeToEditor.set(type, Object.getPrototypeOf(value).constructor); + } + stats ||= Object.create(null); + const map = stats[type] ||= new Map(); + for (const [key, val] of Object.entries(editorStats)) { + if (key === "type") { + continue; + } + const counters = map.getOrInsertComputed(key, makeMap); + counters.set(val, (counters.get(val) ?? 0) + 1); + } + } + if (numberOfDeletedComments > 0 || numberOfEditedComments > 0) { + stats ||= Object.create(null); + stats.comments = { + deleted: numberOfDeletedComments, + edited: numberOfEditedComments + }; + } + if (!stats) { + return null; + } + for (const [type, editor] of typeToEditor) { + stats[type] = editor.computeTelemetryFinalData(stats[type]); + } + return stats; + } + resetModifiedIds() { + this.#modifiedIds = null; + } + updateEditor(annotationId, data) { + const value = this.#editorsMap?.get(annotationId); + if (value) { + value.updateFromAnnotationLayer(data); + return true; + } + return false; + } + getEditor(annotationId) { + return this.#editorsMap?.get(annotationId) || null; + } + get modifiedIds() { + if (this.#modifiedIds) { + return this.#modifiedIds; + } + const ids = []; + if (this.#editorsMap) { + for (const value of this.#editorsMap.values()) { + if (!value.serialize()) { + continue; + } + ids.push(value.annotationElementId); + } + } + return this.#modifiedIds = { + ids: new Set(ids), + hash: ids.join(",") + }; + } + [Symbol.iterator]() { + return this.#storage.entries(); + } +} +class PrintAnnotationStorage extends AnnotationStorage { + #serializable = SerializableEmpty; + constructor(parent) { + super(); + const { + serializable + } = parent; + if (serializable === SerializableEmpty) { + return; + } + const { + map, + hash, + transfer + } = serializable; + const clone = structuredClone(map, transfer ? { + transfer + } : null); + this.#serializable = { + map: clone, + hash, + transfer: [] + }; + } + get print() { + unreachable("Should not call PrintAnnotationStorage.print"); + } + get serializable() { + return this.#serializable; + } + get modifiedIds() { + return shadow(this, "modifiedIds", { + ids: new Set(), + hash: "" + }); + } +} + +;// ./src/display/font_loader.js + + +class FontLoader { + #systemFonts = new Set(); + constructor({ + ownerDocument = globalThis.document, + styleElement = null + }) { + this._document = ownerDocument; + this.nativeFontFaces = new Set(); + this.styleElement = null; + this.loadingRequests = []; + this.loadTestFontId = 0; + } + addNativeFontFace(nativeFontFace) { + this.nativeFontFaces.add(nativeFontFace); + this._document.fonts.add(nativeFontFace); + } + removeNativeFontFace(nativeFontFace) { + this.nativeFontFaces.delete(nativeFontFace); + this._document.fonts.delete(nativeFontFace); + } + insertRule(rule) { + if (!this.styleElement) { + this.styleElement = this._document.createElement("style"); + this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement); + } + const styleSheet = this.styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + clear() { + for (const nativeFontFace of this.nativeFontFaces) { + this._document.fonts.delete(nativeFontFace); + } + this.nativeFontFaces.clear(); + this.#systemFonts.clear(); + if (this.styleElement) { + this.styleElement.remove(); + this.styleElement = null; + } + } + async loadSystemFont({ + systemFontInfo: info, + disableFontFace, + _inspectFont + }) { + if (!info || this.#systemFonts.has(info.loadedName)) { + return; + } + assert(!disableFontFace, "loadSystemFont shouldn't be called when `disableFontFace` is set."); + if (this.isFontLoadingAPISupported) { + const { + loadedName, + src, + style + } = info; + const fontFace = new FontFace(loadedName, src, style); + this.addNativeFontFace(fontFace); + try { + await fontFace.load(); + this.#systemFonts.add(loadedName); + _inspectFont?.(info); + } catch { + warn(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`); + this.removeNativeFontFace(fontFace); + } + return; + } + unreachable("Not implemented: loadSystemFont without the Font Loading API."); + } + async bind(font) { + if (font.attached || font.missingFile && !font.systemFontInfo) { + return; + } + font.attached = true; + if (font.systemFontInfo) { + await this.loadSystemFont(font); + return; + } + if (this.isFontLoadingAPISupported) { + const nativeFontFace = font.createNativeFontFace(); + if (nativeFontFace) { + this.addNativeFontFace(nativeFontFace); + try { + await nativeFontFace.loaded; + } catch (ex) { + warn(`Failed to load font '${nativeFontFace.family}': '${ex}'.`); + font.disableFontFace = true; + throw ex; + } + } + return; + } + const rule = font.createFontFaceRule(); + if (rule) { + this.insertRule(rule); + if (this.isSyncFontLoadingSupported) { + return; + } + await new Promise(resolve => { + const request = this._queueLoadingCallback(resolve); + this._prepareFontLoadEvent(font, request); + }); + } + } + get isFontLoadingAPISupported() { + const hasFonts = !!this._document?.fonts; + return shadow(this, "isFontLoadingAPISupported", hasFonts); + } + get isSyncFontLoadingSupported() { + return shadow(this, "isSyncFontLoadingSupported", isNodeJS || FeatureTest.platform.isFirefox); + } + _queueLoadingCallback(callback) { + function completeRequest() { + assert(!request.done, "completeRequest() cannot be called twice."); + request.done = true; + while (loadingRequests.length > 0 && loadingRequests[0].done) { + const otherRequest = loadingRequests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + const { + loadingRequests + } = this; + const request = { + done: false, + complete: completeRequest, + callback + }; + loadingRequests.push(request); + return request; + } + get _loadTestFont() { + const testFont = atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="); + return shadow(this, "_loadTestFont", testFont); + } + _prepareFontLoadEvent(font, request) { + function int32(data, offset) { + return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; + } + function spliceString(s, offset, remove, insert) { + const chunk1 = s.substring(0, offset); + const chunk2 = s.substring(offset + remove); + return chunk1 + insert + chunk2; + } + let i, ii; + const canvas = this._document.createElement("canvas"); + canvas.width = 1; + canvas.height = 1; + const ctx = canvas.getContext("2d"); + let called = 0; + function isFontReady(name, callback) { + if (++called > 30) { + warn("Load test font never loaded."); + callback(); + return; + } + ctx.font = "30px " + name; + ctx.fillText(".", 0, 20); + const imageData = ctx.getImageData(0, 0, 1, 1); + if (imageData.data[3] > 0) { + callback(); + return; + } + setTimeout(isFontReady.bind(null, name, callback)); + } + const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`; + let data = this._loadTestFont; + const COMMENT_OFFSET = 976; + data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); + const CFF_CHECKSUM_OFFSET = 16; + const XXXX_VALUE = 0x58585858; + let checksum = int32(data, CFF_CHECKSUM_OFFSET); + for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; + } + if (i < loadTestFontId.length) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; + } + data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, string32(checksum)); + const url = `url(data:font/opentype;base64,${btoa(data)});`; + const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`; + this.insertRule(rule); + const div = this._document.createElement("div"); + div.style.visibility = "hidden"; + div.style.width = div.style.height = "10px"; + div.style.position = "absolute"; + div.style.top = div.style.left = "0px"; + for (const name of [font.loadedName, loadTestFontId]) { + const span = this._document.createElement("span"); + span.textContent = "Hi"; + span.style.fontFamily = name; + div.append(span); + } + this._document.body.append(div); + isFontReady(loadTestFontId, () => { + div.remove(); + request.complete(); + }); + } +} +class FontFaceObject { + #fontData; + constructor(translatedData, inspectFont = null, extra, charProcOperatorList) { + this.compiledGlyphs = Object.create(null); + this.#fontData = translatedData; + this._inspectFont = inspectFont; + if (extra) { + Object.assign(this, extra); + } + if (charProcOperatorList) { + this.charProcOperatorList = charProcOperatorList; + } + } + createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + let nativeFontFace; + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + const css = { + weight: this.cssFontInfo.fontWeight + }; + if (this.cssFontInfo.italicAngle) { + css.style = `oblique ${this.cssFontInfo.italicAngle}deg`; + } + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } + this._inspectFont?.(this); + return nativeFontFace; + } + createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + const url = `url(data:${this.mimetype};base64,${this.data.toBase64()});`; + let rule; + if (!this.cssFontInfo) { + rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`; + } else { + let css = `font-weight: ${this.cssFontInfo.fontWeight};`; + if (this.cssFontInfo.italicAngle) { + css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`; + } + rule = `@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`; + } + this._inspectFont?.(this, url); + return rule; + } + getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + const objId = this.loadedName + "_path_" + character; + let cmds; + try { + cmds = objs.get(objId); + } catch (ex) { + warn(`getPathGenerator - ignoring character: "${ex}".`); + } + const path = makePathFromDrawOPS(cmds?.path); + if (!this.fontExtraProperties) { + objs.delete(objId); + } + return this.compiledGlyphs[character] = path; + } + get black() { + return this.#fontData.black; + } + get bold() { + return this.#fontData.bold; + } + get disableFontFace() { + return this.#fontData.disableFontFace ?? false; + } + set disableFontFace(value) { + shadow(this, "disableFontFace", !!value); + } + get fontExtraProperties() { + return this.#fontData.fontExtraProperties ?? false; + } + get isInvalidPDFjsFont() { + return this.#fontData.isInvalidPDFjsFont; + } + get isType3Font() { + return this.#fontData.isType3Font; + } + get italic() { + return this.#fontData.italic; + } + get missingFile() { + return this.#fontData.missingFile; + } + get remeasure() { + return this.#fontData.remeasure; + } + get vertical() { + return this.#fontData.vertical; + } + get ascent() { + return this.#fontData.ascent; + } + get defaultWidth() { + return this.#fontData.defaultWidth; + } + get descent() { + return this.#fontData.descent; + } + get bbox() { + return this.#fontData.bbox; + } + set bbox(bbox) { + shadow(this, "bbox", bbox); + } + get fontMatrix() { + return this.#fontData.fontMatrix; + } + get fallbackName() { + return this.#fontData.fallbackName; + } + get loadedName() { + return this.#fontData.loadedName; + } + get mimetype() { + return this.#fontData.mimetype; + } + get name() { + return this.#fontData.name; + } + get data() { + return this.#fontData.data; + } + clearData() { + this.#fontData.clearData(); + } + get cssFontInfo() { + return this.#fontData.cssFontInfo; + } + get systemFontInfo() { + return this.#fontData.systemFontInfo; + } + get defaultVMetrics() { + return this.#fontData.defaultVMetrics; + } +} + +;// ./src/shared/obj-bin-transform.js + +class CssFontInfo { + #buffer; + #view; + #decoder; + static strings = ["fontFamily", "fontWeight", "italicAngle"]; + static write(info) { + const encoder = new TextEncoder(); + const encodedStrings = {}; + let stringsLength = 0; + for (const prop of CssFontInfo.strings) { + const encoded = encoder.encode(info[prop]); + encodedStrings[prop] = encoded; + stringsLength += 4 + encoded.length; + } + const buffer = new ArrayBuffer(stringsLength); + const data = new Uint8Array(buffer); + const view = new DataView(buffer); + let offset = 0; + for (const prop of CssFontInfo.strings) { + const encoded = encodedStrings[prop]; + const length = encoded.length; + view.setUint32(offset, length); + data.set(encoded, offset + 4); + offset += 4 + length; + } + assert(offset === buffer.byteLength, "CssFontInfo.write: Buffer overflow"); + return buffer; + } + constructor(buffer) { + this.#buffer = buffer; + this.#view = new DataView(this.#buffer); + this.#decoder = new TextDecoder(); + } + #readString(index) { + assert(index < CssFontInfo.strings.length, "Invalid string index"); + let offset = 0; + for (let i = 0; i < index; i++) { + offset += this.#view.getUint32(offset) + 4; + } + const length = this.#view.getUint32(offset); + return this.#decoder.decode(new Uint8Array(this.#buffer, offset + 4, length)); + } + get fontFamily() { + return this.#readString(0); + } + get fontWeight() { + return this.#readString(1); + } + get italicAngle() { + return this.#readString(2); + } +} +class SystemFontInfo { + #buffer; + #view; + #decoder; + static strings = ["css", "loadedName", "baseFontName", "src"]; + static write(info) { + const encoder = new TextEncoder(); + const encodedStrings = {}; + let stringsLength = 0; + for (const prop of SystemFontInfo.strings) { + const encoded = encoder.encode(info[prop]); + encodedStrings[prop] = encoded; + stringsLength += 4 + encoded.length; + } + stringsLength += 4; + let encodedStyleStyle, + encodedStyleWeight, + lengthEstimate = 1 + stringsLength; + if (info.style) { + encodedStyleStyle = encoder.encode(info.style.style); + encodedStyleWeight = encoder.encode(info.style.weight); + lengthEstimate += 4 + encodedStyleStyle.length + 4 + encodedStyleWeight.length; + } + const buffer = new ArrayBuffer(lengthEstimate); + const data = new Uint8Array(buffer); + const view = new DataView(buffer); + let offset = 0; + view.setUint8(offset++, info.guessFallback ? 1 : 0); + view.setUint32(offset, 0); + offset += 4; + stringsLength = 0; + for (const prop of SystemFontInfo.strings) { + const encoded = encodedStrings[prop]; + const length = encoded.length; + stringsLength += 4 + length; + view.setUint32(offset, length); + data.set(encoded, offset + 4); + offset += 4 + length; + } + view.setUint32(offset - stringsLength - 4, stringsLength); + if (info.style) { + view.setUint32(offset, encodedStyleStyle.length); + data.set(encodedStyleStyle, offset + 4); + offset += 4 + encodedStyleStyle.length; + view.setUint32(offset, encodedStyleWeight.length); + data.set(encodedStyleWeight, offset + 4); + offset += 4 + encodedStyleWeight.length; + } + assert(offset <= buffer.byteLength, "SubstitionInfo.write: Buffer overflow"); + return buffer.transferToFixedLength(offset); + } + constructor(buffer) { + this.#buffer = buffer; + this.#view = new DataView(this.#buffer); + this.#decoder = new TextDecoder(); + } + get guessFallback() { + return this.#view.getUint8(0) !== 0; + } + #readString(index) { + assert(index < SystemFontInfo.strings.length, "Invalid string index"); + let offset = 5; + for (let i = 0; i < index; i++) { + offset += this.#view.getUint32(offset) + 4; + } + const length = this.#view.getUint32(offset); + return this.#decoder.decode(new Uint8Array(this.#buffer, offset + 4, length)); + } + get css() { + return this.#readString(0); + } + get loadedName() { + return this.#readString(1); + } + get baseFontName() { + return this.#readString(2); + } + get src() { + return this.#readString(3); + } + get style() { + let offset = 1; + offset += 4 + this.#view.getUint32(offset); + const styleLength = this.#view.getUint32(offset); + const style = this.#decoder.decode(new Uint8Array(this.#buffer, offset + 4, styleLength)); + offset += 4 + styleLength; + const weightLength = this.#view.getUint32(offset); + const weight = this.#decoder.decode(new Uint8Array(this.#buffer, offset + 4, weightLength)); + return { + style, + weight + }; + } +} +class FontInfo { + static bools = ["black", "bold", "disableFontFace", "fontExtraProperties", "isInvalidPDFjsFont", "isType3Font", "italic", "missingFile", "remeasure", "vertical"]; + static numbers = ["ascent", "defaultWidth", "descent"]; + static strings = ["fallbackName", "loadedName", "mimetype", "name"]; + static #OFFSET_NUMBERS = Math.ceil(this.bools.length * 2 / 8); + static #OFFSET_BBOX = this.#OFFSET_NUMBERS + this.numbers.length * 8; + static #OFFSET_FONT_MATRIX = this.#OFFSET_BBOX + 1 + 2 * 4; + static #OFFSET_DEFAULT_VMETRICS = this.#OFFSET_FONT_MATRIX + 1 + 8 * 6; + static #OFFSET_STRINGS = this.#OFFSET_DEFAULT_VMETRICS + 1 + 2 * 3; + #buffer; + #decoder; + #view; + constructor({ + data, + extra + }) { + this.#buffer = data; + this.#decoder = new TextDecoder(); + this.#view = new DataView(this.#buffer); + if (extra) { + Object.assign(this, extra); + } + } + #readBoolean(index) { + assert(index < FontInfo.bools.length, "Invalid boolean index"); + const byteOffset = Math.floor(index / 4); + const bitOffset = index * 2 % 8; + const value = this.#view.getUint8(byteOffset) >> bitOffset & 0x03; + return value === 0x00 ? undefined : value === 0x02; + } + get black() { + return this.#readBoolean(0); + } + get bold() { + return this.#readBoolean(1); + } + get disableFontFace() { + return this.#readBoolean(2); + } + get fontExtraProperties() { + return this.#readBoolean(3); + } + get isInvalidPDFjsFont() { + return this.#readBoolean(4); + } + get isType3Font() { + return this.#readBoolean(5); + } + get italic() { + return this.#readBoolean(6); + } + get missingFile() { + return this.#readBoolean(7); + } + get remeasure() { + return this.#readBoolean(8); + } + get vertical() { + return this.#readBoolean(9); + } + #readNumber(index) { + assert(index < FontInfo.numbers.length, "Invalid number index"); + return this.#view.getFloat64(FontInfo.#OFFSET_NUMBERS + index * 8); + } + get ascent() { + return this.#readNumber(0); + } + get defaultWidth() { + return this.#readNumber(1); + } + get descent() { + return this.#readNumber(2); + } + get bbox() { + let offset = FontInfo.#OFFSET_BBOX; + const numCoords = this.#view.getUint8(offset); + if (numCoords === 0) { + return undefined; + } + offset += 1; + const bbox = []; + for (let i = 0; i < 4; i++) { + bbox.push(this.#view.getInt16(offset, true)); + offset += 2; + } + return bbox; + } + get fontMatrix() { + let offset = FontInfo.#OFFSET_FONT_MATRIX; + const numPoints = this.#view.getUint8(offset); + if (numPoints === 0) { + return undefined; + } + offset += 1; + const fontMatrix = []; + for (let i = 0; i < 6; i++) { + fontMatrix.push(this.#view.getFloat64(offset, true)); + offset += 8; + } + return fontMatrix; + } + get defaultVMetrics() { + let offset = FontInfo.#OFFSET_DEFAULT_VMETRICS; + const numMetrics = this.#view.getUint8(offset); + if (numMetrics === 0) { + return undefined; + } + offset += 1; + const defaultVMetrics = []; + for (let i = 0; i < 3; i++) { + defaultVMetrics.push(this.#view.getInt16(offset, true)); + offset += 2; + } + return defaultVMetrics; + } + #readString(index) { + assert(index < FontInfo.strings.length, "Invalid string index"); + let offset = FontInfo.#OFFSET_STRINGS + 4; + for (let i = 0; i < index; i++) { + offset += this.#view.getUint32(offset) + 4; + } + const length = this.#view.getUint32(offset); + const stringData = new Uint8Array(length); + stringData.set(new Uint8Array(this.#buffer, offset + 4, length)); + return this.#decoder.decode(stringData); + } + get fallbackName() { + return this.#readString(0); + } + get loadedName() { + return this.#readString(1); + } + get mimetype() { + return this.#readString(2); + } + get name() { + return this.#readString(3); + } + get data() { + let offset = FontInfo.#OFFSET_STRINGS; + const stringsLength = this.#view.getUint32(offset); + offset += 4 + stringsLength; + const systemFontInfoLength = this.#view.getUint32(offset); + offset += 4 + systemFontInfoLength; + const cssFontInfoLength = this.#view.getUint32(offset); + offset += 4 + cssFontInfoLength; + const length = this.#view.getUint32(offset); + if (length === 0) { + return undefined; + } + return new Uint8Array(this.#buffer, offset + 4, length); + } + clearData() { + let offset = FontInfo.#OFFSET_STRINGS; + const stringsLength = this.#view.getUint32(offset); + offset += 4 + stringsLength; + const systemFontInfoLength = this.#view.getUint32(offset); + offset += 4 + systemFontInfoLength; + const cssFontInfoLength = this.#view.getUint32(offset); + offset += 4 + cssFontInfoLength; + const length = this.#view.getUint32(offset); + const data = new Uint8Array(this.#buffer, offset + 4, length); + data.fill(0); + this.#view.setUint32(offset, 0); + } + get cssFontInfo() { + let offset = FontInfo.#OFFSET_STRINGS; + const stringsLength = this.#view.getUint32(offset); + offset += 4 + stringsLength; + const systemFontInfoLength = this.#view.getUint32(offset); + offset += 4 + systemFontInfoLength; + const cssFontInfoLength = this.#view.getUint32(offset); + if (cssFontInfoLength === 0) { + return null; + } + const cssFontInfoData = new Uint8Array(cssFontInfoLength); + cssFontInfoData.set(new Uint8Array(this.#buffer, offset + 4, cssFontInfoLength)); + return new CssFontInfo(cssFontInfoData.buffer); + } + get systemFontInfo() { + let offset = FontInfo.#OFFSET_STRINGS; + const stringsLength = this.#view.getUint32(offset); + offset += 4 + stringsLength; + const systemFontInfoLength = this.#view.getUint32(offset); + if (systemFontInfoLength === 0) { + return null; + } + const systemFontInfoData = new Uint8Array(systemFontInfoLength); + systemFontInfoData.set(new Uint8Array(this.#buffer, offset + 4, systemFontInfoLength)); + return new SystemFontInfo(systemFontInfoData.buffer); + } + static write(font) { + const systemFontInfoBuffer = font.systemFontInfo ? SystemFontInfo.write(font.systemFontInfo) : null; + const cssFontInfoBuffer = font.cssFontInfo ? CssFontInfo.write(font.cssFontInfo) : null; + const encoder = new TextEncoder(); + const encodedStrings = {}; + let stringsLength = 0; + for (const prop of FontInfo.strings) { + encodedStrings[prop] = encoder.encode(font[prop]); + stringsLength += 4 + encodedStrings[prop].length; + } + const lengthEstimate = FontInfo.#OFFSET_STRINGS + 4 + stringsLength + 4 + (systemFontInfoBuffer ? systemFontInfoBuffer.byteLength : 0) + 4 + (cssFontInfoBuffer ? cssFontInfoBuffer.byteLength : 0) + 4 + (font.data ? font.data.length : 0); + const buffer = new ArrayBuffer(lengthEstimate); + const data = new Uint8Array(buffer); + const view = new DataView(buffer); + let offset = 0; + const numBools = FontInfo.bools.length; + let boolByte = 0, + boolBit = 0; + for (let i = 0; i < numBools; i++) { + const value = font[FontInfo.bools[i]]; + const bits = value === undefined ? 0x00 : value ? 0x02 : 0x01; + boolByte |= bits << boolBit; + boolBit += 2; + if (boolBit === 8 || i === numBools - 1) { + view.setUint8(offset++, boolByte); + boolByte = 0; + boolBit = 0; + } + } + assert(offset === FontInfo.#OFFSET_NUMBERS, "FontInfo.write: Boolean properties offset mismatch"); + for (const prop of FontInfo.numbers) { + view.setFloat64(offset, font[prop]); + offset += 8; + } + assert(offset === FontInfo.#OFFSET_BBOX, "FontInfo.write: Number properties offset mismatch"); + if (font.bbox) { + view.setUint8(offset++, 4); + for (const coord of font.bbox) { + view.setInt16(offset, coord, true); + offset += 2; + } + } else { + view.setUint8(offset++, 0); + offset += 2 * 4; + } + assert(offset === FontInfo.#OFFSET_FONT_MATRIX, "FontInfo.write: BBox properties offset mismatch"); + if (font.fontMatrix) { + view.setUint8(offset++, 6); + for (const point of font.fontMatrix) { + view.setFloat64(offset, point, true); + offset += 8; + } + } else { + view.setUint8(offset++, 0); + offset += 8 * 6; + } + assert(offset === FontInfo.#OFFSET_DEFAULT_VMETRICS, "FontInfo.write: FontMatrix properties offset mismatch"); + if (font.defaultVMetrics) { + view.setUint8(offset++, 1); + for (const metric of font.defaultVMetrics) { + view.setInt16(offset, metric, true); + offset += 2; + } + } else { + view.setUint8(offset++, 0); + offset += 3 * 2; + } + assert(offset === FontInfo.#OFFSET_STRINGS, "FontInfo.write: DefaultVMetrics properties offset mismatch"); + view.setUint32(FontInfo.#OFFSET_STRINGS, 0); + offset += 4; + for (const prop of FontInfo.strings) { + const encoded = encodedStrings[prop]; + const length = encoded.length; + view.setUint32(offset, length); + data.set(encoded, offset + 4); + offset += 4 + length; + } + view.setUint32(FontInfo.#OFFSET_STRINGS, offset - FontInfo.#OFFSET_STRINGS - 4); + if (!systemFontInfoBuffer) { + view.setUint32(offset, 0); + offset += 4; + } else { + const length = systemFontInfoBuffer.byteLength; + view.setUint32(offset, length); + assert(offset + 4 + length <= buffer.byteLength, "FontInfo.write: Buffer overflow at systemFontInfo"); + data.set(new Uint8Array(systemFontInfoBuffer), offset + 4); + offset += 4 + length; + } + if (!cssFontInfoBuffer) { + view.setUint32(offset, 0); + offset += 4; + } else { + const length = cssFontInfoBuffer.byteLength; + view.setUint32(offset, length); + assert(offset + 4 + length <= buffer.byteLength, "FontInfo.write: Buffer overflow at cssFontInfo"); + data.set(new Uint8Array(cssFontInfoBuffer), offset + 4); + offset += 4 + length; + } + if (font.data === undefined) { + view.setUint32(offset, 0); + offset += 4; + } else { + view.setUint32(offset, font.data.length); + data.set(font.data, offset + 4); + offset += 4 + font.data.length; + } + assert(offset <= buffer.byteLength, "FontInfo.write: Buffer overflow"); + return buffer.transferToFixedLength(offset); + } +} +class PatternInfo { + static #KIND = 0; + static #HAS_BBOX = 1; + static #HAS_BACKGROUND = 2; + static #SHADING_TYPE = 3; + static #N_COORD = 4; + static #N_COLOR = 8; + static #N_STOP = 12; + static #N_FIGURES = 16; + constructor(buffer) { + this.buffer = buffer; + this.view = new DataView(buffer); + this.data = new Uint8Array(buffer); + } + static write(ir) { + let kind, + bbox = null, + coords = [], + colors = [], + colorStops = [], + figures = [], + shadingType = null, + background = null; + switch (ir[0]) { + case "RadialAxial": + kind = ir[1] === "axial" ? 1 : 2; + bbox = ir[2]; + colorStops = ir[3]; + if (kind === 1) { + coords.push(...ir[4], ...ir[5]); + } else { + coords.push(ir[4][0], ir[4][1], ir[6], ir[5][0], ir[5][1], ir[7]); + } + break; + case "Mesh": + kind = 3; + shadingType = ir[1]; + coords = ir[2]; + colors = ir[3]; + figures = ir[4] || []; + bbox = ir[6]; + background = ir[7]; + break; + default: + throw new Error(`Unsupported pattern type: ${ir[0]}`); + } + const nCoord = Math.floor(coords.length / 2); + const nColor = Math.floor(colors.length / 3); + const nStop = colorStops.length; + const nFigures = figures.length; + let figuresSize = 0; + for (const figure of figures) { + figuresSize += 1; + figuresSize = Math.ceil(figuresSize / 4) * 4; + figuresSize += 4 + figure.coords.length * 4; + figuresSize += 4 + figure.colors.length * 4; + if (figure.verticesPerRow !== undefined) { + figuresSize += 4; + } + } + const byteLen = 20 + nCoord * 8 + nColor * 3 + nStop * 8 + (bbox ? 16 : 0) + (background ? 3 : 0) + figuresSize; + const buffer = new ArrayBuffer(byteLen); + const dataView = new DataView(buffer); + const u8data = new Uint8Array(buffer); + dataView.setUint8(PatternInfo.#KIND, kind); + dataView.setUint8(PatternInfo.#HAS_BBOX, bbox ? 1 : 0); + dataView.setUint8(PatternInfo.#HAS_BACKGROUND, background ? 1 : 0); + dataView.setUint8(PatternInfo.#SHADING_TYPE, shadingType); + dataView.setUint32(PatternInfo.#N_COORD, nCoord, true); + dataView.setUint32(PatternInfo.#N_COLOR, nColor, true); + dataView.setUint32(PatternInfo.#N_STOP, nStop, true); + dataView.setUint32(PatternInfo.#N_FIGURES, nFigures, true); + let offset = 20; + const coordsView = new Float32Array(buffer, offset, nCoord * 2); + coordsView.set(coords); + offset += nCoord * 8; + u8data.set(colors, offset); + offset += nColor * 3; + for (const [pos, hex] of colorStops) { + dataView.setFloat32(offset, pos, true); + offset += 4; + dataView.setUint32(offset, parseInt(hex.slice(1), 16), true); + offset += 4; + } + if (bbox) { + for (const v of bbox) { + dataView.setFloat32(offset, v, true); + offset += 4; + } + } + if (background) { + u8data.set(background, offset); + offset += 3; + } + for (let i = 0; i < figures.length; i++) { + const figure = figures[i]; + dataView.setUint8(offset, figure.type); + offset += 1; + offset = Math.ceil(offset / 4) * 4; + dataView.setUint32(offset, figure.coords.length, true); + offset += 4; + const figureCoordsView = new Int32Array(buffer, offset, figure.coords.length); + figureCoordsView.set(figure.coords); + offset += figure.coords.length * 4; + dataView.setUint32(offset, figure.colors.length, true); + offset += 4; + const colorsView = new Int32Array(buffer, offset, figure.colors.length); + colorsView.set(figure.colors); + offset += figure.colors.length * 4; + if (figure.verticesPerRow !== undefined) { + dataView.setUint32(offset, figure.verticesPerRow, true); + offset += 4; + } + } + return buffer; + } + getIR() { + const dataView = this.view; + const kind = this.data[PatternInfo.#KIND]; + const hasBBox = !!this.data[PatternInfo.#HAS_BBOX]; + const hasBackground = !!this.data[PatternInfo.#HAS_BACKGROUND]; + const nCoord = dataView.getUint32(PatternInfo.#N_COORD, true); + const nColor = dataView.getUint32(PatternInfo.#N_COLOR, true); + const nStop = dataView.getUint32(PatternInfo.#N_STOP, true); + const nFigures = dataView.getUint32(PatternInfo.#N_FIGURES, true); + let offset = 20; + const coords = new Float32Array(this.buffer, offset, nCoord * 2); + offset += nCoord * 8; + const colors = new Uint8Array(this.buffer, offset, nColor * 3); + offset += nColor * 3; + const stops = []; + for (let i = 0; i < nStop; ++i) { + const p = dataView.getFloat32(offset, true); + offset += 4; + const rgb = dataView.getUint32(offset, true); + offset += 4; + stops.push([p, `#${rgb.toString(16).padStart(6, "0")}`]); + } + let bbox = null; + if (hasBBox) { + bbox = []; + for (let i = 0; i < 4; ++i) { + bbox.push(dataView.getFloat32(offset, true)); + offset += 4; + } + } + let background = null; + if (hasBackground) { + background = new Uint8Array(this.buffer, offset, 3); + offset += 3; + } + const figures = []; + for (let i = 0; i < nFigures; ++i) { + const type = dataView.getUint8(offset); + offset += 1; + offset = Math.ceil(offset / 4) * 4; + const coordsLength = dataView.getUint32(offset, true); + offset += 4; + const figureCoords = new Int32Array(this.buffer, offset, coordsLength); + offset += coordsLength * 4; + const colorsLength = dataView.getUint32(offset, true); + offset += 4; + const figureColors = new Int32Array(this.buffer, offset, colorsLength); + offset += colorsLength * 4; + const figure = { + type, + coords: figureCoords, + colors: figureColors + }; + if (type === MeshFigureType.LATTICE) { + figure.verticesPerRow = dataView.getUint32(offset, true); + offset += 4; + } + figures.push(figure); + } + if (kind === 1) { + return ["RadialAxial", "axial", bbox, stops, Array.from(coords.slice(0, 2)), Array.from(coords.slice(2, 4)), null, null]; + } + if (kind === 2) { + return ["RadialAxial", "radial", bbox, stops, [coords[0], coords[1]], [coords[3], coords[4]], coords[2], coords[5]]; + } + if (kind === 3) { + const shadingType = this.data[PatternInfo.#SHADING_TYPE]; + let bounds = null; + if (coords.length > 0) { + let minX = coords[0], + maxX = coords[0]; + let minY = coords[1], + maxY = coords[1]; + for (let i = 0; i < coords.length; i += 2) { + const x = coords[i], + y = coords[i + 1]; + minX = minX > x ? x : minX; + minY = minY > y ? y : minY; + maxX = maxX < x ? x : maxX; + maxY = maxY < y ? y : maxY; + } + bounds = [minX, minY, maxX, maxY]; + } + return ["Mesh", shadingType, coords, colors, figures, bounds, bbox, background]; + } + throw new Error(`Unsupported pattern kind: ${kind}`); + } +} +class FontPathInfo { + static write(path) { + let data; + let buffer; + if (FeatureTest.isFloat16ArraySupported) { + buffer = new ArrayBuffer(path.length * 2); + data = new Float16Array(buffer); + } else { + buffer = new ArrayBuffer(path.length * 4); + data = new Float32Array(buffer); + } + data.set(path); + return buffer; + } + #buffer; + constructor(buffer) { + this.#buffer = buffer; + } + get path() { + if (FeatureTest.isFloat16ArraySupported) { + return new Float16Array(this.#buffer); + } + return new Float32Array(this.#buffer); + } +} + +;// ./src/display/api_utils.js + +function getUrlProp(val) { + if (val instanceof URL) { + return val; + } + if (typeof val === "string") { + if (isNodeJS) { + if (/^[a-z][a-z0-9\-+.]+:/i.test(val)) { + return new URL(val); + } + const url = process.getBuiltinModule("url"); + return new URL(url.pathToFileURL(val)); + } + const url = URL.parse(val, window.location); + if (url) { + return url; + } + } + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); +} +function getDataProp(val) { + if (isNodeJS && typeof Buffer !== "undefined" && val instanceof Buffer) { + throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`."); + } + if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) { + return val; + } + if (typeof val === "string") { + return stringToBytes(val); + } + if (val instanceof ArrayBuffer || ArrayBuffer.isView(val) || typeof val === "object" && !isNaN(val?.length)) { + return new Uint8Array(val); + } + throw new Error("Invalid PDF binary data: either TypedArray, " + "string, or array-like object is expected in the data property."); +} +function getFactoryUrlProp(val) { + if (typeof val !== "string") { + return null; + } + if (val.endsWith("/")) { + return val; + } + throw new Error(`Invalid factory url: "${val}" must include trailing slash.`); +} +const isRefProxy = v => typeof v === "object" && Number.isInteger(v?.num) && v.num >= 0 && Number.isInteger(v?.gen) && v.gen >= 0; +const isNameProxy = v => typeof v === "object" && typeof v?.name === "string"; +const isValidExplicitDest = _isValidExplicitDest.bind(null, isRefProxy, isNameProxy); +class LoopbackPort { + #listeners = new Map(); + #deferred = Promise.resolve(); + postMessage(obj, transfer) { + const event = { + data: structuredClone(obj, transfer ? { + transfer + } : null) + }; + this.#deferred.then(() => { + for (const [listener] of this.#listeners) { + listener.call(this, event); + } + }); + } + addEventListener(name, listener, options = null) { + let rmAbort = null; + if (options?.signal instanceof AbortSignal) { + const { + signal + } = options; + if (signal.aborted) { + warn("LoopbackPort - cannot use an `aborted` signal."); + return; + } + const onAbort = () => this.removeEventListener(name, listener); + rmAbort = () => signal.removeEventListener("abort", onAbort); + signal.addEventListener("abort", onAbort); + } + this.#listeners.set(listener, rmAbort); + } + removeEventListener(name, listener) { + const rmAbort = this.#listeners.get(listener); + rmAbort?.(); + this.#listeners.delete(listener); + } + terminate() { + for (const [, rmAbort] of this.#listeners) { + rmAbort?.(); + } + this.#listeners.clear(); + } +} + +;// ./src/shared/message_handler.js + +const CallbackKind = { + DATA: 1, + ERROR: 2 +}; +const StreamKind = { + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; +function onFn() {} +function wrapReason(ex) { + if (ex instanceof AbortException || ex instanceof InvalidPDFException || ex instanceof PasswordException || ex instanceof ResponseException || ex instanceof UnknownErrorException) { + return ex; + } + if (!(ex instanceof Error || typeof ex === "object" && ex !== null)) { + unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); + } + switch (ex.name) { + case "AbortException": + return new AbortException(ex.message); + case "InvalidPDFException": + return new InvalidPDFException(ex.message); + case "PasswordException": + return new PasswordException(ex.message, ex.code); + case "ResponseException": + return new ResponseException(ex.message, ex.status, ex.missing); + case "UnknownErrorException": + return new UnknownErrorException(ex.message, ex.details); + } + return new UnknownErrorException(ex.message, ex.toString()); +} +class MessageHandler { + #messageAC = new AbortController(); + constructor(sourceName, targetName, comObj) { + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackId = 1; + this.streamId = 1; + this.streamSinks = Object.create(null); + this.streamControllers = Object.create(null); + this.callbackCapabilities = Object.create(null); + this.actionHandler = Object.create(null); + comObj.addEventListener("message", this.#onMessage.bind(this), { + signal: this.#messageAC.signal + }); + } + #onMessage({ + data + }) { + if (data.targetName !== this.sourceName) { + return; + } + if (data.stream) { + this.#processStreamMessage(data); + return; + } + if (data.callback) { + const callbackId = data.callbackId; + const capability = this.callbackCapabilities[callbackId]; + if (!capability) { + throw new Error(`Cannot resolve callback ${callbackId}`); + } + delete this.callbackCapabilities[callbackId]; + if (data.callback === CallbackKind.DATA) { + capability.resolve(data.data); + } else if (data.callback === CallbackKind.ERROR) { + capability.reject(wrapReason(data.reason)); + } else { + throw new Error("Unexpected callback case"); + } + return; + } + const action = this.actionHandler[data.action]; + if (!action) { + throw new Error(`Unknown action from worker: ${data.action}`); + } + if (data.callbackId) { + const sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + Promise.try(action, data.data).then(function (result) { + comObj.postMessage({ + sourceName, + targetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + if (data.streamId) { + this.#createStreamSink(data); + return; + } + action(data.data); + } + on(actionName, handler) { + const ah = this.actionHandler; + if (ah[actionName]) { + throw new Error(`There is already an actionName called "${actionName}"`); + } + ah[actionName] = handler; + } + send(actionName, data, transfers) { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data + }, transfers); + } + sendWithPromise(actionName, data, transfers) { + const callbackId = this.callbackId++; + const capability = Promise.withResolvers(); + this.callbackCapabilities[callbackId] = capability; + try { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId, + data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + return capability.promise; + } + sendWithStream(actionName, data, queueingStrategy, transfers) { + const streamId = this.streamId++, + sourceName = this.sourceName, + targetName = this.targetName, + comObj = this.comObj; + return new ReadableStream({ + start: controller => { + const startCapability = Promise.withResolvers(); + this.streamControllers[streamId] = { + controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + comObj.postMessage({ + sourceName, + targetName, + action: actionName, + streamId, + data, + desiredSize: controller.desiredSize + }, transfers); + return startCapability.promise; + }, + pull: controller => { + const pullCapability = Promise.withResolvers(); + this.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL, + streamId, + desiredSize: controller.desiredSize + }); + return pullCapability.promise; + }, + cancel: reason => { + assert(reason instanceof Error, "cancel must have a valid reason"); + const cancelCapability = Promise.withResolvers(); + this.streamControllers[streamId].cancelCall = cancelCapability; + this.streamControllers[streamId].isClosed = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL, + streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + #createStreamSink(data) { + const streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + const self = this, + action = this.actionHandler[data.action]; + const streamSink = { + enqueue(chunk, size = 1, transfers) { + if (this.isCancelled) { + return; + } + const lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = Promise.withResolvers(); + this.ready = this.sinkCapability.promise; + } + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.ENQUEUE, + streamId, + chunk + }, transfers); + }, + close() { + if (this.isCancelled) { + return; + } + this.isCancelled = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CLOSE, + streamId + }); + delete self.streamSinks[streamId]; + }, + error(reason) { + assert(reason instanceof Error, "error must have a valid reason"); + if (this.isCancelled) { + return; + } + this.isCancelled = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.ERROR, + streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: Promise.withResolvers(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + Promise.try(action, data.data, streamSink).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.START_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.START_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + } + #processStreamMessage(data) { + const streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + const streamController = this.streamControllers[streamId], + streamSink = this.streamSinks[streamId]; + switch (data.stream) { + case StreamKind.START_COMPLETE: + if (data.success) { + streamController.startCall.resolve(); + } else { + streamController.startCall.reject(wrapReason(data.reason)); + } + break; + case StreamKind.PULL_COMPLETE: + if (data.success) { + streamController.pullCall.resolve(); + } else { + streamController.pullCall.reject(wrapReason(data.reason)); + } + break; + case StreamKind.PULL: + if (!streamSink) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + success: true + }); + break; + } + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); + } + streamSink.desiredSize = data.desiredSize; + Promise.try(streamSink.onPull || onFn).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + break; + case StreamKind.ENQUEUE: + assert(streamController, "enqueue should have stream controller"); + if (streamController.isClosed) { + break; + } + streamController.controller.enqueue(data.chunk); + break; + case StreamKind.CLOSE: + assert(streamController, "close should have stream controller"); + if (streamController.isClosed) { + break; + } + streamController.isClosed = true; + streamController.controller.close(); + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.ERROR: + assert(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + streamController.cancelCall.resolve(); + } else { + streamController.cancelCall.reject(wrapReason(data.reason)); + } + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.CANCEL: + if (!streamSink) { + break; + } + const dataReason = wrapReason(data.reason); + Promise.try(streamSink.onCancel || onFn, dataReason).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + streamSink.sinkCapability.reject(dataReason); + streamSink.isCancelled = true; + delete this.streamSinks[streamId]; + break; + default: + throw new Error("Unexpected stream case"); + } + } + async #deleteStreamController(streamController, streamId) { + await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]); + delete this.streamControllers[streamId]; + } + destroy() { + this.#messageAC?.abort(); + this.#messageAC = null; + } +} + +;// ./src/display/canvas_factory.js + +class BaseCanvasFactory { + #enableHWA = false; + constructor({ + enableHWA = false + }) { + this.#enableHWA = enableHWA; + } + create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + const canvas = this._createCanvas(width, height); + return { + canvas, + context: canvas.getContext("2d", { + willReadFrequently: !this.#enableHWA + }) + }; + } + reset(canvasAndContext, width, height) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; + } + destroy(canvasAndContext) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; + } + _createCanvas(width, height) { + unreachable("Abstract method `_createCanvas` called."); + } +} +class DOMCanvasFactory extends BaseCanvasFactory { + constructor({ + ownerDocument = globalThis.document, + enableHWA = false + }) { + super({ + enableHWA + }); + this._document = ownerDocument; + } + _createCanvas(width, height) { + const canvas = this._document.createElement("canvas"); + canvas.width = width; + canvas.height = height; + return canvas; + } +} + +;// ./src/display/cmap_reader_factory.js + + +class BaseCMapReaderFactory { + constructor({ + baseUrl = null, + isCompressed = true + }) { + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + async fetch({ + name + }) { + if (!this.baseUrl) { + throw new Error("Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided."); + } + if (!name) { + throw new Error("CMap name must be specified."); + } + const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); + return this._fetch(url).then(cMapData => ({ + cMapData, + isCompressed: this.isCompressed + })).catch(reason => { + throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`); + }); + } + async _fetch(url) { + unreachable("Abstract method `_fetch` called."); + } +} +class DOMCMapReaderFactory extends BaseCMapReaderFactory { + async _fetch(url) { + const data = await fetchData(url, this.isCompressed ? "bytes" : "text"); + return data instanceof Uint8Array ? data : stringToBytes(data); + } +} + +;// ./src/display/filter_factory.js + + +class BaseFilterFactory { + addFilter(maps) { + return "none"; + } + addHCMFilter(fgColor, bgColor) { + return "none"; + } + addAlphaFilter(map) { + return "none"; + } + addLuminosityFilter(map) { + return "none"; + } + addHighlightHCMFilter(filterName, fgColor, bgColor, newFgColor, newBgColor) { + return "none"; + } + destroy(keepHCM = false) {} +} +class DOMFilterFactory extends BaseFilterFactory { + #baseUrl; + #_cache; + #_defs; + #docId; + #document; + #_hcmCache; + #id = 0; + constructor({ + docId, + ownerDocument = globalThis.document + }) { + super(); + this.#docId = docId; + this.#document = ownerDocument; + } + get #cache() { + return this.#_cache ||= new Map(); + } + get #hcmCache() { + return this.#_hcmCache ||= new Map(); + } + get #defs() { + if (!this.#_defs) { + const div = this.#document.createElement("div"); + const { + style + } = div; + style.visibility = "hidden"; + style.contain = "strict"; + style.width = style.height = 0; + style.position = "absolute"; + style.top = style.left = 0; + style.zIndex = -1; + const svg = this.#document.createElementNS(SVG_NS, "svg"); + svg.setAttribute("width", 0); + svg.setAttribute("height", 0); + this.#_defs = this.#document.createElementNS(SVG_NS, "defs"); + div.append(svg); + svg.append(this.#_defs); + this.#document.body.append(div); + } + return this.#_defs; + } + #createTables(maps) { + if (maps.length === 1) { + const mapR = maps[0]; + const buffer = new Array(256); + for (let i = 0; i < 256; i++) { + buffer[i] = mapR[i] / 255; + } + const table = buffer.join(","); + return [table, table, table]; + } + const [mapR, mapG, mapB] = maps; + const bufferR = new Array(256); + const bufferG = new Array(256); + const bufferB = new Array(256); + for (let i = 0; i < 256; i++) { + bufferR[i] = mapR[i] / 255; + bufferG[i] = mapG[i] / 255; + bufferB[i] = mapB[i] / 255; + } + return [bufferR.join(","), bufferG.join(","), bufferB.join(",")]; + } + #createUrl(id) { + if (this.#baseUrl === undefined) { + this.#baseUrl = ""; + const url = this.#document.URL; + if (url !== this.#document.baseURI) { + if (isDataScheme(url)) { + warn('#createUrl: ignore "data:"-URL for performance reasons.'); + } else { + this.#baseUrl = updateUrlHash(url, ""); + } + } + } + return `url(${this.#baseUrl}#${id})`; + } + addFilter(maps) { + if (!maps) { + return "none"; + } + let value = this.#cache.get(maps); + if (value) { + return value; + } + const [tableR, tableG, tableB] = this.#createTables(maps); + const key = maps.length === 1 ? tableR : `${tableR}${tableG}${tableB}`; + value = this.#cache.get(key); + if (value) { + this.#cache.set(maps, value); + return value; + } + const id = `g_${this.#docId}_transfer_map_${this.#id++}`; + const url = this.#createUrl(id); + this.#cache.set(maps, url); + this.#cache.set(key, url); + const filter = this.#createFilter(id); + this.#addTransferMapConversion(tableR, tableG, tableB, filter); + return url; + } + addHCMFilter(fgColor, bgColor) { + const key = `${fgColor}-${bgColor}`; + const filterName = "base"; + let info = this.#hcmCache.get(filterName); + if (info?.key === key) { + return info.url; + } + if (info) { + info.filter?.remove(); + info.key = key; + info.url = "none"; + info.filter = null; + } else { + info = { + key, + url: "none", + filter: null + }; + this.#hcmCache.set(filterName, info); + } + if (!fgColor || !bgColor) { + return info.url; + } + const fgRGB = this.#getRGB(fgColor); + fgColor = Util.makeHexColor(...fgRGB); + const bgRGB = this.#getRGB(bgColor); + bgColor = Util.makeHexColor(...bgRGB); + this.#defs.style.color = ""; + if (fgColor === "#000000" && bgColor === "#ffffff" || fgColor === bgColor) { + return info.url; + } + const map = new Array(256); + for (let i = 0; i <= 255; i++) { + const x = i / 255; + map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4; + } + const table = map.join(","); + const id = `g_${this.#docId}_hcm_filter`; + const filter = info.filter = this.#createFilter(id); + this.#addTransferMapConversion(table, table, table, filter); + this.#addGrayConversion(filter); + const getSteps = (c, n) => { + const start = fgRGB[c] / 255; + const end = bgRGB[c] / 255; + const arr = new Array(n + 1); + for (let i = 0; i <= n; i++) { + arr[i] = start + i / n * (end - start); + } + return arr.join(","); + }; + this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter); + info.url = this.#createUrl(id); + return info.url; + } + addAlphaFilter(map) { + let value = this.#cache.get(map); + if (value) { + return value; + } + const [tableA] = this.#createTables([map]); + const key = `alpha_${tableA}`; + value = this.#cache.get(key); + if (value) { + this.#cache.set(map, value); + return value; + } + const id = `g_${this.#docId}_alpha_map_${this.#id++}`; + const url = this.#createUrl(id); + this.#cache.set(map, url); + this.#cache.set(key, url); + const filter = this.#createFilter(id); + this.#addTransferMapAlphaConversion(tableA, filter); + return url; + } + addLuminosityFilter(map) { + let value = this.#cache.get(map || "luminosity"); + if (value) { + return value; + } + let tableA, key; + if (map) { + [tableA] = this.#createTables([map]); + key = `luminosity_${tableA}`; + } else { + key = "luminosity"; + } + value = this.#cache.get(key); + if (value) { + this.#cache.set(map, value); + return value; + } + const id = `g_${this.#docId}_luminosity_map_${this.#id++}`; + const url = this.#createUrl(id); + this.#cache.set(map, url); + this.#cache.set(key, url); + const filter = this.#createFilter(id); + this.#addLuminosityConversion(filter); + if (map) { + this.#addTransferMapAlphaConversion(tableA, filter); + } + return url; + } + addHighlightHCMFilter(filterName, fgColor, bgColor, newFgColor, newBgColor) { + const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`; + let info = this.#hcmCache.get(filterName); + if (info?.key === key) { + return info.url; + } + if (info) { + info.filter?.remove(); + info.key = key; + info.url = "none"; + info.filter = null; + } else { + info = { + key, + url: "none", + filter: null + }; + this.#hcmCache.set(filterName, info); + } + if (!fgColor || !bgColor) { + return info.url; + } + const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this)); + let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]); + let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]); + let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this)); + if (bgGray < fgGray) { + [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB]; + } + this.#defs.style.color = ""; + const getSteps = (fg, bg, n) => { + const arr = new Array(256); + const step = (bgGray - fgGray) / n; + const newStart = fg / 255; + const newStep = (bg - fg) / (255 * n); + let prev = 0; + for (let i = 0; i <= n; i++) { + const k = Math.round(fgGray + i * step); + const value = newStart + i * newStep; + for (let j = prev; j <= k; j++) { + arr[j] = value; + } + prev = k + 1; + } + for (let i = prev; i < 256; i++) { + arr[i] = arr[prev - 1]; + } + return arr.join(","); + }; + const id = `g_${this.#docId}_hcm_${filterName}_filter`; + const filter = info.filter = this.#createFilter(id); + this.#addGrayConversion(filter); + this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter); + info.url = this.#createUrl(id); + return info.url; + } + destroy(keepHCM = false) { + if (keepHCM && this.#_hcmCache?.size) { + return; + } + this.#_defs?.parentNode.parentNode.remove(); + this.#_defs = null; + this.#_cache?.clear(); + this.#_cache = null; + this.#_hcmCache?.clear(); + this.#_hcmCache = null; + this.#id = 0; + } + #addLuminosityConversion(filter) { + const feColorMatrix = this.#document.createElementNS(SVG_NS, "feColorMatrix"); + feColorMatrix.setAttribute("type", "matrix"); + feColorMatrix.setAttribute("values", "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"); + filter.append(feColorMatrix); + } + #addGrayConversion(filter) { + const feColorMatrix = this.#document.createElementNS(SVG_NS, "feColorMatrix"); + feColorMatrix.setAttribute("type", "matrix"); + feColorMatrix.setAttribute("values", "0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"); + filter.append(feColorMatrix); + } + #createFilter(id) { + const filter = this.#document.createElementNS(SVG_NS, "filter"); + filter.setAttribute("color-interpolation-filters", "sRGB"); + filter.setAttribute("id", id); + this.#defs.append(filter); + return filter; + } + #appendFeFunc(feComponentTransfer, func, table) { + const feFunc = this.#document.createElementNS(SVG_NS, func); + feFunc.setAttribute("type", "discrete"); + feFunc.setAttribute("tableValues", table); + feComponentTransfer.append(feFunc); + } + #addTransferMapConversion(rTable, gTable, bTable, filter) { + const feComponentTransfer = this.#document.createElementNS(SVG_NS, "feComponentTransfer"); + filter.append(feComponentTransfer); + this.#appendFeFunc(feComponentTransfer, "feFuncR", rTable); + this.#appendFeFunc(feComponentTransfer, "feFuncG", gTable); + this.#appendFeFunc(feComponentTransfer, "feFuncB", bTable); + } + #addTransferMapAlphaConversion(aTable, filter) { + const feComponentTransfer = this.#document.createElementNS(SVG_NS, "feComponentTransfer"); + filter.append(feComponentTransfer); + this.#appendFeFunc(feComponentTransfer, "feFuncA", aTable); + } + #getRGB(color) { + this.#defs.style.color = color; + return getRGB(getComputedStyle(this.#defs).getPropertyValue("color")); + } +} + +;// ./src/display/standard_fontdata_factory.js + + +class BaseStandardFontDataFactory { + constructor({ + baseUrl = null + }) { + this.baseUrl = baseUrl; + } + async fetch({ + filename + }) { + if (!this.baseUrl) { + throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided."); + } + if (!filename) { + throw new Error("Font filename must be specified."); + } + const url = `${this.baseUrl}${filename}`; + return this._fetch(url).catch(reason => { + throw new Error(`Unable to load font data at: ${url}`); + }); + } + async _fetch(url) { + unreachable("Abstract method `_fetch` called."); + } +} +class DOMStandardFontDataFactory extends BaseStandardFontDataFactory { + async _fetch(url) { + return fetchData(url, "bytes"); + } +} + +;// ./src/display/wasm_factory.js + + +class BaseWasmFactory { + constructor({ + baseUrl = null + }) { + this.baseUrl = baseUrl; + } + async fetch({ + filename + }) { + if (!this.baseUrl) { + throw new Error("Ensure that the `wasmUrl` API parameter is provided."); + } + if (!filename) { + throw new Error("Wasm filename must be specified."); + } + const url = `${this.baseUrl}${filename}`; + return this._fetch(url).catch(reason => { + throw new Error(`Unable to load wasm data at: ${url}`); + }); + } + async _fetch(url) { + unreachable("Abstract method `_fetch` called."); + } +} +class DOMWasmFactory extends BaseWasmFactory { + async _fetch(url) { + return fetchData(url, "bytes"); + } +} + +;// ./src/display/node_utils.js + + + + + + +if (isNodeJS) { + warn("Please use the `legacy` build in Node.js environments."); +} +async function node_utils_fetchData(url) { + const fs = process.getBuiltinModule("fs"); + const data = await fs.promises.readFile(url); + return new Uint8Array(data); +} +class NodeFilterFactory extends BaseFilterFactory {} +class NodeCanvasFactory extends BaseCanvasFactory { + _createCanvas(width, height) { + const require = process.getBuiltinModule("module").createRequire(import.meta.url); + const canvas = require("@napi-rs/canvas"); + return canvas.createCanvas(width, height); + } +} +class NodeCMapReaderFactory extends BaseCMapReaderFactory { + async _fetch(url) { + return node_utils_fetchData(url); + } +} +class NodeStandardFontDataFactory extends BaseStandardFontDataFactory { + async _fetch(url) { + return node_utils_fetchData(url); + } +} +class NodeWasmFactory extends BaseWasmFactory { + async _fetch(url) { + return node_utils_fetchData(url); + } +} + +;// ./src/display/canvas_dependency_tracker.js + +const FORCED_DEPENDENCY_LABEL = "__forcedDependency"; +const { + floor, + ceil +} = Math; +function expandBBox(array, index, minX, minY, maxX, maxY) { + array[index * 4 + 0] = Math.min(array[index * 4 + 0], minX); + array[index * 4 + 1] = Math.min(array[index * 4 + 1], minY); + array[index * 4 + 2] = Math.max(array[index * 4 + 2], maxX); + array[index * 4 + 3] = Math.max(array[index * 4 + 3], maxY); +} +const EMPTY_BBOX = new Uint32Array(new Uint8Array([255, 255, 0, 0]).buffer)[0]; +class BBoxReader { + #bboxes; + #coords; + constructor(bboxes, coords) { + this.#bboxes = bboxes; + this.#coords = coords; + } + get length() { + return this.#bboxes.length; + } + isEmpty(i) { + return this.#bboxes[i] === EMPTY_BBOX; + } + minX(i) { + return this.#coords[i * 4 + 0] / 256; + } + minY(i) { + return this.#coords[i * 4 + 1] / 256; + } + maxX(i) { + return (this.#coords[i * 4 + 2] + 1) / 256; + } + maxY(i) { + return (this.#coords[i * 4 + 3] + 1) / 256; + } +} +const ensureDebugMetadata = (map, key) => map?.getOrInsertComputed(key, () => ({ + dependencies: new Set(), + isRenderingOperation: false +})); +class CanvasDependencyTracker { + #simple = { + __proto__: null + }; + #incremental = { + __proto__: null, + transform: [], + moveText: [], + sameLineText: [], + [FORCED_DEPENDENCY_LABEL]: [] + }; + #namedDependencies = new Map(); + #savesStack = []; + #markedContentStack = []; + #baseTransformStack = [[1, 0, 0, 1, 0, 0]]; + #clipBox = [-Infinity, -Infinity, Infinity, Infinity]; + #pendingBBox = new Float64Array([Infinity, Infinity, -Infinity, -Infinity]); + #pendingBBoxIdx = -1; + #pendingDependencies = new Set(); + #operations = new Map(); + #fontBBoxTrustworthy = new Map(); + #canvasWidth; + #canvasHeight; + #bboxesCoords; + #bboxes; + #debugMetadata; + constructor(canvas, operationsCount, recordDebugMetadata = false) { + this.#canvasWidth = canvas.width; + this.#canvasHeight = canvas.height; + this.#initializeBBoxes(operationsCount); + if (recordDebugMetadata) { + this.#debugMetadata = new Map(); + } + } + growOperationsCount(operationsCount) { + if (operationsCount >= this.#bboxes.length) { + this.#initializeBBoxes(operationsCount, this.#bboxes); + } + } + #initializeBBoxes(operationsCount, oldBBoxes) { + const buffer = new ArrayBuffer(operationsCount * 4); + this.#bboxesCoords = new Uint8ClampedArray(buffer); + this.#bboxes = new Uint32Array(buffer); + if (oldBBoxes && oldBBoxes.length > 0) { + this.#bboxes.set(oldBBoxes); + this.#bboxes.fill(EMPTY_BBOX, oldBBoxes.length); + } else { + this.#bboxes.fill(EMPTY_BBOX); + } + } + save(opIdx) { + this.#simple = { + __proto__: this.#simple + }; + this.#incremental = { + __proto__: this.#incremental, + transform: { + __proto__: this.#incremental.transform + }, + moveText: { + __proto__: this.#incremental.moveText + }, + sameLineText: { + __proto__: this.#incremental.sameLineText + }, + [FORCED_DEPENDENCY_LABEL]: { + __proto__: this.#incremental[FORCED_DEPENDENCY_LABEL] + } + }; + this.#clipBox = { + __proto__: this.#clipBox + }; + this.#savesStack.push(opIdx); + return this; + } + restore(opIdx) { + const previous = Object.getPrototypeOf(this.#simple); + if (previous === null) { + return this; + } + this.#simple = previous; + this.#incremental = Object.getPrototypeOf(this.#incremental); + this.#clipBox = Object.getPrototypeOf(this.#clipBox); + const lastSave = this.#savesStack.pop(); + if (lastSave !== undefined) { + ensureDebugMetadata(this.#debugMetadata, opIdx)?.dependencies.add(lastSave); + this.#bboxes[opIdx] = this.#bboxes[lastSave]; + } + return this; + } + recordOpenMarker(idx) { + this.#savesStack.push(idx); + return this; + } + getOpenMarker() { + if (this.#savesStack.length === 0) { + return null; + } + return this.#savesStack.at(-1); + } + recordCloseMarker(opIdx) { + const lastSave = this.#savesStack.pop(); + if (lastSave !== undefined) { + ensureDebugMetadata(this.#debugMetadata, opIdx)?.dependencies.add(lastSave); + this.#bboxes[opIdx] = this.#bboxes[lastSave]; + } + return this; + } + beginMarkedContent(opIdx) { + this.#markedContentStack.push(opIdx); + return this; + } + endMarkedContent(opIdx) { + const lastSave = this.#markedContentStack.pop(); + if (lastSave !== undefined) { + ensureDebugMetadata(this.#debugMetadata, opIdx)?.dependencies.add(lastSave); + this.#bboxes[opIdx] = this.#bboxes[lastSave]; + } + return this; + } + pushBaseTransform(ctx) { + this.#baseTransformStack.push(Util.multiplyByDOMMatrix(this.#baseTransformStack.at(-1), ctx.getTransform())); + return this; + } + popBaseTransform() { + if (this.#baseTransformStack.length > 1) { + this.#baseTransformStack.pop(); + } + return this; + } + recordSimpleData(name, idx) { + this.#simple[name] = idx; + return this; + } + recordIncrementalData(name, idx) { + this.#incremental[name].push(idx); + return this; + } + resetIncrementalData(name, idx) { + this.#incremental[name].length = 0; + return this; + } + recordNamedData(name, idx) { + this.#namedDependencies.set(name, idx); + return this; + } + recordSimpleDataFromNamed(name, depName, fallbackIdx) { + this.#simple[name] = this.#namedDependencies.get(depName) ?? fallbackIdx; + } + recordFutureForcedDependency(name, idx) { + this.recordIncrementalData(FORCED_DEPENDENCY_LABEL, idx); + return this; + } + inheritSimpleDataAsFutureForcedDependencies(names) { + for (const name of names) { + if (name in this.#simple) { + this.recordFutureForcedDependency(name, this.#simple[name]); + } + } + return this; + } + inheritPendingDependenciesAsFutureForcedDependencies() { + for (const dep of this.#pendingDependencies) { + this.recordFutureForcedDependency(FORCED_DEPENDENCY_LABEL, dep); + } + return this; + } + resetBBox(idx) { + if (this.#pendingBBoxIdx !== idx) { + this.#pendingBBoxIdx = idx; + this.#pendingBBox[0] = Infinity; + this.#pendingBBox[1] = Infinity; + this.#pendingBBox[2] = -Infinity; + this.#pendingBBox[3] = -Infinity; + } + return this; + } + recordClipBox(idx, ctx, minX, maxX, minY, maxY) { + const transform = Util.multiplyByDOMMatrix(this.#baseTransformStack.at(-1), ctx.getTransform()); + const clipBox = [Infinity, Infinity, -Infinity, -Infinity]; + Util.axialAlignedBoundingBox([minX, minY, maxX, maxY], transform, clipBox); + const intersection = Util.intersect(this.#clipBox, clipBox); + if (intersection) { + this.#clipBox[0] = intersection[0]; + this.#clipBox[1] = intersection[1]; + this.#clipBox[2] = intersection[2]; + this.#clipBox[3] = intersection[3]; + } else { + this.#clipBox[0] = this.#clipBox[1] = Infinity; + this.#clipBox[2] = this.#clipBox[3] = -Infinity; + } + return this; + } + recordBBox(idx, ctx, minX, maxX, minY, maxY) { + const clipBox = this.#clipBox; + if (clipBox[0] === Infinity) { + return this; + } + const transform = Util.multiplyByDOMMatrix(this.#baseTransformStack.at(-1), ctx.getTransform()); + if (clipBox[0] === -Infinity) { + Util.axialAlignedBoundingBox([minX, minY, maxX, maxY], transform, this.#pendingBBox); + return this; + } + const bbox = [Infinity, Infinity, -Infinity, -Infinity]; + Util.axialAlignedBoundingBox([minX, minY, maxX, maxY], transform, bbox); + this.#pendingBBox[0] = Math.min(this.#pendingBBox[0], Math.max(bbox[0], clipBox[0])); + this.#pendingBBox[1] = Math.min(this.#pendingBBox[1], Math.max(bbox[1], clipBox[1])); + this.#pendingBBox[2] = Math.max(this.#pendingBBox[2], Math.min(bbox[2], clipBox[2])); + this.#pendingBBox[3] = Math.max(this.#pendingBBox[3], Math.min(bbox[3], clipBox[3])); + return this; + } + recordCharacterBBox(idx, ctx, font, scale = 1, x = 0, y = 0, getMeasure) { + const fontBBox = font.bbox; + let isBBoxTrustworthy; + let computedBBox; + if (fontBBox) { + isBBoxTrustworthy = fontBBox[2] !== fontBBox[0] && fontBBox[3] !== fontBBox[1] && this.#fontBBoxTrustworthy.get(font); + if (isBBoxTrustworthy !== false) { + computedBBox = [0, 0, 0, 0]; + Util.axialAlignedBoundingBox(fontBBox, font.fontMatrix, computedBBox); + if (scale !== 1 || x !== 0 || y !== 0) { + Util.scaleMinMax([scale, 0, 0, -scale, x, y], computedBBox); + } + if (isBBoxTrustworthy) { + return this.recordBBox(idx, ctx, computedBBox[0], computedBBox[2], computedBBox[1], computedBBox[3]); + } + } + } + if (!getMeasure) { + return this.recordFullPageBBox(idx); + } + const measure = getMeasure(); + if (fontBBox && computedBBox && isBBoxTrustworthy === undefined) { + isBBoxTrustworthy = computedBBox[0] <= x - measure.actualBoundingBoxLeft && computedBBox[2] >= x + measure.actualBoundingBoxRight && computedBBox[1] <= y - measure.actualBoundingBoxAscent && computedBBox[3] >= y + measure.actualBoundingBoxDescent; + this.#fontBBoxTrustworthy.set(font, isBBoxTrustworthy); + if (isBBoxTrustworthy) { + return this.recordBBox(idx, ctx, computedBBox[0], computedBBox[2], computedBBox[1], computedBBox[3]); + } + } + return this.recordBBox(idx, ctx, x - measure.actualBoundingBoxLeft, x + measure.actualBoundingBoxRight, y - measure.actualBoundingBoxAscent, y + measure.actualBoundingBoxDescent); + } + recordFullPageBBox(idx) { + this.#pendingBBox[0] = Math.max(0, this.#clipBox[0]); + this.#pendingBBox[1] = Math.max(0, this.#clipBox[1]); + this.#pendingBBox[2] = Math.min(this.#canvasWidth, this.#clipBox[2]); + this.#pendingBBox[3] = Math.min(this.#canvasHeight, this.#clipBox[3]); + return this; + } + getSimpleIndex(dependencyName) { + return this.#simple[dependencyName]; + } + recordDependencies(idx, dependencyNames) { + const pendingDependencies = this.#pendingDependencies; + const simple = this.#simple; + const incremental = this.#incremental; + for (const name of dependencyNames) { + if (name in this.#simple) { + pendingDependencies.add(simple[name]); + } else if (name in incremental) { + incremental[name].forEach(pendingDependencies.add, pendingDependencies); + } + } + return this; + } + recordNamedDependency(idx, name) { + if (this.#namedDependencies.has(name)) { + this.#pendingDependencies.add(this.#namedDependencies.get(name)); + } + return this; + } + recordOperation(idx, preserve = false) { + this.recordDependencies(idx, [FORCED_DEPENDENCY_LABEL]); + if (this.#debugMetadata) { + const metadata = ensureDebugMetadata(this.#debugMetadata, idx); + const { + dependencies + } = metadata; + this.#pendingDependencies.forEach(dependencies.add, dependencies); + this.#savesStack.forEach(dependencies.add, dependencies); + this.#markedContentStack.forEach(dependencies.add, dependencies); + dependencies.delete(idx); + metadata.isRenderingOperation = true; + } + if (this.#pendingBBoxIdx === idx) { + const minX = floor(this.#pendingBBox[0] * 256 / this.#canvasWidth); + const minY = floor(this.#pendingBBox[1] * 256 / this.#canvasHeight); + const maxX = ceil(this.#pendingBBox[2] * 256 / this.#canvasWidth); + const maxY = ceil(this.#pendingBBox[3] * 256 / this.#canvasHeight); + expandBBox(this.#bboxesCoords, idx, minX, minY, maxX, maxY); + for (const depIdx of this.#pendingDependencies) { + if (depIdx !== idx) { + expandBBox(this.#bboxesCoords, depIdx, minX, minY, maxX, maxY); + } + } + for (const saveIdx of this.#savesStack) { + if (saveIdx !== idx) { + expandBBox(this.#bboxesCoords, saveIdx, minX, minY, maxX, maxY); + } + } + for (const saveIdx of this.#markedContentStack) { + if (saveIdx !== idx) { + expandBBox(this.#bboxesCoords, saveIdx, minX, minY, maxX, maxY); + } + } + if (!preserve) { + this.#pendingDependencies.clear(); + this.#pendingBBoxIdx = -1; + } + } + return this; + } + recordShowTextOperation(idx, preserve = false) { + const deps = Array.from(this.#pendingDependencies); + this.recordOperation(idx, preserve); + this.recordIncrementalData("sameLineText", idx); + for (const dep of deps) { + this.recordIncrementalData("sameLineText", dep); + } + return this; + } + bboxToClipBoxDropOperation(idx, preserve = false) { + if (this.#pendingBBoxIdx === idx) { + this.#pendingBBoxIdx = -1; + this.#clipBox[0] = Math.max(this.#clipBox[0], this.#pendingBBox[0]); + this.#clipBox[1] = Math.max(this.#clipBox[1], this.#pendingBBox[1]); + this.#clipBox[2] = Math.min(this.#clipBox[2], this.#pendingBBox[2]); + this.#clipBox[3] = Math.min(this.#clipBox[3], this.#pendingBBox[3]); + if (!preserve) { + this.#pendingDependencies.clear(); + } + } + return this; + } + _takePendingDependencies() { + const pendingDependencies = this.#pendingDependencies; + this.#pendingDependencies = new Set(); + return pendingDependencies; + } + _extractOperation(idx) { + const operation = this.#operations.get(idx); + this.#operations.delete(idx); + return operation; + } + _pushPendingDependencies(dependencies) { + for (const dep of dependencies) { + this.#pendingDependencies.add(dep); + } + } + take() { + this.#fontBBoxTrustworthy.clear(); + return new BBoxReader(this.#bboxes, this.#bboxesCoords); + } + takeDebugMetadata() { + return this.#debugMetadata; + } +} +class CanvasNestedDependencyTracker { + #dependencyTracker; + #opIdx; + #ignoreBBoxes; + #nestingLevel = 0; + #savesLevel = 0; + constructor(dependencyTracker, opIdx, ignoreBBoxes) { + if (dependencyTracker instanceof CanvasNestedDependencyTracker && dependencyTracker.#ignoreBBoxes === !!ignoreBBoxes) { + return dependencyTracker; + } + this.#dependencyTracker = dependencyTracker; + this.#opIdx = opIdx; + this.#ignoreBBoxes = !!ignoreBBoxes; + } + growOperationsCount() { + throw new Error("Unreachable"); + } + save(opIdx) { + this.#savesLevel++; + this.#dependencyTracker.save(this.#opIdx); + return this; + } + restore(opIdx) { + if (this.#savesLevel > 0) { + this.#dependencyTracker.restore(this.#opIdx); + this.#savesLevel--; + } + return this; + } + recordOpenMarker(idx) { + this.#nestingLevel++; + return this; + } + getOpenMarker() { + return this.#nestingLevel > 0 ? this.#opIdx : this.#dependencyTracker.getOpenMarker(); + } + recordCloseMarker(idx) { + this.#nestingLevel--; + return this; + } + beginMarkedContent(opIdx) { + return this; + } + endMarkedContent(opIdx) { + return this; + } + pushBaseTransform(ctx) { + this.#dependencyTracker.pushBaseTransform(ctx); + return this; + } + popBaseTransform() { + this.#dependencyTracker.popBaseTransform(); + return this; + } + recordSimpleData(name, idx) { + this.#dependencyTracker.recordSimpleData(name, this.#opIdx); + return this; + } + recordIncrementalData(name, idx) { + this.#dependencyTracker.recordIncrementalData(name, this.#opIdx); + return this; + } + resetIncrementalData(name, idx) { + this.#dependencyTracker.resetIncrementalData(name, this.#opIdx); + return this; + } + recordNamedData(name, idx) { + return this; + } + recordSimpleDataFromNamed(name, depName, fallbackIdx) { + this.#dependencyTracker.recordSimpleDataFromNamed(name, depName, this.#opIdx); + return this; + } + recordFutureForcedDependency(name, idx) { + this.#dependencyTracker.recordFutureForcedDependency(name, this.#opIdx); + return this; + } + inheritSimpleDataAsFutureForcedDependencies(names) { + this.#dependencyTracker.inheritSimpleDataAsFutureForcedDependencies(names); + return this; + } + inheritPendingDependenciesAsFutureForcedDependencies() { + this.#dependencyTracker.inheritPendingDependenciesAsFutureForcedDependencies(); + return this; + } + resetBBox(idx) { + if (!this.#ignoreBBoxes) { + this.#dependencyTracker.resetBBox(this.#opIdx); + } + return this; + } + recordClipBox(idx, ctx, minX, maxX, minY, maxY) { + if (!this.#ignoreBBoxes) { + this.#dependencyTracker.recordClipBox(this.#opIdx, ctx, minX, maxX, minY, maxY); + } + return this; + } + recordBBox(idx, ctx, minX, maxX, minY, maxY) { + if (!this.#ignoreBBoxes) { + this.#dependencyTracker.recordBBox(this.#opIdx, ctx, minX, maxX, minY, maxY); + } + return this; + } + recordCharacterBBox(idx, ctx, font, scale, x, y, getMeasure) { + if (!this.#ignoreBBoxes) { + this.#dependencyTracker.recordCharacterBBox(this.#opIdx, ctx, font, scale, x, y, getMeasure); + } + return this; + } + recordFullPageBBox(idx) { + if (!this.#ignoreBBoxes) { + this.#dependencyTracker.recordFullPageBBox(this.#opIdx); + } + return this; + } + getSimpleIndex(dependencyName) { + return this.#dependencyTracker.getSimpleIndex(dependencyName); + } + recordDependencies(idx, dependencyNames) { + this.#dependencyTracker.recordDependencies(this.#opIdx, dependencyNames); + return this; + } + recordNamedDependency(idx, name) { + this.#dependencyTracker.recordNamedDependency(this.#opIdx, name); + return this; + } + recordOperation(idx) { + this.#dependencyTracker.recordOperation(this.#opIdx, true); + return this; + } + recordShowTextOperation(idx) { + this.#dependencyTracker.recordShowTextOperation(this.#opIdx, true); + return this; + } + bboxToClipBoxDropOperation(idx) { + if (!this.#ignoreBBoxes) { + this.#dependencyTracker.bboxToClipBoxDropOperation(this.#opIdx, true); + } + return this; + } + take() { + throw new Error("Unreachable"); + } + takeDebugMetadata() { + throw new Error("Unreachable"); + } +} +const Dependencies = { + stroke: ["path", "transform", "filter", "strokeColor", "strokeAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "dash"], + fill: ["path", "transform", "filter", "fillColor", "fillAlpha", "globalCompositeOperation", "SMask"], + imageXObject: ["transform", "SMask", "filter", "fillAlpha", "strokeAlpha", "globalCompositeOperation"], + rawFillPath: ["filter", "fillColor", "fillAlpha"], + showText: ["transform", "leading", "charSpacing", "wordSpacing", "hScale", "textRise", "moveText", "textMatrix", "font", "fontObj", "filter", "fillColor", "textRenderingMode", "SMask", "fillAlpha", "strokeAlpha", "globalCompositeOperation", "sameLineText"], + transform: ["transform"], + transformAndFill: ["transform", "fillColor"] +}; + +;// ./src/display/pattern_helper.js + + +const PathType = { + FILL: "Fill", + STROKE: "Stroke", + SHADING: "Shading" +}; +function applyBoundingBox(ctx, bbox) { + if (!bbox) { + return; + } + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + const region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} +class BaseShadingPattern { + isModifyingCurrentTransform() { + return false; + } + getPattern() { + unreachable("Abstract method `getPattern` called."); + } +} +class RadialAxialShadingPattern extends BaseShadingPattern { + constructor(IR) { + super(); + this._type = IR[1]; + this._bbox = IR[2]; + this._colorStops = IR[3]; + this._p0 = IR[4]; + this._p1 = IR[5]; + this._r0 = IR[6]; + this._r1 = IR[7]; + this.matrix = null; + } + isOriginBased() { + return this._p0[0] === 0 && this._p0[1] === 0 && (!this.isRadial() || this._p1[0] === 0 && this._p1[1] === 0); + } + isRadial() { + return this._type === "radial"; + } + _createGradient(ctx, transform = null) { + let grad; + let firstPoint = this._p0; + let secondPoint = this._p1; + if (transform) { + firstPoint = firstPoint.slice(); + secondPoint = secondPoint.slice(); + Util.applyTransform(firstPoint, transform); + Util.applyTransform(secondPoint, transform); + } + if (this._type === "axial") { + grad = ctx.createLinearGradient(firstPoint[0], firstPoint[1], secondPoint[0], secondPoint[1]); + } else if (this._type === "radial") { + let r0 = this._r0; + let r1 = this._r1; + if (transform) { + const scale = new Float32Array(2); + Util.singularValueDecompose2dScale(transform, scale); + r0 *= scale[0]; + r1 *= scale[0]; + } + grad = ctx.createRadialGradient(firstPoint[0], firstPoint[1], r0, secondPoint[0], secondPoint[1], r1); + } + for (const colorStop of this._colorStops) { + grad.addColorStop(colorStop[0], colorStop[1]); + } + return grad; + } + getPattern(ctx, owner, inverse, pathType) { + let pattern; + if (pathType === PathType.STROKE || pathType === PathType.FILL) { + if (this.isOriginBased()) { + let transf = Util.transform(inverse, owner.baseTransform); + if (this.matrix) { + transf = Util.transform(transf, this.matrix); + } + const precision = 1e-3; + const n1 = Math.hypot(transf[0], transf[1]); + const n2 = Math.hypot(transf[2], transf[3]); + const ps = (transf[0] * transf[2] + transf[1] * transf[3]) / (n1 * n2); + if (Math.abs(ps) < precision) { + if (this.isRadial()) { + if (Math.abs(n1 - n2) < precision) { + return this._createGradient(ctx, transf); + } + } else { + return this._createGradient(ctx, transf); + } + } + } + const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, getCurrentTransform(ctx)) || [0, 0, 0, 0]; + const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; + const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; + const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height); + const tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); + inverse = Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); + tmpCtx.transform(...owner.baseTransform); + if (this.matrix) { + tmpCtx.transform(...this.matrix); + } + applyBoundingBox(tmpCtx, this._bbox); + tmpCtx.fillStyle = this._createGradient(tmpCtx); + tmpCtx.fill(); + pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); + const domMatrix = new DOMMatrix(inverse); + pattern.setTransform(domMatrix); + } else { + applyBoundingBox(ctx, this._bbox); + pattern = this._createGradient(ctx); + } + return pattern; + } +} +function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { + const coords = context.coords, + colors = context.colors; + const bytes = data.data, + rowSize = data.width * 4; + let tmp; + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + const x1 = (coords[p1] + context.offsetX) * context.scaleX; + const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; + const x2 = (coords[p2] + context.offsetX) * context.scaleX; + const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; + const x3 = (coords[p3] + context.offsetX) * context.scaleX; + const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + if (y1 >= y3) { + return; + } + const c1r = colors[c1], + c1g = colors[c1 + 1], + c1b = colors[c1 + 2]; + const c2r = colors[c2], + c2g = colors[c2 + 1], + c2b = colors[c2 + 2]; + const c3r = colors[c3], + c3g = colors[c3 + 1], + c3b = colors[c3 + 2]; + const minY = Math.round(y1), + maxY = Math.round(y3); + let xa, car, cag, cab; + let xb, cbr, cbg, cbb; + for (let y = minY; y <= maxY; y++) { + if (y < y2) { + const k = y < y1 ? 0 : (y1 - y) / (y1 - y2); + xa = x1 - (x1 - x2) * k; + car = c1r - (c1r - c2r) * k; + cag = c1g - (c1g - c2g) * k; + cab = c1b - (c1b - c2b) * k; + } else { + let k; + if (y > y3) { + k = 1; + } else if (y2 === y3) { + k = 0; + } else { + k = (y2 - y) / (y2 - y3); + } + xa = x2 - (x2 - x3) * k; + car = c2r - (c2r - c3r) * k; + cag = c2g - (c2g - c3g) * k; + cab = c2b - (c2b - c3b) * k; + } + let k; + if (y < y1) { + k = 0; + } else if (y > y3) { + k = 1; + } else { + k = (y1 - y) / (y1 - y3); + } + xb = x1 - (x1 - x3) * k; + cbr = c1r - (c1r - c3r) * k; + cbg = c1g - (c1g - c3g) * k; + cbb = c1b - (c1b - c3b) * k; + const x1_ = Math.round(Math.min(xa, xb)); + const x2_ = Math.round(Math.max(xa, xb)); + let j = rowSize * y + x1_ * 4; + for (let x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} +function drawFigure(data, figure, context) { + const ps = figure.coords; + const cs = figure.colors; + let i, ii; + switch (figure.type) { + case MeshFigureType.LATTICE: + const verticesPerRow = figure.verticesPerRow; + const rows = Math.floor(ps.length / verticesPerRow) - 1; + const cols = verticesPerRow - 1; + for (i = 0; i < rows; i++) { + let q = i * verticesPerRow; + for (let j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + break; + case MeshFigureType.TRIANGLES: + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + break; + default: + throw new Error("illegal figure"); + } +} +class MeshShadingPattern extends BaseShadingPattern { + constructor(IR) { + super(); + this._coords = IR[2]; + this._colors = IR[3]; + this._figures = IR[4]; + this._bounds = IR[5]; + this._bbox = IR[6]; + this._background = IR[7]; + this.matrix = null; + } + _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + const EXPECTED_SCALE = 1.1; + const MAX_PATTERN_SIZE = 3000; + const BORDER_SIZE = 2; + const offsetX = Math.floor(this._bounds[0]); + const offsetY = Math.floor(this._bounds[1]); + const boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + const boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + const scaleX = boundsWidth / width; + const scaleY = boundsHeight / height; + const context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + const paddedWidth = width + BORDER_SIZE * 2; + const paddedHeight = height + BORDER_SIZE * 2; + const tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight); + const tmpCtx = tmpCanvas.context; + const data = tmpCtx.createImageData(width, height); + if (backgroundColor) { + const bytes = data.data; + for (let i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + for (const figure of this._figures) { + drawFigure(data, figure, context); + } + tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); + const canvas = tmpCanvas.canvas; + return { + canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX, + scaleY + }; + } + isModifyingCurrentTransform() { + return true; + } + getPattern(ctx, owner, inverse, pathType) { + applyBoundingBox(ctx, this._bbox); + const scale = new Float32Array(2); + if (pathType === PathType.SHADING) { + Util.singularValueDecompose2dScale(getCurrentTransform(ctx), scale); + } else if (this.matrix) { + Util.singularValueDecompose2dScale(this.matrix, scale); + const [matrixScaleX, matrixScaleY] = scale; + Util.singularValueDecompose2dScale(owner.baseTransform, scale); + scale[0] *= matrixScaleX; + scale[1] *= matrixScaleY; + } else { + Util.singularValueDecompose2dScale(owner.baseTransform, scale); + } + const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); + if (pathType !== PathType.SHADING) { + ctx.setTransform(...owner.baseTransform); + if (this.matrix) { + ctx.transform(...this.matrix); + } + } + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } +} +class DummyShadingPattern extends BaseShadingPattern { + getPattern() { + return "hotpink"; + } +} +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + case "Mesh": + return new MeshShadingPattern(IR); + case "Dummy": + return new DummyShadingPattern(); + } + throw new Error(`Unknown IR type: ${IR[0]}`); +} +const PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; +class TilingPattern { + static MAX_PATTERN_SIZE = 3000; + constructor(IR, ctx, canvasGraphicsFactory, baseTransform) { + this.color = IR[1]; + this.operatorList = IR[2]; + this.matrix = IR[3]; + this.bbox = IR[4]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + createPatternCanvas(owner, opIdx) { + const { + bbox, + operatorList, + paintType, + tilingType, + color, + canvasGraphicsFactory + } = this; + let { + xstep, + ystep + } = this; + xstep = Math.abs(xstep); + ystep = Math.abs(ystep); + info("TilingType: " + tilingType); + const x0 = bbox[0], + y0 = bbox[1], + x1 = bbox[2], + y1 = bbox[3]; + const width = x1 - x0; + const height = y1 - y0; + const scale = new Float32Array(2); + Util.singularValueDecompose2dScale(this.matrix, scale); + const [matrixScaleX, matrixScaleY] = scale; + Util.singularValueDecompose2dScale(this.baseTransform, scale); + const combinedScaleX = matrixScaleX * scale[0]; + const combinedScaleY = matrixScaleY * scale[1]; + let canvasWidth = width, + canvasHeight = height, + redrawHorizontally = false, + redrawVertically = false; + const xScaledStep = Math.ceil(xstep * combinedScaleX); + const yScaledStep = Math.ceil(ystep * combinedScaleY); + const xScaledWidth = Math.ceil(width * combinedScaleX); + const yScaledHeight = Math.ceil(height * combinedScaleY); + if (xScaledStep >= xScaledWidth) { + canvasWidth = xstep; + } else { + redrawHorizontally = true; + } + if (yScaledStep >= yScaledHeight) { + canvasHeight = ystep; + } else { + redrawVertically = true; + } + const dimx = this.getSizeAndScale(canvasWidth, this.ctx.canvas.width, combinedScaleX); + const dimy = this.getSizeAndScale(canvasHeight, this.ctx.canvas.height, combinedScaleY); + const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size); + const tmpCtx = tmpCanvas.context; + const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx, opIdx); + graphics.groupLevel = owner.groupLevel; + this.setFillAndStrokeStyleToContext(graphics, paintType, color); + tmpCtx.translate(-dimx.scale * x0, -dimy.scale * y0); + graphics.transform(0, dimx.scale, 0, 0, dimy.scale, 0, 0); + tmpCtx.save(); + graphics.dependencyTracker?.save(); + this.clipBbox(graphics, x0, y0, x1, y1); + graphics.baseTransform = getCurrentTransform(graphics.ctx); + graphics.executeOperatorList(operatorList); + graphics.endDrawing(); + graphics.dependencyTracker?.restore(); + tmpCtx.restore(); + if (redrawHorizontally || redrawVertically) { + const image = tmpCanvas.canvas; + if (redrawHorizontally) { + canvasWidth = xstep; + } + if (redrawVertically) { + canvasHeight = ystep; + } + const dimx2 = this.getSizeAndScale(canvasWidth, this.ctx.canvas.width, combinedScaleX); + const dimy2 = this.getSizeAndScale(canvasHeight, this.ctx.canvas.height, combinedScaleY); + const xSize = dimx2.size; + const ySize = dimy2.size; + const tmpCanvas2 = owner.cachedCanvases.getCanvas("pattern-workaround", xSize, ySize); + const tmpCtx2 = tmpCanvas2.context; + const ii = redrawHorizontally ? Math.floor(width / xstep) : 0; + const jj = redrawVertically ? Math.floor(height / ystep) : 0; + for (let i = 0; i <= ii; i++) { + for (let j = 0; j <= jj; j++) { + tmpCtx2.drawImage(image, xSize * i, ySize * j, xSize, ySize, 0, 0, xSize, ySize); + } + } + return { + canvas: tmpCanvas2.canvas, + scaleX: dimx2.scale, + scaleY: dimy2.scale, + offsetX: x0, + offsetY: y0 + }; + } + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + offsetX: x0, + offsetY: y0 + }; + } + getSizeAndScale(step, realOutputSize, scale) { + const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + let size = Math.ceil(step * scale); + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + return { + scale, + size + }; + } + clipBbox(graphics, x0, y0, x1, y1) { + const bboxWidth = x1 - x0; + const bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + Util.axialAlignedBoundingBox([x0, y0, x1, y1], getCurrentTransform(graphics.ctx), graphics.current.minMax); + graphics.clip(); + graphics.endPath(); + } + setFillAndStrokeStyleToContext(graphics, paintType, color) { + const context = graphics.ctx, + current = graphics.current; + switch (paintType) { + case PaintType.COLORED: + const { + fillStyle, + strokeStyle + } = this.ctx; + context.fillStyle = current.fillColor = fillStyle; + context.strokeStyle = current.strokeColor = strokeStyle; + break; + case PaintType.UNCOLORED: + context.fillStyle = context.strokeStyle = color; + current.fillColor = current.strokeColor = color; + break; + default: + throw new FormatError(`Unsupported paint type: ${paintType}`); + } + } + isModifyingCurrentTransform() { + return false; + } + getPattern(ctx, owner, inverse, pathType, opIdx) { + let matrix = inverse; + if (pathType !== PathType.SHADING) { + matrix = Util.transform(matrix, owner.baseTransform); + if (this.matrix) { + matrix = Util.transform(matrix, this.matrix); + } + } + const temporaryPatternCanvas = this.createPatternCanvas(owner, opIdx); + let domMatrix = new DOMMatrix(matrix); + domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + pattern.setTransform(domMatrix); + return pattern; + } +} + +;// ./src/shared/image_utils.js +/* unused harmony import specifier */ var image_utils_ImageKind; +/* unused harmony import specifier */ var image_utils_FeatureTest; + +function convertToRGBA(params) { + switch (params.kind) { + case image_utils_ImageKind.GRAYSCALE_1BPP: + return convertBlackAndWhiteToRGBA(params); + case image_utils_ImageKind.RGB_24BPP: + return convertRGBToRGBA(params); + } + return null; +} +function convertBlackAndWhiteToRGBA({ + src, + srcPos = 0, + dest, + width, + height, + nonBlackColor = 0xffffffff, + inverseDecode = false +}) { + const black = FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor]; + const widthInSource = width >> 3; + const widthRemainder = width & 7; + const xorMask = zeroMapping ^ oneMapping; + const srcLength = src.length; + dest = new Uint32Array(dest.buffer); + let destPos = 0; + for (let i = 0; i < height; ++i) { + for (const max = srcPos + widthInSource; srcPos < max; ++srcPos, destPos += 8) { + const elem = src[srcPos]; + dest[destPos] = zeroMapping ^ -(elem >> 7 & 1) & xorMask; + dest[destPos + 1] = zeroMapping ^ -(elem >> 6 & 1) & xorMask; + dest[destPos + 2] = zeroMapping ^ -(elem >> 5 & 1) & xorMask; + dest[destPos + 3] = zeroMapping ^ -(elem >> 4 & 1) & xorMask; + dest[destPos + 4] = zeroMapping ^ -(elem >> 3 & 1) & xorMask; + dest[destPos + 5] = zeroMapping ^ -(elem >> 2 & 1) & xorMask; + dest[destPos + 6] = zeroMapping ^ -(elem >> 1 & 1) & xorMask; + dest[destPos + 7] = zeroMapping ^ -(elem & 1) & xorMask; + } + if (widthRemainder === 0) { + continue; + } + const elem = srcPos < srcLength ? src[srcPos++] : 255; + for (let j = 0; j < widthRemainder; ++j, ++destPos) { + dest[destPos] = zeroMapping ^ -(elem >> 7 - j & 1) & xorMask; + } + } + return { + srcPos, + destPos + }; +} +function convertRGBToRGBA({ + src, + srcPos = 0, + dest, + destPos = 0, + width, + height +}) { + let i = 0; + const len = width * height * 3; + const len32 = len >> 2; + const src32 = new Uint32Array(src.buffer, srcPos, len32); + const alphaMask = image_utils_FeatureTest.isLittleEndian ? 0xff000000 : 0xff; + if (image_utils_FeatureTest.isLittleEndian) { + for (; i < len32 - 2; i += 3, destPos += 4) { + const s1 = src32[i], + s2 = src32[i + 1], + s3 = src32[i + 2]; + dest[destPos] = s1 | alphaMask; + dest[destPos + 1] = s1 >>> 24 | s2 << 8 | alphaMask; + dest[destPos + 2] = s2 >>> 16 | s3 << 16 | alphaMask; + dest[destPos + 3] = s3 >>> 8 | alphaMask; + } + for (let j = i * 4, jj = srcPos + len; j < jj; j += 3) { + dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | alphaMask; + } + } else { + for (; i < len32 - 2; i += 3, destPos += 4) { + const s1 = src32[i], + s2 = src32[i + 1], + s3 = src32[i + 2]; + dest[destPos] = s1 | alphaMask; + dest[destPos + 1] = s1 << 24 | s2 >>> 8 | alphaMask; + dest[destPos + 2] = s2 << 16 | s3 >>> 16 | alphaMask; + dest[destPos + 3] = s3 << 8 | alphaMask; + } + for (let j = i * 4, jj = srcPos + len; j < jj; j += 3) { + dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | alphaMask; + } + } + return { + srcPos: srcPos + len, + destPos + }; +} +function grayToRGBA(src, dest) { + if (image_utils_FeatureTest.isLittleEndian) { + for (let i = 0, ii = src.length; i < ii; i++) { + dest[i] = src[i] * 0x10101 | 0xff000000; + } + } else { + for (let i = 0, ii = src.length; i < ii; i++) { + dest[i] = src[i] * 0x1010100 | 0x000000ff; + } + } +} + +;// ./src/display/canvas.js + + + + + +const MIN_FONT_SIZE = 16; +const MAX_FONT_SIZE = 100; +const EXECUTION_TIME = 15; +const EXECUTION_STEPS = 10; +const FULL_CHUNK_HEIGHT = 16; +const SCALE_MATRIX = new DOMMatrix(); +const XY = new Float32Array(2); +const MIN_MAX_INIT = new Float32Array([Infinity, Infinity, -Infinity, -Infinity]); +function mirrorContextOperations(ctx, destCtx) { + if (ctx._removeMirroring) { + throw new Error("Context is already forwarding operations."); + } + ctx.__originalSave = ctx.save; + ctx.__originalRestore = ctx.restore; + ctx.__originalRotate = ctx.rotate; + ctx.__originalScale = ctx.scale; + ctx.__originalTranslate = ctx.translate; + ctx.__originalTransform = ctx.transform; + ctx.__originalSetTransform = ctx.setTransform; + ctx.__originalResetTransform = ctx.resetTransform; + ctx.__originalClip = ctx.clip; + ctx.__originalMoveTo = ctx.moveTo; + ctx.__originalLineTo = ctx.lineTo; + ctx.__originalBezierCurveTo = ctx.bezierCurveTo; + ctx.__originalRect = ctx.rect; + ctx.__originalClosePath = ctx.closePath; + ctx.__originalBeginPath = ctx.beginPath; + ctx._removeMirroring = () => { + ctx.save = ctx.__originalSave; + ctx.restore = ctx.__originalRestore; + ctx.rotate = ctx.__originalRotate; + ctx.scale = ctx.__originalScale; + ctx.translate = ctx.__originalTranslate; + ctx.transform = ctx.__originalTransform; + ctx.setTransform = ctx.__originalSetTransform; + ctx.resetTransform = ctx.__originalResetTransform; + ctx.clip = ctx.__originalClip; + ctx.moveTo = ctx.__originalMoveTo; + ctx.lineTo = ctx.__originalLineTo; + ctx.bezierCurveTo = ctx.__originalBezierCurveTo; + ctx.rect = ctx.__originalRect; + ctx.closePath = ctx.__originalClosePath; + ctx.beginPath = ctx.__originalBeginPath; + delete ctx._removeMirroring; + }; + ctx.save = function () { + destCtx.save(); + this.__originalSave(); + }; + ctx.restore = function () { + destCtx.restore(); + this.__originalRestore(); + }; + ctx.translate = function (x, y) { + destCtx.translate(x, y); + this.__originalTranslate(x, y); + }; + ctx.scale = function (x, y) { + destCtx.scale(x, y); + this.__originalScale(x, y); + }; + ctx.transform = function (a, b, c, d, e, f) { + destCtx.transform(a, b, c, d, e, f); + this.__originalTransform(a, b, c, d, e, f); + }; + ctx.setTransform = function (a, b, c, d, e, f) { + destCtx.setTransform(a, b, c, d, e, f); + this.__originalSetTransform(a, b, c, d, e, f); + }; + ctx.resetTransform = function () { + destCtx.resetTransform(); + this.__originalResetTransform(); + }; + ctx.rotate = function (angle) { + destCtx.rotate(angle); + this.__originalRotate(angle); + }; + ctx.clip = function (rule) { + destCtx.clip(rule); + this.__originalClip(rule); + }; + ctx.moveTo = function (x, y) { + destCtx.moveTo(x, y); + this.__originalMoveTo(x, y); + }; + ctx.lineTo = function (x, y) { + destCtx.lineTo(x, y); + this.__originalLineTo(x, y); + }; + ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + ctx.rect = function (x, y, width, height) { + destCtx.rect(x, y, width, height); + this.__originalRect(x, y, width, height); + }; + ctx.closePath = function () { + destCtx.closePath(); + this.__originalClosePath(); + }; + ctx.beginPath = function () { + destCtx.beginPath(); + this.__originalBeginPath(); + }; +} +class CachedCanvases { + constructor(canvasFactory) { + this.canvasFactory = canvasFactory; + this.cache = Object.create(null); + } + getCanvas(id, width, height) { + let canvasEntry; + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + return canvasEntry; + } + delete(id) { + delete this.cache[id]; + } + clear() { + for (const id in this.cache) { + const canvasEntry = this.cache[id]; + this.canvasFactory.destroy(canvasEntry); + delete this.cache[id]; + } + } +} +function drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) { + const [a, b, c, d, tx, ty] = getCurrentTransform(ctx); + if (b === 0 && c === 0) { + const tlX = destX * a + tx; + const rTlX = Math.round(tlX); + const tlY = destY * d + ty; + const rTlY = Math.round(tlY); + const brX = (destX + destW) * a + tx; + const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + const brY = (destY + destH) * d + ty; + const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight); + ctx.setTransform(a, b, c, d, tx, ty); + return [rWidth, rHeight]; + } + if (a === 0 && d === 0) { + const tlX = destY * c + tx; + const rTlX = Math.round(tlX); + const tlY = destX * b + ty; + const rTlY = Math.round(tlY); + const brX = (destY + destH) * c + tx; + const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + const brY = (destX + destW) * b + ty; + const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth); + ctx.setTransform(a, b, c, d, tx, ty); + return [rHeight, rWidth]; + } + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH); + const scaleX = Math.hypot(a, b); + const scaleY = Math.hypot(c, d); + return [scaleX * destW, scaleY * destH]; +} +class CanvasExtraState { + alphaIsShape = false; + fontSize = 0; + fontSizeScale = 1; + textMatrix = null; + textMatrixScale = 1; + fontMatrix = FONT_IDENTITY_MATRIX; + leading = 0; + x = 0; + y = 0; + lineX = 0; + lineY = 0; + charSpacing = 0; + wordSpacing = 0; + textHScale = 1; + textRenderingMode = TextRenderingMode.FILL; + textRise = 0; + fillColor = "#000000"; + strokeColor = "#000000"; + patternFill = false; + patternStroke = false; + fillAlpha = 1; + strokeAlpha = 1; + lineWidth = 1; + activeSMask = null; + transferMaps = "none"; + constructor(width, height, preInit) { + preInit?.(this); + this.clipBox = new Float32Array([0, 0, width, height]); + this.minMax = MIN_MAX_INIT.slice(); + } + clone() { + const clone = Object.create(this); + clone.clipBox = this.clipBox.slice(); + clone.minMax = this.minMax.slice(); + return clone; + } + getPathBoundingBox(pathType = PathType.FILL, transform = null) { + const box = this.minMax.slice(); + if (pathType === PathType.STROKE) { + if (!transform) { + unreachable("Stroke bounding box must include transform."); + } + Util.singularValueDecompose2dScale(transform, XY); + const xStrokePad = XY[0] * this.lineWidth / 2; + const yStrokePad = XY[1] * this.lineWidth / 2; + box[0] -= xStrokePad; + box[1] -= yStrokePad; + box[2] += xStrokePad; + box[3] += yStrokePad; + } + return box; + } + updateClipFromPath() { + const intersect = Util.intersect(this.clipBox, this.getPathBoundingBox()); + this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); + } + isEmptyClip() { + return this.minMax[0] === Infinity; + } + startNewPathAndClipBox(box) { + this.clipBox.set(box, 0); + this.minMax.set(MIN_MAX_INIT, 0); + } + getClippedPathBoundingBox(pathType = PathType.FILL, transform = null) { + return Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); + } +} +function putBinaryImageData(ctx, imgData) { + if (imgData instanceof ImageData) { + ctx.putImageData(imgData, 0, 0); + return; + } + const height = imgData.height, + width = imgData.width; + const partialChunkHeight = height % FULL_CHUNK_HEIGHT; + const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + let srcPos = 0, + destPos; + const src = imgData.data; + const dest = chunkImgData.data; + let i, j, thisChunkHeight, elemsInThisChunk; + if (imgData.kind === ImageKind.GRAYSCALE_1BPP) { + const srcLength = src.byteLength; + const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); + const dest32DataLength = dest32.length; + const fullSrcDiff = width + 7 >> 3; + const white = 0xffffffff; + const black = FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + for (i = 0; i < totalChunks; i++) { + thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + destPos = 0; + for (j = 0; j < thisChunkHeight; j++) { + const srcDiff = srcLength - srcPos; + let k = 0; + const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; + const kEndUnrolled = kEnd & ~7; + let mask = 0; + let srcByte = 0; + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === ImageKind.RGBA_32BPP) { + j = 0; + elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; + for (i = 0; i < fullChunks; i++) { + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + srcPos += elemsInThisChunk; + ctx.putImageData(chunkImgData, 0, j); + j += FULL_CHUNK_HEIGHT; + } + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === ImageKind.RGB_24BPP) { + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + destPos = 0; + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error(`bad image kind: ${imgData.kind}`); + } +} +function putBinaryImageMask(ctx, imgData) { + if (imgData.bitmap) { + ctx.drawImage(imgData.bitmap, 0, 0); + return; + } + const height = imgData.height, + width = imgData.width; + const partialChunkHeight = height % FULL_CHUNK_HEIGHT; + const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + let srcPos = 0; + const src = imgData.data; + const dest = chunkImgData.data; + for (let i = 0; i < totalChunks; i++) { + const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + ({ + srcPos + } = convertBlackAndWhiteToRGBA({ + src, + srcPos, + dest, + width, + height: thisChunkHeight, + nonBlackColor: 0 + })); + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } +} +function copyCtxState(sourceCtx, destCtx) { + const properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font", "filter"]; + for (const property of properties) { + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } +} +function resetCtxToDefault(ctx) { + ctx.strokeStyle = ctx.fillStyle = "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "10px sans-serif"; + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } + const { + filter + } = ctx; + if (filter !== "none" && filter !== "") { + ctx.filter = "none"; + } +} +function getImageSmoothingEnabled(transform, interpolate) { + if (interpolate) { + return true; + } + Util.singularValueDecompose2dScale(transform, XY); + const actualScale = Math.fround(OutputScale.pixelRatio * PixelsPerInch.PDF_TO_CSS_UNITS); + return XY[0] <= actualScale && XY[1] <= actualScale; +} +const LINE_CAP_STYLES = ["butt", "round", "square"]; +const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +const NORMAL_CLIP = {}; +const EO_CLIP = {}; +class CanvasGraphics { + constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, { + optionalContentConfig, + markedContentStack = null + }, annotationCanvasMap, pageColors, dependencyTracker) { + this.ctx = canvasCtx; + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.filterFactory = filterFactory; + this.groupStack = []; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + this.smaskStack = []; + this.smaskCounter = 0; + this.tempSMask = null; + this.suspendedCtx = null; + this.contentVisible = true; + this.markedContentStack = markedContentStack || []; + this.optionalContentConfig = optionalContentConfig; + this.cachedCanvases = new CachedCanvases(this.canvasFactory); + this.cachedPatterns = new Map(); + this.annotationCanvasMap = annotationCanvasMap; + this.viewportScale = 1; + this.outputScaleX = 1; + this.outputScaleY = 1; + this.pageColors = pageColors; + this._cachedScaleForStroking = [-1, 0]; + this._cachedGetSinglePixelWidth = null; + this._cachedBitmapsMap = new Map(); + this.dependencyTracker = dependencyTracker ?? null; + } + getObject(opIdx, data, fallback = null) { + if (typeof data === "string") { + this.dependencyTracker?.recordNamedDependency(opIdx, data); + return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); + } + return fallback; + } + beginDrawing({ + transform, + viewport, + transparency = false, + background = null + }) { + const width = this.ctx.canvas.width; + const height = this.ctx.canvas.height; + const savedFillStyle = this.ctx.fillStyle; + this.ctx.fillStyle = background || "#ffffff"; + this.ctx.fillRect(0, 0, width, height); + this.ctx.fillStyle = savedFillStyle; + if (transparency) { + const transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform(...getCurrentTransform(this.compositeCtx)); + } + this.ctx.save(); + resetCtxToDefault(this.ctx); + if (transform) { + this.ctx.transform(...transform); + this.outputScaleX = transform[0]; + this.outputScaleY = transform[0]; + } + this.ctx.transform(...viewport.transform); + this.viewportScale = viewport.scale; + this.baseTransform = getCurrentTransform(this.ctx); + } + executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper, operationsFilter) { + const argsArray = operatorList.argsArray; + const fnArray = operatorList.fnArray; + let i = executionStartIdx || 0; + const argsArrayLen = argsArray.length; + if (argsArrayLen === i) { + return i; + } + const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; + const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; + let steps = 0; + const commonObjs = this.commonObjs; + const objs = this.objs; + let fnId, fnArgs; + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + if (!operationsFilter || operationsFilter(i)) { + fnId = fnArray[i]; + fnArgs = argsArray[i] ?? null; + if (fnId !== OPS.dependency) { + if (fnArgs === null) { + this[fnId](i); + } else { + this[fnId](i, ...fnArgs); + } + } else { + for (const depObjId of fnArgs) { + this.dependencyTracker?.recordNamedData(depObjId, i); + const objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } + } + i++; + if (i === argsArrayLen) { + return i; + } + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + steps = 0; + } + } + } + #restoreInitialState() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); + } + this.current.activeSMask = null; + this.ctx.restore(); + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + } + endDrawing() { + this.#restoreInitialState(); + this.cachedCanvases.clear(); + this.cachedPatterns.clear(); + for (const cache of this._cachedBitmapsMap.values()) { + for (const canvas of cache.values()) { + if (typeof HTMLCanvasElement !== "undefined" && canvas instanceof HTMLCanvasElement) { + canvas.width = canvas.height = 0; + } + } + cache.clear(); + } + this._cachedBitmapsMap.clear(); + this.#drawFilter(); + } + #drawFilter() { + if (this.pageColors) { + const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background); + if (hcmFilterId !== "none") { + const savedFilter = this.ctx.filter; + this.ctx.filter = hcmFilterId; + this.ctx.drawImage(this.ctx.canvas, 0, 0); + this.ctx.filter = savedFilter; + } + } + } + _scaleImage(img, inverseTransform) { + const width = img.width ?? img.displayWidth; + const height = img.height ?? img.displayHeight; + let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); + let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); + let paintWidth = width, + paintHeight = height; + let tmpCanvasId = "prescale1"; + let tmpCanvas, tmpCtx; + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + let newWidth = paintWidth, + newHeight = paintHeight; + if (widthScale > 2 && paintWidth > 1) { + newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + if (heightScale > 2 && paintHeight > 1) { + newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2; + heightScale /= paintHeight / newHeight; + } + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + img = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; + } + return { + img, + paintWidth, + paintHeight + }; + } + _createMaskCanvas(opIdx, img) { + const ctx = this.ctx; + const { + width, + height + } = img; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + const currentTransform = getCurrentTransform(ctx); + let cache, cacheKey, scaled, maskCanvas; + if ((img.bitmap || img.data) && img.count > 1) { + const mainKey = img.bitmap || img.data.buffer; + cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]); + cache = this._cachedBitmapsMap.getOrInsertComputed(mainKey, makeMap); + const cachedImage = cache.get(cacheKey); + if (cachedImage && !isPatternFill) { + const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]); + const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]); + this.dependencyTracker?.recordDependencies(opIdx, Dependencies.transformAndFill); + return { + canvas: cachedImage, + offsetX, + offsetY + }; + } + scaled = cachedImage; + } + if (!scaled) { + maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + putBinaryImageMask(maskCanvas.context, img); + } + let maskToCanvas = Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]); + maskToCanvas = Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); + const minMax = MIN_MAX_INIT.slice(); + Util.axialAlignedBoundingBox([0, 0, width, height], maskToCanvas, minMax); + const [minX, minY, maxX, maxY] = minMax; + const drawnWidth = Math.round(maxX - minX) || 1; + const drawnHeight = Math.round(maxY - minY) || 1; + const fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight); + const fillCtx = fillCanvas.context; + const offsetX = minX; + const offsetY = minY; + fillCtx.translate(-offsetX, -offsetY); + fillCtx.transform(...maskToCanvas); + if (!scaled) { + scaled = this._scaleImage(maskCanvas.canvas, getCurrentTransformInverse(fillCtx)); + scaled = scaled.img; + if (cache && isPatternFill) { + cache.set(cacheKey, scaled); + } + } + fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(getCurrentTransform(fillCtx), img.interpolate); + drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height); + fillCtx.globalCompositeOperation = "source-in"; + const inverse = Util.transform(getCurrentTransformInverse(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]); + fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, PathType.FILL, opIdx) : fillColor; + fillCtx.fillRect(0, 0, width, height); + if (cache && !isPatternFill) { + this.cachedCanvases.delete("fillCanvas"); + cache.set(cacheKey, fillCanvas.canvas); + } + this.dependencyTracker?.recordDependencies(opIdx, Dependencies.transformAndFill); + return { + canvas: fillCanvas.canvas, + offsetX: Math.round(offsetX), + offsetY: Math.round(offsetY) + }; + } + setLineWidth(opIdx, width) { + this.dependencyTracker?.recordSimpleData("lineWidth", opIdx); + if (width !== this.current.lineWidth) { + this._cachedScaleForStroking[0] = -1; + } + this.current.lineWidth = width; + this.ctx.lineWidth = width; + } + setLineCap(opIdx, style) { + this.dependencyTracker?.recordSimpleData("lineCap", opIdx); + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + setLineJoin(opIdx, style) { + this.dependencyTracker?.recordSimpleData("lineJoin", opIdx); + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + setMiterLimit(opIdx, limit) { + this.dependencyTracker?.recordSimpleData("miterLimit", opIdx); + this.ctx.miterLimit = limit; + } + setDash(opIdx, dashArray, dashPhase) { + this.dependencyTracker?.recordSimpleData("dash", opIdx); + const ctx = this.ctx; + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + setRenderingIntent(opIdx, intent) {} + setFlatness(opIdx, flatness) {} + setGState(opIdx, states) { + for (const [key, value] of states) { + switch (key) { + case "LW": + this.setLineWidth(opIdx, value); + break; + case "LC": + this.setLineCap(opIdx, value); + break; + case "LJ": + this.setLineJoin(opIdx, value); + break; + case "ML": + this.setMiterLimit(opIdx, value); + break; + case "D": + this.setDash(opIdx, value[0], value[1]); + break; + case "RI": + this.setRenderingIntent(opIdx, value); + break; + case "FL": + this.setFlatness(opIdx, value); + break; + case "Font": + this.setFont(opIdx, value[0], value[1]); + break; + case "CA": + this.dependencyTracker?.recordSimpleData("strokeAlpha", opIdx); + this.current.strokeAlpha = value; + break; + case "ca": + this.dependencyTracker?.recordSimpleData("fillAlpha", opIdx); + this.ctx.globalAlpha = this.current.fillAlpha = value; + break; + case "BM": + this.dependencyTracker?.recordSimpleData("globalCompositeOperation", opIdx); + this.ctx.globalCompositeOperation = value; + break; + case "SMask": + this.dependencyTracker?.recordSimpleData("SMask", opIdx); + this.current.activeSMask = value ? this.tempSMask : null; + this.tempSMask = null; + this.checkSMaskState(); + break; + case "TR": + this.dependencyTracker?.recordSimpleData("filter", opIdx); + this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value); + break; + } + } + } + get inSMaskMode() { + return !!this.suspendedCtx; + } + checkSMaskState() { + const inSMaskMode = this.inSMaskMode; + if (this.current.activeSMask && !inSMaskMode) { + this.beginSMaskMode(); + } else if (!this.current.activeSMask && inSMaskMode) { + this.endSMaskMode(); + } + } + beginSMaskMode(opIdx) { + if (this.inSMaskMode) { + throw new Error("beginSMaskMode called while already in smask mode"); + } + const drawnWidth = this.ctx.canvas.width; + const drawnHeight = this.ctx.canvas.height; + const cacheId = "smaskGroupAt" + this.groupLevel; + const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); + this.suspendedCtx = this.ctx; + const ctx = this.ctx = scratchCanvas.context; + ctx.setTransform(this.suspendedCtx.getTransform()); + copyCtxState(this.suspendedCtx, ctx); + mirrorContextOperations(ctx, this.suspendedCtx); + this.setGState(opIdx, [["BM", "source-over"]]); + } + endSMaskMode() { + if (!this.inSMaskMode) { + throw new Error("endSMaskMode called while not in smask mode"); + } + this.ctx._removeMirroring(); + copyCtxState(this.ctx, this.suspendedCtx); + this.ctx = this.suspendedCtx; + this.suspendedCtx = null; + } + compose(dirtyBox) { + if (!this.current.activeSMask) { + return; + } + if (!dirtyBox) { + dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; + } else { + dirtyBox[0] = Math.floor(dirtyBox[0]); + dirtyBox[1] = Math.floor(dirtyBox[1]); + dirtyBox[2] = Math.ceil(dirtyBox[2]); + dirtyBox[3] = Math.ceil(dirtyBox[3]); + } + const smask = this.current.activeSMask; + const suspendedCtx = this.suspendedCtx; + this.composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); + this.ctx.restore(); + } + composeSMask(ctx, smask, layerCtx, layerBox) { + const layerOffsetX = layerBox[0]; + const layerOffsetY = layerBox[1]; + const layerWidth = layerBox[2] - layerOffsetX; + const layerHeight = layerBox[3] - layerOffsetY; + if (layerWidth === 0 || layerHeight === 0) { + return; + } + this.genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); + ctx.save(); + ctx.globalAlpha = 1; + ctx.globalCompositeOperation = "source-over"; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(layerCtx.canvas, 0, 0); + ctx.restore(); + } + genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { + let maskCanvas = maskCtx.canvas; + let maskX = layerOffsetX - maskOffsetX; + let maskY = layerOffsetY - maskOffsetY; + if (backdrop) { + if (maskX < 0 || maskY < 0 || maskX + width > maskCanvas.width || maskY + height > maskCanvas.height) { + const canvas = this.cachedCanvases.getCanvas("maskExtension", width, height); + const ctx = canvas.context; + ctx.drawImage(maskCanvas, -maskX, -maskY); + ctx.globalCompositeOperation = "destination-atop"; + ctx.fillStyle = backdrop; + ctx.fillRect(0, 0, width, height); + ctx.globalCompositeOperation = "source-over"; + maskCanvas = canvas.canvas; + maskX = maskY = 0; + } else { + maskCtx.save(); + maskCtx.globalAlpha = 1; + maskCtx.setTransform(1, 0, 0, 1, 0, 0); + const clip = new Path2D(); + clip.rect(maskX, maskY, width, height); + maskCtx.clip(clip); + maskCtx.globalCompositeOperation = "destination-atop"; + maskCtx.fillStyle = backdrop; + maskCtx.fillRect(maskX, maskY, width, height); + maskCtx.restore(); + } + } + layerCtx.save(); + layerCtx.globalAlpha = 1; + layerCtx.setTransform(1, 0, 0, 1, 0, 0); + if (subtype === "Alpha" && transferMap) { + layerCtx.filter = this.filterFactory.addAlphaFilter(transferMap); + } else if (subtype === "Luminosity") { + layerCtx.filter = this.filterFactory.addLuminosityFilter(transferMap); + } + const clip = new Path2D(); + clip.rect(layerOffsetX, layerOffsetY, width, height); + layerCtx.clip(clip); + layerCtx.globalCompositeOperation = "destination-in"; + layerCtx.drawImage(maskCanvas, maskX, maskY, width, height, layerOffsetX, layerOffsetY, width, height); + layerCtx.restore(); + } + save(opIdx) { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + } + this.ctx.save(); + const old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + this.dependencyTracker?.save(opIdx); + } + restore(opIdx) { + this.dependencyTracker?.restore(opIdx); + if (this.stateStack.length === 0) { + if (this.inSMaskMode) { + this.endSMaskMode(); + } + return; + } + this.current = this.stateStack.pop(); + this.ctx.restore(); + if (this.inSMaskMode) { + copyCtxState(this.suspendedCtx, this.ctx); + } + this.checkSMaskState(); + this.pendingClip = null; + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + } + transform(opIdx, a, b, c, d, e, f) { + this.dependencyTracker?.recordIncrementalData("transform", opIdx); + this.ctx.transform(a, b, c, d, e, f); + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + } + constructPath(opIdx, op, data, minMax) { + let [path] = data; + if (!minMax) { + path ||= data[0] = new Path2D(); + this[op](opIdx, path); + return; + } + if (this.dependencyTracker !== null) { + const outerExtraSize = op === OPS.stroke ? this.current.lineWidth / 2 : 0; + this.dependencyTracker.resetBBox(opIdx).recordBBox(opIdx, this.ctx, minMax[0] - outerExtraSize, minMax[2] + outerExtraSize, minMax[1] - outerExtraSize, minMax[3] + outerExtraSize).recordDependencies(opIdx, ["transform"]); + } + if (!(path instanceof Path2D)) { + path = data[0] = makePathFromDrawOPS(path); + } + Util.axialAlignedBoundingBox(minMax, getCurrentTransform(this.ctx), this.current.minMax); + this[op](opIdx, path); + this._pathStartIdx = opIdx; + } + closePath(opIdx) { + this.ctx.closePath(); + } + stroke(opIdx, path, consumePath = true) { + const ctx = this.ctx; + const strokeColor = this.current.strokeColor; + ctx.globalAlpha = this.current.strokeAlpha; + if (this.contentVisible) { + if (typeof strokeColor === "object" && strokeColor?.getPattern) { + const baseTransform = strokeColor.isModifyingCurrentTransform() ? ctx.getTransform() : null; + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.STROKE, opIdx); + if (baseTransform) { + const newPath = new Path2D(); + newPath.addPath(path, ctx.getTransform().invertSelf().multiplySelf(baseTransform)); + path = newPath; + } + this.rescaleAndStroke(path, false); + ctx.restore(); + } else { + this.rescaleAndStroke(path, true); + } + } + this.dependencyTracker?.recordDependencies(opIdx, Dependencies.stroke); + if (consumePath) { + this.consumePath(opIdx, path, this.current.getClippedPathBoundingBox(PathType.STROKE, getCurrentTransform(this.ctx))); + } + ctx.globalAlpha = this.current.fillAlpha; + } + closeStroke(opIdx, path) { + this.stroke(opIdx, path); + } + fill(opIdx, path, consumePath = true) { + const ctx = this.ctx; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + let needRestore = false; + if (isPatternFill) { + const baseTransform = fillColor.isModifyingCurrentTransform() ? ctx.getTransform() : null; + this.dependencyTracker?.save(opIdx); + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.FILL, opIdx); + if (baseTransform) { + const newPath = new Path2D(); + newPath.addPath(path, ctx.getTransform().invertSelf().multiplySelf(baseTransform)); + path = newPath; + } + needRestore = true; + } + const intersect = this.current.getClippedPathBoundingBox(); + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill(path, "evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(path); + } + } + this.dependencyTracker?.recordDependencies(opIdx, Dependencies.fill); + if (needRestore) { + ctx.restore(); + this.dependencyTracker?.restore(opIdx); + } + if (consumePath) { + this.consumePath(opIdx, path, intersect); + } + } + eoFill(opIdx, path) { + this.pendingEOFill = true; + this.fill(opIdx, path); + } + fillStroke(opIdx, path) { + this.fill(opIdx, path, false); + this.stroke(opIdx, path, false); + this.consumePath(opIdx, path); + } + eoFillStroke(opIdx, path) { + this.pendingEOFill = true; + this.fillStroke(opIdx, path); + } + closeFillStroke(opIdx, path) { + this.fillStroke(opIdx, path); + } + closeEOFillStroke(opIdx, path) { + this.pendingEOFill = true; + this.fillStroke(opIdx, path); + } + endPath(opIdx, path) { + this.consumePath(opIdx, path); + } + rawFillPath(opIdx, path) { + this.ctx.fill(path); + this.dependencyTracker?.recordDependencies(opIdx, Dependencies.rawFillPath).recordOperation(opIdx); + } + clip(opIdx) { + this.dependencyTracker?.recordFutureForcedDependency("clipMode", opIdx); + this.pendingClip = NORMAL_CLIP; + } + eoClip(opIdx) { + this.dependencyTracker?.recordFutureForcedDependency("clipMode", opIdx); + this.pendingClip = EO_CLIP; + } + beginText(opIdx) { + this.current.textMatrix = null; + this.current.textMatrixScale = 1; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + this.dependencyTracker?.recordOpenMarker(opIdx).resetIncrementalData("sameLineText").resetIncrementalData("moveText", opIdx); + } + endText(opIdx) { + const paths = this.pendingTextPaths; + const ctx = this.ctx; + if (this.dependencyTracker) { + const { + dependencyTracker + } = this; + if (paths !== undefined) { + dependencyTracker.recordFutureForcedDependency("textClip", dependencyTracker.getOpenMarker()).recordFutureForcedDependency("textClip", opIdx); + } + dependencyTracker.recordCloseMarker(opIdx); + } + if (paths !== undefined) { + const newPath = new Path2D(); + const invTransf = ctx.getTransform().invertSelf(); + for (const { + transform, + x, + y, + fontSize, + path + } of paths) { + if (!path) { + continue; + } + newPath.addPath(path, new DOMMatrix(transform).preMultiplySelf(invTransf).translate(x, y).scale(fontSize, -fontSize)); + } + ctx.clip(newPath); + } + delete this.pendingTextPaths; + } + setCharSpacing(opIdx, spacing) { + this.dependencyTracker?.recordSimpleData("charSpacing", opIdx); + this.current.charSpacing = spacing; + } + setWordSpacing(opIdx, spacing) { + this.dependencyTracker?.recordSimpleData("wordSpacing", opIdx); + this.current.wordSpacing = spacing; + } + setHScale(opIdx, scale) { + this.dependencyTracker?.recordSimpleData("hScale", opIdx); + this.current.textHScale = scale / 100; + } + setLeading(opIdx, leading) { + this.dependencyTracker?.recordSimpleData("leading", opIdx); + this.current.leading = -leading; + } + setFont(opIdx, fontRefName, size) { + this.dependencyTracker?.recordSimpleData("font", opIdx).recordSimpleDataFromNamed("fontObj", fontRefName, opIdx); + const fontObj = this.commonObjs.get(fontRefName); + const current = this.current; + if (!fontObj) { + throw new Error(`Can't find font for ${fontRefName}`); + } + current.fontMatrix = fontObj.fontMatrix || FONT_IDENTITY_MATRIX; + if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { + warn("Invalid font matrix for font " + fontRefName); + } + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + this.current.font = fontObj; + this.current.fontSize = size; + if (fontObj.isType3Font) { + return; + } + const name = fontObj.loadedName || "sans-serif"; + const typeface = fontObj.systemFontInfo?.css || `"${name}", ${fontObj.fallbackName}`; + let bold = "normal"; + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + const italic = fontObj.italic ? "italic" : "normal"; + let browserFontSize = size; + if (size < MIN_FONT_SIZE) { + browserFontSize = MIN_FONT_SIZE; + } else if (size > MAX_FONT_SIZE) { + browserFontSize = MAX_FONT_SIZE; + } + this.current.fontSizeScale = size / browserFontSize; + this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`; + } + setTextRenderingMode(opIdx, mode) { + this.dependencyTracker?.recordSimpleData("textRenderingMode", opIdx); + this.current.textRenderingMode = mode; + } + setTextRise(opIdx, rise) { + this.dependencyTracker?.recordSimpleData("textRise", opIdx); + this.current.textRise = rise; + } + moveText(opIdx, x, y) { + this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText", opIdx); + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + setLeadingMoveText(opIdx, x, y) { + this.setLeading(opIdx, -y); + this.moveText(opIdx, x, y); + } + setTextMatrix(opIdx, matrix) { + this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix", opIdx); + const { + current + } = this; + current.textMatrix = matrix; + current.textMatrixScale = Math.hypot(matrix[0], matrix[1]); + current.x = current.lineX = 0; + current.y = current.lineY = 0; + } + nextLine(opIdx) { + this.moveText(opIdx, 0, this.current.leading); + this.dependencyTracker?.recordIncrementalData("moveText", this.dependencyTracker.getSimpleIndex("leading") ?? opIdx); + } + #getScaledPath(path, currentTransform, transform) { + const newPath = new Path2D(); + newPath.addPath(path, new DOMMatrix(transform).invertSelf().multiplySelf(currentTransform)); + return newPath; + } + paintChar(opIdx, character, x, y, patternFillTransform, patternStrokeTransform) { + const ctx = this.ctx; + const current = this.current; + const font = current.font; + const textRenderingMode = current.textRenderingMode; + const fontSize = current.fontSize / current.fontSizeScale; + const fillStrokeMode = textRenderingMode & TextRenderingMode.FILL_STROKE_MASK; + const isAddToPathSet = !!(textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG); + const patternFill = current.patternFill && !font.missingFile; + const patternStroke = current.patternStroke && !font.missingFile; + let path; + if ((font.disableFontFace || isAddToPathSet || patternFill || patternStroke) && !font.missingFile) { + path = font.getPathGenerator(this.commonObjs, character); + } + if (path && (font.disableFontFace || patternFill || patternStroke)) { + ctx.save(); + ctx.translate(x, y); + ctx.scale(fontSize, -fontSize); + this.dependencyTracker?.recordCharacterBBox(opIdx, ctx, font); + let currentTransform; + if (fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE) { + if (patternFillTransform) { + currentTransform = ctx.getTransform(); + ctx.setTransform(...patternFillTransform); + const scaledPath = this.#getScaledPath(path, currentTransform, patternFillTransform); + ctx.fill(scaledPath); + } else { + ctx.fill(path); + } + } + if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) { + if (patternStrokeTransform) { + currentTransform ||= ctx.getTransform(); + ctx.setTransform(...patternStrokeTransform); + const { + a, + b, + c, + d + } = currentTransform; + const invPatternTransform = Util.inverseTransform(patternStrokeTransform); + const transf = Util.transform([a, b, c, d, 0, 0], invPatternTransform); + Util.singularValueDecompose2dScale(transf, XY); + ctx.lineWidth *= Math.max(XY[0], XY[1]) / fontSize; + ctx.stroke(this.#getScaledPath(path, currentTransform, patternStrokeTransform)); + } else { + ctx.lineWidth /= fontSize; + ctx.stroke(path); + } + } + ctx.restore(); + } else { + if (fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + this.dependencyTracker?.recordCharacterBBox(opIdx, ctx, font, fontSize, x, y, () => ctx.measureText(character)); + } + if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) { + if (this.dependencyTracker) { + this.dependencyTracker?.recordCharacterBBox(opIdx, ctx, font, fontSize, x, y, () => ctx.measureText(character)).recordDependencies(opIdx, Dependencies.stroke); + } + ctx.strokeText(character, x, y); + } + } + if (isAddToPathSet) { + const paths = this.pendingTextPaths ||= []; + paths.push({ + transform: getCurrentTransform(ctx), + x, + y, + fontSize, + path + }); + this.dependencyTracker?.recordCharacterBBox(opIdx, ctx, font, fontSize, x, y); + } + } + get isFontSubpixelAAEnabled() { + const { + context: ctx + } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10); + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + const data = ctx.getImageData(0, 0, 10, 10).data; + let enabled = false; + for (let i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + return shadow(this, "isFontSubpixelAAEnabled", enabled); + } + showText(opIdx, glyphs) { + if (this.dependencyTracker) { + this.dependencyTracker.recordDependencies(opIdx, Dependencies.showText).resetBBox(opIdx); + if (this.current.textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG) { + this.dependencyTracker.recordFutureForcedDependency("textClip", opIdx).inheritPendingDependenciesAsFutureForcedDependencies(); + } + } + const current = this.current; + const font = current.font; + if (font.isType3Font) { + this.showType3Text(opIdx, glyphs); + this.dependencyTracker?.recordShowTextOperation(opIdx); + return undefined; + } + const fontSize = current.fontSize; + if (fontSize === 0) { + this.dependencyTracker?.recordOperation(opIdx); + return undefined; + } + const ctx = this.ctx; + const fontSizeScale = current.fontSizeScale; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const fontDirection = current.fontDirection; + const textHScale = current.textHScale * fontDirection; + const glyphsLength = glyphs.length; + const vertical = font.vertical; + const spacingDir = vertical ? 1 : -1; + const defaultVMetrics = font.defaultVMetrics; + const widthAdvanceScale = fontSize * current.fontMatrix[0]; + const simpleFillText = current.textRenderingMode === TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; + ctx.save(); + if (current.textMatrix) { + ctx.transform(...current.textMatrix); + } + ctx.translate(current.x, current.y + current.textRise); + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + ctx.scale(textHScale, 1); + } + let patternFillTransform, patternStrokeTransform; + const fillStrokeMode = current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK; + const needsFill = fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE; + const needsStroke = fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE; + if (needsFill && current.patternFill) { + ctx.save(); + const pattern = current.fillColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.FILL, opIdx); + patternFillTransform = getCurrentTransform(ctx); + ctx.restore(); + ctx.fillStyle = pattern; + } + if (needsStroke && current.patternStroke) { + ctx.save(); + const pattern = current.strokeColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.STROKE, opIdx); + patternStrokeTransform = getCurrentTransform(ctx); + ctx.restore(); + ctx.strokeStyle = pattern; + } + let lineWidth = current.lineWidth; + const scale = current.textMatrixScale; + if (scale === 0 || lineWidth === 0) { + if (needsStroke) { + lineWidth = this.getSinglePixelWidth(); + } + } else { + lineWidth /= scale; + } + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + ctx.lineWidth = lineWidth; + if (font.isInvalidPDFjsFont) { + const chars = []; + let width = 0; + for (const glyph of glyphs) { + chars.push(glyph.unicode); + width += glyph.width; + } + const joinedChars = chars.join(""); + ctx.fillText(joinedChars, 0, 0); + if (this.dependencyTracker !== null) { + const measure = ctx.measureText(joinedChars); + this.dependencyTracker.recordBBox(opIdx, this.ctx, -measure.actualBoundingBoxLeft, measure.actualBoundingBoxRight, -measure.actualBoundingBoxAscent, measure.actualBoundingBoxDescent).recordShowTextOperation(opIdx); + } + current.x += width * widthAdvanceScale * textHScale; + ctx.restore(); + this.compose(); + return undefined; + } + let x = 0, + i; + for (i = 0; i < glyphsLength; ++i) { + const glyph = glyphs[i]; + if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + let restoreNeeded = false; + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const character = glyph.fontChar; + const accent = glyph.accent; + let scaledX, scaledY; + let width = glyph.width; + if (vertical) { + const vmetric = glyph.vmetric || defaultVMetrics; + const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + const vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + let measure; + if (font.remeasure && width > 0) { + measure = ctx.measureText(character); + const measuredWidth = measure.width * 1000 / fontSize * fontSizeScale; + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + const characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + this.dependencyTracker?.recordCharacterBBox(opIdx, ctx, measure ? { + bbox: null + } : font, fontSize / fontSizeScale, scaledX, scaledY, () => measure ?? ctx.measureText(character)); + } else { + this.paintChar(opIdx, character, scaledX, scaledY, patternFillTransform, patternStrokeTransform); + if (accent) { + const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; + this.paintChar(opIdx, accent.fontChar, scaledAccentX, scaledAccentY, patternFillTransform, patternStrokeTransform); + } + } + } + const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection; + x += charWidth; + if (restoreNeeded) { + ctx.restore(); + } + } + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + ctx.restore(); + this.compose(); + this.dependencyTracker?.recordShowTextOperation(opIdx); + return undefined; + } + showType3Text(opIdx, glyphs) { + const ctx = this.ctx; + const current = this.current; + const font = current.font; + const fontSize = current.fontSize; + const fontDirection = current.fontDirection; + const spacingDir = font.vertical ? 1 : -1; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const textHScale = current.textHScale * fontDirection; + const fontMatrix = current.fontMatrix || FONT_IDENTITY_MATRIX; + const glyphsLength = glyphs.length; + const isTextInvisible = current.textRenderingMode === TextRenderingMode.INVISIBLE; + let i, glyph, width, spacingLength; + if (isTextInvisible || fontSize === 0) { + return; + } + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + ctx.save(); + if (current.textMatrix) { + ctx.transform(...current.textMatrix); + } + ctx.translate(current.x, current.y + current.textRise); + ctx.scale(textHScale, fontDirection); + const dependencyTracker = this.dependencyTracker; + this.dependencyTracker = dependencyTracker ? new CanvasNestedDependencyTracker(dependencyTracker, opIdx) : null; + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + if (typeof glyph === "number") { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const operatorList = font.charProcOperatorList[glyph.operatorListId]; + if (!operatorList) { + warn(`Type3 character "${glyph.operatorListId}" is not available.`); + } else if (this.contentVisible) { + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform(...fontMatrix); + this.executeOperatorList(operatorList); + this.restore(); + } + const p = [glyph.width, 0]; + Util.applyTransform(p, fontMatrix); + width = p[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + ctx.restore(); + if (dependencyTracker) { + this.dependencyTracker = dependencyTracker; + } + } + setCharWidth(opIdx, xWidth, yWidth) {} + setCharWidthAndBounds(opIdx, xWidth, yWidth, llx, lly, urx, ury) { + const clip = new Path2D(); + clip.rect(llx, lly, urx - llx, ury - lly); + this.ctx.clip(clip); + this.dependencyTracker?.recordBBox(opIdx, this.ctx, llx, urx, lly, ury).recordClipBox(opIdx, this.ctx, llx, urx, lly, ury); + this.endPath(opIdx); + } + getColorN_Pattern(opIdx, IR) { + let pattern; + if (IR[0] === "TilingPattern") { + const baseTransform = this.baseTransform || getCurrentTransform(this.ctx); + const canvasGraphicsFactory = { + createCanvasGraphics: (ctx, renderingOpIdx) => new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, { + optionalContentConfig: this.optionalContentConfig, + markedContentStack: this.markedContentStack + }, undefined, undefined, this.dependencyTracker ? new CanvasNestedDependencyTracker(this.dependencyTracker, renderingOpIdx, true) : null) + }; + pattern = new TilingPattern(IR, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = this._getPattern(opIdx, IR[1], IR[2]); + } + return pattern; + } + setStrokeColorN(opIdx, ...args) { + this.dependencyTracker?.recordSimpleData("strokeColor", opIdx); + this.current.strokeColor = this.getColorN_Pattern(opIdx, args); + this.current.patternStroke = true; + } + setFillColorN(opIdx, ...args) { + this.dependencyTracker?.recordSimpleData("fillColor", opIdx); + this.current.fillColor = this.getColorN_Pattern(opIdx, args); + this.current.patternFill = true; + } + setStrokeRGBColor(opIdx, color) { + this.dependencyTracker?.recordSimpleData("strokeColor", opIdx); + this.ctx.strokeStyle = this.current.strokeColor = color; + this.current.patternStroke = false; + } + setStrokeTransparent(opIdx) { + this.dependencyTracker?.recordSimpleData("strokeColor", opIdx); + this.ctx.strokeStyle = this.current.strokeColor = "transparent"; + this.current.patternStroke = false; + } + setFillRGBColor(opIdx, color) { + this.dependencyTracker?.recordSimpleData("fillColor", opIdx); + this.ctx.fillStyle = this.current.fillColor = color; + this.current.patternFill = false; + } + setFillTransparent(opIdx) { + this.dependencyTracker?.recordSimpleData("fillColor", opIdx); + this.ctx.fillStyle = this.current.fillColor = "transparent"; + this.current.patternFill = false; + } + _getPattern(opIdx, objId, matrix = null) { + let pattern; + if (this.cachedPatterns.has(objId)) { + pattern = this.cachedPatterns.get(objId); + } else { + pattern = getShadingPattern(this.getObject(opIdx, objId)); + this.cachedPatterns.set(objId, pattern); + } + if (matrix) { + pattern.matrix = matrix; + } + return pattern; + } + shadingFill(opIdx, objId) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + this.save(opIdx); + const pattern = this._getPattern(opIdx, objId); + ctx.fillStyle = pattern.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.SHADING, opIdx); + const inv = getCurrentTransformInverse(ctx); + if (inv) { + const { + width, + height + } = ctx.canvas; + const minMax = MIN_MAX_INIT.slice(); + Util.axialAlignedBoundingBox([0, 0, width, height], inv, minMax); + const [x0, y0, x1, y1] = minMax; + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + this.dependencyTracker?.resetBBox(opIdx).recordFullPageBBox(opIdx).recordDependencies(opIdx, Dependencies.transform).recordDependencies(opIdx, Dependencies.fill).recordOperation(opIdx); + this.compose(this.current.getClippedPathBoundingBox()); + this.restore(opIdx); + } + beginInlineImage() { + unreachable("Should not call beginInlineImage"); + } + beginImageData() { + unreachable("Should not call beginImageData"); + } + paintFormXObjectBegin(opIdx, matrix, bbox) { + if (!this.contentVisible) { + return; + } + this.save(opIdx); + this.baseTransformStack.push(this.baseTransform); + if (matrix) { + this.transform(opIdx, ...matrix); + } + this.baseTransform = getCurrentTransform(this.ctx); + if (bbox) { + Util.axialAlignedBoundingBox(bbox, this.baseTransform, this.current.minMax); + const [x0, y0, x1, y1] = bbox; + const clip = new Path2D(); + clip.rect(x0, y0, x1 - x0, y1 - y0); + this.ctx.clip(clip); + this.dependencyTracker?.recordClipBox(opIdx, this.ctx, x0, x1, y0, y1); + this.endPath(opIdx); + } + } + paintFormXObjectEnd(opIdx) { + if (!this.contentVisible) { + return; + } + this.restore(opIdx); + this.baseTransform = this.baseTransformStack.pop(); + } + beginGroup(opIdx, group) { + if (!this.contentVisible) { + return; + } + this.save(opIdx); + if (this.inSMaskMode) { + this.endSMaskMode(); + this.current.activeSMask = null; + } + const currentCtx = this.ctx; + if (!group.isolated) { + info("TODO: Support non-isolated groups."); + } + if (group.knockout) { + warn("Knockout groups not supported."); + } + const currentTransform = getCurrentTransform(currentCtx); + if (group.matrix) { + currentCtx.transform(...group.matrix); + } + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + let bounds = MIN_MAX_INIT.slice(); + Util.axialAlignedBoundingBox(group.bbox, getCurrentTransform(currentCtx), bounds); + const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; + bounds = Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; + const offsetX = Math.floor(bounds[0]); + const offsetY = Math.floor(bounds[1]); + const drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); + const drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); + let cacheId = "groupAt" + this.groupLevel; + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); + const groupCtx = scratchCanvas.context; + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform(...currentTransform); + let clip = new Path2D(); + const [x0, y0, x1, y1] = group.bbox; + clip.rect(x0, y0, x1 - x0, y1 - y0); + if (group.matrix) { + const path = new Path2D(); + path.addPath(clip, new DOMMatrix(group.matrix)); + clip = path; + } + groupCtx.clip(clip); + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX, + offsetY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } + if (!group.smask || this.dependencyTracker) { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.save(); + } + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha", "strokeAlpha", "globalCompositeOperation"]).pushBaseTransform(currentCtx); + this.setGState(opIdx, [["BM", "source-over"], ["ca", 1], ["CA", 1], ["TR", null]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + } + endGroup(opIdx, group) { + if (!this.contentVisible) { + return; + } + this.groupLevel--; + const groupCtx = this.ctx; + const ctx = this.groupStack.pop(); + this.ctx = ctx; + this.ctx.imageSmoothingEnabled = false; + this.dependencyTracker?.popBaseTransform(); + if (group.smask) { + this.tempSMask = this.smaskStack.pop(); + this.restore(opIdx); + if (this.dependencyTracker) { + this.ctx.restore(); + } + } else { + this.ctx.restore(); + const currentMtx = getCurrentTransform(this.ctx); + this.restore(opIdx); + this.ctx.save(); + this.ctx.setTransform(...currentMtx); + const dirtyBox = MIN_MAX_INIT.slice(); + Util.axialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx, dirtyBox); + this.ctx.drawImage(groupCtx.canvas, 0, 0); + this.ctx.restore(); + this.compose(dirtyBox); + } + } + beginAnnotation(opIdx, id, rect, transform, matrix, hasOwnCanvas) { + this.#restoreInitialState(); + resetCtxToDefault(this.ctx); + this.ctx.save(); + this.save(opIdx); + if (this.baseTransform) { + this.ctx.setTransform(...this.baseTransform); + } + if (rect) { + const width = rect[2] - rect[0]; + const height = rect[3] - rect[1]; + if (hasOwnCanvas && this.annotationCanvasMap) { + transform = transform.slice(); + transform[4] -= rect[0]; + transform[5] -= rect[1]; + rect = rect.slice(); + rect[0] = rect[1] = 0; + rect[2] = width; + rect[3] = height; + Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx), XY); + const { + viewportScale + } = this; + const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); + const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); + this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); + const { + canvas, + context + } = this.annotationCanvas; + this.annotationCanvasMap.set(id, canvas); + this.annotationCanvas.savedCtx = this.ctx; + this.ctx = context; + this.ctx.save(); + this.ctx.setTransform(XY[0], 0, 0, -XY[1], 0, height * XY[1]); + resetCtxToDefault(this.ctx); + } else { + resetCtxToDefault(this.ctx); + this.endPath(opIdx); + const clip = new Path2D(); + clip.rect(rect[0], rect[1], width, height); + this.ctx.clip(clip); + } + } + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.transform(opIdx, ...transform); + this.transform(opIdx, ...matrix); + } + endAnnotation(opIdx) { + if (this.annotationCanvas) { + this.ctx.restore(); + this.#drawFilter(); + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } + } + paintImageMaskXObject(opIdx, img) { + if (!this.contentVisible) { + return; + } + const count = img.count; + img = this.getObject(opIdx, img.data, img); + img.count = count; + const ctx = this.ctx; + const mask = this._createMaskCanvas(opIdx, img); + const maskCanvas = mask.canvas; + ctx.save(); + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); + this.dependencyTracker?.resetBBox(opIdx).recordBBox(opIdx, this.ctx, mask.offsetX, mask.offsetX + maskCanvas.width, mask.offsetY, mask.offsetY + maskCanvas.height).recordOperation(opIdx); + ctx.restore(); + this.compose(); + } + paintImageMaskXObjectRepeat(opIdx, img, scaleX, skewX = 0, skewY = 0, scaleY, positions) { + if (!this.contentVisible) { + return; + } + img = this.getObject(opIdx, img.data, img); + const ctx = this.ctx; + ctx.save(); + const currentTransform = getCurrentTransform(ctx); + ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); + const mask = this._createMaskCanvas(opIdx, img); + ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]); + this.dependencyTracker?.resetBBox(opIdx); + for (let i = 0, ii = positions.length; i < ii; i += 2) { + const trans = Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); + ctx.drawImage(mask.canvas, trans[4], trans[5]); + this.dependencyTracker?.recordBBox(opIdx, this.ctx, trans[4], trans[4] + mask.canvas.width, trans[5], trans[5] + mask.canvas.height); + } + ctx.restore(); + this.compose(); + this.dependencyTracker?.recordOperation(opIdx); + } + paintImageMaskXObjectGroup(opIdx, images) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + this.dependencyTracker?.resetBBox(opIdx).recordDependencies(opIdx, Dependencies.transformAndFill); + for (const image of images) { + const { + data, + width, + height, + transform + } = image; + const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + const maskCtx = maskCanvas.context; + maskCtx.save(); + const img = this.getObject(opIdx, data, image); + putBinaryImageMask(maskCtx, img); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, getCurrentTransformInverse(ctx), PathType.FILL, opIdx) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform(...transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + this.dependencyTracker?.recordBBox(opIdx, ctx, 0, width, 0, height); + ctx.restore(); + } + this.compose(); + this.dependencyTracker?.recordOperation(opIdx); + } + paintImageXObject(opIdx, objId) { + if (!this.contentVisible) { + return; + } + const imgData = this.getObject(opIdx, objId); + if (!imgData) { + warn("Dependent image isn't ready yet"); + return; + } + this.paintInlineImageXObject(opIdx, imgData); + } + paintImageXObjectRepeat(opIdx, objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + const imgData = this.getObject(opIdx, objId); + if (!imgData) { + warn("Dependent image isn't ready yet"); + return; + } + const width = imgData.width; + const height = imgData.height; + const map = []; + for (let i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + this.paintInlineImageXObjectGroup(opIdx, imgData, map); + } + applyTransferMapsToCanvas(ctx) { + if (this.current.transferMaps !== "none") { + ctx.filter = this.current.transferMaps; + ctx.drawImage(ctx.canvas, 0, 0); + ctx.filter = "none"; + } + return ctx.canvas; + } + applyTransferMapsToBitmap(imgData) { + if (this.current.transferMaps === "none") { + return imgData.bitmap; + } + const { + bitmap, + width, + height + } = imgData; + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + const tmpCtx = tmpCanvas.context; + tmpCtx.filter = this.current.transferMaps; + tmpCtx.drawImage(bitmap, 0, 0); + tmpCtx.filter = "none"; + return tmpCanvas.canvas; + } + paintInlineImageXObject(opIdx, imgData) { + if (!this.contentVisible) { + return; + } + const width = imgData.width; + const height = imgData.height; + const ctx = this.ctx; + this.save(opIdx); + const { + filter + } = ctx; + if (filter !== "none" && filter !== "") { + ctx.filter = "none"; + } + ctx.scale(1 / width, -1 / height); + let imgToPaint; + if (imgData.bitmap) { + imgToPaint = this.applyTransferMapsToBitmap(imgData); + } else if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + const tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData); + imgToPaint = this.applyTransferMapsToCanvas(tmpCtx); + } + const scaled = this._scaleImage(imgToPaint, getCurrentTransformInverse(ctx)); + ctx.imageSmoothingEnabled = getImageSmoothingEnabled(getCurrentTransform(ctx), imgData.interpolate); + this.dependencyTracker?.resetBBox(opIdx).recordBBox(opIdx, ctx, 0, width, -height, 0).recordDependencies(opIdx, Dependencies.imageXObject).recordOperation(opIdx); + drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height); + this.compose(); + this.restore(opIdx); + } + paintInlineImageXObjectGroup(opIdx, imgData, map) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + let imgToPaint; + if (imgData.bitmap) { + imgToPaint = imgData.bitmap; + } else { + const w = imgData.width; + const h = imgData.height; + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h); + const tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData); + imgToPaint = this.applyTransferMapsToCanvas(tmpCtx); + } + this.dependencyTracker?.resetBBox(opIdx); + for (const entry of map) { + ctx.save(); + ctx.transform(...entry.transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); + this.dependencyTracker?.recordBBox(opIdx, ctx, 0, 1, -1, 0); + ctx.restore(); + } + this.dependencyTracker?.recordOperation(opIdx); + this.compose(); + } + paintSolidColorImageMask(opIdx) { + if (!this.contentVisible) { + return; + } + this.dependencyTracker?.resetBBox(opIdx).recordBBox(opIdx, this.ctx, 0, 1, 0, 1).recordDependencies(opIdx, Dependencies.fill).recordOperation(opIdx); + this.ctx.fillRect(0, 0, 1, 1); + this.compose(); + } + markPoint(opIdx, tag) {} + markPointProps(opIdx, tag, properties) {} + beginMarkedContent(opIdx, tag) { + this.dependencyTracker?.beginMarkedContent(opIdx); + this.markedContentStack.push({ + visible: true + }); + } + beginMarkedContentProps(opIdx, tag, properties) { + this.dependencyTracker?.beginMarkedContent(opIdx); + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + this.contentVisible = this.isContentVisible(); + } + endMarkedContent(opIdx) { + this.dependencyTracker?.endMarkedContent(opIdx); + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + beginCompat(opIdx) {} + endCompat(opIdx) {} + consumePath(opIdx, path, clipBox) { + const isEmpty = this.current.isEmptyClip(); + if (this.pendingClip) { + this.current.updateClipFromPath(); + } + if (!this.pendingClip) { + this.compose(clipBox); + } + const ctx = this.ctx; + if (this.pendingClip) { + if (!isEmpty) { + if (this.pendingClip === EO_CLIP) { + ctx.clip(path, "evenodd"); + } else { + ctx.clip(path); + } + } + this.pendingClip = null; + this.dependencyTracker?.bboxToClipBoxDropOperation(opIdx).recordFutureForcedDependency("clipPath", opIdx); + } else { + this.dependencyTracker?.recordOperation(opIdx); + } + this.current.startNewPathAndClipBox(this.current.clipBox); + } + getSinglePixelWidth() { + if (!this._cachedGetSinglePixelWidth) { + const m = getCurrentTransform(this.ctx); + if (m[1] === 0 && m[2] === 0) { + this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); + } else { + const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + const normX = Math.hypot(m[0], m[2]); + const normY = Math.hypot(m[1], m[3]); + this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; + } + } + return this._cachedGetSinglePixelWidth; + } + getScaleForStroking() { + if (this._cachedScaleForStroking[0] === -1) { + const { + lineWidth + } = this.current; + const { + a, + b, + c, + d + } = this.ctx.getTransform(); + let scaleX, scaleY; + if (b === 0 && c === 0) { + const normX = Math.abs(a); + const normY = Math.abs(d); + if (normX === normY) { + if (lineWidth === 0) { + scaleX = scaleY = 1 / normX; + } else { + const scaledLineWidth = normX * lineWidth; + scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1; + } + } else if (lineWidth === 0) { + scaleX = 1 / normX; + scaleY = 1 / normY; + } else { + const scaledXLineWidth = normX * lineWidth; + const scaledYLineWidth = normY * lineWidth; + scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; + scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; + } + } else { + const absDet = Math.abs(a * d - b * c); + const normX = Math.hypot(a, b); + const normY = Math.hypot(c, d); + if (lineWidth === 0) { + scaleX = normY / absDet; + scaleY = normX / absDet; + } else { + const baseArea = lineWidth * absDet; + scaleX = normY > baseArea ? normY / baseArea : 1; + scaleY = normX > baseArea ? normX / baseArea : 1; + } + } + this._cachedScaleForStroking[0] = scaleX; + this._cachedScaleForStroking[1] = scaleY; + } + return this._cachedScaleForStroking; + } + rescaleAndStroke(path, saveRestore) { + const { + ctx, + current: { + lineWidth + } + } = this; + const [scaleX, scaleY] = this.getScaleForStroking(); + if (scaleX === scaleY) { + ctx.lineWidth = (lineWidth || 1) * scaleX; + ctx.stroke(path); + return; + } + const dashes = ctx.getLineDash(); + if (saveRestore) { + ctx.save(); + } + ctx.scale(scaleX, scaleY); + SCALE_MATRIX.a = 1 / scaleX; + SCALE_MATRIX.d = 1 / scaleY; + const newPath = new Path2D(); + newPath.addPath(path, SCALE_MATRIX); + if (dashes.length > 0) { + const scale = Math.max(scaleX, scaleY); + ctx.setLineDash(dashes.map(x => x / scale)); + ctx.lineDashOffset /= scale; + } + ctx.lineWidth = lineWidth || 1; + ctx.stroke(newPath); + if (saveRestore) { + ctx.restore(); + } + } + isContentVisible() { + for (let i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } + return true; + } +} +for (const op in OPS) { + if (CanvasGraphics.prototype[op] !== undefined) { + CanvasGraphics.prototype[OPS[op]] = CanvasGraphics.prototype[op]; + } +} + +;// ./src/display/worker_options.js +class GlobalWorkerOptions { + static #port = null; + static #src = ""; + static get workerPort() { + return this.#port; + } + static set workerPort(val) { + if (!(typeof Worker !== "undefined" && val instanceof Worker) && val !== null) { + throw new Error("Invalid `workerPort` type."); + } + this.#port = val; + } + static get workerSrc() { + return this.#src; + } + static set workerSrc(val) { + if (typeof val !== "string") { + throw new Error("Invalid `workerSrc` type."); + } + this.#src = val; + } +} + +;// ./src/display/metadata.js +class Metadata { + #map; + #data; + constructor({ + parsedData, + rawData + }) { + this.#map = parsedData; + this.#data = rawData; + } + getRaw() { + return this.#data; + } + get(name) { + return this.#map.get(name) ?? null; + } + [Symbol.iterator]() { + return this.#map.entries(); + } +} + +;// ./src/display/optional_content_config.js + + +const INTERNAL = Symbol("INTERNAL"); +class OptionalContentGroup { + #isDisplay = false; + #isPrint = false; + #userSet = false; + #visible = true; + constructor(renderingIntent, { + name, + intent, + usage, + rbGroups + }) { + this.#isDisplay = !!(renderingIntent & RenderingIntentFlag.DISPLAY); + this.#isPrint = !!(renderingIntent & RenderingIntentFlag.PRINT); + this.name = name; + this.intent = intent; + this.usage = usage; + this.rbGroups = rbGroups; + } + get visible() { + if (this.#userSet) { + return this.#visible; + } + if (!this.#visible) { + return false; + } + const { + print, + view + } = this.usage; + if (this.#isDisplay) { + return view?.viewState !== "OFF"; + } else if (this.#isPrint) { + return print?.printState !== "OFF"; + } + return true; + } + _setVisible(internal, visible, userSet = false) { + if (internal !== INTERNAL) { + unreachable("Internal method `_setVisible` called."); + } + this.#userSet = userSet; + this.#visible = visible; + } +} +class OptionalContentConfig { + #cachedGetHash = null; + #groups = new Map(); + #initialHash = null; + #order = null; + constructor(data, renderingIntent = RenderingIntentFlag.DISPLAY) { + this.renderingIntent = renderingIntent; + this.name = null; + this.creator = null; + if (data === null) { + return; + } + this.name = data.name; + this.creator = data.creator; + this.#order = data.order; + for (const group of data.groups) { + this.#groups.set(group.id, new OptionalContentGroup(renderingIntent, group)); + } + if (data.baseState === "OFF") { + for (const group of this.#groups.values()) { + group._setVisible(INTERNAL, false); + } + } + for (const on of data.on) { + this.#groups.get(on)._setVisible(INTERNAL, true); + } + for (const off of data.off) { + this.#groups.get(off)._setVisible(INTERNAL, false); + } + this.#initialHash = this.getHash(); + } + #evaluateVisibilityExpression(array) { + const length = array.length; + if (length < 2) { + return true; + } + const operator = array[0]; + for (let i = 1; i < length; i++) { + const element = array[i]; + let state; + if (Array.isArray(element)) { + state = this.#evaluateVisibilityExpression(element); + } else if (this.#groups.has(element)) { + state = this.#groups.get(element).visible; + } else { + warn(`Optional content group not found: ${element}`); + return true; + } + switch (operator) { + case "And": + if (!state) { + return false; + } + break; + case "Or": + if (state) { + return true; + } + break; + case "Not": + return !state; + default: + return true; + } + } + return operator === "And"; + } + isVisible(group) { + if (this.#groups.size === 0) { + return true; + } + if (!group) { + info("Optional content group not defined."); + return true; + } + if (group.type === "OCG") { + if (!this.#groups.has(group.id)) { + warn(`Optional content group not found: ${group.id}`); + return true; + } + return this.#groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this.#evaluateVisibilityExpression(group.expression); + } + if (!group.policy || group.policy === "AnyOn") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + warn(`Optional content group not found: ${id}`); + return true; + } + if (this.#groups.get(id).visible) { + return true; + } + } + return false; + } else if (group.policy === "AllOn") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + warn(`Optional content group not found: ${id}`); + return true; + } + if (!this.#groups.get(id).visible) { + return false; + } + } + return true; + } else if (group.policy === "AnyOff") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + warn(`Optional content group not found: ${id}`); + return true; + } + if (!this.#groups.get(id).visible) { + return true; + } + } + return false; + } else if (group.policy === "AllOff") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + warn(`Optional content group not found: ${id}`); + return true; + } + if (this.#groups.get(id).visible) { + return false; + } + } + return true; + } + warn(`Unknown optional content policy ${group.policy}.`); + return true; + } + warn(`Unknown group type ${group.type}.`); + return true; + } + setVisibility(id, visible = true, preserveRB = true) { + const group = this.#groups.get(id); + if (!group) { + warn(`Optional content group not found: ${id}`); + return; + } + if (preserveRB && visible && group.rbGroups.length) { + for (const rbGroup of group.rbGroups) { + for (const otherId of rbGroup) { + if (otherId !== id) { + this.#groups.get(otherId)?._setVisible(INTERNAL, false, true); + } + } + } + } + group._setVisible(INTERNAL, !!visible, true); + this.#cachedGetHash = null; + } + setOCGState({ + state, + preserveRB + }) { + let operator; + for (const elem of state) { + switch (elem) { + case "ON": + case "OFF": + case "Toggle": + operator = elem; + continue; + } + const group = this.#groups.get(elem); + if (!group) { + continue; + } + switch (operator) { + case "ON": + this.setVisibility(elem, true, preserveRB); + break; + case "OFF": + this.setVisibility(elem, false, preserveRB); + break; + case "Toggle": + this.setVisibility(elem, !group.visible, preserveRB); + break; + } + } + this.#cachedGetHash = null; + } + get hasInitialVisibility() { + return this.#initialHash === null || this.getHash() === this.#initialHash; + } + getOrder() { + if (!this.#groups.size) { + return null; + } + if (this.#order) { + return this.#order.slice(); + } + return [...this.#groups.keys()]; + } + getGroup(id) { + return this.#groups.get(id) || null; + } + getHash() { + if (this.#cachedGetHash !== null) { + return this.#cachedGetHash; + } + const hash = new MurmurHash3_64(); + for (const [id, group] of this.#groups) { + hash.update(`${id}:${group.visible}`); + } + return this.#cachedGetHash = hash.hexdigest(); + } + [Symbol.iterator]() { + return this.#groups.entries(); + } +} + +;// ./src/shared/base_pdf_stream.js + +class BasePDFStream { + #PDFStreamReader = null; + #PDFStreamRangeReader = null; + _fullReader = null; + _rangeReaders = new Set(); + _source = null; + constructor(source, PDFStreamReader, PDFStreamRangeReader) { + this._source = source; + this.#PDFStreamReader = PDFStreamReader; + this.#PDFStreamRangeReader = PDFStreamRangeReader; + } + get _progressiveDataLength() { + return this._fullReader?._loaded ?? 0; + } + getFullReader() { + assert(!this._fullReader, "BasePDFStream.getFullReader can only be called once."); + return this._fullReader = new this.#PDFStreamReader(this); + } + getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const reader = new this.#PDFStreamRangeReader(this, begin, end); + this._rangeReaders.add(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullReader?.cancel(reason); + for (const reader of new Set(this._rangeReaders)) { + reader.cancel(reason); + } + } +} +class BasePDFStreamReader { + onProgress = null; + _contentLength = 0; + _filename = null; + _headersCapability = Promise.withResolvers(); + _isRangeSupported = false; + _isStreamingSupported = false; + _loaded = 0; + _stream = null; + constructor(stream) { + this._stream = stream; + } + _callOnProgress() { + this.onProgress?.({ + loaded: this._loaded, + total: this._contentLength + }); + } + get headersReady() { + return this._headersCapability.promise; + } + get filename() { + return this._filename; + } + get contentLength() { + return this._contentLength; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + unreachable("Abstract method `read` called"); + } + cancel(reason) { + unreachable("Abstract method `cancel` called"); + } +} +class BasePDFStreamRangeReader { + _stream = null; + constructor(stream, begin, end) { + this._stream = stream; + } + async read() { + unreachable("Abstract method `read` called"); + } + cancel(reason) { + unreachable("Abstract method `cancel` called"); + } +} + +;// ./src/display/transport_stream.js + + + +function getArrayBuffer(val) { + return val instanceof Uint8Array && val.byteLength === val.buffer.byteLength ? val.buffer : new Uint8Array(val).buffer; +} +function endRequests() { + for (const capability of this._requests) { + capability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; +} +class PDFDataTransportStream extends BasePDFStream { + _progressiveDone = false; + _queuedChunks = []; + constructor(source) { + super(source, PDFDataTransportStreamReader, PDFDataTransportStreamRangeReader); + const { + pdfDataRangeTransport + } = source; + const { + initialData, + progressiveDone + } = pdfDataRangeTransport; + if (initialData?.length > 0) { + const buffer = getArrayBuffer(initialData); + this._queuedChunks.push(buffer); + } + this._progressiveDone = progressiveDone; + pdfDataRangeTransport.addRangeListener((begin, chunk) => { + this.#onReceiveData(begin, chunk); + }); + pdfDataRangeTransport.addProgressiveReadListener(chunk => { + this.#onReceiveData(undefined, chunk); + }); + pdfDataRangeTransport.addProgressiveDoneListener(() => { + this._fullReader?.progressiveDone(); + this._progressiveDone = true; + }); + pdfDataRangeTransport.transportReady(); + } + #onReceiveData(begin, chunk) { + const buffer = getArrayBuffer(chunk); + if (begin === undefined) { + if (this._fullReader) { + this._fullReader._enqueue(buffer); + } else { + this._queuedChunks.push(buffer); + } + } else { + const rangeReader = this._rangeReaders.keys().find(r => r._begin === begin); + assert(rangeReader, "#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); + rangeReader._enqueue(buffer); + } + } + getFullReader() { + const reader = super.getFullReader(); + this._queuedChunks = null; + return reader; + } + getRangeReader(begin, end) { + const reader = super.getRangeReader(begin, end); + if (reader) { + reader.onDone = () => this._rangeReaders.delete(reader); + this._source.pdfDataRangeTransport.requestDataRange(begin, end); + } + return reader; + } + cancelAllRequests(reason) { + super.cancelAllRequests(reason); + this._source.pdfDataRangeTransport.abort(); + } +} +class PDFDataTransportStreamReader extends BasePDFStreamReader { + #endRequests = endRequests.bind(this); + _done = false; + _queuedChunks = null; + _requests = []; + constructor(stream) { + super(stream); + const { + pdfDataRangeTransport, + disableRange, + disableStream + } = stream._source; + const { + length, + contentDispositionFilename + } = pdfDataRangeTransport; + this._queuedChunks = stream._queuedChunks || []; + for (const chunk of this._queuedChunks) { + this._loaded += chunk.byteLength; + } + this._done = stream._progressiveDone; + this._contentLength = length; + this._isStreamingSupported = !disableStream; + this._isRangeSupported = !disableRange; + if (isPdfFile(contentDispositionFilename)) { + this._filename = contentDispositionFilename; + } + this._headersCapability.resolve(); + const loaded = this._loaded; + Promise.resolve().then(() => { + if (loaded > 0 && this._loaded === loaded) { + this._callOnProgress(); + } + }); + } + _enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length > 0) { + const capability = this._requests.shift(); + capability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunks.push(chunk); + } + this._loaded += chunk.byteLength; + this._callOnProgress(); + } + async read() { + if (this._queuedChunks.length > 0) { + const chunk = this._queuedChunks.shift(); + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const capability = Promise.withResolvers(); + this._requests.push(capability); + return capability.promise; + } + cancel(reason) { + this._done = true; + this.#endRequests(); + } + progressiveDone() { + this._done ||= true; + if (this._queuedChunks.length === 0) { + this.#endRequests(); + } + } +} +class PDFDataTransportStreamRangeReader extends BasePDFStreamRangeReader { + #endRequests = endRequests.bind(this); + onDone = null; + _begin = -1; + _done = false; + _queuedChunk = null; + _requests = []; + constructor(stream, begin, end) { + super(stream, begin, end); + this._begin = begin; + } + _enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + const capability = this._requests.shift(); + capability.resolve({ + value: chunk, + done: false + }); + this.#endRequests(); + } + this._done = true; + this.onDone?.(); + } + async read() { + if (this._queuedChunk) { + const chunk = this._queuedChunk; + this._queuedChunk = null; + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const capability = Promise.withResolvers(); + this._requests.push(capability); + return capability.promise; + } + cancel(reason) { + this._done = true; + this.#endRequests(); + this.onDone?.(); + } +} + +;// ./src/display/content_disposition.js + +function getFilenameFromContentDispositionHeader(contentDisposition) { + let needsEncodingFixup = true; + let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); + if (tmp) { + tmp = tmp[1]; + let filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + tmp = rfc2231getparam(contentDisposition); + if (tmp) { + const filename = rfc2047decode(tmp); + return fixupEncoding(filename); + } + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + if (tmp) { + tmp = tmp[1]; + let filename = rfc2616unquote(tmp); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + try { + const decoder = new TextDecoder(encoding, { + fatal: true + }); + const buffer = stringToBytes(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch {} + } + return value; + } + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + return value; + } + function rfc2231getparam(contentDispositionStr) { + const matches = []; + let match; + const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + while ((match = iter.exec(contentDispositionStr)) !== null) { + let [, n, quot, part] = match; + n = parseInt(n, 10); + if (n in matches) { + if (n === 0) { + break; + } + continue; + } + matches[n] = [quot, part]; + } + const parts = []; + for (let n = 0; n < matches.length; ++n) { + if (!(n in matches)) { + break; + } + let [quot, part] = matches[n]; + part = rfc2616unquote(part); + if (quot) { + part = unescape(part); + if (n === 0) { + part = rfc5987decode(part); + } + } + parts.push(part); + } + return parts.join(""); + } + function rfc2616unquote(value) { + if (value.startsWith('"')) { + const parts = value.slice(1).split('\\"'); + for (let i = 0; i < parts.length; ++i) { + const quotindex = parts[i].indexOf('"'); + if (quotindex !== -1) { + parts[i] = parts[i].slice(0, quotindex); + parts.length = i + 1; + } + parts[i] = parts[i].replaceAll(/\\(.)/g, "$1"); + } + value = parts.join('"'); + } + return value; + } + function rfc5987decode(extvalue) { + const encodingend = extvalue.indexOf("'"); + if (encodingend === -1) { + return extvalue; + } + const encoding = extvalue.slice(0, encodingend); + const langvalue = extvalue.slice(encodingend + 1); + const value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + return value.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { + if (encoding === "q" || encoding === "Q") { + text = text.replaceAll("_", " "); + text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) { + return String.fromCharCode(parseInt(hex, 16)); + }); + return textdecode(charset, text); + } + try { + text = atob(text); + } catch {} + return textdecode(charset, text); + }); + } + return ""; +} + +;// ./src/display/network_utils.js + + + +function createHeaders(isHttp, httpHeaders) { + const headers = new Headers(); + if (!isHttp || !httpHeaders || typeof httpHeaders !== "object") { + return headers; + } + for (const key in httpHeaders) { + const val = httpHeaders[key]; + if (val !== undefined) { + headers.append(key, val); + } + } + return headers; +} +function getResponseOrigin(url) { + return URL.parse(url)?.origin ?? null; +} +function validateRangeRequestCapabilities({ + responseHeaders, + isHttp, + rangeChunkSize, + disableRange +}) { + const returnValues = { + allowRangeRequests: false, + suggestedLength: undefined + }; + const length = parseInt(responseHeaders.get("Content-Length"), 10); + if (!Number.isInteger(length)) { + return returnValues; + } + returnValues.suggestedLength = length; + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + if (disableRange || !isHttp) { + return returnValues; + } + if (responseHeaders.get("Accept-Ranges") !== "bytes") { + return returnValues; + } + const contentEncoding = responseHeaders.get("Content-Encoding") || "identity"; + if (contentEncoding !== "identity") { + return returnValues; + } + returnValues.allowRangeRequests = true; + return returnValues; +} +function extractFilenameFromHeader(responseHeaders) { + const contentDisposition = responseHeaders.get("Content-Disposition"); + if (contentDisposition) { + let filename = getFilenameFromContentDispositionHeader(contentDisposition); + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch {} + } + if (isPdfFile(filename)) { + return filename; + } + } + return null; +} +function createResponseError(status, url) { + return new ResponseException(`Unexpected server response (${status}) while retrieving PDF "${url.href}".`, status, status === 404 || status === 0 && url.protocol === "file:"); +} +function ensureResponseOrigin(rangeOrigin, origin) { + if (rangeOrigin !== origin) { + throw new Error(`Expected range response-origin "${rangeOrigin}" to match "${origin}".`); + } +} + +;// ./src/display/fetch_stream.js + + + +function fetchUrl(url, headers, withCredentials, abortController) { + return fetch(url, { + method: "GET", + headers, + signal: abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }); +} +function ensureResponseStatus(status, url) { + if (status !== 200 && status !== 206) { + throw createResponseError(status, url); + } +} +function fetch_stream_getArrayBuffer(val) { + if (val instanceof Uint8Array) { + return val.buffer; + } + if (val instanceof ArrayBuffer) { + return val; + } + throw new Error(`getArrayBuffer - unexpected data: ${val}`); +} +class PDFFetchStream extends BasePDFStream { + _responseOrigin = null; + constructor(source) { + super(source, PDFFetchStreamReader, PDFFetchStreamRangeReader); + const { + httpHeaders, + url + } = source; + assert(/https?:/.test(url.protocol), "PDFFetchStream only supports http(s):// URLs."); + this.headers = createHeaders(true, httpHeaders); + } +} +class PDFFetchStreamReader extends BasePDFStreamReader { + _abortController = new AbortController(); + _reader = null; + constructor(stream) { + super(stream); + const { + disableRange, + disableStream, + length, + rangeChunkSize, + url, + withCredentials + } = stream._source; + this._contentLength = length; + this._isStreamingSupported = !disableStream; + this._isRangeSupported = !disableRange; + const headers = new Headers(stream.headers); + fetchUrl(url, headers, withCredentials, this._abortController).then(response => { + stream._responseOrigin = getResponseOrigin(response.url); + ensureResponseStatus(response.status, url); + this._reader = response.body.getReader(); + const responseHeaders = response.headers; + const { + allowRangeRequests, + suggestedLength + } = validateRangeRequestCapabilities({ + responseHeaders, + isHttp: true, + rangeChunkSize, + disableRange + }); + this._isRangeSupported = allowRangeRequests; + this._contentLength = suggestedLength || this._contentLength; + this._filename = extractFilenameFromHeader(responseHeaders); + if (!this._isStreamingSupported && this._isRangeSupported) { + this.cancel(new AbortException("Streaming is disabled.")); + } + this._headersCapability.resolve(); + }).catch(this._headersCapability.reject); + } + async read() { + await this._headersCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + this._loaded += value.byteLength; + this._callOnProgress(); + return { + value: fetch_stream_getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + this._abortController.abort(); + } +} +class PDFFetchStreamRangeReader extends BasePDFStreamRangeReader { + _abortController = new AbortController(); + _readCapability = Promise.withResolvers(); + _reader = null; + constructor(stream, begin, end) { + super(stream, begin, end); + const { + url, + withCredentials + } = stream._source; + const headers = new Headers(stream.headers); + headers.append("Range", `bytes=${begin}-${end - 1}`); + fetchUrl(url, headers, withCredentials, this._abortController).then(response => { + const responseOrigin = getResponseOrigin(response.url); + ensureResponseOrigin(responseOrigin, stream._responseOrigin); + ensureResponseStatus(response.status, url); + this._reader = response.body.getReader(); + this._readCapability.resolve(); + }).catch(this._readCapability.reject); + } + async read() { + await this._readCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + return { + value: fetch_stream_getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + this._abortController.abort(); + } +} + +;// ./src/display/network.js + + + + +const OK_RESPONSE = 200; +const PARTIAL_CONTENT_RESPONSE = 206; +function network_getArrayBuffer(val) { + return typeof val !== "string" ? val : stringToBytes(val).buffer; +} +class PDFNetworkStream extends BasePDFStream { + #pendingRequests = new WeakMap(); + _responseOrigin = null; + constructor(source) { + super(source, PDFNetworkStreamReader, PDFNetworkStreamRangeReader); + const { + httpHeaders, + url + } = source; + this.url = url; + this.isHttp = /https?:/.test(url.protocol); + this.headers = createHeaders(this.isHttp, httpHeaders); + } + _request(args) { + const xhr = new XMLHttpRequest(); + const pendingRequest = { + validateStatus: null, + onHeadersReceived: args.onHeadersReceived, + onDone: args.onDone, + onError: args.onError, + onProgress: args.onProgress + }; + this.#pendingRequests.set(xhr, pendingRequest); + xhr.open("GET", this.url); + xhr.withCredentials = this._source.withCredentials; + for (const [key, val] of this.headers) { + xhr.setRequestHeader(key, val); + } + if (this.isHttp && "begin" in args && "end" in args) { + xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`); + pendingRequest.validateStatus = status => status === PARTIAL_CONTENT_RESPONSE || status === OK_RESPONSE; + } else { + pendingRequest.validateStatus = status => status === OK_RESPONSE; + } + xhr.responseType = "arraybuffer"; + assert(args.onError, "Expected `onError` callback to be provided."); + xhr.onerror = () => args.onError(xhr.status); + xhr.onreadystatechange = this.#onStateChange.bind(this, xhr); + xhr.onprogress = this.#onProgress.bind(this, xhr); + xhr.send(null); + return xhr; + } + #onProgress(xhr, evt) { + const pendingRequest = this.#pendingRequests.get(xhr); + pendingRequest?.onProgress?.(evt); + } + #onStateChange(xhr, evt) { + const pendingRequest = this.#pendingRequests.get(xhr); + if (!pendingRequest) { + return; + } + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + if (xhr.readyState !== 4) { + return; + } + if (!this.#pendingRequests.has(xhr)) { + return; + } + this.#pendingRequests.delete(xhr); + if (xhr.status === 0 && this.isHttp) { + pendingRequest.onError(xhr.status); + return; + } + const xhrStatus = xhr.status || OK_RESPONSE; + if (!pendingRequest.validateStatus(xhrStatus)) { + pendingRequest.onError(xhr.status); + return; + } + const chunk = network_getArrayBuffer(xhr.response); + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + const rangeHeader = xhr.getResponseHeader("Content-Range"); + if (/bytes (\d+)-(\d+)\/(\d+)/.test(rangeHeader)) { + pendingRequest.onDone(chunk); + } else { + warn(`Missing or invalid "Content-Range" header.`); + pendingRequest.onError(0); + } + } else if (chunk) { + pendingRequest.onDone(chunk); + } else { + pendingRequest.onError(xhr.status); + } + } + _abortRequest(xhr) { + if (this.#pendingRequests.has(xhr)) { + this.#pendingRequests.delete(xhr); + xhr.abort(); + } + } + getRangeReader(begin, end) { + const reader = super.getRangeReader(begin, end); + if (reader) { + reader.onClosed = () => this._rangeReaders.delete(reader); + } + return reader; + } +} +class PDFNetworkStreamReader extends BasePDFStreamReader { + #endRequests = endRequests.bind(this); + _cachedChunks = []; + _done = false; + _requests = []; + _storedError = null; + constructor(stream) { + super(stream); + const { + length + } = stream._source; + this._contentLength = length; + this._fullRequestXhr = stream._request({ + onHeadersReceived: this.#onHeadersReceived.bind(this), + onDone: this.#onDone.bind(this), + onError: this.#onError.bind(this), + onProgress: this.#onProgress.bind(this) + }); + } + #onHeadersReceived() { + const stream = this._stream; + const { + disableRange, + rangeChunkSize + } = stream._source; + const fullRequestXhr = this._fullRequestXhr; + stream._responseOrigin = getResponseOrigin(fullRequestXhr.responseURL); + const rawResponseHeaders = fullRequestXhr.getAllResponseHeaders(); + const responseHeaders = new Headers(rawResponseHeaders ? rawResponseHeaders.trimStart().replace(/[^\S ]+$/, "").split(/[\r\n]+/).map(x => { + const [key, ...val] = x.split(": "); + return [key, val.join(": ")]; + }) : []); + const { + allowRangeRequests, + suggestedLength + } = validateRangeRequestCapabilities({ + responseHeaders, + isHttp: stream.isHttp, + rangeChunkSize, + disableRange + }); + if (allowRangeRequests) { + this._isRangeSupported = true; + } + this._contentLength = suggestedLength || this._contentLength; + this._filename = extractFilenameFromHeader(responseHeaders); + if (this._isRangeSupported) { + stream._abortRequest(fullRequestXhr); + } + this._headersCapability.resolve(); + } + #onDone(chunk) { + if (this._requests.length > 0) { + const capability = this._requests.shift(); + capability.resolve({ + value: chunk, + done: false + }); + } else { + this._cachedChunks.push(chunk); + } + this._done = true; + if (this._cachedChunks.length === 0) { + this.#endRequests(); + } + } + #onError(status) { + this._storedError = createResponseError(status, this._stream.url); + this._headersCapability.reject(this._storedError); + for (const capability of this._requests) { + capability.reject(this._storedError); + } + this._requests.length = 0; + this._cachedChunks.length = 0; + } + #onProgress(evt) { + this.onProgress?.({ + loaded: evt.loaded, + total: evt.lengthComputable ? evt.total : this._contentLength + }); + } + async read() { + await this._headersCapability.promise; + if (this._storedError) { + throw this._storedError; + } + if (this._cachedChunks.length > 0) { + const chunk = this._cachedChunks.shift(); + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const capability = Promise.withResolvers(); + this._requests.push(capability); + return capability.promise; + } + cancel(reason) { + this._done = true; + this._headersCapability.reject(reason); + this.#endRequests(); + this._stream._abortRequest(this._fullRequestXhr); + this._fullRequestXhr = null; + } +} +class PDFNetworkStreamRangeReader extends BasePDFStreamRangeReader { + #endRequests = endRequests.bind(this); + onClosed = null; + _done = false; + _queuedChunk = null; + _requests = []; + _storedError = null; + constructor(stream, begin, end) { + super(stream, begin, end); + this._requestXhr = stream._request({ + begin, + end, + onHeadersReceived: this.#onHeadersReceived.bind(this), + onDone: this.#onDone.bind(this), + onError: this.#onError.bind(this), + onProgress: null + }); + } + #onHeadersReceived() { + const responseOrigin = getResponseOrigin(this._requestXhr?.responseURL); + try { + ensureResponseOrigin(responseOrigin, this._stream._responseOrigin); + } catch (ex) { + this._storedError = ex; + this.#onError(0); + } + } + #onDone(chunk) { + if (this._requests.length > 0) { + const capability = this._requests.shift(); + capability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + this._done = true; + this.#endRequests(); + this.onClosed?.(); + } + #onError(status) { + this._storedError ??= createResponseError(status, this._stream.url); + for (const capability of this._requests) { + capability.reject(this._storedError); + } + this._requests.length = 0; + this._queuedChunk = null; + } + async read() { + if (this._storedError) { + throw this._storedError; + } + if (this._queuedChunk !== null) { + const chunk = this._queuedChunk; + this._queuedChunk = null; + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const capability = Promise.withResolvers(); + this._requests.push(capability); + return capability.promise; + } + cancel(reason) { + this._done = true; + this.#endRequests(); + this._stream._abortRequest(this._requestXhr); + this.onClosed?.(); + } +} + +;// ./src/display/node_stream.js + + + + +function getReadableStream(readStream) { + const { + Readable + } = process.getBuiltinModule("stream"); + if (typeof Readable.toWeb === "function") { + return Readable.toWeb(readStream); + } + const require = process.getBuiltinModule("module").createRequire(import.meta.url); + const polyfill = require("node-readable-to-web-readable-stream"); + return polyfill.makeDefaultReadableStreamFromNodeReadable(readStream); +} +class PDFNodeStream extends BasePDFStream { + constructor(source) { + super(source, PDFNodeStreamReader, PDFNodeStreamRangeReader); + const { + url + } = source; + assert(url.protocol === "file:", "PDFNodeStream only supports file:// URLs."); + } +} +class PDFNodeStreamReader extends BasePDFStreamReader { + _reader = null; + constructor(stream) { + super(stream); + const { + disableRange, + disableStream, + length, + rangeChunkSize, + url + } = stream._source; + this._contentLength = length; + this._isStreamingSupported = !disableStream; + this._isRangeSupported = !disableRange; + const fs = process.getBuiltinModule("fs"); + fs.promises.lstat(url).then(stat => { + const readStream = fs.createReadStream(url); + const readableStream = getReadableStream(readStream); + this._reader = readableStream.getReader(); + const { + size + } = stat; + if (size <= 2 * rangeChunkSize) { + this._isRangeSupported = false; + } + this._contentLength = size; + if (!this._isStreamingSupported && this._isRangeSupported) { + this.cancel(new AbortException("Streaming is disabled.")); + } + this._headersCapability.resolve(); + }).catch(error => { + if (error.code === "ENOENT") { + error = createResponseError(0, url); + } + this._headersCapability.reject(error); + }); + } + async read() { + await this._headersCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + this._loaded += value.byteLength; + this._callOnProgress(); + return { + value: fetch_stream_getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + } +} +class PDFNodeStreamRangeReader extends BasePDFStreamRangeReader { + _readCapability = Promise.withResolvers(); + _reader = null; + constructor(stream, begin, end) { + super(stream, begin, end); + const { + url + } = stream._source; + const fs = process.getBuiltinModule("fs"); + try { + const readStream = fs.createReadStream(url, { + start: begin, + end: end - 1 + }); + const readableStream = getReadableStream(readStream); + this._reader = readableStream.getReader(); + this._readCapability.resolve(); + } catch (error) { + this._readCapability.reject(error); + } + } + async read() { + await this._readCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + return { + value: fetch_stream_getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + } +} + +;// ./src/display/pdf_objects.js +const INITIAL_DATA = Symbol("INITIAL_DATA"); +const dataObj = () => ({ + ...Promise.withResolvers(), + data: INITIAL_DATA +}); +class PDFObjects { + #objs = new Map(); + #ensureObj(objId) { + return this.#objs.getOrInsertComputed(objId, dataObj); + } + get(objId, callback = null) { + if (callback) { + const obj = this.#ensureObj(objId); + obj.promise.then(() => callback(obj.data)); + return null; + } + const obj = this.#objs.get(objId); + if (!obj || obj.data === INITIAL_DATA) { + throw new Error(`Requesting object that isn't resolved yet ${objId}.`); + } + return obj.data; + } + has(objId) { + const obj = this.#objs.get(objId); + return !!obj && obj.data !== INITIAL_DATA; + } + delete(objId) { + const obj = this.#objs.get(objId); + if (!obj || obj.data === INITIAL_DATA) { + return false; + } + this.#objs.delete(objId); + return true; + } + resolve(objId, data = null) { + const obj = this.#ensureObj(objId); + obj.data = data; + obj.resolve(); + } + clear() { + for (const { + data + } of this.#objs.values()) { + data?.bitmap?.close(); + } + this.#objs.clear(); + } + *[Symbol.iterator]() { + for (const [objId, { + data + }] of this.#objs) { + if (data !== INITIAL_DATA) { + yield [objId, data]; + } + } + } +} + +;// ./src/display/text_layer.js + + +const MAX_TEXT_DIVS_TO_RENDER = 100000; +const DEFAULT_FONT_SIZE = 30; +class TextLayer { + #capability = Promise.withResolvers(); + #container = null; + #disableProcessItems = false; + #fontInspectorEnabled = !!globalThis.FontInspector?.enabled; + #lang = null; + #layoutTextParams = null; + #pageHeight = 0; + #pageWidth = 0; + #reader = null; + #rootContainer = null; + #rotation = 0; + #scale = 0; + #styleCache = Object.create(null); + #textContentItemsStr = []; + #textContentSource = null; + #textDivs = []; + #textDivProperties = new WeakMap(); + #transform = null; + static #ascentCache = new Map(); + static #canvasContexts = new Map(); + static #canvasCtxFonts = new WeakMap(); + static #minFontSize = null; + static #pendingTextLayers = new Set(); + constructor({ + textContentSource, + container, + viewport + }) { + if (textContentSource instanceof ReadableStream) { + this.#textContentSource = textContentSource; + } else if (typeof textContentSource === "object") { + this.#textContentSource = new ReadableStream({ + start(controller) { + controller.enqueue(textContentSource); + controller.close(); + } + }); + } else { + throw new Error('No "textContentSource" parameter specified.'); + } + this.#container = this.#rootContainer = container; + this.#scale = viewport.scale * OutputScale.pixelRatio; + this.#rotation = viewport.rotation; + this.#layoutTextParams = { + div: null, + properties: null, + ctx: null + }; + const { + pageWidth, + pageHeight, + pageX, + pageY + } = viewport.rawDims; + this.#transform = [1, 0, 0, -1, -pageX, pageY + pageHeight]; + this.#pageWidth = pageWidth; + this.#pageHeight = pageHeight; + TextLayer.#ensureMinFontSizeComputed(); + container.style.setProperty("--min-font-size", TextLayer.#minFontSize); + setLayerDimensions(container, viewport); + this.#capability.promise.finally(() => { + TextLayer.#pendingTextLayers.delete(this); + this.#layoutTextParams = null; + this.#styleCache = null; + }).catch(() => {}); + } + static get fontFamilyMap() { + const { + isWindows, + isFirefox + } = FeatureTest.platform; + return shadow(this, "fontFamilyMap", new Map([["sans-serif", `${isWindows && isFirefox ? "Calibri, " : ""}sans-serif`], ["monospace", `${isWindows && isFirefox ? "Lucida Console, " : ""}monospace`]])); + } + render() { + const pump = () => { + this.#reader.read().then(({ + value, + done + }) => { + if (done) { + this.#capability.resolve(); + return; + } + this.#lang ??= value.lang; + Object.assign(this.#styleCache, value.styles); + this.#processItems(value.items); + pump(); + }, this.#capability.reject); + }; + this.#reader = this.#textContentSource.getReader(); + TextLayer.#pendingTextLayers.add(this); + pump(); + return this.#capability.promise; + } + update({ + viewport, + onBefore = null + }) { + const scale = viewport.scale * OutputScale.pixelRatio; + const rotation = viewport.rotation; + if (rotation !== this.#rotation) { + onBefore?.(); + this.#rotation = rotation; + setLayerDimensions(this.#rootContainer, { + rotation + }); + } + if (scale !== this.#scale) { + onBefore?.(); + this.#scale = scale; + const params = { + div: null, + properties: null, + ctx: TextLayer.#getCtx(this.#lang) + }; + for (const div of this.#textDivs) { + params.properties = this.#textDivProperties.get(div); + params.div = div; + this.#layout(params); + } + } + } + cancel() { + const abortEx = new AbortException("TextLayer task cancelled."); + this.#reader?.cancel(abortEx).catch(() => {}); + this.#reader = null; + this.#capability.reject(abortEx); + } + get textDivs() { + return this.#textDivs; + } + get textContentItemsStr() { + return this.#textContentItemsStr; + } + #processItems(items) { + if (this.#disableProcessItems) { + return; + } + this.#layoutTextParams.ctx ??= TextLayer.#getCtx(this.#lang); + const textDivs = this.#textDivs, + textContentItemsStr = this.#textContentItemsStr; + for (const item of items) { + if (textDivs.length > MAX_TEXT_DIVS_TO_RENDER) { + warn("Ignoring additional textDivs for performance reasons."); + this.#disableProcessItems = true; + return; + } + if (item.str === undefined) { + if (item.type === "beginMarkedContentProps" || item.type === "beginMarkedContent") { + const parent = this.#container; + this.#container = document.createElement("span"); + this.#container.classList.add("markedContent"); + if (item.id) { + this.#container.setAttribute("id", `${item.id}`); + } + if (item.tag === "Artifact") { + this.#container.ariaHidden = true; + } + parent.append(this.#container); + } else if (item.type === "endMarkedContent") { + this.#container = this.#container.parentNode; + } + continue; + } + textContentItemsStr.push(item.str); + this.#appendText(item); + } + } + #appendText(geom) { + const textDiv = document.createElement("span"); + const textDivProperties = { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + fontSize: 0 + }; + this.#textDivs.push(textDiv); + const tx = Util.transform(this.#transform, geom.transform); + let angle = Math.atan2(tx[1], tx[0]); + const style = this.#styleCache[geom.fontName]; + if (style.vertical) { + angle += Math.PI / 2; + } + let fontFamily = this.#fontInspectorEnabled && style.fontSubstitution || style.fontFamily; + fontFamily = TextLayer.fontFamilyMap.get(fontFamily) || fontFamily; + const fontHeight = Math.hypot(tx[2], tx[3]); + const fontAscent = fontHeight * TextLayer.#getAscent(fontFamily, style, this.#lang); + let left, top; + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + const divStyle = textDiv.style; + divStyle.left = `${(100 * left / this.#pageWidth).toFixed(2)}%`; + divStyle.top = `${(100 * top / this.#pageHeight).toFixed(2)}%`; + divStyle.setProperty("--font-height", `${fontHeight.toFixed(2)}px`); + divStyle.fontFamily = fontFamily; + textDivProperties.fontSize = fontHeight; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + if (this.#fontInspectorEnabled) { + textDiv.dataset.fontName = style.fontSubstitutionLoadedName || geom.fontName; + } + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + let shouldScaleText = false; + if (geom.str.length > 1) { + shouldScaleText = true; + } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { + const absScaleX = Math.abs(geom.transform[0]), + absScaleY = Math.abs(geom.transform[3]); + if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { + shouldScaleText = true; + } + } + if (shouldScaleText) { + textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width; + } + this.#textDivProperties.set(textDiv, textDivProperties); + this.#layoutTextParams.div = textDiv; + this.#layoutTextParams.properties = textDivProperties; + this.#layout(this.#layoutTextParams); + if (textDivProperties.hasText) { + this.#container.append(textDiv); + } + if (textDivProperties.hasEOL) { + const br = document.createElement("br"); + br.setAttribute("role", "presentation"); + this.#container.append(br); + } + } + #layout(params) { + const { + div, + properties, + ctx + } = params; + const { + style + } = div; + if (properties.canvasWidth !== 0 && properties.hasText) { + const { + fontFamily + } = style; + const { + canvasWidth, + fontSize + } = properties; + TextLayer.#ensureCtxFont(ctx, fontSize * this.#scale, fontFamily); + const { + width + } = ctx.measureText(div.textContent); + if (width > 0) { + style.setProperty("--scale-x", canvasWidth * this.#scale / width); + } + } + if (properties.angle !== 0) { + style.setProperty("--rotate", `${properties.angle}deg`); + } + } + static cleanup() { + if (this.#pendingTextLayers.size > 0) { + return; + } + this.#ascentCache.clear(); + for (const { + canvas + } of this.#canvasContexts.values()) { + canvas.remove(); + } + this.#canvasContexts.clear(); + } + static #getCtx(lang = null) { + let ctx = this.#canvasContexts.get(lang ||= ""); + if (!ctx) { + const canvas = document.createElement("canvas"); + canvas.className = "hiddenCanvasElement"; + canvas.lang = lang; + document.body.append(canvas); + ctx = canvas.getContext("2d", { + alpha: false, + willReadFrequently: true + }); + this.#canvasContexts.set(lang, ctx); + this.#canvasCtxFonts.set(ctx, { + size: 0, + family: "" + }); + } + return ctx; + } + static #ensureCtxFont(ctx, size, family) { + const cached = this.#canvasCtxFonts.get(ctx); + if (size === cached.size && family === cached.family) { + return; + } + ctx.font = `${size}px ${family}`; + cached.size = size; + cached.family = family; + } + static #ensureMinFontSizeComputed() { + if (this.#minFontSize !== null) { + return; + } + const div = document.createElement("div"); + div.style.opacity = 0; + div.style.lineHeight = 1; + div.style.fontSize = "1px"; + div.style.position = "absolute"; + div.textContent = "X"; + document.body.append(div); + this.#minFontSize = div.getBoundingClientRect().height; + div.remove(); + } + static #getAscent(fontFamily, style, lang) { + const cachedAscent = this.#ascentCache.get(fontFamily); + if (cachedAscent) { + return cachedAscent; + } + const ctx = this.#getCtx(lang); + ctx.canvas.width = ctx.canvas.height = DEFAULT_FONT_SIZE; + this.#ensureCtxFont(ctx, DEFAULT_FONT_SIZE, fontFamily); + const metrics = ctx.measureText(""); + const ascent = metrics.fontBoundingBoxAscent; + const descent = Math.abs(metrics.fontBoundingBoxDescent); + ctx.canvas.width = ctx.canvas.height = 0; + let ratio = 0.8; + if (ascent) { + ratio = ascent / (ascent + descent); + } else { + if (FeatureTest.platform.isFirefox) { + warn("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference " + "in `about:config` to improve TextLayer rendering."); + } + if (style.ascent) { + ratio = style.ascent; + } else if (style.descent) { + ratio = 1 + style.descent; + } + } + this.#ascentCache.set(fontFamily, ratio); + return ratio; + } +} + +;// ./src/display/api.js + + + + + + + + + + + + + + + + + + + + + + + + + +const RENDERING_CANCELLED_TIMEOUT = 100; +function getDocument(src = {}) { + if (typeof src === "string" || src instanceof URL) { + src = { + url: src + }; + } else if (src instanceof ArrayBuffer || ArrayBuffer.isView(src)) { + src = { + data: src + }; + } + const task = new PDFDocumentLoadingTask(); + const { + docId + } = task; + const url = src.url ? getUrlProp(src.url) : null; + const data = src.data ? getDataProp(src.data) : null; + const httpHeaders = src.httpHeaders || null; + const withCredentials = src.withCredentials === true; + const password = src.password ?? null; + const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null; + const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : 2 ** 16; + let worker = src.worker instanceof PDFWorker ? src.worker : null; + const verbosity = src.verbosity; + const docBaseUrl = typeof src.docBaseUrl === "string" && !isDataScheme(src.docBaseUrl) ? src.docBaseUrl : null; + const cMapUrl = getFactoryUrlProp(src.cMapUrl); + const cMapPacked = src.cMapPacked !== false; + const CMapReaderFactory = src.CMapReaderFactory || (isNodeJS ? NodeCMapReaderFactory : DOMCMapReaderFactory); + const iccUrl = getFactoryUrlProp(src.iccUrl); + const standardFontDataUrl = getFactoryUrlProp(src.standardFontDataUrl); + const StandardFontDataFactory = src.StandardFontDataFactory || (isNodeJS ? NodeStandardFontDataFactory : DOMStandardFontDataFactory); + const wasmUrl = getFactoryUrlProp(src.wasmUrl); + const WasmFactory = src.WasmFactory || (isNodeJS ? NodeWasmFactory : DOMWasmFactory); + const ignoreErrors = src.stopAtErrors !== true; + const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1; + const isEvalSupported = src.isEvalSupported !== false; + const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === "boolean" ? src.isOffscreenCanvasSupported : !isNodeJS; + const isImageDecoderSupported = typeof src.isImageDecoderSupported === "boolean" ? src.isImageDecoderSupported : !isNodeJS && (FeatureTest.platform.isFirefox || !globalThis.chrome); + const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1; + const disableFontFace = typeof src.disableFontFace === "boolean" ? src.disableFontFace : isNodeJS; + const fontExtraProperties = src.fontExtraProperties === true; + const enableXfa = src.enableXfa === true; + const ownerDocument = src.ownerDocument || globalThis.document; + const disableRange = src.disableRange === true; + const disableStream = src.disableStream === true; + const disableAutoFetch = src.disableAutoFetch === true; + const pdfBug = src.pdfBug === true; + const CanvasFactory = src.CanvasFactory || (isNodeJS ? NodeCanvasFactory : DOMCanvasFactory); + const FilterFactory = src.FilterFactory || (isNodeJS ? NodeFilterFactory : DOMFilterFactory); + const enableHWA = src.enableHWA === true; + const useWasm = src.useWasm !== false; + const pagesMapper = src.pagesMapper || new PagesMapper(); + const length = rangeTransport ? rangeTransport.length : src.length ?? NaN; + const useSystemFonts = typeof src.useSystemFonts === "boolean" ? src.useSystemFonts : !isNodeJS && !disableFontFace; + const useWorkerFetch = typeof src.useWorkerFetch === "boolean" ? src.useWorkerFetch : !!(CMapReaderFactory === DOMCMapReaderFactory && StandardFontDataFactory === DOMStandardFontDataFactory && WasmFactory === DOMWasmFactory && cMapUrl && standardFontDataUrl && wasmUrl && isValidFetchUrl(cMapUrl, document.baseURI) && isValidFetchUrl(standardFontDataUrl, document.baseURI) && isValidFetchUrl(wasmUrl, document.baseURI)); + const styleElement = null; + setVerbosityLevel(verbosity); + const transportFactory = { + canvasFactory: new CanvasFactory({ + ownerDocument, + enableHWA + }), + filterFactory: new FilterFactory({ + docId, + ownerDocument + }), + cMapReaderFactory: useWorkerFetch ? null : new CMapReaderFactory({ + baseUrl: cMapUrl, + isCompressed: cMapPacked + }), + standardFontDataFactory: useWorkerFetch ? null : new StandardFontDataFactory({ + baseUrl: standardFontDataUrl + }), + wasmFactory: useWorkerFetch ? null : new WasmFactory({ + baseUrl: wasmUrl + }) + }; + if (!worker) { + worker = PDFWorker.create({ + verbosity, + port: GlobalWorkerOptions.workerPort + }); + task._worker = worker; + } + const docParams = { + docId, + apiVersion: "5.5.207", + data, + password, + disableAutoFetch, + rangeChunkSize, + length, + docBaseUrl, + enableXfa, + evaluatorOptions: { + maxImageSize, + disableFontFace, + ignoreErrors, + isEvalSupported, + isOffscreenCanvasSupported, + isImageDecoderSupported, + canvasMaxAreaInBytes, + fontExtraProperties, + useSystemFonts, + useWasm, + useWorkerFetch, + cMapUrl, + iccUrl, + standardFontDataUrl, + wasmUrl + } + }; + const transportParams = { + ownerDocument, + pdfBug, + styleElement, + enableHWA, + loadingParams: { + disableAutoFetch, + enableXfa + } + }; + worker.promise.then(function () { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + if (worker.destroyed) { + throw new Error("Worker was destroyed"); + } + const workerIdPromise = worker.messageHandler.sendWithPromise("GetDocRequest", docParams, data ? [data.buffer] : null); + let networkStream; + if (rangeTransport) { + networkStream = new PDFDataTransportStream({ + pdfDataRangeTransport: rangeTransport, + disableRange, + disableStream + }); + } else if (!data) { + if (!url) { + throw new Error("getDocument - no `url` parameter provided."); + } + const NetworkStream = isValidFetchUrl(url) ? PDFFetchStream : isNodeJS ? PDFNodeStream : PDFNetworkStream; + networkStream = new NetworkStream({ + url, + length, + httpHeaders, + withCredentials, + rangeChunkSize, + disableRange, + disableStream + }); + } + return workerIdPromise.then(workerId => { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + if (worker.destroyed) { + throw new Error("Worker was destroyed"); + } + const messageHandler = new MessageHandler(docId, workerId, worker.port); + const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory, pagesMapper); + task._transport = transport; + messageHandler.send("Ready", null); + }); + }).catch(task._capability.reject); + return task; +} +class PDFDocumentLoadingTask { + static #docId = 0; + _capability = Promise.withResolvers(); + _transport = null; + _worker = null; + docId = `d${PDFDocumentLoadingTask.#docId++}`; + destroyed = false; + onPassword = null; + onProgress = null; + get promise() { + return this._capability.promise; + } + async destroy() { + this.destroyed = true; + try { + if (this._worker?.port) { + this._worker._pendingDestroy = true; + } + await this._transport?.destroy(); + } catch (ex) { + if (this._worker?.port) { + delete this._worker._pendingDestroy; + } + throw ex; + } + this._transport = null; + this._worker?.destroy(); + this._worker = null; + } + async getData() { + return this._transport.getData(); + } +} +class PDFDataRangeTransport { + #capability = Promise.withResolvers(); + #progressiveDoneListeners = []; + #progressiveReadListeners = []; + #rangeListeners = []; + constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) { + this.length = length; + this.initialData = initialData; + this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; + Object.defineProperty(this, "onDataProgress", { + value: () => { + deprecated("`PDFDataRangeTransport.prototype.onDataProgress` - method was " + "removed, since loading progress is now reported automatically " + "through the `PDFDataTransportStream` class (and related code)."); + } + }); + } + addRangeListener(listener) { + this.#rangeListeners.push(listener); + } + addProgressiveReadListener(listener) { + this.#progressiveReadListeners.push(listener); + } + addProgressiveDoneListener(listener) { + this.#progressiveDoneListeners.push(listener); + } + onDataRange(begin, chunk) { + for (const listener of this.#rangeListeners) { + listener(begin, chunk); + } + } + onDataProgressiveRead(chunk) { + this.#capability.promise.then(() => { + for (const listener of this.#progressiveReadListeners) { + listener(chunk); + } + }); + } + onDataProgressiveDone() { + this.#capability.promise.then(() => { + for (const listener of this.#progressiveDoneListeners) { + listener(); + } + }); + } + transportReady() { + this.#capability.resolve(); + } + requestDataRange(begin, end) { + unreachable("Abstract method PDFDataRangeTransport.requestDataRange"); + } + abort() {} +} +class PDFDocumentProxy { + constructor(pdfInfo, transport) { + this._pdfInfo = pdfInfo; + this._transport = transport; + } + get pagesMapper() { + return this._transport.pagesMapper; + } + get annotationStorage() { + return this._transport.annotationStorage; + } + get canvasFactory() { + return this._transport.canvasFactory; + } + get filterFactory() { + return this._transport.filterFactory; + } + get numPages() { + return this._pdfInfo.numPages; + } + get fingerprints() { + return this._pdfInfo.fingerprints; + } + get isPureXfa() { + return shadow(this, "isPureXfa", !!this._transport._htmlForXfa); + } + get allXfaHtml() { + return this._transport._htmlForXfa; + } + getPage(pageNumber) { + return this._transport.getPage(pageNumber); + } + getPageIndex(ref) { + return this._transport.getPageIndex(ref); + } + getDestinations() { + return this._transport.getDestinations(); + } + getDestination(id) { + return this._transport.getDestination(id); + } + getPageLabels() { + return this._transport.getPageLabels(); + } + getPageLayout() { + return this._transport.getPageLayout(); + } + getPageMode() { + return this._transport.getPageMode(); + } + getViewerPreferences() { + return this._transport.getViewerPreferences(); + } + getOpenAction() { + return this._transport.getOpenAction(); + } + getAttachments() { + return this._transport.getAttachments(); + } + getAnnotationsByType(types, pageIndexesToSkip) { + return this._transport.getAnnotationsByType(types, pageIndexesToSkip); + } + getJSActions() { + return this._transport.getDocJSActions(); + } + getOutline() { + return this._transport.getOutline(); + } + getOptionalContentConfig({ + intent = "display" + } = {}) { + const { + renderingIntent + } = this._transport.getRenderingIntent(intent); + return this._transport.getOptionalContentConfig(renderingIntent); + } + getPermissions() { + return this._transport.getPermissions(); + } + getMetadata() { + return this._transport.getMetadata(); + } + getMarkInfo() { + return this._transport.getMarkInfo(); + } + getData() { + return this._transport.getData(); + } + saveDocument() { + return this._transport.saveDocument(); + } + extractPages(pageInfos) { + return this._transport.extractPages(pageInfos); + } + getDownloadInfo() { + return this._transport.downloadInfoCapability.promise; + } + cleanup(keepLoadedFonts = false) { + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); + } + destroy() { + return this.loadingTask.destroy(); + } + cachedPageNumber(ref) { + return this._transport.cachedPageNumber(ref); + } + get loadingParams() { + return this._transport.loadingParams; + } + get loadingTask() { + return this._transport.loadingTask; + } + getFieldObjects() { + return this._transport.getFieldObjects(); + } + hasJSActions() { + return this._transport.hasJSActions(); + } + getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } +} +class PDFPageProxy { + #pendingCleanup = false; + #pagesMapper = null; + constructor(pageIndex, pageInfo, transport, pagesMapper, pdfBug = false) { + this._pageIndex = pageIndex; + this._pageInfo = pageInfo; + this._transport = transport; + this._stats = pdfBug ? new StatTimer() : null; + this._pdfBug = pdfBug; + this.commonObjs = transport.commonObjs; + this.objs = new PDFObjects(); + this._intentStates = new Map(); + this.destroyed = false; + this.recordedBBoxes = null; + this.#pagesMapper = pagesMapper; + } + get pageNumber() { + return this._pageIndex + 1; + } + set pageNumber(value) { + this._pageIndex = value - 1; + } + get rotate() { + return this._pageInfo.rotate; + } + get ref() { + return this._pageInfo.ref; + } + get userUnit() { + return this._pageInfo.userUnit; + } + get view() { + return this._pageInfo.view; + } + getViewport({ + scale, + rotation = this.rotate, + offsetX = 0, + offsetY = 0, + dontFlip = false + } = {}) { + return new PageViewport({ + viewBox: this.view, + userUnit: this.userUnit, + scale, + rotation, + offsetX, + offsetY, + dontFlip + }); + } + getAnnotations({ + intent = "display" + } = {}) { + const { + renderingIntent + } = this._transport.getRenderingIntent(intent); + return this._transport.getAnnotations(this._pageIndex, renderingIntent); + } + getJSActions() { + return this._transport.getPageJSActions(this._pageIndex); + } + get filterFactory() { + return this._transport.filterFactory; + } + get isPureXfa() { + return shadow(this, "isPureXfa", !!this._transport._htmlForXfa); + } + async getXfa() { + return this._transport._htmlForXfa?.children[this._pageIndex] || null; + } + render({ + canvasContext, + canvas = canvasContext.canvas, + viewport, + intent = "display", + annotationMode = AnnotationMode.ENABLE, + transform = null, + background = null, + optionalContentConfigPromise = null, + annotationCanvasMap = null, + pageColors = null, + printAnnotationStorage = null, + isEditing = false, + recordOperations = false, + operationsFilter = null + }) { + this._stats?.time("Overall"); + const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, isEditing); + const { + renderingIntent, + cacheKey + } = intentArgs; + this.#pendingCleanup = false; + optionalContentConfigPromise ||= this._transport.getOptionalContentConfig(renderingIntent); + const intentState = this._intentStates.getOrInsertComputed(cacheKey, makeObj); + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + const intentPrint = !!(renderingIntent & RenderingIntentFlag.PRINT); + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = Promise.withResolvers(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false, + separateAnnots: null + }; + this._stats?.time("Page Request"); + this._pumpOperatorList(intentArgs); + } + const recordForDebugger = Boolean(this._pdfBug && globalThis.StepperManager?.enabled); + const shouldRecordOperations = !this.recordedBBoxes && (recordOperations || recordForDebugger); + const complete = error => { + intentState.renderTasks.delete(internalRenderTask); + if (shouldRecordOperations) { + const recordedBBoxes = internalRenderTask.gfx?.dependencyTracker.take(); + if (recordedBBoxes) { + if (internalRenderTask.stepper) { + internalRenderTask.stepper.setOperatorBBoxes(recordedBBoxes, internalRenderTask.gfx.dependencyTracker.takeDebugMetadata()); + } + if (recordOperations) { + this.recordedBBoxes = recordedBBoxes; + } + } + } + if (intentPrint) { + this.#pendingCleanup = true; + } + this.#tryCleanup(); + if (error) { + internalRenderTask.capability.reject(error); + this._abortOperatorList({ + intentState, + reason: error instanceof Error ? error : new Error(error) + }); + } else { + internalRenderTask.capability.resolve(); + } + if (this._stats) { + this._stats.timeEnd("Rendering"); + this._stats.timeEnd("Overall"); + if (globalThis.Stats?.enabled) { + globalThis.Stats.add(this.pageNumber, this._stats); + } + } + }; + const internalRenderTask = new InternalRenderTask({ + callback: complete, + params: { + canvas, + canvasContext, + dependencyTracker: shouldRecordOperations ? new CanvasDependencyTracker(canvas, intentState.operatorList.length, recordForDebugger) : null, + viewport, + transform, + background + }, + objs: this.objs, + commonObjs: this.commonObjs, + annotationCanvasMap, + operatorList: intentState.operatorList, + pageIndex: this._pageIndex, + canvasFactory: this._transport.canvasFactory, + filterFactory: this._transport.filterFactory, + useRequestAnimationFrame: !intentPrint, + pdfBug: this._pdfBug, + pageColors, + enableHWA: this._transport.enableHWA, + operationsFilter + }); + (intentState.renderTasks ||= new Set()).add(internalRenderTask); + const renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => { + if (this.destroyed) { + complete(); + return; + } + this._stats?.time("Rendering"); + if (!(optionalContentConfig.renderingIntent & renderingIntent)) { + throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` " + "and `PDFDocumentProxy.getOptionalContentConfig` methods."); + } + internalRenderTask.initializeGraphics({ + transparency, + optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + }).catch(complete); + return renderTask; + } + getOperatorList({ + intent = "display", + annotationMode = AnnotationMode.ENABLE, + printAnnotationStorage = null, + isEditing = false + } = {}) { + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks.delete(opListTask); + } + } + const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, isEditing, true); + const intentState = this._intentStates.getOrInsertComputed(intentArgs.cacheKey, makeObj); + let opListTask; + if (!intentState.opListReadCapability) { + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = Promise.withResolvers(); + (intentState.renderTasks ||= new Set()).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false, + separateAnnots: null + }; + this._stats?.time("Page Request"); + this._pumpOperatorList(intentArgs); + } + return intentState.opListReadCapability.promise; + } + streamTextContent({ + includeMarkedContent = false, + disableNormalization = false + } = {}) { + const TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageId: this.#pagesMapper.getPageId(this._pageIndex + 1) - 1, + pageIndex: this._pageIndex, + includeMarkedContent: includeMarkedContent === true, + disableNormalization: disableNormalization === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size(textContent) { + return textContent.items.length; + } + }); + } + async getTextContent(params = {}) { + if (this._transport._htmlForXfa) { + return this.getXfa().then(xfa => XfaText.textContent(xfa)); + } + const readableStream = this.streamTextContent(params); + const textContent = { + items: [], + styles: Object.create(null), + lang: null + }; + for await (const value of readableStream) { + textContent.lang ??= value.lang; + Object.assign(textContent.styles, value.styles); + textContent.items.push(...value.items); + } + return textContent; + } + getStructTree() { + return this._transport.getStructTree(this._pageIndex); + } + _destroy() { + this.destroyed = true; + const waitOn = []; + for (const intentState of this._intentStates.values()) { + this._abortOperatorList({ + intentState, + reason: new Error("Page was destroyed."), + force: true + }); + if (intentState.opListReadCapability) { + continue; + } + for (const internalRenderTask of intentState.renderTasks) { + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } + this.objs.clear(); + this.#pendingCleanup = false; + return Promise.all(waitOn); + } + cleanup(resetStats = false) { + this.#pendingCleanup = true; + const success = this.#tryCleanup(); + if (resetStats && success) { + this._stats &&= new StatTimer(); + } + return success; + } + #tryCleanup() { + if (!this.#pendingCleanup || this.destroyed) { + return false; + } + for (const { + renderTasks, + operatorList + } of this._intentStates.values()) { + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + this._intentStates.clear(); + this.objs.clear(); + this.#pendingCleanup = false; + return true; + } + _startRenderPage(transparency, cacheKey) { + const intentState = this._intentStates.get(cacheKey); + if (!intentState) { + return; + } + this._stats?.timeEnd("Page Request"); + intentState.displayReadyCapability?.resolve(transparency); + } + _renderPageChunk(operatorListChunk, intentState) { + for (let i = 0, ii = operatorListChunk.length; i < ii; i++) { + intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); + intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); + } + intentState.operatorList.lastChunk = operatorListChunk.lastChunk; + intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots; + for (const internalRenderTask of intentState.renderTasks) { + internalRenderTask.operatorListChanged(); + } + if (operatorListChunk.lastChunk) { + this.#tryCleanup(); + } + } + _pumpOperatorList({ + renderingIntent, + cacheKey, + annotationStorageSerializable, + modifiedIds + }) { + const { + map, + transfer + } = annotationStorageSerializable; + const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { + pageId: this.#pagesMapper.getPageId(this._pageIndex + 1) - 1, + pageIndex: this._pageIndex, + intent: renderingIntent, + cacheKey, + annotationStorage: map, + modifiedIds + }, undefined, transfer); + const reader = readableStream.getReader(); + const intentState = this._intentStates.get(cacheKey); + intentState.streamReader = reader; + const pump = () => { + reader.read().then(({ + value, + done + }) => { + if (done) { + intentState.streamReader = null; + return; + } + if (this._transport.destroyed) { + return; + } + this._renderPageChunk(value, intentState); + pump(); + }, reason => { + intentState.streamReader = null; + if (this._transport.destroyed) { + return; + } + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + for (const internalRenderTask of intentState.renderTasks) { + internalRenderTask.operatorListChanged(); + } + this.#tryCleanup(); + } + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + pump(); + } + _abortOperatorList({ + intentState, + reason, + force = false + }) { + if (!intentState.streamReader) { + return; + } + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + if (!force) { + if (intentState.renderTasks.size > 0) { + return; + } + if (reason instanceof RenderingCancelledException) { + let delay = RENDERING_CANCELLED_TIMEOUT; + if (reason.extraDelay > 0 && reason.extraDelay < 1000) { + delay += reason.extraDelay; + } + intentState.streamReaderCancelTimeout = setTimeout(() => { + intentState.streamReaderCancelTimeout = null; + this._abortOperatorList({ + intentState, + reason, + force: true + }); + }, delay); + return; + } + } + intentState.streamReader.cancel(new AbortException(reason.message)).catch(() => {}); + intentState.streamReader = null; + if (this._transport.destroyed) { + return; + } + for (const [curCacheKey, curIntentState] of this._intentStates) { + if (curIntentState === intentState) { + this._intentStates.delete(curCacheKey); + break; + } + } + this.cleanup(); + } + get stats() { + return this._stats; + } +} +class PDFWorker { + #capability = Promise.withResolvers(); + #messageHandler = null; + #port = null; + #webWorker = null; + static #fakeWorkerId = 0; + static #isWorkerDisabled = false; + static #workerPorts = new WeakMap(); + static { + if (isNodeJS) { + this.#isWorkerDisabled = true; + GlobalWorkerOptions.workerSrc ||= "./pdf.worker.mjs"; + } + this._isSameOrigin = (baseUrl, otherUrl) => { + const base = URL.parse(baseUrl); + if (!base?.origin || base.origin === "null") { + return false; + } + const other = new URL(otherUrl, base); + return base.origin === other.origin; + }; + this._createCDNWrapper = url => { + const wrapper = `await import("${url}");`; + return URL.createObjectURL(new Blob([wrapper], { + type: "text/javascript" + })); + }; + this.fromPort = params => { + deprecated("`PDFWorker.fromPort` - please use `PDFWorker.create` instead."); + if (!params?.port) { + throw new Error("PDFWorker.fromPort - invalid method signature."); + } + return this.create(params); + }; + } + constructor({ + name = null, + port = null, + verbosity = getVerbosityLevel() + } = {}) { + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + if (port) { + if (PDFWorker.#workerPorts.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); + } + PDFWorker.#workerPorts.set(port, this); + this.#initializeFromPort(port); + } else { + this.#initialize(); + } + } + get promise() { + return this.#capability.promise; + } + #resolve() { + this.#capability.resolve(); + this.#messageHandler.send("configure", { + verbosity: this.verbosity + }); + } + get port() { + return this.#port; + } + get messageHandler() { + return this.#messageHandler; + } + #initializeFromPort(port) { + this.#port = port; + this.#messageHandler = new MessageHandler("main", "worker", port); + this.#messageHandler.on("ready", () => {}); + this.#resolve(); + } + #initialize() { + if (PDFWorker.#isWorkerDisabled || PDFWorker.#mainThreadWorkerMessageHandler) { + this.#setupFakeWorker(); + return; + } + let { + workerSrc + } = PDFWorker; + try { + if (!PDFWorker._isSameOrigin(window.location, workerSrc)) { + workerSrc = PDFWorker._createCDNWrapper(new URL(workerSrc, window.location).href); + } + const worker = new Worker(workerSrc, { + type: "module" + }); + const messageHandler = new MessageHandler("main", "worker", worker); + const terminateEarly = () => { + ac.abort(); + messageHandler.destroy(); + worker.terminate(); + if (this.destroyed) { + this.#capability.reject(new Error("Worker was destroyed")); + } else { + this.#setupFakeWorker(); + } + }; + const ac = new AbortController(); + worker.addEventListener("error", () => { + if (!this.#webWorker) { + terminateEarly(); + } + }, { + signal: ac.signal + }); + messageHandler.on("test", data => { + ac.abort(); + if (this.destroyed || !data) { + terminateEarly(); + return; + } + this.#messageHandler = messageHandler; + this.#port = worker; + this.#webWorker = worker; + this.#resolve(); + }); + messageHandler.on("ready", data => { + ac.abort(); + if (this.destroyed) { + terminateEarly(); + return; + } + try { + sendTest(); + } catch { + this.#setupFakeWorker(); + } + }); + const sendTest = () => { + const testObj = new Uint8Array(); + messageHandler.send("test", testObj, [testObj.buffer]); + }; + sendTest(); + return; + } catch { + info("The worker has been disabled."); + } + this.#setupFakeWorker(); + } + #setupFakeWorker() { + if (!PDFWorker.#isWorkerDisabled) { + warn("Setting up fake worker."); + PDFWorker.#isWorkerDisabled = true; + } + PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => { + if (this.destroyed) { + this.#capability.reject(new Error("Worker was destroyed")); + return; + } + const port = new LoopbackPort(); + this.#port = port; + const id = `fake${PDFWorker.#fakeWorkerId++}`; + const workerHandler = new MessageHandler(id + "_worker", id, port); + WorkerMessageHandler.setup(workerHandler, port); + this.#messageHandler = new MessageHandler(id, id + "_worker", port); + this.#resolve(); + }).catch(reason => { + this.#capability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`)); + }); + } + destroy() { + this.destroyed = true; + this.#webWorker?.terminate(); + this.#webWorker = null; + PDFWorker.#workerPorts.delete(this.#port); + this.#port = null; + this.#messageHandler?.destroy(); + this.#messageHandler = null; + } + static create(params) { + const cachedPort = this.#workerPorts.get(params?.port); + if (cachedPort) { + if (cachedPort._pendingDestroy) { + throw new Error("PDFWorker.create - the worker is being destroyed.\n" + "Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."); + } + return cachedPort; + } + return new PDFWorker(params); + } + static get workerSrc() { + if (GlobalWorkerOptions.workerSrc) { + return GlobalWorkerOptions.workerSrc; + } + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + static get #mainThreadWorkerMessageHandler() { + try { + return globalThis.pdfjsWorker?.WorkerMessageHandler || null; + } catch { + return null; + } + } + static get _setupFakeWorkerGlobal() { + const loader = async () => { + if (this.#mainThreadWorkerMessageHandler) { + return this.#mainThreadWorkerMessageHandler; + } + const worker = await import( + /*webpackIgnore: true*/ + /*@vite-ignore*/ + this.workerSrc); + return worker.WorkerMessageHandler; + }; + return shadow(this, "_setupFakeWorkerGlobal", loader()); + } +} +class WorkerTransport { + downloadInfoCapability = Promise.withResolvers(); + #fullReader = null; + #methodPromises = new Map(); + #networkStream = null; + #pageCache = new Map(); + #pagePromises = new Map(); + #pageRefCache = new Map(); + #passwordCapability = null; + #copiedPageInfo = null; + constructor(messageHandler, loadingTask, networkStream, params, factory, pagesMapper) { + this.messageHandler = messageHandler; + this.loadingTask = loadingTask; + this.#networkStream = networkStream; + this.commonObjs = new PDFObjects(); + this.fontLoader = new FontLoader({ + ownerDocument: params.ownerDocument, + styleElement: params.styleElement + }); + this.enableHWA = params.enableHWA; + this.loadingParams = params.loadingParams; + this._params = params; + this.canvasFactory = factory.canvasFactory; + this.filterFactory = factory.filterFactory; + this.cMapReaderFactory = factory.cMapReaderFactory; + this.standardFontDataFactory = factory.standardFontDataFactory; + this.wasmFactory = factory.wasmFactory; + this.destroyed = false; + this.destroyCapability = null; + this.setupMessageHandler(); + this.pagesMapper = pagesMapper; + this.pagesMapper.addListener(this.#updateCaches.bind(this)); + } + #updateCaches({ + type, + pageNumbers + }) { + if (type === "copy") { + this.#copiedPageInfo = new Map(); + for (const pageNum of pageNumbers) { + this.#copiedPageInfo.set(pageNum, { + proxy: this.#pageCache.get(pageNum - 1) || null, + promise: this.#pagePromises.get(pageNum - 1) || null + }); + } + return; + } + if (type === "delete") { + for (const pageNum of pageNumbers) { + this.#pageCache.delete(pageNum - 1); + this.#pagePromises.delete(pageNum - 1); + } + } + const newPageCache = new Map(); + const newPromiseCache = new Map(); + const { + pagesMapper + } = this; + for (let i = 0, ii = pagesMapper.pagesNumber; i < ii; i++) { + const prevPageNumber = pagesMapper.getPrevPageNumber(i + 1); + if (prevPageNumber < 0) { + const { + proxy, + promise + } = this.#copiedPageInfo?.get(-prevPageNumber) || {}; + if (proxy) { + newPageCache.set(i, proxy); + } + if (promise) { + newPromiseCache.set(i, promise); + } + continue; + } + const prevPageIndex = prevPageNumber - 1; + const page = this.#pageCache.get(prevPageIndex); + if (page) { + newPageCache.set(i, page); + } + const promise = this.#pagePromises.get(prevPageIndex); + if (promise) { + newPromiseCache.set(i, promise); + } + } + this.#pageCache = newPageCache; + this.#pagePromises = newPromiseCache; + } + #cacheSimpleMethod(name, data = null) { + return this.#methodPromises.getOrInsertComputed(name, () => this.messageHandler.sendWithPromise(name, data)); + } + #onProgress({ + loaded, + total + }) { + this.loadingTask.onProgress?.({ + loaded, + total, + percent: MathClamp(Math.round(loaded / total * 100), 0, 100) + }); + } + get annotationStorage() { + return shadow(this, "annotationStorage", new AnnotationStorage()); + } + getRenderingIntent(intent, annotationMode = AnnotationMode.ENABLE, printAnnotationStorage = null, isEditing = false, isOpList = false) { + let renderingIntent = RenderingIntentFlag.DISPLAY; + let annotationStorageSerializable = SerializableEmpty; + switch (intent) { + case "any": + renderingIntent = RenderingIntentFlag.ANY; + break; + case "display": + break; + case "print": + renderingIntent = RenderingIntentFlag.PRINT; + break; + default: + warn(`getRenderingIntent - invalid intent: ${intent}`); + } + const annotationStorage = renderingIntent & RenderingIntentFlag.PRINT && printAnnotationStorage instanceof PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage; + switch (annotationMode) { + case AnnotationMode.DISABLE: + renderingIntent += RenderingIntentFlag.ANNOTATIONS_DISABLE; + break; + case AnnotationMode.ENABLE: + break; + case AnnotationMode.ENABLE_FORMS: + renderingIntent += RenderingIntentFlag.ANNOTATIONS_FORMS; + break; + case AnnotationMode.ENABLE_STORAGE: + renderingIntent += RenderingIntentFlag.ANNOTATIONS_STORAGE; + annotationStorageSerializable = annotationStorage.serializable; + break; + default: + warn(`getRenderingIntent - invalid annotationMode: ${annotationMode}`); + } + if (isEditing) { + renderingIntent += RenderingIntentFlag.IS_EDITING; + } + if (isOpList) { + renderingIntent += RenderingIntentFlag.OPLIST; + } + const { + ids: modifiedIds, + hash: modifiedIdsHash + } = annotationStorage.modifiedIds; + const cacheKeyBuf = [renderingIntent, annotationStorageSerializable.hash, modifiedIdsHash]; + return { + renderingIntent, + cacheKey: cacheKeyBuf.join("_"), + annotationStorageSerializable, + modifiedIds + }; + } + destroy() { + if (this.destroyCapability) { + return this.destroyCapability.promise; + } + this.destroyed = true; + this.destroyCapability = Promise.withResolvers(); + this.#passwordCapability?.reject(new Error("Worker was destroyed during onPassword callback")); + const waitOn = []; + for (const page of this.#pageCache.values()) { + waitOn.push(page._destroy()); + } + this.#pageCache.clear(); + this.#pagePromises.clear(); + this.#pageRefCache.clear(); + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + const terminated = this.messageHandler.sendWithPromise("Terminate", null); + waitOn.push(terminated); + Promise.all(waitOn).then(() => { + this.commonObjs.clear(); + this.fontLoader.clear(); + this.#methodPromises.clear(); + this.filterFactory.destroy(); + TextLayer.cleanup(); + this.#networkStream?.cancelAllRequests(new AbortException("Worker was terminated.")); + this.messageHandler?.destroy(); + this.messageHandler = null; + this.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + setupMessageHandler() { + const { + messageHandler, + loadingTask + } = this; + messageHandler.on("GetReader", (data, sink) => { + assert(this.#networkStream, "GetReader - no `BasePDFStream` instance available."); + this.#fullReader = this.#networkStream.getFullReader(); + this.#fullReader.onProgress = evt => this.#onProgress(evt); + sink.onPull = () => { + this.#fullReader.read().then(function ({ + value, + done + }) { + if (done) { + sink.close(); + return; + } + assert(value instanceof ArrayBuffer, "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + }).catch(reason => { + sink.error(reason); + }); + }; + sink.onCancel = reason => { + this.#fullReader.cancel(reason); + sink.ready.catch(readyReason => { + if (this.destroyed) { + return; + } + throw readyReason; + }); + }; + }); + messageHandler.on("ReaderHeadersReady", async data => { + await this.#fullReader.headersReady; + const { + isStreamingSupported, + isRangeSupported, + contentLength + } = this.#fullReader; + if (isStreamingSupported && isRangeSupported) { + this.#fullReader.onProgress = null; + } + return { + isStreamingSupported, + isRangeSupported, + contentLength + }; + }); + messageHandler.on("GetRangeReader", (data, sink) => { + assert(this.#networkStream, "GetRangeReader - no `BasePDFStream` instance available."); + const rangeReader = this.#networkStream.getRangeReader(data.begin, data.end); + if (!rangeReader) { + sink.close(); + return; + } + sink.onPull = () => { + rangeReader.read().then(function ({ + value, + done + }) { + if (done) { + sink.close(); + return; + } + assert(value instanceof ArrayBuffer, "GetRangeReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + }).catch(reason => { + sink.error(reason); + }); + }; + sink.onCancel = reason => { + rangeReader.cancel(reason); + sink.ready.catch(readyReason => { + if (this.destroyed) { + return; + } + throw readyReason; + }); + }; + }); + messageHandler.on("GetDoc", ({ + pdfInfo + }) => { + this.pagesMapper.pagesNumber = pdfInfo.numPages; + this._numPages = pdfInfo.numPages; + this._htmlForXfa = pdfInfo.htmlForXfa; + delete pdfInfo.htmlForXfa; + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this)); + }); + messageHandler.on("DocException", ex => { + loadingTask._capability.reject(wrapReason(ex)); + }); + messageHandler.on("PasswordRequest", ex => { + this.#passwordCapability = Promise.withResolvers(); + try { + if (!loadingTask.onPassword) { + throw wrapReason(ex); + } + const updatePassword = password => { + if (password instanceof Error) { + this.#passwordCapability.reject(password); + } else { + this.#passwordCapability.resolve({ + password + }); + } + }; + loadingTask.onPassword(updatePassword, ex.code); + } catch (err) { + this.#passwordCapability.reject(err); + } + return this.#passwordCapability.promise; + }); + messageHandler.on("DataLoaded", data => { + this.#onProgress({ + loaded: data.length, + total: data.length + }); + this.downloadInfoCapability.resolve(data); + }); + messageHandler.on("StartRenderPage", data => { + if (this.destroyed) { + return; + } + const page = this.#pageCache.get(data.pageIndex); + page._startRenderPage(data.transparency, data.cacheKey); + }); + messageHandler.on("commonobj", ([id, type, exportedData]) => { + if (this.destroyed) { + return null; + } + if (this.commonObjs.has(id)) { + return null; + } + switch (type) { + case "Font": + if ("error" in exportedData) { + const exportedError = exportedData.error; + warn(`Error during font loading: ${exportedError}`); + this.commonObjs.resolve(id, exportedError); + break; + } + const fontData = new FontInfo(exportedData); + const inspectFont = this._params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null; + const font = new FontFaceObject(fontData, inspectFont, exportedData.extra, exportedData.charProcOperatorList); + this.fontLoader.bind(font).catch(() => messageHandler.sendWithPromise("FontFallback", { + id + })).finally(() => { + if (!font.fontExtraProperties && font.data) { + font.clearData(); + } + this.commonObjs.resolve(id, font); + }); + break; + case "CopyLocalImage": + const { + imageRef + } = exportedData; + assert(imageRef, "The imageRef must be defined."); + for (const pageProxy of this.#pageCache.values()) { + for (const [, data] of pageProxy.objs) { + if (data?.ref !== imageRef) { + continue; + } + if (!data.dataLen) { + return null; + } + this.commonObjs.resolve(id, structuredClone(data)); + return data.dataLen; + } + } + break; + case "FontPath": + this.commonObjs.resolve(id, new FontPathInfo(exportedData)); + break; + case "Image": + this.commonObjs.resolve(id, exportedData); + break; + case "Pattern": + const pattern = new PatternInfo(exportedData); + this.commonObjs.resolve(id, pattern.getIR()); + break; + default: + throw new Error(`Got unknown common object type ${type}`); + } + return null; + }); + messageHandler.on("obj", ([id, pageIndex, type, imageData]) => { + if (this.destroyed) { + return; + } + const pageProxy = this.#pageCache.get(pageIndex); + if (pageProxy.objs.has(id)) { + return; + } + if (pageProxy._intentStates.size === 0) { + imageData?.bitmap?.close(); + return; + } + switch (type) { + case "Image": + case "Pattern": + pageProxy.objs.resolve(id, imageData); + break; + default: + throw new Error(`Got unknown object type ${type}`); + } + }); + messageHandler.on("DocProgress", data => { + if (this.destroyed) { + return; + } + this.#onProgress(data); + }); + messageHandler.on("FetchBinaryData", async data => { + if (this.destroyed) { + throw new Error("Worker was destroyed."); + } + const factory = this[data.type]; + if (!factory) { + throw new Error(`${data.type} not initialized, see the \`useWorkerFetch\` parameter.`); + } + return factory.fetch(data); + }); + } + getData() { + return this.messageHandler.sendWithPromise("GetData", null); + } + saveDocument() { + if (this.annotationStorage.size <= 0) { + warn("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + const { + map, + transfer + } = this.annotationStorage.serializable; + return this.messageHandler.sendWithPromise("SaveDocument", { + isPureXfa: !!this._htmlForXfa, + numPages: this._numPages, + annotationStorage: map, + filename: this.#fullReader?.filename ?? null + }, transfer).finally(() => { + this.annotationStorage.resetModified(); + }); + } + extractPages(pageInfos) { + return this.messageHandler.sendWithPromise("ExtractPages", { + pageInfos + }); + } + getPage(pageNumber) { + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this.pagesMapper.pagesNumber) { + return Promise.reject(new Error("Invalid page request.")); + } + const pageIndex = pageNumber - 1; + const newPageIndex = this.pagesMapper.getPageId(pageNumber) - 1; + const cachedPromise = this.#pagePromises.get(pageIndex); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex: newPageIndex + }).then(pageInfo => { + if (this.destroyed) { + throw new Error("Transport destroyed"); + } + if (pageInfo.refStr) { + this.#pageRefCache.set(pageInfo.refStr, newPageIndex); + } + const page = new PDFPageProxy(pageIndex, pageInfo, this, this.pagesMapper, this._params.pdfBug); + this.#pageCache.set(pageIndex, page); + return page; + }); + this.#pagePromises.set(pageIndex, promise); + return promise; + } + async getPageIndex(ref) { + if (!isRefProxy(ref)) { + throw new Error("Invalid pageIndex request."); + } + const index = await this.messageHandler.sendWithPromise("GetPageIndex", { + num: ref.num, + gen: ref.gen + }); + const pageNumber = this.pagesMapper.getPageNumber(index + 1); + if (pageNumber === 0) { + throw new Error("GetPageIndex: page has been removed."); + } + return pageNumber - 1; + } + getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex: this.pagesMapper.getPageId(pageIndex + 1) - 1, + intent + }); + } + getFieldObjects() { + return this.#cacheSimpleMethod("GetFieldObjects"); + } + hasJSActions() { + return this.#cacheSimpleMethod("HasJSActions"); + } + getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } + getDestinations() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + return this.messageHandler.sendWithPromise("GetDestination", { + id + }); + } + getPageLabels() { + return this.messageHandler.sendWithPromise("GetPageLabels", null); + } + getPageLayout() { + return this.messageHandler.sendWithPromise("GetPageLayout", null); + } + getPageMode() { + return this.messageHandler.sendWithPromise("GetPageMode", null); + } + getViewerPreferences() { + return this.messageHandler.sendWithPromise("GetViewerPreferences", null); + } + getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + getAnnotationsByType(types, pageIndexesToSkip) { + return this.messageHandler.sendWithPromise("GetAnnotationsByType", { + types, + pageIndexesToSkip + }); + } + getDocJSActions() { + return this.#cacheSimpleMethod("GetDocJSActions"); + } + getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex: this.pagesMapper.getPageId(pageIndex + 1) - 1 + }); + } + getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex: this.pagesMapper.getPageId(pageIndex + 1) - 1 + }); + } + getOutline() { + return this.messageHandler.sendWithPromise("GetOutline", null); + } + getOptionalContentConfig(renderingIntent) { + return this.#cacheSimpleMethod("GetOptionalContentConfig").then(data => new OptionalContentConfig(data, renderingIntent)); + } + getPermissions() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + getMetadata() { + const name = "GetMetadata"; + return this.#methodPromises.getOrInsertComputed(name, () => this.messageHandler.sendWithPromise(name, null).then(results => ({ + info: results[0], + metadata: results[1] ? new Metadata(results[1]) : null, + contentDispositionFilename: this.#fullReader?.filename ?? null, + contentLength: this.#fullReader?.contentLength ?? null, + hasStructTree: results[2] + }))); + } + getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + async startCleanup(keepLoadedFonts = false) { + if (this.destroyed) { + return; + } + await this.messageHandler.sendWithPromise("Cleanup", null); + for (const page of this.#pageCache.values()) { + const cleanupSuccessful = page.cleanup(); + if (!cleanupSuccessful) { + throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`); + } + } + this.commonObjs.clear(); + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + this.#methodPromises.clear(); + this.filterFactory.destroy(true); + TextLayer.cleanup(); + } + cachedPageNumber(ref) { + if (!isRefProxy(ref)) { + return null; + } + const refStr = ref.gen === 0 ? `${ref.num}R` : `${ref.num}R${ref.gen}`; + const pageIndex = this.#pageRefCache.get(refStr); + if (pageIndex >= 0) { + const pageNumber = this.pagesMapper.getPageNumber(pageIndex + 1); + if (pageNumber !== 0) { + return pageNumber; + } + } + return null; + } +} +class RenderTask { + _internalRenderTask = null; + onContinue = null; + onError = null; + constructor(internalRenderTask) { + this._internalRenderTask = internalRenderTask; + } + get promise() { + return this._internalRenderTask.capability.promise; + } + cancel(extraDelay = 0) { + this._internalRenderTask.cancel(null, extraDelay); + } + get separateAnnots() { + const { + separateAnnots + } = this._internalRenderTask.operatorList; + if (!separateAnnots) { + return false; + } + const { + annotationCanvasMap + } = this._internalRenderTask; + return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0; + } +} +class InternalRenderTask { + #rAF = null; + static #canvasInUse = new WeakSet(); + constructor({ + callback, + params, + objs, + commonObjs, + annotationCanvasMap, + operatorList, + pageIndex, + canvasFactory, + filterFactory, + useRequestAnimationFrame = false, + pdfBug = false, + pageColors = null, + enableHWA = false, + operationsFilter = null + }) { + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.annotationCanvasMap = annotationCanvasMap; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this.filterFactory = filterFactory; + this._pdfBug = pdfBug; + this.pageColors = pageColors; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = Promise.withResolvers(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvas; + this._canvasContext = params.canvas ? null : params.canvasContext; + this._enableHWA = enableHWA; + this._dependencyTracker = params.dependencyTracker; + this._operationsFilter = operationsFilter; + } + get completed() { + return this.capability.promise.catch(function () {}); + } + initializeGraphics({ + transparency = false, + optionalContentConfig + }) { + if (this.cancelled) { + return; + } + if (this._canvas) { + if (InternalRenderTask.#canvasInUse.has(this._canvas)) { + throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); + } + InternalRenderTask.#canvasInUse.add(this._canvas); + } + if (this._pdfBug && globalThis.StepperManager?.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + const { + viewport, + transform, + background, + dependencyTracker + } = this.params; + const canvasContext = this._canvasContext || this._canvas.getContext("2d", { + alpha: false, + willReadFrequently: !this._enableHWA + }); + this.gfx = new CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, { + optionalContentConfig + }, this.annotationCanvasMap, this.pageColors, dependencyTracker); + this.gfx.beginDrawing({ + transform, + viewport, + transparency, + background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + this.graphicsReadyCallback?.(); + } + cancel(error = null, extraDelay = 0) { + this.running = false; + this.cancelled = true; + this.gfx?.endDrawing(); + if (this.#rAF) { + window.cancelAnimationFrame(this.#rAF); + this.#rAF = null; + } + InternalRenderTask.#canvasInUse.delete(this._canvas); + error ||= new RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay); + this.callback(error); + this.task.onError?.(error); + } + operatorListChanged() { + if (!this.graphicsReady) { + this.graphicsReadyCallback ||= this._continueBound; + return; + } + this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length); + this.stepper?.updateOperatorList(this.operatorList); + if (this.running) { + return; + } + this._continue(); + } + _continue() { + this.running = true; + if (this.cancelled) { + return; + } + if (this.task.onContinue) { + this.task.onContinue(this._scheduleNextBound); + } else { + this._scheduleNext(); + } + } + _scheduleNext() { + if (this._useRequestAnimationFrame) { + this.#rAF = window.requestAnimationFrame(() => { + this.#rAF = null; + this._nextBound().catch(this._cancelBound); + }); + } else { + Promise.resolve().then(this._nextBound).catch(this._cancelBound); + } + } + async _next() { + if (this.cancelled) { + return; + } + this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper, this._operationsFilter); + if (this.operatorListIdx === this.operatorList.argsArray.length) { + this.running = false; + if (this.operatorList.lastChunk) { + this.gfx.endDrawing(); + InternalRenderTask.#canvasInUse.delete(this._canvas); + this.callback(); + } + } + } +} +const version = "5.5.207"; +const build = "527964698"; + +;// ./src/display/editor/color_picker.js + + + +class ColorPicker { + #button = null; + #buttonSwatch = null; + #defaultColor; + #dropdown = null; + #dropdownWasFromKeyboard = false; + #isMainColorPicker = false; + #editor = null; + #eventBus; + #openDropdownAC = null; + #uiManager = null; + static #l10nColor = null; + static get _keyboardManager() { + return shadow(this, "_keyboardManager", new KeyboardManager([[["Escape", "mac+Escape"], ColorPicker.prototype._hideDropdownFromKeyboard], [[" ", "mac+ "], ColorPicker.prototype._colorSelectFromKeyboard], [["ArrowDown", "ArrowRight", "mac+ArrowDown", "mac+ArrowRight"], ColorPicker.prototype._moveToNext], [["ArrowUp", "ArrowLeft", "mac+ArrowUp", "mac+ArrowLeft"], ColorPicker.prototype._moveToPrevious], [["Home", "mac+Home"], ColorPicker.prototype._moveToBeginning], [["End", "mac+End"], ColorPicker.prototype._moveToEnd]])); + } + constructor({ + editor = null, + uiManager = null + }) { + if (editor) { + this.#isMainColorPicker = false; + this.#editor = editor; + } else { + this.#isMainColorPicker = true; + } + this.#uiManager = editor?._uiManager || uiManager; + this.#eventBus = this.#uiManager._eventBus; + this.#defaultColor = editor?.color?.toUpperCase() || this.#uiManager?.highlightColors.values().next().value || "#FFFF98"; + ColorPicker.#l10nColor ||= Object.freeze({ + blue: "pdfjs-editor-colorpicker-blue", + green: "pdfjs-editor-colorpicker-green", + pink: "pdfjs-editor-colorpicker-pink", + red: "pdfjs-editor-colorpicker-red", + yellow: "pdfjs-editor-colorpicker-yellow" + }); + } + renderButton() { + const button = this.#button = document.createElement("button"); + button.className = "colorPicker"; + button.tabIndex = "0"; + button.setAttribute("data-l10n-id", "pdfjs-editor-colorpicker-button"); + button.ariaHasPopup = "true"; + if (this.#editor) { + button.ariaControls = `${this.#editor.id}_colorpicker_dropdown`; + } + const signal = this.#uiManager._signal; + button.addEventListener("click", this.#openDropdown.bind(this), { + signal + }); + button.addEventListener("keydown", this.#keyDown.bind(this), { + signal + }); + const swatch = this.#buttonSwatch = document.createElement("span"); + swatch.className = "swatch"; + swatch.ariaHidden = "true"; + swatch.style.backgroundColor = this.#defaultColor; + button.append(swatch); + return button; + } + renderMainDropdown() { + const dropdown = this.#dropdown = this.#getDropdownRoot(); + dropdown.ariaOrientation = "horizontal"; + dropdown.ariaLabelledBy = "highlightColorPickerLabel"; + return dropdown; + } + #getDropdownRoot() { + const div = document.createElement("div"); + const signal = this.#uiManager._signal; + div.addEventListener("contextmenu", noContextMenu, { + signal + }); + div.className = "dropdown"; + div.role = "listbox"; + div.ariaMultiSelectable = "false"; + div.ariaOrientation = "vertical"; + div.setAttribute("data-l10n-id", "pdfjs-editor-colorpicker-dropdown"); + if (this.#editor) { + div.id = `${this.#editor.id}_colorpicker_dropdown`; + } + for (const [name, color] of this.#uiManager.highlightColors) { + const button = document.createElement("button"); + button.tabIndex = "0"; + button.role = "option"; + button.setAttribute("data-color", color); + button.title = name; + button.setAttribute("data-l10n-id", ColorPicker.#l10nColor[name]); + const swatch = document.createElement("span"); + button.append(swatch); + swatch.className = "swatch"; + swatch.style.backgroundColor = color; + button.ariaSelected = color === this.#defaultColor; + button.addEventListener("click", this.#colorSelect.bind(this, color), { + signal + }); + div.append(button); + } + div.addEventListener("keydown", this.#keyDown.bind(this), { + signal + }); + return div; + } + #colorSelect(color, event) { + event.stopPropagation(); + this.#eventBus.dispatch("switchannotationeditorparams", { + source: this, + type: AnnotationEditorParamsType.HIGHLIGHT_COLOR, + value: color + }); + this.updateColor(color); + } + _colorSelectFromKeyboard(event) { + if (event.target === this.#button) { + this.#openDropdown(event); + return; + } + const color = event.target.getAttribute("data-color"); + if (!color) { + return; + } + this.#colorSelect(color, event); + } + _moveToNext(event) { + if (!this.#isDropdownVisible) { + this.#openDropdown(event); + return; + } + if (event.target === this.#button) { + this.#dropdown.firstElementChild?.focus(); + return; + } + event.target.nextSibling?.focus(); + } + _moveToPrevious(event) { + if (event.target === this.#dropdown?.firstElementChild || event.target === this.#button) { + if (this.#isDropdownVisible) { + this._hideDropdownFromKeyboard(); + } + return; + } + if (!this.#isDropdownVisible) { + this.#openDropdown(event); + } + event.target.previousSibling?.focus(); + } + _moveToBeginning(event) { + if (!this.#isDropdownVisible) { + this.#openDropdown(event); + return; + } + this.#dropdown.firstElementChild?.focus(); + } + _moveToEnd(event) { + if (!this.#isDropdownVisible) { + this.#openDropdown(event); + return; + } + this.#dropdown.lastElementChild?.focus(); + } + #keyDown(event) { + ColorPicker._keyboardManager.exec(this, event); + } + #openDropdown(event) { + if (this.#isDropdownVisible) { + this.hideDropdown(); + return; + } + this.#dropdownWasFromKeyboard = event.detail === 0; + if (!this.#openDropdownAC) { + this.#openDropdownAC = new AbortController(); + window.addEventListener("pointerdown", this.#pointerDown.bind(this), { + signal: this.#uiManager.combinedSignal(this.#openDropdownAC) + }); + } + this.#button.ariaExpanded = "true"; + if (this.#dropdown) { + this.#dropdown.classList.remove("hidden"); + return; + } + const root = this.#dropdown = this.#getDropdownRoot(); + this.#button.append(root); + } + #pointerDown(event) { + if (this.#dropdown?.contains(event.target)) { + return; + } + this.hideDropdown(); + } + hideDropdown() { + this.#dropdown?.classList.add("hidden"); + this.#button.ariaExpanded = "false"; + this.#openDropdownAC?.abort(); + this.#openDropdownAC = null; + } + get #isDropdownVisible() { + return this.#dropdown && !this.#dropdown.classList.contains("hidden"); + } + _hideDropdownFromKeyboard() { + if (this.#isMainColorPicker) { + return; + } + if (!this.#isDropdownVisible) { + this.#editor?.unselect(); + return; + } + this.hideDropdown(); + this.#button.focus({ + preventScroll: true, + focusVisible: this.#dropdownWasFromKeyboard + }); + } + updateColor(color) { + if (this.#buttonSwatch) { + this.#buttonSwatch.style.backgroundColor = color; + } + if (!this.#dropdown) { + return; + } + const i = this.#uiManager.highlightColors.values(); + for (const child of this.#dropdown.children) { + child.ariaSelected = i.next().value === color.toUpperCase(); + } + } + destroy() { + this.#button?.remove(); + this.#button = null; + this.#buttonSwatch = null; + this.#dropdown?.remove(); + this.#dropdown = null; + } +} +class BasicColorPicker { + #input = null; + #editor = null; + #uiManager = null; + static #l10nColor = null; + constructor(editor) { + this.#editor = editor; + this.#uiManager = editor._uiManager; + BasicColorPicker.#l10nColor ||= Object.freeze({ + freetext: "pdfjs-editor-color-picker-free-text-input", + ink: "pdfjs-editor-color-picker-ink-input" + }); + } + renderButton() { + if (this.#input) { + return this.#input; + } + const { + editorType, + colorType, + color + } = this.#editor; + const input = this.#input = document.createElement("input"); + input.type = "color"; + input.value = color || "#000000"; + input.className = "basicColorPicker"; + input.tabIndex = 0; + input.setAttribute("data-l10n-id", BasicColorPicker.#l10nColor[editorType]); + input.addEventListener("input", () => { + this.#uiManager.updateParams(colorType, input.value); + }, { + signal: this.#uiManager._signal + }); + return input; + } + update(value) { + if (!this.#input) { + return; + } + this.#input.value = value; + } + destroy() { + this.#input?.remove(); + this.#input = null; + } + hideDropdown() {} +} + +;// ./src/shared/scripting_utils.js +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} +function scaleAndClamp(x) { + return Math.max(0, Math.min(255, 255 * x)); +} +class ColorConverters { + static CMYK_G([c, y, m, k]) { + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + static G_CMYK([g]) { + return ["CMYK", 0, 0, 0, 1 - g]; + } + static G_RGB([g]) { + return ["RGB", g, g, g]; + } + static G_rgb([g]) { + g = scaleAndClamp(g); + return [g, g, g]; + } + static G_HTML([g]) { + const G = makeColorComp(g); + return `#${G}${G}${G}`; + } + static RGB_G([r, g, b]) { + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + static RGB_rgb(color) { + return color.map(scaleAndClamp); + } + static RGB_HTML(color) { + return `#${color.map(makeColorComp).join("")}`; + } + static T_HTML() { + return "#00000000"; + } + static T_rgb() { + return [null]; + } + static CMYK_RGB([c, y, m, k]) { + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + static CMYK_rgb([c, y, m, k]) { + return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))]; + } + static CMYK_HTML(components) { + const rgb = this.CMYK_RGB(components).slice(1); + return this.RGB_HTML(rgb); + } + static RGB_CMYK([r, g, b]) { + const c = 1 - r; + const m = 1 - g; + const y = 1 - b; + const k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } +} +const DateFormats = (/* unused pure expression or super */ null && (["m/d", "m/d/yy", "mm/dd/yy", "mm/yy", "d-mmm", "d-mmm-yy", "dd-mmm-yy", "yy-mm-dd", "mmm-yy", "mmmm-yy", "mmm d, yyyy", "mmmm d, yyyy", "m/d/yy h:MM tt", "m/d/yy HH:MM"])); +const TimeFormats = (/* unused pure expression or super */ null && (["HH:MM", "h:MM tt", "HH:MM:ss", "h:MM:ss tt"])); + +;// ./src/display/svg_factory.js + + +class BaseSVGFactory { + create(width, height, skipDimensions = false) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid SVG dimensions"); + } + const svg = this._createSVG("svg:svg"); + svg.setAttribute("version", "1.1"); + if (!skipDimensions) { + svg.setAttribute("width", `${width}px`); + svg.setAttribute("height", `${height}px`); + } + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("viewBox", `0 0 ${width} ${height}`); + return svg; + } + createElement(type) { + if (typeof type !== "string") { + throw new Error("Invalid SVG element type"); + } + return this._createSVG(type); + } + _createSVG(type) { + unreachable("Abstract method `_createSVG` called."); + } +} +class DOMSVGFactory extends BaseSVGFactory { + _createSVG(type) { + return document.createElementNS(SVG_NS, type); + } +} + +;// ./src/display/annotation_layer.js + + + + + +const annotation_layer_DEFAULT_FONT_SIZE = 9; +const GetElementsByNameSet = new WeakSet(); +const TIMEZONE_OFFSET = new Date().getTimezoneOffset() * 60 * 1000; +class AnnotationElementFactory { + static create(parameters) { + const subtype = parameters.data.annotationType; + switch (subtype) { + case AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + case AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + case AnnotationType.WIDGET: + const fieldType = parameters.data.fieldType; + switch (fieldType) { + case "Tx": + return new TextWidgetAnnotationElement(parameters); + case "Btn": + if (parameters.data.radioButton) { + return new RadioButtonWidgetAnnotationElement(parameters); + } else if (parameters.data.checkBox) { + return new CheckboxWidgetAnnotationElement(parameters); + } + return new PushButtonWidgetAnnotationElement(parameters); + case "Ch": + return new ChoiceWidgetAnnotationElement(parameters); + case "Sig": + return new SignatureWidgetAnnotationElement(parameters); + } + return new WidgetAnnotationElement(parameters); + case AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + case AnnotationType.FREETEXT: + return new FreeTextAnnotationElement(parameters); + case AnnotationType.LINE: + return new LineAnnotationElement(parameters); + case AnnotationType.SQUARE: + return new SquareAnnotationElement(parameters); + case AnnotationType.CIRCLE: + return new CircleAnnotationElement(parameters); + case AnnotationType.POLYLINE: + return new PolylineAnnotationElement(parameters); + case AnnotationType.CARET: + return new CaretAnnotationElement(parameters); + case AnnotationType.INK: + return new InkAnnotationElement(parameters); + case AnnotationType.POLYGON: + return new PolygonAnnotationElement(parameters); + case AnnotationType.HIGHLIGHT: + return new HighlightAnnotationElement(parameters); + case AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + case AnnotationType.SQUIGGLY: + return new SquigglyAnnotationElement(parameters); + case AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + case AnnotationType.STAMP: + return new StampAnnotationElement(parameters); + case AnnotationType.FILEATTACHMENT: + return new FileAttachmentAnnotationElement(parameters); + default: + return new AnnotationElement(parameters); + } + } +} +class AnnotationElement { + #updates = null; + #hasBorder = false; + #popupElement = null; + constructor(parameters, { + isRenderable = false, + ignoreBorder = false, + createQuadrilaterals = false + } = {}) { + this.isRenderable = isRenderable; + this.data = parameters.data; + this.layer = parameters.layer; + this.linkService = parameters.linkService; + this.downloadManager = parameters.downloadManager; + this.imageResourcesPath = parameters.imageResourcesPath; + this.renderForms = parameters.renderForms; + this.svgFactory = parameters.svgFactory; + this.annotationStorage = parameters.annotationStorage; + this.enableComment = parameters.enableComment; + this.enableScripting = parameters.enableScripting; + this.hasJSActions = parameters.hasJSActions; + this._fieldObjects = parameters.fieldObjects; + this.parent = parameters.parent; + this.hasOwnCommentButton = false; + if (isRenderable) { + this.contentElement = this.container = this._createContainer(ignoreBorder); + } + if (createQuadrilaterals) { + this._createQuadrilaterals(); + } + } + static _hasPopupData({ + contentsObj, + richText + }) { + return !!(contentsObj?.str || richText?.str); + } + get _isEditable() { + return this.data.isEditable; + } + get hasPopupData() { + return AnnotationElement._hasPopupData(this.data) || this.enableComment && !!this.commentText; + } + get commentData() { + const { + data + } = this; + const editor = this.annotationStorage?.getEditor(data.id); + if (editor) { + return editor.getData(); + } + return data; + } + get hasCommentButton() { + return this.enableComment && this.hasPopupElement; + } + get commentButtonPosition() { + const editor = this.annotationStorage?.getEditor(this.data.id); + if (editor) { + return editor.commentButtonPositionInPage; + } + const { + quadPoints, + inkLists, + rect + } = this.data; + let maxX = -Infinity; + let maxY = -Infinity; + if (quadPoints?.length >= 8) { + for (let i = 0; i < quadPoints.length; i += 8) { + if (quadPoints[i + 1] > maxY) { + maxY = quadPoints[i + 1]; + maxX = quadPoints[i + 2]; + } else if (quadPoints[i + 1] === maxY) { + maxX = Math.max(maxX, quadPoints[i + 2]); + } + } + return [maxX, maxY]; + } + if (inkLists?.length >= 1) { + for (const inkList of inkLists) { + for (let i = 0, ii = inkList.length; i < ii; i += 2) { + if (inkList[i + 1] > maxY) { + maxY = inkList[i + 1]; + maxX = inkList[i]; + } else if (inkList[i + 1] === maxY) { + maxX = Math.max(maxX, inkList[i]); + } + } + } + if (maxX !== Infinity) { + return [maxX, maxY]; + } + } + if (rect) { + return [rect[2], rect[3]]; + } + return null; + } + _normalizePoint(point) { + const { + page: { + view + }, + viewport: { + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } + } = this.parent; + point[1] = view[3] - point[1] + view[1]; + point[0] = 100 * (point[0] - pageX) / pageWidth; + point[1] = 100 * (point[1] - pageY) / pageHeight; + return point; + } + get commentText() { + const { + data + } = this; + return this.annotationStorage.getRawValue(`${AnnotationEditorPrefix}${data.id}`)?.popup?.contents || data.contentsObj?.str || ""; + } + set commentText(text) { + const { + data + } = this; + const popup = { + deleted: !text, + contents: text || "" + }; + if (!this.annotationStorage.updateEditor(data.id, { + popup + })) { + this.annotationStorage.setValue(`${AnnotationEditorPrefix}${data.id}`, { + id: data.id, + annotationType: data.annotationType, + page: this.parent.page, + popup, + popupRef: data.popupRef, + modificationDate: new Date() + }); + } + if (!text) { + this.removePopup(); + } + } + removePopup() { + (this.#popupElement?.popup || this.popup)?.remove(); + this.#popupElement = this.popup = null; + } + updateEdited(params) { + if (!this.container) { + return; + } + if (params.rect) { + this.#updates ||= { + rect: this.data.rect.slice(0) + }; + } + const { + rect, + popup: newPopup + } = params; + if (rect) { + this.#setRectEdited(rect); + } + let popup = this.#popupElement?.popup || this.popup; + if (!popup && newPopup?.text) { + this._createPopup(newPopup); + popup = this.#popupElement.popup; + } + if (!popup) { + return; + } + popup.updateEdited(params); + if (newPopup?.deleted) { + popup.remove(); + this.#popupElement = null; + this.popup = null; + } + } + resetEdited() { + if (!this.#updates) { + return; + } + this.#setRectEdited(this.#updates.rect); + this.#popupElement?.popup.resetEdited(); + this.#updates = null; + } + #setRectEdited(rect) { + const { + container: { + style + }, + data: { + rect: currentRect, + rotation + }, + parent: { + viewport: { + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } + } + } = this; + currentRect?.splice(0, 4, ...rect); + style.left = `${100 * (rect[0] - pageX) / pageWidth}%`; + style.top = `${100 * (pageHeight - rect[3] + pageY) / pageHeight}%`; + if (rotation === 0) { + style.width = `${100 * (rect[2] - rect[0]) / pageWidth}%`; + style.height = `${100 * (rect[3] - rect[1]) / pageHeight}%`; + } else { + this.setRotation(rotation); + } + } + _createContainer(ignoreBorder) { + const { + data, + parent: { + page, + viewport + } + } = this; + const container = document.createElement("section"); + container.setAttribute("data-annotation-id", data.id); + if (!(this instanceof WidgetAnnotationElement) && !(this instanceof LinkAnnotationElement)) { + container.tabIndex = 0; + } + const { + style + } = container; + style.zIndex = this.parent.zIndex; + this.parent.zIndex += 2; + if (data.alternativeText) { + container.title = data.alternativeText; + } + if (data.noRotate) { + container.classList.add("norotate"); + } + if (!data.rect || this instanceof PopupAnnotationElement) { + const { + rotation + } = data; + if (!data.hasOwnCanvas && rotation !== 0) { + this.setRotation(rotation, container); + } + return container; + } + const { + width, + height + } = this; + if (!ignoreBorder && data.borderStyle.width > 0) { + style.borderWidth = `${data.borderStyle.width}px`; + const horizontalRadius = data.borderStyle.horizontalCornerRadius; + const verticalRadius = data.borderStyle.verticalCornerRadius; + if (horizontalRadius > 0 || verticalRadius > 0) { + const radius = `calc(${horizontalRadius}px * var(--total-scale-factor)) / calc(${verticalRadius}px * var(--total-scale-factor))`; + style.borderRadius = radius; + } else if (this instanceof RadioButtonWidgetAnnotationElement) { + const radius = `calc(${width}px * var(--total-scale-factor)) / calc(${height}px * var(--total-scale-factor))`; + style.borderRadius = radius; + } + switch (data.borderStyle.style) { + case AnnotationBorderStyleType.SOLID: + style.borderStyle = "solid"; + break; + case AnnotationBorderStyleType.DASHED: + style.borderStyle = "dashed"; + break; + case AnnotationBorderStyleType.BEVELED: + warn("Unimplemented border style: beveled"); + break; + case AnnotationBorderStyleType.INSET: + warn("Unimplemented border style: inset"); + break; + case AnnotationBorderStyleType.UNDERLINE: + style.borderBottomStyle = "solid"; + break; + default: + break; + } + const borderColor = data.borderColor || null; + if (borderColor) { + this.#hasBorder = true; + style.borderColor = Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0); + } else { + style.borderWidth = 0; + } + } + const rect = Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + const { + pageWidth, + pageHeight, + pageX, + pageY + } = viewport.rawDims; + style.left = `${100 * (rect[0] - pageX) / pageWidth}%`; + style.top = `${100 * (rect[1] - pageY) / pageHeight}%`; + const { + rotation + } = data; + if (data.hasOwnCanvas || rotation === 0) { + style.width = `${100 * width / pageWidth}%`; + style.height = `${100 * height / pageHeight}%`; + } else { + this.setRotation(rotation, container); + } + return container; + } + setRotation(angle, container = this.container) { + if (!this.data.rect) { + return; + } + const { + pageWidth, + pageHeight + } = this.parent.viewport.rawDims; + let { + width, + height + } = this; + if (angle % 180 !== 0) { + [width, height] = [height, width]; + } + container.style.width = `${100 * width / pageWidth}%`; + container.style.height = `${100 * height / pageHeight}%`; + container.setAttribute("data-main-rotation", (360 - angle) % 360); + } + get _commonActions() { + const setColor = (jsName, styleName, event) => { + const color = event.detail[jsName]; + const colorType = color[0]; + const colorArray = color.slice(1); + event.target.style[styleName] = ColorConverters[`${colorType}_HTML`](colorArray); + this.annotationStorage.setValue(this.data.id, { + [styleName]: ColorConverters[`${colorType}_rgb`](colorArray) + }); + }; + return shadow(this, "_commonActions", { + display: event => { + const { + display + } = event.detail; + const hidden = display % 2 === 1; + this.container.style.visibility = hidden ? "hidden" : "visible"; + this.annotationStorage.setValue(this.data.id, { + noView: hidden, + noPrint: display === 1 || display === 2 + }); + }, + print: event => { + this.annotationStorage.setValue(this.data.id, { + noPrint: !event.detail.print + }); + }, + hidden: event => { + const { + hidden + } = event.detail; + this.container.style.visibility = hidden ? "hidden" : "visible"; + this.annotationStorage.setValue(this.data.id, { + noPrint: hidden, + noView: hidden + }); + }, + focus: event => { + setTimeout(() => event.target.focus({ + preventScroll: false + }), 0); + }, + userName: event => { + event.target.title = event.detail.userName; + }, + readonly: event => { + event.target.disabled = event.detail.readonly; + }, + required: event => { + this._setRequired(event.target, event.detail.required); + }, + bgColor: event => { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: event => { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: event => { + setColor("fgColor", "color", event); + }, + textColor: event => { + setColor("textColor", "color", event); + }, + borderColor: event => { + setColor("borderColor", "borderColor", event); + }, + strokeColor: event => { + setColor("strokeColor", "borderColor", event); + }, + rotation: event => { + const angle = event.detail.rotation; + this.setRotation(angle); + this.annotationStorage.setValue(this.data.id, { + rotation: angle + }); + } + }); + } + _dispatchEventFromSandbox(actions, jsEvent) { + const commonActions = this._commonActions; + for (const name of Object.keys(jsEvent.detail)) { + const action = actions[name] || commonActions[name]; + action?.(jsEvent); + } + } + _setDefaultPropertiesFromJS(element) { + if (!this.enableScripting) { + return; + } + const storedData = this.annotationStorage.getRawValue(this.data.id); + if (!storedData) { + return; + } + const commonActions = this._commonActions; + for (const [actionName, detail] of Object.entries(storedData)) { + const action = commonActions[actionName]; + if (action) { + const eventProxy = { + detail: { + [actionName]: detail + }, + target: element + }; + action(eventProxy); + delete storedData[actionName]; + } + } + } + _createQuadrilaterals() { + if (!this.container) { + return; + } + const { + quadPoints + } = this.data; + if (!quadPoints) { + return; + } + const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect.map(x => Math.fround(x)); + if (quadPoints.length === 8) { + const [trX, trY, blX, blY] = quadPoints.subarray(2, 6); + if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) { + return; + } + } + const { + style + } = this.container; + let svgBuffer; + if (this.#hasBorder) { + const { + borderColor, + borderWidth + } = style; + style.borderWidth = 0; + svgBuffer = ["url('data:image/svg+xml;utf8,", `<svg xmlns="http://www.w3.org/2000/svg"`, ` preserveAspectRatio="none" viewBox="0 0 1 1">`, `<g fill="transparent" stroke="${borderColor}" stroke-width="${borderWidth}">`]; + this.container.classList.add("hasBorder"); + } + const width = rectTrX - rectBlX; + const height = rectTrY - rectBlY; + const { + svgFactory + } = this; + const svg = svgFactory.createElement("svg"); + svg.classList.add("quadrilateralsContainer"); + svg.setAttribute("width", 0); + svg.setAttribute("height", 0); + svg.role = "none"; + const defs = svgFactory.createElement("defs"); + svg.append(defs); + const clipPath = svgFactory.createElement("clipPath"); + const id = `clippath_${this.data.id}`; + clipPath.setAttribute("id", id); + clipPath.setAttribute("clipPathUnits", "objectBoundingBox"); + defs.append(clipPath); + for (let i = 2, ii = quadPoints.length; i < ii; i += 8) { + const trX = quadPoints[i]; + const trY = quadPoints[i + 1]; + const blX = quadPoints[i + 2]; + const blY = quadPoints[i + 3]; + const rect = svgFactory.createElement("rect"); + const x = (blX - rectBlX) / width; + const y = (rectTrY - trY) / height; + const rectWidth = (trX - blX) / width; + const rectHeight = (trY - blY) / height; + rect.setAttribute("x", x); + rect.setAttribute("y", y); + rect.setAttribute("width", rectWidth); + rect.setAttribute("height", rectHeight); + clipPath.append(rect); + svgBuffer?.push(`<rect vector-effect="non-scaling-stroke" x="${x}" y="${y}" width="${rectWidth}" height="${rectHeight}"/>`); + } + if (this.#hasBorder) { + svgBuffer.push(`</g></svg>')`); + style.backgroundImage = svgBuffer.join(""); + } + this.container.append(svg); + this.container.style.clipPath = `url(#${id})`; + } + _createPopup(popupData = null) { + const { + data + } = this; + let contentsObj, modificationDate; + if (popupData) { + contentsObj = { + str: popupData.text + }; + modificationDate = popupData.date; + } else { + contentsObj = data.contentsObj; + modificationDate = data.modificationDate; + } + this.#popupElement = new PopupAnnotationElement({ + data: { + color: data.color, + titleObj: data.titleObj, + modificationDate, + contentsObj, + richText: data.richText, + parentRect: data.rect, + borderStyle: 0, + id: `popup_${data.id}`, + rotation: data.rotation, + noRotate: true + }, + linkService: this.linkService, + parent: this.parent, + elements: [this] + }); + } + get hasPopupElement() { + return !!(this.#popupElement || this.popup || this.data.popupRef); + } + get extraPopupElement() { + return this.#popupElement; + } + render() { + unreachable("Abstract method `AnnotationElement.render` called"); + } + _getElementsByName(name, skipId = null) { + const fields = []; + if (this._fieldObjects) { + const fieldObj = this._fieldObjects[name]; + if (fieldObj) { + for (const { + page, + id, + exportValues + } of fieldObj) { + if (page === -1) { + continue; + } + if (id === skipId) { + continue; + } + const exportValue = typeof exportValues === "string" ? exportValues : null; + const domElement = document.querySelector(`[data-element-id="${id}"]`); + if (domElement && !GetElementsByNameSet.has(domElement)) { + warn(`_getElementsByName - element not allowed: ${id}`); + continue; + } + fields.push({ + id, + exportValue, + domElement + }); + } + } + return fields; + } + for (const domElement of document.getElementsByName(name)) { + const { + exportValue + } = domElement; + const id = domElement.getAttribute("data-element-id"); + if (id === skipId) { + continue; + } + if (!GetElementsByNameSet.has(domElement)) { + continue; + } + fields.push({ + id, + exportValue, + domElement + }); + } + return fields; + } + show() { + if (this.container) { + this.container.hidden = false; + } + this.popup?.maybeShow(); + } + hide() { + if (this.container) { + this.container.hidden = true; + } + this.popup?.forceHide(); + } + getElementsToTriggerPopup() { + return this.container; + } + addHighlightArea() { + const triggers = this.getElementsToTriggerPopup(); + if (Array.isArray(triggers)) { + for (const element of triggers) { + element.classList.add("highlightArea"); + } + } else { + triggers.classList.add("highlightArea"); + } + } + _editOnDoubleClick() { + if (!this._isEditable) { + return; + } + const { + annotationEditorType: mode, + data: { + id: editId + } + } = this; + this.container.addEventListener("dblclick", () => { + this.linkService.eventBus?.dispatch("switchannotationeditormode", { + source: this, + mode, + editId, + mustEnterInEditMode: true + }); + }); + } + get width() { + return this.data.rect[2] - this.data.rect[0]; + } + get height() { + return this.data.rect[3] - this.data.rect[1]; + } +} +class EditorAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.editor = parameters.editor; + } + render() { + this.container.className = "editorAnnotation"; + return this.container; + } + createOrUpdatePopup() { + const { + editor + } = this; + if (!editor.hasComment) { + return; + } + this._createPopup(editor.comment); + } + get hasCommentButton() { + return this.enableComment && this.editor.hasComment; + } + get commentButtonPosition() { + return this.editor.commentButtonPositionInPage; + } + get commentText() { + return this.editor.comment.text; + } + set commentText(text) { + this.editor.comment = text; + if (!text) { + this.removePopup(); + } + } + get commentData() { + return this.editor.getData(); + } + remove() { + this.parent.removeAnnotation(this.data.id); + this.container.remove(); + this.container = null; + this.removePopup(); + } +} +class LinkAnnotationElement extends AnnotationElement { + constructor(parameters, options = null) { + super(parameters, { + isRenderable: true, + ignoreBorder: !!options?.ignoreBorder, + createQuadrilaterals: true + }); + this.isTooltipOnly = parameters.data.isTooltipOnly; + } + render() { + const { + data, + linkService + } = this; + const link = document.createElement("a"); + link.setAttribute("data-element-id", data.id); + let isBound = false; + if (data.url) { + linkService.addLinkAttributes(link, data.url, data.newWindow); + isBound = true; + } else if (data.action) { + this._bindNamedAction(link, data.action, data.overlaidText); + isBound = true; + } else if (data.attachment) { + this.#bindAttachment(link, data.attachment, data.overlaidText, data.attachmentDest); + isBound = true; + } else if (data.setOCGState) { + this.#bindSetOCGState(link, data.setOCGState, data.overlaidText); + isBound = true; + } else if (data.dest) { + this._bindLink(link, data.dest, data.overlaidText); + isBound = true; + } else { + if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { + this._bindJSAction(link, data); + isBound = true; + } + if (data.resetForm) { + this._bindResetFormAction(link, data.resetForm); + isBound = true; + } else if (this.isTooltipOnly && !isBound) { + this._bindLink(link, ""); + isBound = true; + } + } + this.container.classList.add("linkAnnotation"); + if (isBound) { + this.contentElement = link; + this.container.append(link); + } + return this.container; + } + #setInternalLink() { + this.container.setAttribute("data-internal-link", ""); + } + _bindLink(link, destination, overlaidText = "") { + link.href = this.linkService.getDestinationHash(destination); + link.onclick = () => { + if (destination) { + this.linkService.goToDestination(destination); + } + return false; + }; + if (destination || destination === "") { + this.#setInternalLink(); + } + if (overlaidText) { + link.title = overlaidText; + } + } + _bindNamedAction(link, action, overlaidText = "") { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.linkService.executeNamedAction(action); + return false; + }; + if (overlaidText) { + link.title = overlaidText; + } + this.#setInternalLink(); + } + #bindAttachment(link, attachment, overlaidText = "", dest = null) { + link.href = this.linkService.getAnchorUrl(""); + if (attachment.description) { + link.title = attachment.description; + } else if (overlaidText) { + link.title = overlaidText; + } + link.onclick = () => { + this.downloadManager?.openOrDownloadData(attachment.content, attachment.filename, dest); + return false; + }; + this.#setInternalLink(); + } + #bindSetOCGState(link, action, overlaidText = "") { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.linkService.executeSetOCGState(action); + return false; + }; + if (overlaidText) { + link.title = overlaidText; + } + this.#setInternalLink(); + } + _bindJSAction(link, data) { + link.href = this.linkService.getAnchorUrl(""); + const map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + for (const name of Object.keys(data.actions)) { + const jsName = map.get(name); + if (!jsName) { + continue; + } + link[jsName] = () => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: data.id, + name + } + }); + return false; + }; + } + if (data.overlaidText) { + link.title = data.overlaidText; + } + if (!link.onclick) { + link.onclick = () => false; + } + this.#setInternalLink(); + } + _bindResetFormAction(link, resetForm) { + const otherClickAction = link.onclick; + if (!otherClickAction) { + link.href = this.linkService.getAnchorUrl(""); + } + this.#setInternalLink(); + if (!this._fieldObjects) { + warn(`_bindResetFormAction - "resetForm" action not supported, ` + "ensure that the `fieldObjects` parameter is provided."); + if (!otherClickAction) { + link.onclick = () => false; + } + return; + } + link.onclick = () => { + otherClickAction?.(); + const { + fields: resetFormFields, + refs: resetFormRefs, + include + } = resetForm; + const allFields = []; + if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { + const fieldIds = new Set(resetFormRefs); + for (const fieldName of resetFormFields) { + const fields = this._fieldObjects[fieldName] || []; + for (const { + id + } of fields) { + fieldIds.add(id); + } + } + for (const fields of Object.values(this._fieldObjects)) { + for (const field of fields) { + if (fieldIds.has(field.id) === include) { + allFields.push(field); + } + } + } + } else { + for (const fields of Object.values(this._fieldObjects)) { + allFields.push(...fields); + } + } + const storage = this.annotationStorage; + const allIds = []; + for (const field of allFields) { + const { + id + } = field; + allIds.push(id); + switch (field.type) { + case "text": + { + const value = field.defaultValue || ""; + storage.setValue(id, { + value + }); + break; + } + case "checkbox": + case "radiobutton": + { + const value = field.defaultValue === field.exportValues; + storage.setValue(id, { + value + }); + break; + } + case "combobox": + case "listbox": + { + const value = field.defaultValue || ""; + storage.setValue(id, { + value + }); + break; + } + default: + continue; + } + const domElement = document.querySelector(`[data-element-id="${id}"]`); + if (!domElement) { + continue; + } else if (!GetElementsByNameSet.has(domElement)) { + warn(`_bindResetFormAction - element not allowed: ${id}`); + continue; + } + domElement.dispatchEvent(new Event("resetform")); + } + if (this.enableScripting) { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: "app", + ids: allIds, + name: "ResetForm" + } + }); + } + return false; + }; + } +} +class TextAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true + }); + } + render() { + this.container.classList.add("textAnnotation"); + const image = document.createElement("img"); + image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; + image.setAttribute("data-l10n-id", "pdfjs-text-annotation-type"); + image.setAttribute("data-l10n-args", JSON.stringify({ + type: this.data.name + })); + if (!this.data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this.container.append(image); + return this.container; + } +} +class WidgetAnnotationElement extends AnnotationElement { + render() { + return this.container; + } + showElementAndHideCanvas(element) { + if (this.data.hasOwnCanvas) { + if (element.previousSibling?.nodeName === "CANVAS") { + element.previousSibling.hidden = true; + } + element.hidden = false; + } + } + _getKeyModifier(event) { + return FeatureTest.platform.isMac ? event.metaKey : event.ctrlKey; + } + _setEventListener(element, elementData, baseName, eventName, valueGetter) { + if (baseName.includes("mouse")) { + element.addEventListener(baseName, event => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: this.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: this._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, event => { + if (baseName === "blur") { + if (!elementData.focused || !event.relatedTarget) { + return; + } + elementData.focused = false; + } else if (baseName === "focus") { + if (elementData.focused) { + return; + } + elementData.focused = true; + } + if (!valueGetter) { + return; + } + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: this.data.id, + name: eventName, + value: valueGetter(event) + } + }); + }); + } + } + _setEventListeners(element, elementData, names, getter) { + for (const [baseName, eventName] of names) { + if (eventName === "Action" || this.data.actions?.[eventName]) { + if (eventName === "Focus" || eventName === "Blur") { + elementData ||= { + focused: false + }; + } + this._setEventListener(element, elementData, baseName, eventName, getter); + if (eventName === "Focus" && !this.data.actions?.Blur) { + this._setEventListener(element, elementData, "blur", "Blur", null); + } else if (eventName === "Blur" && !this.data.actions?.Focus) { + this._setEventListener(element, elementData, "focus", "Focus", null); + } + } + } + } + _setBackgroundColor(element) { + const color = this.data.backgroundColor || null; + element.style.backgroundColor = color === null ? "transparent" : Util.makeHexColor(color[0], color[1], color[2]); + } + _setTextStyle(element) { + const TEXT_ALIGNMENT = ["left", "center", "right"]; + const { + fontColor + } = this.data.defaultAppearanceData; + const fontSize = this.data.defaultAppearanceData.fontSize || annotation_layer_DEFAULT_FONT_SIZE; + const style = element.style; + let computedFontSize; + const BORDER_SIZE = 2; + const roundToOneDecimal = x => Math.round(10 * x) / 10; + if (this.data.multiLine) { + const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); + const numberOfLines = Math.round(height / (LINE_FACTOR * fontSize)) || 1; + const lineHeight = height / numberOfLines; + computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / LINE_FACTOR)); + } else { + const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); + computedFontSize = Math.min(fontSize, roundToOneDecimal(height / LINE_FACTOR)); + } + style.fontSize = `calc(${computedFontSize}px * var(--total-scale-factor))`; + style.color = Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; + } + } + _setRequired(element, isRequired) { + if (isRequired) { + element.setAttribute("required", true); + } else { + element.removeAttribute("required"); + } + element.setAttribute("aria-required", isRequired); + } +} +class TextWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + const isRenderable = parameters.renderForms || parameters.data.hasOwnCanvas || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + super(parameters, { + isRenderable + }); + } + setPropertyOnSiblings(base, key, value, keyInStorage) { + const storage = this.annotationStorage; + for (const element of this._getElementsByName(base.name, base.id)) { + if (element.domElement) { + element.domElement[key] = value; + } + storage.setValue(element.id, { + [keyInStorage]: value + }); + } + } + render() { + const storage = this.annotationStorage; + const id = this.data.id; + this.container.classList.add("textWidgetAnnotation"); + let element = null; + if (this.renderForms) { + const storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + let textContent = storedData.value || ""; + const maxLen = storage.getValue(id, { + charLimit: this.data.maxLen + }).charLimit; + if (maxLen && textContent.length > maxLen) { + textContent = textContent.slice(0, maxLen); + } + let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join("\n") || null; + if (fieldFormattedValues && this.data.comb) { + fieldFormattedValues = fieldFormattedValues.replaceAll(/\s+/g, ""); + } + const elementData = { + userValue: textContent, + formattedValue: fieldFormattedValues, + lastCommittedValue: null, + commitKey: 1, + focused: false + }; + if (this.data.multiLine) { + element = document.createElement("textarea"); + element.textContent = fieldFormattedValues ?? textContent; + if (this.data.doNotScroll) { + element.style.overflowY = "hidden"; + } + } else { + element = document.createElement("input"); + element.type = this.data.password ? "password" : "text"; + element.setAttribute("value", fieldFormattedValues ?? textContent); + if (this.data.doNotScroll) { + element.style.overflowX = "hidden"; + } + } + if (this.data.hasOwnCanvas) { + element.hidden = true; + } + GetElementsByNameSet.add(element); + this.contentElement = element; + element.setAttribute("data-element-id", id); + element.disabled = this.data.readOnly; + element.name = this.data.fieldName; + element.tabIndex = 0; + const { + datetimeFormat, + datetimeType, + timeStep + } = this.data; + const hasDateOrTime = !!datetimeType && this.enableScripting; + if (datetimeFormat) { + element.title = datetimeFormat; + } + this._setRequired(element, this.data.required); + if (maxLen) { + element.maxLength = maxLen; + } + element.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + this.setPropertyOnSiblings(element, "value", event.target.value, "value"); + elementData.formattedValue = null; + }); + element.addEventListener("resetform", event => { + const defaultValue = this.data.defaultFieldValue ?? ""; + element.value = elementData.userValue = defaultValue; + elementData.formattedValue = null; + }); + let blurListener = event => { + const { + formattedValue + } = elementData; + if (formattedValue !== null && formattedValue !== undefined) { + event.target.value = formattedValue; + } + event.target.scrollLeft = 0; + }; + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("focus", event => { + if (elementData.focused) { + return; + } + const { + target + } = event; + if (hasDateOrTime) { + target.type = datetimeType; + if (timeStep) { + target.step = timeStep; + } + } + if (elementData.userValue) { + const value = elementData.userValue; + if (hasDateOrTime) { + if (datetimeType === "time") { + const date = new Date(value); + const parts = [date.getHours(), date.getMinutes(), date.getSeconds()]; + target.value = parts.map(v => v.toString().padStart(2, "0")).join(":"); + } else { + target.value = new Date(value - TIMEZONE_OFFSET).toISOString().split(datetimeType === "date" ? "T" : ".", 1)[0]; + } + } else { + target.value = value; + } + } + elementData.lastCommittedValue = target.value; + elementData.commitKey = 1; + if (!this.data.actions?.Focus) { + elementData.focused = true; + } + }); + element.addEventListener("updatefromsandbox", jsEvent => { + this.showElementAndHideCanvas(jsEvent.target); + const actions = { + value(event) { + elementData.userValue = event.detail.value ?? ""; + if (!hasDateOrTime) { + storage.setValue(id, { + value: elementData.userValue.toString() + }); + } + event.target.value = elementData.userValue; + }, + formattedValue(event) { + const { + formattedValue + } = event.detail; + elementData.formattedValue = formattedValue; + if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) { + event.target.value = formattedValue; + } + const data = { + formattedValue + }; + if (hasDateOrTime) { + data.value = formattedValue; + } + storage.setValue(id, data); + }, + selRange(event) { + event.target.setSelectionRange(...event.detail.selRange); + }, + charLimit: event => { + const { + charLimit + } = event.detail; + const { + target + } = event; + if (charLimit === 0) { + target.removeAttribute("maxLength"); + return; + } + target.setAttribute("maxLength", charLimit); + let value = elementData.userValue; + if (!value || value.length <= charLimit) { + return; + } + value = value.slice(0, charLimit); + target.value = elementData.userValue = value; + storage.setValue(id, { + value + }); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey: 1, + selStart: target.selectionStart, + selEnd: target.selectionEnd + } + }); + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", event => { + elementData.commitKey = 1; + let commitKey = -1; + if (event.key === "Escape") { + commitKey = 0; + } else if (event.key === "Enter" && !this.data.multiLine) { + commitKey = 2; + } else if (event.key === "Tab") { + elementData.commitKey = 3; + } + if (commitKey === -1) { + return; + } + const { + value + } = event.target; + if (elementData.lastCommittedValue === value) { + return; + } + elementData.lastCommittedValue = value; + elementData.userValue = value; + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + const _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", event => { + if (!elementData.focused || !event.relatedTarget) { + return; + } + if (!this.data.actions?.Blur) { + elementData.focused = false; + } + const { + target + } = event; + let { + value + } = target; + if (hasDateOrTime) { + if (value && datetimeType === "time") { + const parts = value.split(":").map(v => parseInt(v, 10)); + value = new Date(2000, 0, 1, parts[0], parts[1], parts[2] || 0).valueOf(); + target.step = ""; + } else { + if (!value.includes("T")) { + value = `${value}T00:00`; + } + value = new Date(value).valueOf(); + } + target.type = "text"; + } + elementData.userValue = value; + if (elementData.lastCommittedValue !== value) { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey: elementData.commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + _blurListener(event); + }); + if (this.data.actions?.Keystroke) { + element.addEventListener("beforeinput", event => { + elementData.lastCommittedValue = null; + const { + data, + target + } = event; + const { + value, + selectionStart, + selectionEnd + } = target; + let selStart = selectionStart, + selEnd = selectionEnd; + switch (event.inputType) { + case "deleteWordBackward": + { + const match = value.substring(0, selectionStart).match(/\w*[^\w]*$/); + if (match) { + selStart -= match[0].length; + } + break; + } + case "deleteWordForward": + { + const match = value.substring(selectionStart).match(/^[^\w]*\w*/); + if (match) { + selEnd += match[0].length; + } + break; + } + case "deleteContentBackward": + if (selectionStart === selectionEnd) { + selStart -= 1; + } + break; + case "deleteContentForward": + if (selectionStart === selectionEnd) { + selEnd += 1; + } + break; + } + event.preventDefault(); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + change: data || "", + willCommit: false, + selStart, + selEnd + } + }); + }); + } + this._setEventListeners(element, elementData, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.value); + } + if (blurListener) { + element.addEventListener("blur", blurListener); + } + if (this.data.comb) { + const fieldWidth = this.data.rect[2] - this.data.rect[0]; + const combWidth = fieldWidth / maxLen; + element.classList.add("comb"); + element.style.letterSpacing = `calc(${combWidth}px * var(--total-scale-factor) - 1ch)`; + } + } else { + element = document.createElement("div"); + element.textContent = this.data.fieldValue; + element.style.verticalAlign = "middle"; + element.style.display = "table-cell"; + if (this.data.hasOwnCanvas) { + element.hidden = true; + } + } + this._setTextStyle(element); + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class SignatureWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: !!parameters.data.hasOwnCanvas + }); + } +} +class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + const storage = this.annotationStorage; + const data = this.data; + const id = data.id; + let value = storage.getValue(id, { + value: data.exportValue === data.fieldValue + }).value; + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value + }); + } + this.container.classList.add("buttonWidgetAnnotation", "checkBox"); + const element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = data.readOnly; + this._setRequired(element, this.data.required); + element.type = "checkbox"; + element.name = data.fieldName; + if (value) { + element.setAttribute("checked", true); + } + element.setAttribute("exportValue", data.exportValue); + element.tabIndex = 0; + element.addEventListener("change", event => { + const { + name, + checked + } = event.target; + for (const checkbox of this._getElementsByName(name, id)) { + const curChecked = checked && checkbox.exportValue === data.exportValue; + if (checkbox.domElement) { + checkbox.domElement.checked = curChecked; + } + storage.setValue(checkbox.id, { + value: curChecked + }); + } + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", event => { + const defaultValue = data.defaultFieldValue || "Off"; + event.target.checked = defaultValue === data.exportValue; + }); + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + this._setEventListeners(element, null, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); + } + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + this.container.classList.add("buttonWidgetAnnotation", "radioButton"); + const storage = this.annotationStorage; + const data = this.data; + const id = data.id; + let value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value + }); + } + if (value) { + for (const radio of this._getElementsByName(data.fieldName, id)) { + storage.setValue(radio.id, { + value: false + }); + } + } + const element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = data.readOnly; + this._setRequired(element, this.data.required); + element.type = "radio"; + element.name = data.fieldName; + if (value) { + element.setAttribute("checked", true); + } + element.tabIndex = 0; + element.addEventListener("change", event => { + const { + name, + checked + } = event.target; + for (const radio of this._getElementsByName(name, id)) { + storage.setValue(radio.id, { + value: false + }); + } + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", event => { + const defaultValue = data.defaultFieldValue; + event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; + }); + if (this.enableScripting && this.hasJSActions) { + const pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value: event => { + const checked = pdfButtonValue === event.detail.value; + for (const radio of this._getElementsByName(event.target.name)) { + const curChecked = checked && radio.id === id; + if (radio.domElement) { + radio.domElement.checked = curChecked; + } + storage.setValue(radio.id, { + value: curChecked + }); + } + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + this._setEventListeners(element, null, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); + } + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class PushButtonWidgetAnnotationElement extends LinkAnnotationElement { + constructor(parameters) { + super(parameters, { + ignoreBorder: parameters.data.hasAppearance + }); + } + render() { + const container = super.render(); + container.classList.add("buttonWidgetAnnotation", "pushButton"); + const linkElement = container.lastChild; + if (this.enableScripting && this.hasJSActions && linkElement) { + this._setDefaultPropertiesFromJS(linkElement); + linkElement.addEventListener("updatefromsandbox", jsEvent => { + this._dispatchEventFromSandbox({}, jsEvent); + }); + } + return container; + } +} +class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + this.container.classList.add("choiceWidgetAnnotation"); + const storage = this.annotationStorage; + const id = this.data.id; + const storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + const selectElement = document.createElement("select"); + GetElementsByNameSet.add(selectElement); + selectElement.setAttribute("data-element-id", id); + selectElement.disabled = this.data.readOnly; + this._setRequired(selectElement, this.data.required); + selectElement.name = this.data.fieldName; + selectElement.tabIndex = 0; + let addAnEmptyEntry = this.data.combo && this.data.options.length > 0; + if (!this.data.combo) { + selectElement.size = this.data.options.length; + if (this.data.multiSelect) { + selectElement.multiple = true; + } + } + selectElement.addEventListener("resetform", event => { + const defaultValue = this.data.defaultFieldValue; + for (const option of selectElement.options) { + option.selected = option.value === defaultValue; + } + }); + for (const option of this.data.options) { + const optionElement = document.createElement("option"); + optionElement.textContent = option.displayValue; + optionElement.value = option.exportValue; + if (storedData.value.includes(option.exportValue)) { + optionElement.setAttribute("selected", true); + addAnEmptyEntry = false; + } + selectElement.append(optionElement); + } + let removeEmptyEntry = null; + if (addAnEmptyEntry) { + const noneOptionElement = document.createElement("option"); + noneOptionElement.value = " "; + noneOptionElement.setAttribute("hidden", true); + noneOptionElement.setAttribute("selected", true); + selectElement.prepend(noneOptionElement); + removeEmptyEntry = () => { + noneOptionElement.remove(); + selectElement.removeEventListener("input", removeEmptyEntry); + removeEmptyEntry = null; + }; + selectElement.addEventListener("input", removeEmptyEntry); + } + const getValue = isExport => { + const name = isExport ? "value" : "textContent"; + const { + options, + multiple + } = selectElement; + if (!multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]); + }; + let selectedValues = getValue(false); + const getItems = event => { + const options = event.target.options; + return Array.prototype.map.call(options, option => ({ + displayValue: option.textContent, + exportValue: option.value + })); + }; + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value(event) { + removeEmptyEntry?.(); + const value = event.detail.value; + const values = new Set(Array.isArray(value) ? value : [value]); + for (const option of selectElement.options) { + option.selected = values.has(option.value); + } + storage.setValue(id, { + value: getValue(true) + }); + selectedValues = getValue(false); + }, + multipleSelection(event) { + selectElement.multiple = true; + }, + remove(event) { + const options = selectElement.options; + const index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + if (options.length > 0) { + const i = Array.prototype.findIndex.call(options, option => option.selected); + if (i === -1) { + options[0].selected = true; + } + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + storage.setValue(id, { + value: null, + items: [] + }); + selectedValues = getValue(false); + }, + insert(event) { + const { + index, + displayValue, + exportValue + } = event.detail.insert; + const selectChild = selectElement.children[index]; + const optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + if (selectChild) { + selectChild.before(optionElement); + } else { + selectElement.append(optionElement); + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + items(event) { + const { + items + } = event.detail; + while (selectElement.length !== 0) { + selectElement.remove(0); + } + for (const item of items) { + const { + displayValue, + exportValue + } = item; + const optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.append(optionElement); + } + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + indices(event) { + const indices = new Set(event.detail.indices); + for (const option of event.target.options) { + option.selected = indices.has(option.index); + } + storage.setValue(id, { + value: getValue(true) + }); + selectedValues = getValue(false); + }, + editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", event => { + const exportValue = getValue(true); + const change = getValue(false); + storage.setValue(id, { + value: exportValue + }); + event.preventDefault(); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value: selectedValues, + change, + changeEx: exportValue, + willCommit: false, + commitKey: 1, + keyDown: false + } + }); + }); + this._setEventListeners(selectElement, null, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"], ["input", "Validate"]], event => event.target.value); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(true) + }); + }); + } + if (this.data.combo) { + this._setTextStyle(selectElement); + } else {} + this._setBackgroundColor(selectElement); + this._setDefaultPropertiesFromJS(selectElement); + this.container.append(selectElement); + return this.container; + } +} +class PopupAnnotationElement extends AnnotationElement { + constructor(parameters) { + const { + data, + elements, + parent + } = parameters; + const hasCommentManager = !!parent._commentManager; + super(parameters, { + isRenderable: !hasCommentManager && AnnotationElement._hasPopupData(data) + }); + this.elements = elements; + if (hasCommentManager && AnnotationElement._hasPopupData(data)) { + const popup = this.popup = this.#createPopup(); + for (const element of elements) { + element.popup = popup; + } + } else { + this.popup = null; + } + } + #createPopup() { + return new PopupElement({ + container: this.container, + color: this.data.color, + titleObj: this.data.titleObj, + modificationDate: this.data.modificationDate || this.data.creationDate, + contentsObj: this.data.contentsObj, + richText: this.data.richText, + rect: this.data.rect, + parentRect: this.data.parentRect || null, + parent: this.parent, + elements: this.elements, + open: this.data.open, + commentManager: this.parent._commentManager + }); + } + render() { + const { + container + } = this; + container.classList.add("popupAnnotation"); + container.role = "comment"; + const popup = this.popup = this.#createPopup(); + const elementIds = []; + for (const element of this.elements) { + element.popup = popup; + element.container.ariaHasPopup = "dialog"; + elementIds.push(element.data.id); + element.addHighlightArea(); + } + this.container.setAttribute("aria-controls", elementIds.map(id => `${AnnotationPrefix}${id}`).join(",")); + return this.container; + } +} +class PopupElement { + #commentManager = null; + #boundKeyDown = this.#keyDown.bind(this); + #boundHide = this.#hide.bind(this); + #boundShow = this.#show.bind(this); + #boundToggle = this.#toggle.bind(this); + #color = null; + #container = null; + #contentsObj = null; + #dateObj = null; + #elements = null; + #parent = null; + #parentRect = null; + #pinned = false; + #popup = null; + #popupAbortController = null; + #position = null; + #commentButton = null; + #commentButtonPosition = null; + #popupPosition = null; + #rect = null; + #richText = null; + #titleObj = null; + #updates = null; + #wasVisible = false; + #firstElement = null; + #commentText = null; + constructor({ + container, + color, + elements, + titleObj, + modificationDate, + contentsObj, + richText, + parent, + rect, + parentRect, + open, + commentManager = null + }) { + this.#container = container; + this.#titleObj = titleObj; + this.#contentsObj = contentsObj; + this.#richText = richText; + this.#parent = parent; + this.#color = color; + this.#rect = rect; + this.#parentRect = parentRect; + this.#elements = elements; + this.#commentManager = commentManager; + this.#firstElement = elements[0]; + this.#dateObj = PDFDateString.toDateObject(modificationDate); + this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup()); + if (!commentManager) { + this.#addEventListeners(); + this.#container.hidden = true; + if (open) { + this.#toggle(); + } + } + } + #addEventListeners() { + if (this.#popupAbortController) { + return; + } + this.#popupAbortController = new AbortController(); + const { + signal + } = this.#popupAbortController; + for (const element of this.trigger) { + element.addEventListener("click", this.#boundToggle, { + signal + }); + element.addEventListener("pointerenter", this.#boundShow, { + signal + }); + element.addEventListener("pointerleave", this.#boundHide, { + signal + }); + element.classList.add("popupTriggerArea"); + } + for (const element of this.#elements) { + element.container?.addEventListener("keydown", this.#boundKeyDown, { + signal + }); + } + } + #setCommentButtonPosition() { + const element = this.#elements.find(e => e.hasCommentButton); + if (!element) { + return; + } + this.#commentButtonPosition = element._normalizePoint(element.commentButtonPosition); + } + renderCommentButton() { + if (this.#commentButton) { + if (!this.#commentButton.parentNode) { + this.#firstElement.container.after(this.#commentButton); + } + return; + } + if (!this.#commentButtonPosition) { + this.#setCommentButtonPosition(); + } + if (!this.#commentButtonPosition) { + return; + } + const { + signal + } = this.#popupAbortController = new AbortController(); + const hasOwnButton = this.#firstElement.hasOwnCommentButton; + const togglePopup = () => { + this.#commentManager.toggleCommentPopup(this, true, undefined, !hasOwnButton); + }; + const showPopup = () => { + this.#commentManager.toggleCommentPopup(this, false, true, !hasOwnButton); + }; + const hidePopup = () => { + this.#commentManager.toggleCommentPopup(this, false, false); + }; + if (!hasOwnButton) { + const button = this.#commentButton = document.createElement("button"); + button.className = "annotationCommentButton"; + const parentContainer = this.#firstElement.container; + button.style.zIndex = parentContainer.style.zIndex + 1; + button.tabIndex = 0; + button.ariaHasPopup = "dialog"; + button.ariaControls = "commentPopup"; + button.setAttribute("data-l10n-id", "pdfjs-show-comment-button"); + this.#updateColor(); + this.#updateCommentButtonPosition(); + button.addEventListener("keydown", this.#boundKeyDown, { + signal + }); + button.addEventListener("click", togglePopup, { + signal + }); + button.addEventListener("pointerenter", showPopup, { + signal + }); + button.addEventListener("pointerleave", hidePopup, { + signal + }); + parentContainer.after(button); + } else { + this.#commentButton = this.#firstElement.container; + for (const element of this.trigger) { + element.ariaHasPopup = "dialog"; + element.ariaControls = "commentPopup"; + element.addEventListener("keydown", this.#boundKeyDown, { + signal + }); + element.addEventListener("click", togglePopup, { + signal + }); + element.addEventListener("pointerenter", showPopup, { + signal + }); + element.addEventListener("pointerleave", hidePopup, { + signal + }); + element.classList.add("popupTriggerArea"); + } + } + } + #updateCommentButtonPosition() { + if (this.#firstElement.extraPopupElement && !this.#firstElement.editor) { + return; + } + if (!this.#commentButton) { + this.renderCommentButton(); + } + const [x, y] = this.#commentButtonPosition; + const { + style + } = this.#commentButton; + style.left = `calc(${x}%)`; + style.top = `calc(${y}% - var(--comment-button-dim))`; + } + #updateColor() { + if (this.#firstElement.extraPopupElement) { + return; + } + if (!this.#commentButton) { + this.renderCommentButton(); + } + this.#commentButton.style.backgroundColor = this.commentButtonColor || ""; + } + get commentButtonColor() { + const { + color, + opacity + } = this.#firstElement.commentData; + if (!color) { + return null; + } + return this.#parent._commentManager.makeCommentColor(color, opacity); + } + focusCommentButton() { + setTimeout(() => { + this.#commentButton?.focus(); + }, 0); + } + getData() { + const { + richText, + color, + opacity, + creationDate, + modificationDate + } = this.#firstElement.commentData; + return { + contentsObj: { + str: this.comment + }, + richText, + color, + opacity, + creationDate, + modificationDate + }; + } + get elementBeforePopup() { + return this.#commentButton; + } + get comment() { + this.#commentText ||= this.#firstElement.commentText; + return this.#commentText; + } + set comment(text) { + if (text === this.comment) { + return; + } + this.#firstElement.commentText = this.#commentText = text; + } + focus() { + this.#firstElement.container?.focus(); + } + get parentBoundingClientRect() { + return this.#firstElement.layer.getBoundingClientRect(); + } + setCommentButtonStates({ + selected, + hasPopup + }) { + if (!this.#commentButton) { + return; + } + this.#commentButton.classList.toggle("selected", selected); + this.#commentButton.ariaExpanded = hasPopup; + } + setSelectedCommentButton(selected) { + this.#commentButton.classList.toggle("selected", selected); + } + get commentPopupPosition() { + if (this.#popupPosition) { + return this.#popupPosition; + } + const { + x, + y, + height + } = this.#commentButton.getBoundingClientRect(); + const { + x: parentX, + y: parentY, + width: parentWidth, + height: parentHeight + } = this.#firstElement.layer.getBoundingClientRect(); + return [(x - parentX) / parentWidth, (y + height - parentY) / parentHeight]; + } + set commentPopupPosition(pos) { + this.#popupPosition = pos; + } + hasDefaultPopupPosition() { + return this.#popupPosition === null; + } + get commentButtonPosition() { + return this.#commentButtonPosition; + } + get commentButtonWidth() { + return this.#commentButton.getBoundingClientRect().width / this.parentBoundingClientRect.width; + } + editComment(options) { + const [posX, posY] = this.#popupPosition || this.commentButtonPosition.map(x => x / 100); + const parentDimensions = this.parentBoundingClientRect; + const { + x: parentX, + y: parentY, + width: parentWidth, + height: parentHeight + } = parentDimensions; + this.#commentManager.showDialog(null, this, parentX + posX * parentWidth, parentY + posY * parentHeight, { + ...options, + parentDimensions + }); + } + render() { + if (this.#popup) { + return; + } + const popup = this.#popup = document.createElement("div"); + popup.className = "popup"; + if (this.#color) { + const baseColor = popup.style.outlineColor = Util.makeHexColor(...this.#color); + popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`; + } + const header = document.createElement("span"); + header.className = "header"; + if (this.#titleObj?.str) { + const title = document.createElement("span"); + title.className = "title"; + header.append(title); + ({ + dir: title.dir, + str: title.textContent + } = this.#titleObj); + } + popup.append(header); + if (this.#dateObj) { + const modificationDate = document.createElement("time"); + modificationDate.className = "popupDate"; + modificationDate.setAttribute("data-l10n-id", "pdfjs-annotation-date-time-string"); + modificationDate.setAttribute("data-l10n-args", JSON.stringify({ + dateObj: this.#dateObj.valueOf() + })); + modificationDate.dateTime = this.#dateObj.toISOString(); + header.append(modificationDate); + } + renderRichText({ + html: this.#html || this.#contentsObj.str, + dir: this.#contentsObj?.dir, + className: "popupContent" + }, popup); + this.#container.append(popup); + } + get #html() { + const richText = this.#richText; + const contentsObj = this.#contentsObj; + if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) { + return this.#richText.html || null; + } + return null; + } + get #fontSize() { + return this.#html?.attributes?.style?.fontSize || 0; + } + get #fontColor() { + return this.#html?.attributes?.style?.color || null; + } + #makePopupContent(text) { + const popupLines = []; + const popupContent = { + str: text, + html: { + name: "div", + attributes: { + dir: "auto" + }, + children: [{ + name: "p", + children: popupLines + }] + } + }; + const lineAttributes = { + style: { + color: this.#fontColor, + fontSize: this.#fontSize ? `calc(${this.#fontSize}px * var(--total-scale-factor))` : "" + } + }; + for (const line of text.split("\n")) { + popupLines.push({ + name: "span", + value: line, + attributes: lineAttributes + }); + } + return popupContent; + } + #keyDown(event) { + if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) { + return; + } + if (event.key === "Enter" || event.key === "Escape" && this.#pinned) { + this.#toggle(); + } + } + updateEdited({ + rect, + popup, + deleted + }) { + if (this.#commentManager) { + if (deleted) { + this.remove(); + this.#commentText = null; + } else if (popup) { + if (popup.deleted) { + this.remove(); + } else { + this.#updateColor(); + this.#commentText = popup.text; + } + } + if (rect) { + this.#commentButtonPosition = null; + this.#setCommentButtonPosition(); + this.#updateCommentButtonPosition(); + } + return; + } + if (deleted || popup?.deleted) { + this.remove(); + return; + } + this.#addEventListeners(); + this.#updates ||= { + contentsObj: this.#contentsObj, + richText: this.#richText + }; + if (rect) { + this.#position = null; + } + if (popup && popup.text) { + this.#richText = this.#makePopupContent(popup.text); + this.#dateObj = PDFDateString.toDateObject(popup.date); + this.#contentsObj = null; + } + this.#popup?.remove(); + this.#popup = null; + } + resetEdited() { + if (!this.#updates) { + return; + } + ({ + contentsObj: this.#contentsObj, + richText: this.#richText + } = this.#updates); + this.#updates = null; + this.#popup?.remove(); + this.#popup = null; + this.#position = null; + } + remove() { + this.#popupAbortController?.abort(); + this.#popupAbortController = null; + this.#popup?.remove(); + this.#popup = null; + this.#wasVisible = false; + this.#pinned = false; + this.#commentButton?.remove(); + this.#commentButton = null; + if (this.trigger) { + for (const element of this.trigger) { + element.classList.remove("popupTriggerArea"); + } + } + } + #setPosition() { + if (this.#position !== null) { + return; + } + const { + page: { + view + }, + viewport: { + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } + } = this.#parent; + let useParentRect = !!this.#parentRect; + let rect = useParentRect ? this.#parentRect : this.#rect; + for (const element of this.#elements) { + if (!rect || Util.intersect(element.data.rect, rect) !== null) { + rect = element.data.rect; + useParentRect = true; + break; + } + } + const normalizedRect = Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]); + const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5; + const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0; + const popupLeft = normalizedRect[0] + parentWidth; + const popupTop = normalizedRect[1]; + this.#position = [100 * (popupLeft - pageX) / pageWidth, 100 * (popupTop - pageY) / pageHeight]; + const { + style + } = this.#container; + style.left = `${this.#position[0]}%`; + style.top = `${this.#position[1]}%`; + } + #toggle() { + if (this.#commentManager) { + this.#commentManager.toggleCommentPopup(this, false); + return; + } + this.#pinned = !this.#pinned; + if (this.#pinned) { + this.#show(); + this.#container.addEventListener("click", this.#boundToggle); + this.#container.addEventListener("keydown", this.#boundKeyDown); + } else { + this.#hide(); + this.#container.removeEventListener("click", this.#boundToggle); + this.#container.removeEventListener("keydown", this.#boundKeyDown); + } + } + #show() { + if (!this.#popup) { + this.render(); + } + if (!this.isVisible) { + this.#setPosition(); + this.#container.hidden = false; + this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000; + } else if (this.#pinned) { + this.#container.classList.add("focused"); + } + } + #hide() { + this.#container.classList.remove("focused"); + if (this.#pinned || !this.isVisible) { + return; + } + this.#container.hidden = true; + this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000; + } + forceHide() { + this.#wasVisible = this.isVisible; + if (!this.#wasVisible) { + return; + } + this.#container.hidden = true; + } + maybeShow() { + if (this.#commentManager) { + return; + } + this.#addEventListeners(); + if (!this.#wasVisible) { + return; + } + if (!this.#popup) { + this.#show(); + } + this.#wasVisible = false; + this.#container.hidden = false; + } + get isVisible() { + if (this.#commentManager) { + return false; + } + return this.#container.hidden === false; + } +} +class FreeTextAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.textContent = parameters.data.textContent; + this.textPosition = parameters.data.textPosition; + this.annotationEditorType = AnnotationEditorType.FREETEXT; + } + render() { + this.container.classList.add("freeTextAnnotation"); + if (this.textContent) { + const content = this.contentElement = document.createElement("div"); + content.classList.add("annotationTextContent"); + content.setAttribute("role", "comment"); + for (const line of this.textContent) { + const lineSpan = document.createElement("span"); + lineSpan.textContent = line; + content.append(lineSpan); + } + this.container.append(content); + } + if (!this.data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this._editOnDoubleClick(); + return this.container; + } +} +class LineAnnotationElement extends AnnotationElement { + #line = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("lineAnnotation"); + const { + data, + width, + height + } = this; + const svg = this.svgFactory.create(width, height, true); + const line = this.#line = this.svgFactory.createElement("svg:line"); + line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); + line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); + line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); + line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); + line.setAttribute("stroke-width", data.borderStyle.width || 1); + line.setAttribute("stroke", "transparent"); + line.setAttribute("fill", "transparent"); + svg.append(line); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#line; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class SquareAnnotationElement extends AnnotationElement { + #square = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("squareAnnotation"); + const { + data, + width, + height + } = this; + const svg = this.svgFactory.create(width, height, true); + const borderWidth = data.borderStyle.width; + const square = this.#square = this.svgFactory.createElement("svg:rect"); + square.setAttribute("x", borderWidth / 2); + square.setAttribute("y", borderWidth / 2); + square.setAttribute("width", width - borderWidth); + square.setAttribute("height", height - borderWidth); + square.setAttribute("stroke-width", borderWidth || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "transparent"); + svg.append(square); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#square; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class CircleAnnotationElement extends AnnotationElement { + #circle = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("circleAnnotation"); + const { + data, + width, + height + } = this; + const svg = this.svgFactory.create(width, height, true); + const borderWidth = data.borderStyle.width; + const circle = this.#circle = this.svgFactory.createElement("svg:ellipse"); + circle.setAttribute("cx", width / 2); + circle.setAttribute("cy", height / 2); + circle.setAttribute("rx", width / 2 - borderWidth / 2); + circle.setAttribute("ry", height / 2 - borderWidth / 2); + circle.setAttribute("stroke-width", borderWidth || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "transparent"); + svg.append(circle); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#circle; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class PolylineAnnotationElement extends AnnotationElement { + #polyline = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.containerClassName = "polylineAnnotation"; + this.svgElementName = "svg:polyline"; + } + render() { + this.container.classList.add(this.containerClassName); + const { + data: { + rect, + vertices, + borderStyle, + popupRef + }, + width, + height + } = this; + if (!vertices) { + return this.container; + } + const svg = this.svgFactory.create(width, height, true); + let points = []; + for (let i = 0, ii = vertices.length; i < ii; i += 2) { + const x = vertices[i] - rect[0]; + const y = rect[3] - vertices[i + 1]; + points.push(`${x},${y}`); + } + points = points.join(" "); + const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + svg.append(polyline); + this.container.append(svg); + if (!popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#polyline; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class PolygonAnnotationElement extends PolylineAnnotationElement { + constructor(parameters) { + super(parameters); + this.containerClassName = "polygonAnnotation"; + this.svgElementName = "svg:polygon"; + } +} +class CaretAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("caretAnnotation"); + if (!this.data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + return this.container; + } +} +class InkAnnotationElement extends AnnotationElement { + #polylinesGroupElement = null; + #polylines = []; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.containerClassName = "inkAnnotation"; + this.svgElementName = "svg:polyline"; + this.annotationEditorType = this.data.it === "InkHighlight" ? AnnotationEditorType.HIGHLIGHT : AnnotationEditorType.INK; + } + #getTransform(rotation, rect) { + switch (rotation) { + case 90: + return { + transform: `rotate(90) translate(${-rect[0]},${rect[1]}) scale(1,-1)`, + width: rect[3] - rect[1], + height: rect[2] - rect[0] + }; + case 180: + return { + transform: `rotate(180) translate(${-rect[2]},${rect[1]}) scale(1,-1)`, + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; + case 270: + return { + transform: `rotate(270) translate(${-rect[2]},${rect[3]}) scale(1,-1)`, + width: rect[3] - rect[1], + height: rect[2] - rect[0] + }; + default: + return { + transform: `translate(${-rect[0]},${rect[3]}) scale(1,-1)`, + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; + } + } + render() { + this.container.classList.add(this.containerClassName); + const { + data: { + rect, + rotation, + inkLists, + borderStyle, + popupRef + } + } = this; + const { + transform, + width, + height + } = this.#getTransform(rotation, rect); + const svg = this.svgFactory.create(width, height, true); + const g = this.#polylinesGroupElement = this.svgFactory.createElement("svg:g"); + svg.append(g); + g.setAttribute("stroke-width", borderStyle.width || 1); + g.setAttribute("stroke-linecap", "round"); + g.setAttribute("stroke-linejoin", "round"); + g.setAttribute("stroke-miterlimit", 10); + g.setAttribute("stroke", "transparent"); + g.setAttribute("fill", "transparent"); + g.setAttribute("transform", transform); + for (let i = 0, ii = inkLists.length; i < ii; i++) { + const polyline = this.svgFactory.createElement(this.svgElementName); + this.#polylines.push(polyline); + polyline.setAttribute("points", inkLists[i].join(",")); + g.append(polyline); + } + if (!popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this.container.append(svg); + this._editOnDoubleClick(); + return this.container; + } + updateEdited(params) { + super.updateEdited(params); + const { + thickness, + points, + rect + } = params; + const g = this.#polylinesGroupElement; + if (thickness >= 0) { + g.setAttribute("stroke-width", thickness || 1); + } + if (points) { + for (let i = 0, ii = this.#polylines.length; i < ii; i++) { + this.#polylines[i].setAttribute("points", points[i].join(",")); + } + } + if (rect) { + const { + transform, + width, + height + } = this.#getTransform(this.data.rotation, rect); + const root = g.parentElement; + root.setAttribute("viewBox", `0 0 ${width} ${height}`); + g.setAttribute("transform", transform); + } + } + getElementsToTriggerPopup() { + return this.#polylines; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class HighlightAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + this.annotationEditorType = AnnotationEditorType.HIGHLIGHT; + } + render() { + const { + data: { + overlaidText, + popupRef + } + } = this; + if (!popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this.container.classList.add("highlightAnnotation"); + this._editOnDoubleClick(); + if (overlaidText) { + const mark = document.createElement("mark"); + mark.classList.add("overlaidText"); + mark.textContent = overlaidText; + this.container.append(mark); + } + return this.container; + } +} +class UnderlineAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + const { + data: { + overlaidText, + popupRef + } + } = this; + if (!popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this.container.classList.add("underlineAnnotation"); + if (overlaidText) { + const underline = document.createElement("u"); + underline.classList.add("overlaidText"); + underline.textContent = overlaidText; + this.container.append(underline); + } + return this.container; + } +} +class SquigglyAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + const { + data: { + overlaidText, + popupRef + } + } = this; + if (!popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this.container.classList.add("squigglyAnnotation"); + if (overlaidText) { + const underline = document.createElement("u"); + underline.classList.add("overlaidText"); + underline.textContent = overlaidText; + this.container.append(underline); + } + return this.container; + } +} +class StrikeOutAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + const { + data: { + overlaidText, + popupRef + } + } = this; + if (!popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this.container.classList.add("strikeoutAnnotation"); + if (overlaidText) { + const strikeout = document.createElement("s"); + strikeout.classList.add("overlaidText"); + strikeout.textContent = overlaidText; + this.container.append(strikeout); + } + return this.container; + } +} +class StampAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.annotationEditorType = AnnotationEditorType.STAMP; + } + render() { + this.container.classList.add("stampAnnotation"); + this.container.setAttribute("role", "img"); + if (!this.data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } + this._editOnDoubleClick(); + return this.container; + } +} +class FileAttachmentAnnotationElement extends AnnotationElement { + #trigger = null; + constructor(parameters) { + super(parameters, { + isRenderable: true + }); + const { + file + } = this.data; + this.filename = file.filename; + this.content = file.content; + this.linkService.eventBus?.dispatch("fileattachmentannotation", { + source: this, + ...file + }); + } + render() { + this.container.classList.add("fileAttachmentAnnotation"); + const { + container, + data + } = this; + let trigger; + if (data.hasAppearance || data.fillAlpha === 0) { + trigger = document.createElement("div"); + } else { + trigger = document.createElement("img"); + trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? "paperclip" : "pushpin"}.svg`; + if (data.fillAlpha && data.fillAlpha < 1) { + trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`; + } + } + trigger.addEventListener("dblclick", this.#download.bind(this)); + this.#trigger = trigger; + const { + isMac + } = FeatureTest.platform; + container.addEventListener("keydown", evt => { + if (evt.key === "Enter" && (isMac ? evt.metaKey : evt.ctrlKey)) { + this.#download(); + } + }); + if (!data.popupRef && this.hasPopupData) { + this.hasOwnCommentButton = true; + this._createPopup(); + } else { + trigger.classList.add("popupTriggerArea"); + } + container.append(trigger); + return container; + } + getElementsToTriggerPopup() { + return this.#trigger; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } + #download() { + this.downloadManager?.openOrDownloadData(this.content, this.filename); + } +} +class AnnotationLayer { + #accessibilityManager = null; + #annotationCanvasMap = null; + #annotationStorage = null; + #editableAnnotations = new Map(); + #structTreeLayer = null; + #linkService = null; + #elements = []; + #hasAriaAttributesFromStructTree = false; + constructor({ + div, + accessibilityManager, + annotationCanvasMap, + annotationEditorUIManager, + page, + viewport, + structTreeLayer, + commentManager, + linkService, + annotationStorage + }) { + this.div = div; + this.#accessibilityManager = accessibilityManager; + this.#annotationCanvasMap = annotationCanvasMap; + this.#structTreeLayer = structTreeLayer || null; + this.#linkService = linkService || null; + this.#annotationStorage = annotationStorage || new AnnotationStorage(); + this.page = page; + this.viewport = viewport; + this.zIndex = 0; + this._annotationEditorUIManager = annotationEditorUIManager; + this._commentManager = commentManager || null; + } + hasEditableAnnotations() { + return this.#editableAnnotations.size > 0; + } + async render(params) { + const { + annotations + } = params; + const layer = this.div; + setLayerDimensions(layer, this.viewport); + const popupToElements = new Map(); + const popupAnnotations = []; + const elementParams = { + data: null, + layer, + linkService: this.#linkService, + downloadManager: params.downloadManager, + imageResourcesPath: params.imageResourcesPath || "", + renderForms: params.renderForms !== false, + svgFactory: new DOMSVGFactory(), + annotationStorage: this.#annotationStorage, + enableComment: params.enableComment === true, + enableScripting: params.enableScripting === true, + hasJSActions: params.hasJSActions, + fieldObjects: params.fieldObjects, + parent: this, + elements: null + }; + for (const data of annotations) { + if (data.noHTML) { + continue; + } + const isPopupAnnotation = data.annotationType === AnnotationType.POPUP; + if (!isPopupAnnotation) { + if (data.rect[2] === data.rect[0] || data.rect[3] === data.rect[1]) { + continue; + } + } else { + const elements = popupToElements.get(data.id); + if (!elements) { + continue; + } + if (!this._commentManager) { + popupAnnotations.push(data); + continue; + } + elementParams.elements = elements; + } + elementParams.data = data; + const element = AnnotationElementFactory.create(elementParams); + if (!element.isRenderable) { + continue; + } + if (!isPopupAnnotation) { + this.#elements.push(element); + if (data.popupRef) { + popupToElements.getOrInsertComputed(data.popupRef, makeArr).push(element); + } + } + const rendered = element.render(); + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + if (element._isEditable) { + this.#editableAnnotations.set(element.data.id, element); + this._annotationEditorUIManager?.renderAnnotationElement(element); + } + } + await this.#addElementsToDOM(); + for (const data of popupAnnotations) { + const elements = elementParams.elements = popupToElements.get(data.id); + elementParams.data = data; + const element = AnnotationElementFactory.create(elementParams); + if (!element.isRenderable) { + continue; + } + const rendered = element.render(); + element.contentElement.id = `${AnnotationPrefix}${data.id}`; + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + elements.at(-1).container.after(rendered); + } + this.#setAnnotationCanvasMap(); + } + async #addElementsToDOM() { + if (this.#elements.length === 0) { + return; + } + this.div.replaceChildren(); + const promises = []; + if (!this.#hasAriaAttributesFromStructTree) { + this.#hasAriaAttributesFromStructTree = true; + for (const { + contentElement, + data: { + id + } + } of this.#elements) { + const annotationId = contentElement.id = `${AnnotationPrefix}${id}`; + promises.push(this.#structTreeLayer?.getAriaAttributes(annotationId).then(ariaAttributes => { + if (ariaAttributes) { + for (const [key, value] of ariaAttributes) { + contentElement.setAttribute(key, value); + } + } + })); + } + } + this.#elements.sort(({ + data: { + rect: [a0, a1, a2, a3] + } + }, { + data: { + rect: [b0, b1, b2, b3] + } + }) => { + if (a0 === a2 && a1 === a3) { + return +1; + } + if (b0 === b2 && b1 === b3) { + return -1; + } + const top1 = a3; + const bot1 = a1; + const mid1 = (a1 + a3) / 2; + const top2 = b3; + const bot2 = b1; + const mid2 = (b1 + b3) / 2; + if (mid1 >= top2 && mid2 <= bot1) { + return -1; + } + if (mid2 >= top1 && mid1 <= bot2) { + return +1; + } + const centerX1 = (a0 + a2) / 2; + const centerX2 = (b0 + b2) / 2; + return centerX1 - centerX2; + }); + const fragment = document.createDocumentFragment(); + for (const element of this.#elements) { + fragment.append(element.container); + if (this._commentManager) { + (element.extraPopupElement?.popup || element.popup)?.renderCommentButton(); + } else if (element.extraPopupElement) { + fragment.append(element.extraPopupElement.render()); + } + } + this.div.append(fragment); + await Promise.all(promises); + if (this.#accessibilityManager) { + for (const element of this.#elements) { + this.#accessibilityManager.addPointerInTextLayer(element.contentElement, false); + } + } + } + async addLinkAnnotations(annotations) { + const elementParams = { + data: null, + layer: this.div, + linkService: this.#linkService, + svgFactory: new DOMSVGFactory(), + parent: this + }; + for (const data of annotations) { + data.borderStyle ||= AnnotationLayer._defaultBorderStyle; + elementParams.data = data; + const element = AnnotationElementFactory.create(elementParams); + if (!element.isRenderable) { + continue; + } + element.render(); + element.contentElement.id = `${AnnotationPrefix}${data.id}`; + this.#elements.push(element); + } + await this.#addElementsToDOM(); + } + update({ + viewport + }) { + const layer = this.div; + this.viewport = viewport; + setLayerDimensions(layer, { + rotation: viewport.rotation + }); + this.#setAnnotationCanvasMap(); + layer.hidden = false; + } + #setAnnotationCanvasMap() { + if (!this.#annotationCanvasMap) { + return; + } + const layer = this.div; + for (const [id, canvas] of this.#annotationCanvasMap) { + const element = layer.querySelector(`[data-annotation-id="${id}"]`); + if (!element) { + continue; + } + canvas.className = "annotationContent"; + const { + firstChild + } = element; + if (!firstChild) { + element.append(canvas); + } else if (firstChild.nodeName === "CANVAS") { + firstChild.replaceWith(canvas); + } else if (!firstChild.classList.contains("annotationContent")) { + firstChild.before(canvas); + } else { + firstChild.after(canvas); + } + const editableAnnotation = this.#editableAnnotations.get(id); + if (!editableAnnotation) { + continue; + } + if (editableAnnotation._hasNoCanvas) { + this._annotationEditorUIManager?.setMissingCanvas(id, element.id, canvas); + editableAnnotation._hasNoCanvas = false; + } else { + editableAnnotation.canvas = canvas; + } + } + this.#annotationCanvasMap.clear(); + } + getEditableAnnotations() { + return Array.from(this.#editableAnnotations.values()); + } + getEditableAnnotation(id) { + return this.#editableAnnotations.get(id); + } + addFakeAnnotation(editor) { + const { + div + } = this; + const { + id, + rotation + } = editor; + const element = new EditorAnnotationElement({ + data: { + id, + rect: editor.getPDFRect(), + rotation + }, + editor, + layer: div, + parent: this, + enableComment: !!this._commentManager, + linkService: this.#linkService, + annotationStorage: this.#annotationStorage + }); + element.render(); + element.contentElement.id = `${AnnotationPrefix}${id}`; + element.createOrUpdatePopup(); + this.#elements.push(element); + return element; + } + removeAnnotation(id) { + const index = this.#elements.findIndex(el => el.data.id === id); + if (index < 0) { + return; + } + const [element] = this.#elements.splice(index, 1); + this.#accessibilityManager?.removePointerInTextLayer(element.contentElement); + } + updateFakeAnnotations(editors) { + if (editors.length === 0) { + return; + } + for (const editor of editors) { + editor.updateFakeAnnotationElement(this); + } + this.#addElementsToDOM(); + } + togglePointerEvents(enabled = false) { + this.div.classList.toggle("disabled", !enabled); + } + static get _defaultBorderStyle() { + return shadow(this, "_defaultBorderStyle", Object.freeze({ + width: 1, + rawWidth: 1, + style: AnnotationBorderStyleType.SOLID, + dashArray: [3], + horizontalCornerRadius: 0, + verticalCornerRadius: 0 + })); + } +} + +;// ./src/display/editor/freetext.js + + + + + +const EOL_PATTERN = /\r\n?|\n/g; +class FreeTextEditor extends AnnotationEditor { + #content = ""; + #editorDivId = `${this.id}-editor`; + #editModeAC = null; + #fontSize; + _colorPicker = null; + static _freeTextDefaultContent = ""; + static _internalPadding = 0; + static _defaultColor = null; + static _defaultFontSize = 10; + static get _keyboardManager() { + const proto = FreeTextEditor.prototype; + const arrowChecker = self => self.isEmpty(); + const small = AnnotationEditorUIManager.TRANSLATE_SMALL; + const big = AnnotationEditorUIManager.TRANSLATE_BIG; + return shadow(this, "_keyboardManager", new KeyboardManager([[["ctrl+s", "mac+meta+s", "ctrl+p", "mac+meta+p"], proto.commitOrRemove, { + bubbles: true + }], [["ctrl+Enter", "mac+meta+Enter", "Escape", "mac+Escape"], proto.commitOrRemove], [["ArrowLeft", "mac+ArrowLeft"], proto._translateEmpty, { + args: [-small, 0], + checker: arrowChecker + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto._translateEmpty, { + args: [-big, 0], + checker: arrowChecker + }], [["ArrowRight", "mac+ArrowRight"], proto._translateEmpty, { + args: [small, 0], + checker: arrowChecker + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto._translateEmpty, { + args: [big, 0], + checker: arrowChecker + }], [["ArrowUp", "mac+ArrowUp"], proto._translateEmpty, { + args: [0, -small], + checker: arrowChecker + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto._translateEmpty, { + args: [0, -big], + checker: arrowChecker + }], [["ArrowDown", "mac+ArrowDown"], proto._translateEmpty, { + args: [0, small], + checker: arrowChecker + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto._translateEmpty, { + args: [0, big], + checker: arrowChecker + }]])); + } + static _type = "freetext"; + static _editorType = AnnotationEditorType.FREETEXT; + constructor(params) { + super({ + ...params, + name: "freeTextEditor" + }); + this.color = params.color || FreeTextEditor._defaultColor || AnnotationEditor._defaultLineColor; + this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize; + if (!this.annotationElementId) { + this._uiManager.a11yAlert("pdfjs-editor-freetext-added-alert"); + } + this.canAddComment = false; + } + static initialize(l10n, uiManager) { + AnnotationEditor.initialize(l10n, uiManager); + const style = getComputedStyle(document.documentElement); + this._internalPadding = parseFloat(style.getPropertyValue("--freetext-padding")); + } + static updateDefaultParams(type, value) { + switch (type) { + case AnnotationEditorParamsType.FREETEXT_SIZE: + FreeTextEditor._defaultFontSize = value; + break; + case AnnotationEditorParamsType.FREETEXT_COLOR: + FreeTextEditor._defaultColor = value; + break; + } + } + updateParams(type, value) { + switch (type) { + case AnnotationEditorParamsType.FREETEXT_SIZE: + this.#updateFontSize(value); + break; + case AnnotationEditorParamsType.FREETEXT_COLOR: + this.#updateColor(value); + break; + } + } + static get defaultPropertiesToUpdate() { + return [[AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || AnnotationEditor._defaultLineColor]]; + } + get propertiesToUpdate() { + return [[AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [AnnotationEditorParamsType.FREETEXT_COLOR, this.color]]; + } + get toolbarButtons() { + this._colorPicker ||= new BasicColorPicker(this); + return [["colorPicker", this._colorPicker]]; + } + get colorType() { + return AnnotationEditorParamsType.FREETEXT_COLOR; + } + #updateFontSize(fontSize) { + const setFontsize = size => { + this.editorDiv.style.fontSize = `calc(${size}px * var(--total-scale-factor))`; + this.translate(0, -(size - this.#fontSize) * this.parentScale); + this.#fontSize = size; + this.#setEditorDimensions(); + }; + const savedFontsize = this.#fontSize; + this.addCommands({ + cmd: setFontsize.bind(this, fontSize), + undo: setFontsize.bind(this, savedFontsize), + post: this._uiManager.updateUI.bind(this._uiManager, this), + mustExec: true, + type: AnnotationEditorParamsType.FREETEXT_SIZE, + overwriteIfSameType: true, + keepUndo: true + }); + } + onUpdatedColor() { + this.editorDiv.style.color = this.color; + this._colorPicker?.update(this.color); + super.onUpdatedColor(); + } + #updateColor(color) { + const setColor = col => { + this.color = col; + this.onUpdatedColor(); + }; + const savedColor = this.color; + this.addCommands({ + cmd: setColor.bind(this, color), + undo: setColor.bind(this, savedColor), + post: this._uiManager.updateUI.bind(this._uiManager, this), + mustExec: true, + type: AnnotationEditorParamsType.FREETEXT_COLOR, + overwriteIfSameType: true, + keepUndo: true + }); + } + _translateEmpty(x, y) { + this._uiManager.translateSelectedEditors(x, y, true); + } + getInitialTranslation() { + const scale = this.parentScale; + return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale]; + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + enableEditMode() { + if (!super.enableEditMode()) { + return false; + } + this.overlayDiv.classList.remove("enabled"); + this.editorDiv.contentEditable = true; + this._isDraggable = false; + this.div.removeAttribute("aria-activedescendant"); + this.#editModeAC = new AbortController(); + const signal = this._uiManager.combinedSignal(this.#editModeAC); + this.editorDiv.addEventListener("keydown", this.editorDivKeydown.bind(this), { + signal + }); + this.editorDiv.addEventListener("focus", this.editorDivFocus.bind(this), { + signal + }); + this.editorDiv.addEventListener("blur", this.editorDivBlur.bind(this), { + signal + }); + this.editorDiv.addEventListener("input", this.editorDivInput.bind(this), { + signal + }); + this.editorDiv.addEventListener("paste", this.editorDivPaste.bind(this), { + signal + }); + return true; + } + disableEditMode() { + if (!super.disableEditMode()) { + return false; + } + this.overlayDiv.classList.add("enabled"); + this.editorDiv.contentEditable = false; + this.div.setAttribute("aria-activedescendant", this.#editorDivId); + this._isDraggable = true; + this.#editModeAC?.abort(); + this.#editModeAC = null; + this.div.focus({ + preventScroll: true + }); + this.isEditing = false; + this.parent.div.classList.add("freetextEditing"); + return true; + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + super.focusin(event); + if (event.target !== this.editorDiv) { + this.editorDiv.focus(); + } + } + onceAdded(focus) { + if (this.width) { + return; + } + this.enableEditMode(); + if (focus) { + this.editorDiv.focus(); + } + if (this._initialOptions?.isCentered) { + this.center(); + } + this._initialOptions = null; + } + isEmpty() { + return !this.editorDiv || this.editorDiv.innerText.trim() === ""; + } + remove() { + this.isEditing = false; + if (this.parent) { + this.parent.setEditingState(true); + this.parent.div.classList.add("freetextEditing"); + } + super.remove(); + } + #extractText() { + const buffer = []; + this.editorDiv.normalize(); + let prevChild = null; + for (const child of this.editorDiv.childNodes) { + if (prevChild?.nodeType === Node.TEXT_NODE && child.nodeName === "BR") { + continue; + } + buffer.push(FreeTextEditor.#getNodeContent(child)); + prevChild = child; + } + return buffer.join("\n"); + } + #setEditorDimensions() { + const [parentWidth, parentHeight] = this.parentDimensions; + let rect; + if (this.isAttachedToDOM) { + rect = this.div.getBoundingClientRect(); + } else { + const { + currentLayer, + div + } = this; + const savedDisplay = div.style.display; + const savedVisibility = div.classList.contains("hidden"); + div.classList.remove("hidden"); + div.style.display = "hidden"; + currentLayer.div.append(this.div); + rect = div.getBoundingClientRect(); + div.remove(); + div.style.display = savedDisplay; + div.classList.toggle("hidden", savedVisibility); + } + if (this.rotation % 180 === this.parentRotation % 180) { + this.width = rect.width / parentWidth; + this.height = rect.height / parentHeight; + } else { + this.width = rect.height / parentWidth; + this.height = rect.width / parentHeight; + } + this.fixAndSetPosition(); + } + commit() { + if (!this.isInEditMode()) { + return; + } + super.commit(); + this.disableEditMode(); + const savedText = this.#content; + const newText = this.#content = this.#extractText().trimEnd(); + if (savedText === newText) { + return; + } + const setText = text => { + this.#content = text; + if (!text) { + this.remove(); + return; + } + this.#setContent(); + this._uiManager.rebuild(this); + this.#setEditorDimensions(); + }; + this.addCommands({ + cmd: () => { + setText(newText); + }, + undo: () => { + setText(savedText); + }, + mustExec: false + }); + this.#setEditorDimensions(); + } + shouldGetKeyboardEvents() { + return this.isInEditMode(); + } + enterInEditMode() { + this.enableEditMode(); + this.editorDiv.focus(); + } + keydown(event) { + if (event.target === this.div && event.key === "Enter") { + this.enterInEditMode(); + event.preventDefault(); + } + } + editorDivKeydown(event) { + FreeTextEditor._keyboardManager.exec(this, event); + } + editorDivFocus(event) { + this.isEditing = true; + } + editorDivBlur(event) { + this.isEditing = false; + } + editorDivInput(event) { + this.parent.div.classList.toggle("freetextEditing", this.isEmpty()); + } + disableEditing() { + this.editorDiv.setAttribute("role", "comment"); + this.editorDiv.removeAttribute("aria-multiline"); + } + enableEditing() { + this.editorDiv.setAttribute("role", "textbox"); + this.editorDiv.setAttribute("aria-multiline", true); + } + get canChangeContent() { + return true; + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this._isCopy || this.annotationElementId) { + baseX = this.x; + baseY = this.y; + } + super.render(); + this.editorDiv = document.createElement("div"); + this.editorDiv.className = "internal"; + this.editorDiv.setAttribute("id", this.#editorDivId); + this.editorDiv.setAttribute("data-l10n-id", "pdfjs-free-text2"); + this.editorDiv.setAttribute("data-l10n-attrs", "default-content"); + this.enableEditing(); + this.editorDiv.contentEditable = true; + const { + style + } = this.editorDiv; + style.fontSize = `calc(${this.#fontSize}px * var(--total-scale-factor))`; + style.color = this.color; + this.div.append(this.editorDiv); + this.overlayDiv = document.createElement("div"); + this.overlayDiv.classList.add("overlay", "enabled"); + this.div.append(this.overlayDiv); + if (this._isCopy || this.annotationElementId) { + const [parentWidth, parentHeight] = this.parentDimensions; + if (this.annotationElementId) { + const { + position + } = this._initialData; + let [tx, ty] = this.getInitialTranslation(); + [tx, ty] = this.pageTranslationToScreen(tx, ty); + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + let posX, posY; + switch (this.rotation) { + case 0: + posX = baseX + (position[0] - pageX) / pageWidth; + posY = baseY + this.height - (position[1] - pageY) / pageHeight; + break; + case 90: + posX = baseX + (position[0] - pageX) / pageWidth; + posY = baseY - (position[1] - pageY) / pageHeight; + [tx, ty] = [ty, -tx]; + break; + case 180: + posX = baseX - this.width + (position[0] - pageX) / pageWidth; + posY = baseY - (position[1] - pageY) / pageHeight; + [tx, ty] = [-tx, -ty]; + break; + case 270: + posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth; + posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight; + [tx, ty] = [-ty, tx]; + break; + } + this.setAt(posX * parentWidth, posY * parentHeight, tx, ty); + } else { + this._moveAfterPaste(baseX, baseY); + } + this.#setContent(); + this._isDraggable = true; + this.editorDiv.contentEditable = false; + } else { + this._isDraggable = false; + this.editorDiv.contentEditable = true; + } + return this.div; + } + static #getNodeContent(node) { + return (node.nodeType === Node.TEXT_NODE ? node.nodeValue : node.innerText).replaceAll(EOL_PATTERN, ""); + } + editorDivPaste(event) { + const clipboardData = event.clipboardData || window.clipboardData; + const { + types + } = clipboardData; + if (types.length === 1 && types[0] === "text/plain") { + return; + } + event.preventDefault(); + const paste = FreeTextEditor.#deserializeContent(clipboardData.getData("text") || "").replaceAll(EOL_PATTERN, "\n"); + if (!paste) { + return; + } + const selection = window.getSelection(); + if (!selection.rangeCount) { + return; + } + this.editorDiv.normalize(); + selection.deleteFromDocument(); + const range = selection.getRangeAt(0); + if (!paste.includes("\n")) { + range.insertNode(document.createTextNode(paste)); + this.editorDiv.normalize(); + selection.collapseToStart(); + return; + } + const { + startContainer, + startOffset + } = range; + const bufferBefore = []; + const bufferAfter = []; + if (startContainer.nodeType === Node.TEXT_NODE) { + const parent = startContainer.parentElement; + bufferAfter.push(startContainer.nodeValue.slice(startOffset).replaceAll(EOL_PATTERN, "")); + if (parent !== this.editorDiv) { + let buffer = bufferBefore; + for (const child of this.editorDiv.childNodes) { + if (child === parent) { + buffer = bufferAfter; + continue; + } + buffer.push(FreeTextEditor.#getNodeContent(child)); + } + } + bufferBefore.push(startContainer.nodeValue.slice(0, startOffset).replaceAll(EOL_PATTERN, "")); + } else if (startContainer === this.editorDiv) { + let buffer = bufferBefore; + let i = 0; + for (const child of this.editorDiv.childNodes) { + if (i++ === startOffset) { + buffer = bufferAfter; + } + buffer.push(FreeTextEditor.#getNodeContent(child)); + } + } + this.#content = `${bufferBefore.join("\n")}${paste}${bufferAfter.join("\n")}`; + this.#setContent(); + const newRange = new Range(); + let beforeLength = Math.sumPrecise(bufferBefore.map(line => line.length)); + for (const { + firstChild + } of this.editorDiv.childNodes) { + if (firstChild.nodeType === Node.TEXT_NODE) { + const length = firstChild.nodeValue.length; + if (beforeLength <= length) { + newRange.setStart(firstChild, beforeLength); + newRange.setEnd(firstChild, beforeLength); + break; + } + beforeLength -= length; + } + } + selection.removeAllRanges(); + selection.addRange(newRange); + } + #setContent() { + this.editorDiv.replaceChildren(); + if (!this.#content) { + return; + } + for (const line of this.#content.split("\n")) { + const div = document.createElement("div"); + div.append(line ? document.createTextNode(line) : document.createElement("br")); + this.editorDiv.append(div); + } + } + #serializeContent() { + return this.#content.replaceAll("\xa0", " "); + } + static #deserializeContent(content) { + return content.replaceAll(" ", "\xa0"); + } + get contentDiv() { + return this.editorDiv; + } + getPDFRect() { + const padding = FreeTextEditor._internalPadding * this.parentScale; + return this.getRect(padding, padding); + } + static async deserialize(data, parent, uiManager) { + let initialData = null; + if (data instanceof FreeTextAnnotationElement) { + const { + data: { + defaultAppearanceData: { + fontSize, + fontColor + }, + rect, + rotation, + id, + popupRef, + richText, + contentsObj, + creationDate, + modificationDate + }, + textContent, + textPosition, + parent: { + page: { + pageNumber + } + } + } = data; + if (!textContent || textContent.length === 0) { + return null; + } + initialData = data = { + annotationType: AnnotationEditorType.FREETEXT, + color: Array.from(fontColor), + fontSize, + value: textContent.join("\n"), + position: textPosition, + pageIndex: pageNumber - 1, + rect: rect.slice(0), + rotation, + annotationElementId: id, + id, + deleted: false, + popupRef, + comment: contentsObj?.str || null, + richText, + creationDate, + modificationDate + }; + } + const editor = await super.deserialize(data, parent, uiManager); + editor.#fontSize = data.fontSize; + editor.color = Util.makeHexColor(...data.color); + editor.#content = FreeTextEditor.#deserializeContent(data.value); + editor._initialData = initialData; + if (data.comment) { + editor.setCommentData(data); + } + return editor; + } + serialize(isForCopying = false) { + if (this.isEmpty()) { + return null; + } + if (this.deleted) { + return this.serializeDeleted(); + } + const color = AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.color); + const serialized = Object.assign(super.serialize(isForCopying), { + color, + fontSize: this.#fontSize, + value: this.#serializeContent() + }); + this.addComment(serialized); + if (isForCopying) { + serialized.isCopy = true; + return serialized; + } + if (this.annotationElementId && !this.#hasElementChanged(serialized)) { + return null; + } + serialized.id = this.annotationElementId; + return serialized; + } + #hasElementChanged(serialized) { + const { + value, + fontSize, + color, + pageIndex + } = this._initialData; + return this.hasEditedComment || this._hasBeenMoved || serialized.value !== value || serialized.fontSize !== fontSize || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex; + } + renderAnnotationElement(annotation) { + const content = super.renderAnnotationElement(annotation); + if (!content) { + return null; + } + const { + style + } = content; + style.fontSize = `calc(${this.#fontSize}px * var(--total-scale-factor))`; + style.color = this.color; + content.replaceChildren(); + for (const line of this.#content.split("\n")) { + const div = document.createElement("div"); + div.append(line ? document.createTextNode(line) : document.createElement("br")); + content.append(div); + } + annotation.updateEdited({ + rect: this.getPDFRect(), + popup: this._uiManager.hasCommentManager() || this.hasEditedComment ? this.comment : { + text: this.#content + } + }); + return content; + } + resetAnnotationElement(annotation) { + super.resetAnnotationElement(annotation); + annotation.resetEdited(); + } +} + +;// ./src/display/editor/drawers/outline.js + +class Outline { + static PRECISION = 1e-4; + toSVGPath() { + unreachable("Abstract method `toSVGPath` must be implemented."); + } + get box() { + unreachable("Abstract getter `box` must be implemented."); + } + serialize(_bbox, _rotation) { + unreachable("Abstract method `serialize` must be implemented."); + } + static _rescale(src, tx, ty, sx, sy, dest) { + dest ||= new Float32Array(src.length); + for (let i = 0, ii = src.length; i < ii; i += 2) { + dest[i] = tx + src[i] * sx; + dest[i + 1] = ty + src[i + 1] * sy; + } + return dest; + } + static _rescaleAndSwap(src, tx, ty, sx, sy, dest) { + dest ||= new Float32Array(src.length); + for (let i = 0, ii = src.length; i < ii; i += 2) { + dest[i] = tx + src[i + 1] * sx; + dest[i + 1] = ty + src[i] * sy; + } + return dest; + } + static _translate(src, tx, ty, dest) { + dest ||= new Float32Array(src.length); + for (let i = 0, ii = src.length; i < ii; i += 2) { + dest[i] = tx + src[i]; + dest[i + 1] = ty + src[i + 1]; + } + return dest; + } + static svgRound(x) { + return Math.round(x * 10000); + } + static _normalizePoint(x, y, parentWidth, parentHeight, rotation) { + switch (rotation) { + case 90: + return [1 - y / parentWidth, x / parentHeight]; + case 180: + return [1 - x / parentWidth, 1 - y / parentHeight]; + case 270: + return [y / parentWidth, 1 - x / parentHeight]; + default: + return [x / parentWidth, y / parentHeight]; + } + } + static _normalizePagePoint(x, y, rotation) { + switch (rotation) { + case 90: + return [1 - y, x]; + case 180: + return [1 - x, 1 - y]; + case 270: + return [y, 1 - x]; + default: + return [x, y]; + } + } + static createBezierPoints(x1, y1, x2, y2, x3, y3) { + return [(x1 + 5 * x2) / 6, (y1 + 5 * y2) / 6, (5 * x2 + x3) / 6, (5 * y2 + y3) / 6, (x2 + x3) / 2, (y2 + y3) / 2]; + } +} + +;// ./src/display/editor/drawers/freedraw.js + + +class FreeDrawOutliner { + #box; + #bottom = []; + #innerMargin; + #isLTR; + #top = []; + #last = new Float32Array(18); + #lastX; + #lastY; + #min; + #min_dist; + #scaleFactor; + #thickness; + #points = []; + static #MIN_DIST = 8; + static #MIN_DIFF = 2; + static #MIN = FreeDrawOutliner.#MIN_DIST + FreeDrawOutliner.#MIN_DIFF; + constructor({ + x, + y + }, box, scaleFactor, thickness, isLTR, innerMargin = 0) { + this.#box = box; + this.#thickness = thickness * scaleFactor; + this.#isLTR = isLTR; + this.#last.set([NaN, NaN, NaN, NaN, x, y], 6); + this.#innerMargin = innerMargin; + this.#min_dist = FreeDrawOutliner.#MIN_DIST * scaleFactor; + this.#min = FreeDrawOutliner.#MIN * scaleFactor; + this.#scaleFactor = scaleFactor; + this.#points.push(x, y); + } + isEmpty() { + return isNaN(this.#last[8]); + } + #getLastCoords() { + const lastTop = this.#last.subarray(4, 6); + const lastBottom = this.#last.subarray(16, 18); + const [x, y, width, height] = this.#box; + return [(this.#lastX + (lastTop[0] - lastBottom[0]) / 2 - x) / width, (this.#lastY + (lastTop[1] - lastBottom[1]) / 2 - y) / height, (this.#lastX + (lastBottom[0] - lastTop[0]) / 2 - x) / width, (this.#lastY + (lastBottom[1] - lastTop[1]) / 2 - y) / height]; + } + add({ + x, + y + }) { + this.#lastX = x; + this.#lastY = y; + const [layerX, layerY, layerWidth, layerHeight] = this.#box; + let [x1, y1, x2, y2] = this.#last.subarray(8, 12); + const diffX = x - x2; + const diffY = y - y2; + const d = Math.hypot(diffX, diffY); + if (d < this.#min) { + return false; + } + const diffD = d - this.#min_dist; + const K = diffD / d; + const shiftX = K * diffX; + const shiftY = K * diffY; + let x0 = x1; + let y0 = y1; + x1 = x2; + y1 = y2; + x2 += shiftX; + y2 += shiftY; + this.#points?.push(x, y); + const nX = -shiftY / diffD; + const nY = shiftX / diffD; + const thX = nX * this.#thickness; + const thY = nY * this.#thickness; + this.#last.set(this.#last.subarray(2, 8), 0); + this.#last.set([x2 + thX, y2 + thY], 4); + this.#last.set(this.#last.subarray(14, 18), 12); + this.#last.set([x2 - thX, y2 - thY], 16); + if (isNaN(this.#last[6])) { + if (this.#top.length === 0) { + this.#last.set([x1 + thX, y1 + thY], 2); + this.#top.push(NaN, NaN, NaN, NaN, (x1 + thX - layerX) / layerWidth, (y1 + thY - layerY) / layerHeight); + this.#last.set([x1 - thX, y1 - thY], 14); + this.#bottom.push(NaN, NaN, NaN, NaN, (x1 - thX - layerX) / layerWidth, (y1 - thY - layerY) / layerHeight); + } + this.#last.set([x0, y0, x1, y1, x2, y2], 6); + return !this.isEmpty(); + } + this.#last.set([x0, y0, x1, y1, x2, y2], 6); + const angle = Math.abs(Math.atan2(y0 - y1, x0 - x1) - Math.atan2(shiftY, shiftX)); + if (angle < Math.PI / 2) { + [x1, y1, x2, y2] = this.#last.subarray(2, 6); + this.#top.push(NaN, NaN, NaN, NaN, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight); + [x1, y1, x0, y0] = this.#last.subarray(14, 18); + this.#bottom.push(NaN, NaN, NaN, NaN, ((x0 + x1) / 2 - layerX) / layerWidth, ((y0 + y1) / 2 - layerY) / layerHeight); + return true; + } + [x0, y0, x1, y1, x2, y2] = this.#last.subarray(0, 6); + this.#top.push(((x0 + 5 * x1) / 6 - layerX) / layerWidth, ((y0 + 5 * y1) / 6 - layerY) / layerHeight, ((5 * x1 + x2) / 6 - layerX) / layerWidth, ((5 * y1 + y2) / 6 - layerY) / layerHeight, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight); + [x2, y2, x1, y1, x0, y0] = this.#last.subarray(12, 18); + this.#bottom.push(((x0 + 5 * x1) / 6 - layerX) / layerWidth, ((y0 + 5 * y1) / 6 - layerY) / layerHeight, ((5 * x1 + x2) / 6 - layerX) / layerWidth, ((5 * y1 + y2) / 6 - layerY) / layerHeight, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight); + return true; + } + toSVGPath() { + if (this.isEmpty()) { + return ""; + } + const top = this.#top; + const bottom = this.#bottom; + if (isNaN(this.#last[6]) && !this.isEmpty()) { + return this.#toSVGPathTwoPoints(); + } + const buffer = []; + buffer.push(`M${top[4]} ${top[5]}`); + for (let i = 6; i < top.length; i += 6) { + if (isNaN(top[i])) { + buffer.push(`L${top[i + 4]} ${top[i + 5]}`); + } else { + buffer.push(`C${top[i]} ${top[i + 1]} ${top[i + 2]} ${top[i + 3]} ${top[i + 4]} ${top[i + 5]}`); + } + } + this.#toSVGPathEnd(buffer); + for (let i = bottom.length - 6; i >= 6; i -= 6) { + if (isNaN(bottom[i])) { + buffer.push(`L${bottom[i + 4]} ${bottom[i + 5]}`); + } else { + buffer.push(`C${bottom[i]} ${bottom[i + 1]} ${bottom[i + 2]} ${bottom[i + 3]} ${bottom[i + 4]} ${bottom[i + 5]}`); + } + } + this.#toSVGPathStart(buffer); + return buffer.join(" "); + } + #toSVGPathTwoPoints() { + const [x, y, width, height] = this.#box; + const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords(); + return `M${(this.#last[2] - x) / width} ${(this.#last[3] - y) / height} L${(this.#last[4] - x) / width} ${(this.#last[5] - y) / height} L${lastTopX} ${lastTopY} L${lastBottomX} ${lastBottomY} L${(this.#last[16] - x) / width} ${(this.#last[17] - y) / height} L${(this.#last[14] - x) / width} ${(this.#last[15] - y) / height} Z`; + } + #toSVGPathStart(buffer) { + const bottom = this.#bottom; + buffer.push(`L${bottom[4]} ${bottom[5]} Z`); + } + #toSVGPathEnd(buffer) { + const [x, y, width, height] = this.#box; + const lastTop = this.#last.subarray(4, 6); + const lastBottom = this.#last.subarray(16, 18); + const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords(); + buffer.push(`L${(lastTop[0] - x) / width} ${(lastTop[1] - y) / height} L${lastTopX} ${lastTopY} L${lastBottomX} ${lastBottomY} L${(lastBottom[0] - x) / width} ${(lastBottom[1] - y) / height}`); + } + newFreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR) { + return new FreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR); + } + getOutlines() { + const top = this.#top; + const bottom = this.#bottom; + const last = this.#last; + const [layerX, layerY, layerWidth, layerHeight] = this.#box; + const points = new Float32Array((this.#points?.length ?? 0) + 2); + for (let i = 0, ii = points.length - 2; i < ii; i += 2) { + points[i] = (this.#points[i] - layerX) / layerWidth; + points[i + 1] = (this.#points[i + 1] - layerY) / layerHeight; + } + points[points.length - 2] = (this.#lastX - layerX) / layerWidth; + points[points.length - 1] = (this.#lastY - layerY) / layerHeight; + if (isNaN(last[6]) && !this.isEmpty()) { + return this.#getOutlineTwoPoints(points); + } + const outline = new Float32Array(this.#top.length + 24 + this.#bottom.length); + let N = top.length; + for (let i = 0; i < N; i += 2) { + if (isNaN(top[i])) { + outline[i] = outline[i + 1] = NaN; + continue; + } + outline[i] = top[i]; + outline[i + 1] = top[i + 1]; + } + N = this.#getOutlineEnd(outline, N); + for (let i = bottom.length - 6; i >= 6; i -= 6) { + for (let j = 0; j < 6; j += 2) { + if (isNaN(bottom[i + j])) { + outline[N] = outline[N + 1] = NaN; + N += 2; + continue; + } + outline[N] = bottom[i + j]; + outline[N + 1] = bottom[i + j + 1]; + N += 2; + } + } + this.#getOutlineStart(outline, N); + return this.newFreeDrawOutline(outline, points, this.#box, this.#scaleFactor, this.#innerMargin, this.#isLTR); + } + #getOutlineTwoPoints(points) { + const last = this.#last; + const [layerX, layerY, layerWidth, layerHeight] = this.#box; + const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords(); + const outline = new Float32Array(36); + outline.set([NaN, NaN, NaN, NaN, (last[2] - layerX) / layerWidth, (last[3] - layerY) / layerHeight, NaN, NaN, NaN, NaN, (last[4] - layerX) / layerWidth, (last[5] - layerY) / layerHeight, NaN, NaN, NaN, NaN, lastTopX, lastTopY, NaN, NaN, NaN, NaN, lastBottomX, lastBottomY, NaN, NaN, NaN, NaN, (last[16] - layerX) / layerWidth, (last[17] - layerY) / layerHeight, NaN, NaN, NaN, NaN, (last[14] - layerX) / layerWidth, (last[15] - layerY) / layerHeight], 0); + return this.newFreeDrawOutline(outline, points, this.#box, this.#scaleFactor, this.#innerMargin, this.#isLTR); + } + #getOutlineStart(outline, pos) { + const bottom = this.#bottom; + outline.set([NaN, NaN, NaN, NaN, bottom[4], bottom[5]], pos); + return pos += 6; + } + #getOutlineEnd(outline, pos) { + const lastTop = this.#last.subarray(4, 6); + const lastBottom = this.#last.subarray(16, 18); + const [layerX, layerY, layerWidth, layerHeight] = this.#box; + const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords(); + outline.set([NaN, NaN, NaN, NaN, (lastTop[0] - layerX) / layerWidth, (lastTop[1] - layerY) / layerHeight, NaN, NaN, NaN, NaN, lastTopX, lastTopY, NaN, NaN, NaN, NaN, lastBottomX, lastBottomY, NaN, NaN, NaN, NaN, (lastBottom[0] - layerX) / layerWidth, (lastBottom[1] - layerY) / layerHeight], pos); + return pos += 24; + } +} +class FreeDrawOutline extends Outline { + #box; + #bbox = new Float32Array(4); + #innerMargin; + #isLTR; + #points; + #scaleFactor; + #outline; + constructor(outline, points, box, scaleFactor, innerMargin, isLTR) { + super(); + this.#outline = outline; + this.#points = points; + this.#box = box; + this.#scaleFactor = scaleFactor; + this.#innerMargin = innerMargin; + this.#isLTR = isLTR; + this.firstPoint = [NaN, NaN]; + this.lastPoint = [NaN, NaN]; + this.#computeMinMax(isLTR); + const [x, y, width, height] = this.#bbox; + for (let i = 0, ii = outline.length; i < ii; i += 2) { + outline[i] = (outline[i] - x) / width; + outline[i + 1] = (outline[i + 1] - y) / height; + } + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] = (points[i] - x) / width; + points[i + 1] = (points[i + 1] - y) / height; + } + } + toSVGPath() { + const buffer = [`M${this.#outline[4]} ${this.#outline[5]}`]; + for (let i = 6, ii = this.#outline.length; i < ii; i += 6) { + if (isNaN(this.#outline[i])) { + buffer.push(`L${this.#outline[i + 4]} ${this.#outline[i + 5]}`); + continue; + } + buffer.push(`C${this.#outline[i]} ${this.#outline[i + 1]} ${this.#outline[i + 2]} ${this.#outline[i + 3]} ${this.#outline[i + 4]} ${this.#outline[i + 5]}`); + } + buffer.push("Z"); + return buffer.join(" "); + } + serialize([blX, blY, trX, trY], rotation) { + const width = trX - blX; + const height = trY - blY; + let outline; + let points; + switch (rotation) { + case 0: + outline = Outline._rescale(this.#outline, blX, trY, width, -height); + points = Outline._rescale(this.#points, blX, trY, width, -height); + break; + case 90: + outline = Outline._rescaleAndSwap(this.#outline, blX, blY, width, height); + points = Outline._rescaleAndSwap(this.#points, blX, blY, width, height); + break; + case 180: + outline = Outline._rescale(this.#outline, trX, blY, -width, height); + points = Outline._rescale(this.#points, trX, blY, -width, height); + break; + case 270: + outline = Outline._rescaleAndSwap(this.#outline, trX, trY, -width, -height); + points = Outline._rescaleAndSwap(this.#points, trX, trY, -width, -height); + break; + } + return { + outline: Array.from(outline), + points: [Array.from(points)] + }; + } + #computeMinMax(isLTR) { + const outline = this.#outline; + let lastX = outline[4]; + let lastY = outline[5]; + const minMax = [lastX, lastY, lastX, lastY]; + let firstPointX = lastX; + let firstPointY = lastY; + let lastPointX = lastX; + let lastPointY = lastY; + const ltrCallback = isLTR ? Math.max : Math.min; + const bezierBbox = new Float32Array(4); + for (let i = 6, ii = outline.length; i < ii; i += 6) { + const x = outline[i + 4], + y = outline[i + 5]; + if (isNaN(outline[i])) { + Util.pointBoundingBox(x, y, minMax); + if (firstPointY > y) { + firstPointX = x; + firstPointY = y; + } else if (firstPointY === y) { + firstPointX = ltrCallback(firstPointX, x); + } + if (lastPointY < y) { + lastPointX = x; + lastPointY = y; + } else if (lastPointY === y) { + lastPointX = ltrCallback(lastPointX, x); + } + } else { + bezierBbox[0] = bezierBbox[1] = Infinity; + bezierBbox[2] = bezierBbox[3] = -Infinity; + Util.bezierBoundingBox(lastX, lastY, ...outline.slice(i, i + 6), bezierBbox); + Util.rectBoundingBox(bezierBbox[0], bezierBbox[1], bezierBbox[2], bezierBbox[3], minMax); + if (firstPointY > bezierBbox[1]) { + firstPointX = bezierBbox[0]; + firstPointY = bezierBbox[1]; + } else if (firstPointY === bezierBbox[1]) { + firstPointX = ltrCallback(firstPointX, bezierBbox[0]); + } + if (lastPointY < bezierBbox[3]) { + lastPointX = bezierBbox[2]; + lastPointY = bezierBbox[3]; + } else if (lastPointY === bezierBbox[3]) { + lastPointX = ltrCallback(lastPointX, bezierBbox[2]); + } + } + lastX = x; + lastY = y; + } + const bbox = this.#bbox; + bbox[0] = minMax[0] - this.#innerMargin; + bbox[1] = minMax[1] - this.#innerMargin; + bbox[2] = minMax[2] - minMax[0] + 2 * this.#innerMargin; + bbox[3] = minMax[3] - minMax[1] + 2 * this.#innerMargin; + this.firstPoint = [firstPointX, firstPointY]; + this.lastPoint = [lastPointX, lastPointY]; + } + get box() { + return this.#bbox; + } + newOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin = 0) { + return new FreeDrawOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin); + } + getNewOutline(thickness, innerMargin) { + const [x, y, width, height] = this.#bbox; + const [layerX, layerY, layerWidth, layerHeight] = this.#box; + const sx = width * layerWidth; + const sy = height * layerHeight; + const tx = x * layerWidth + layerX; + const ty = y * layerHeight + layerY; + const outliner = this.newOutliner({ + x: this.#points[0] * sx + tx, + y: this.#points[1] * sy + ty + }, this.#box, this.#scaleFactor, thickness, this.#isLTR, innerMargin ?? this.#innerMargin); + for (let i = 2; i < this.#points.length; i += 2) { + outliner.add({ + x: this.#points[i] * sx + tx, + y: this.#points[i + 1] * sy + ty + }); + } + return outliner.getOutlines(); + } +} + +;// ./src/display/editor/drawers/highlight.js + + + +class HighlightOutliner { + #box; + #firstPoint; + #lastPoint; + #verticalEdges = []; + #intervals = []; + constructor(boxes, borderWidth = 0, innerMargin = 0, isLTR = true) { + const minMax = [Infinity, Infinity, -Infinity, -Infinity]; + const NUMBER_OF_DIGITS = 4; + const EPSILON = 10 ** -NUMBER_OF_DIGITS; + for (const { + x, + y, + width, + height + } of boxes) { + const x1 = Math.floor((x - borderWidth) / EPSILON) * EPSILON; + const x2 = Math.ceil((x + width + borderWidth) / EPSILON) * EPSILON; + const y1 = Math.floor((y - borderWidth) / EPSILON) * EPSILON; + const y2 = Math.ceil((y + height + borderWidth) / EPSILON) * EPSILON; + const left = [x1, y1, y2, true]; + const right = [x2, y1, y2, false]; + this.#verticalEdges.push(left, right); + Util.rectBoundingBox(x1, y1, x2, y2, minMax); + } + const bboxWidth = minMax[2] - minMax[0] + 2 * innerMargin; + const bboxHeight = minMax[3] - minMax[1] + 2 * innerMargin; + const shiftedMinX = minMax[0] - innerMargin; + const shiftedMinY = minMax[1] - innerMargin; + let firstPointX = isLTR ? -Infinity : Infinity; + let firstPointY = Infinity; + const lastEdge = this.#verticalEdges.at(isLTR ? -1 : -2); + const lastPoint = [lastEdge[0], lastEdge[2]]; + for (const edge of this.#verticalEdges) { + const [x, y1, y2, left] = edge; + if (!left && isLTR) { + if (y1 < firstPointY) { + firstPointY = y1; + firstPointX = x; + } else if (y1 === firstPointY) { + firstPointX = Math.max(firstPointX, x); + } + } else if (left && !isLTR) { + if (y1 < firstPointY) { + firstPointY = y1; + firstPointX = x; + } else if (y1 === firstPointY) { + firstPointX = Math.min(firstPointX, x); + } + } + edge[0] = (x - shiftedMinX) / bboxWidth; + edge[1] = (y1 - shiftedMinY) / bboxHeight; + edge[2] = (y2 - shiftedMinY) / bboxHeight; + } + this.#box = new Float32Array([shiftedMinX, shiftedMinY, bboxWidth, bboxHeight]); + this.#firstPoint = [firstPointX, firstPointY]; + this.#lastPoint = lastPoint; + } + getOutlines() { + this.#verticalEdges.sort((a, b) => a[0] - b[0] || a[1] - b[1] || a[2] - b[2]); + const outlineVerticalEdges = []; + for (const edge of this.#verticalEdges) { + if (edge[3]) { + outlineVerticalEdges.push(...this.#breakEdge(edge)); + this.#insert(edge); + } else { + this.#remove(edge); + outlineVerticalEdges.push(...this.#breakEdge(edge)); + } + } + return this.#getOutlines(outlineVerticalEdges); + } + #getOutlines(outlineVerticalEdges) { + const edges = []; + const allEdges = new Set(); + for (const edge of outlineVerticalEdges) { + const [x, y1, y2] = edge; + edges.push([x, y1, edge], [x, y2, edge]); + } + edges.sort((a, b) => a[1] - b[1] || a[0] - b[0]); + for (let i = 0, ii = edges.length; i < ii; i += 2) { + const edge1 = edges[i][2]; + const edge2 = edges[i + 1][2]; + edge1.push(edge2); + edge2.push(edge1); + allEdges.add(edge1); + allEdges.add(edge2); + } + const outlines = []; + let outline; + while (allEdges.size > 0) { + const edge = allEdges.values().next().value; + let [x, y1, y2, edge1, edge2] = edge; + allEdges.delete(edge); + let lastPointX = x; + let lastPointY = y1; + outline = [x, y2]; + outlines.push(outline); + while (true) { + let e; + if (allEdges.has(edge1)) { + e = edge1; + } else if (allEdges.has(edge2)) { + e = edge2; + } else { + break; + } + allEdges.delete(e); + [x, y1, y2, edge1, edge2] = e; + if (lastPointX !== x) { + outline.push(lastPointX, lastPointY, x, lastPointY === y1 ? y1 : y2); + lastPointX = x; + } + lastPointY = lastPointY === y1 ? y2 : y1; + } + outline.push(lastPointX, lastPointY); + } + return new HighlightOutline(outlines, this.#box, this.#firstPoint, this.#lastPoint); + } + #binarySearch(y) { + const array = this.#intervals; + let start = 0; + let end = array.length - 1; + while (start <= end) { + const middle = start + end >> 1; + const y1 = array[middle][0]; + if (y1 === y) { + return middle; + } + if (y1 < y) { + start = middle + 1; + } else { + end = middle - 1; + } + } + return end + 1; + } + #insert([, y1, y2]) { + const index = this.#binarySearch(y1); + this.#intervals.splice(index, 0, [y1, y2]); + } + #remove([, y1, y2]) { + const index = this.#binarySearch(y1); + for (let i = index; i < this.#intervals.length; i++) { + const [start, end] = this.#intervals[i]; + if (start !== y1) { + break; + } + if (start === y1 && end === y2) { + this.#intervals.splice(i, 1); + return; + } + } + for (let i = index - 1; i >= 0; i--) { + const [start, end] = this.#intervals[i]; + if (start !== y1) { + break; + } + if (start === y1 && end === y2) { + this.#intervals.splice(i, 1); + return; + } + } + } + #breakEdge(edge) { + const [x, y1, y2] = edge; + const results = [[x, y1, y2]]; + const index = this.#binarySearch(y2); + for (let i = 0; i < index; i++) { + const [start, end] = this.#intervals[i]; + for (let j = 0, jj = results.length; j < jj; j++) { + const [, y3, y4] = results[j]; + if (end <= y3 || y4 <= start) { + continue; + } + if (y3 >= start) { + if (y4 > end) { + results[j][1] = end; + } else { + if (jj === 1) { + return []; + } + results.splice(j, 1); + j--; + jj--; + } + continue; + } + results[j][2] = start; + if (y4 > end) { + results.push([x, end, y4]); + } + } + } + return results; + } +} +class HighlightOutline extends Outline { + #box; + #outlines; + constructor(outlines, box, firstPoint, lastPoint) { + super(); + this.#outlines = outlines; + this.#box = box; + this.firstPoint = firstPoint; + this.lastPoint = lastPoint; + } + toSVGPath() { + const buffer = []; + for (const polygon of this.#outlines) { + let [prevX, prevY] = polygon; + buffer.push(`M${prevX} ${prevY}`); + for (let i = 2; i < polygon.length; i += 2) { + const x = polygon[i]; + const y = polygon[i + 1]; + if (x === prevX) { + buffer.push(`V${y}`); + prevY = y; + } else if (y === prevY) { + buffer.push(`H${x}`); + prevX = x; + } + } + buffer.push("Z"); + } + return buffer.join(" "); + } + serialize([blX, blY, trX, trY], _rotation) { + const outlines = []; + const width = trX - blX; + const height = trY - blY; + for (const outline of this.#outlines) { + const points = new Array(outline.length); + for (let i = 0; i < outline.length; i += 2) { + points[i] = blX + outline[i] * width; + points[i + 1] = trY - outline[i + 1] * height; + } + outlines.push(points); + } + return outlines; + } + get box() { + return this.#box; + } + get classNamesForOutlining() { + return ["highlightOutline"]; + } +} +class FreeHighlightOutliner extends FreeDrawOutliner { + newFreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR) { + return new FreeHighlightOutline(outline, points, box, scaleFactor, innerMargin, isLTR); + } +} +class FreeHighlightOutline extends FreeDrawOutline { + newOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin = 0) { + return new FreeHighlightOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin); + } +} + +;// ./src/display/editor/highlight.js + + + + + + + +class HighlightEditor extends AnnotationEditor { + #anchorNode = null; + #anchorOffset = 0; + #boxes; + #clipPathId = null; + #colorPicker = null; + #focusOutlines = null; + #focusNode = null; + #focusOffset = 0; + #highlightDiv = null; + #highlightOutlines = null; + #id = null; + #isFreeHighlight = false; + #firstPoint = null; + #lastPoint = null; + #outlineId = null; + #text = ""; + #thickness; + #methodOfCreation = ""; + static _defaultColor = null; + static _defaultOpacity = 1; + static _defaultThickness = 12; + static _type = "highlight"; + static _editorType = AnnotationEditorType.HIGHLIGHT; + static _freeHighlightId = -1; + static _freeHighlight = null; + static _freeHighlightClipId = ""; + static get _keyboardManager() { + const proto = HighlightEditor.prototype; + return shadow(this, "_keyboardManager", new KeyboardManager([[["ArrowLeft", "mac+ArrowLeft"], proto._moveCaret, { + args: [0] + }], [["ArrowRight", "mac+ArrowRight"], proto._moveCaret, { + args: [1] + }], [["ArrowUp", "mac+ArrowUp"], proto._moveCaret, { + args: [2] + }], [["ArrowDown", "mac+ArrowDown"], proto._moveCaret, { + args: [3] + }]])); + } + constructor(params) { + super({ + ...params, + name: "highlightEditor" + }); + this.color = params.color || HighlightEditor._defaultColor; + this.#thickness = params.thickness || HighlightEditor._defaultThickness; + this.opacity = params.opacity || HighlightEditor._defaultOpacity; + this.#boxes = params.boxes || null; + this.#methodOfCreation = params.methodOfCreation || ""; + this.#text = params.text || ""; + this._isDraggable = false; + this.defaultL10nId = "pdfjs-editor-highlight-editor"; + if (params.highlightId > -1) { + this.#isFreeHighlight = true; + this.#createFreeOutlines(params); + this.#addToDrawLayer(); + } else if (this.#boxes) { + this.#anchorNode = params.anchorNode; + this.#anchorOffset = params.anchorOffset; + this.#focusNode = params.focusNode; + this.#focusOffset = params.focusOffset; + this.#createOutlines(); + this.#addToDrawLayer(); + this.rotate(this.rotation); + } + if (!this.annotationElementId) { + this._uiManager.a11yAlert("pdfjs-editor-highlight-added-alert"); + } + } + get telemetryInitialData() { + return { + action: "added", + type: this.#isFreeHighlight ? "free_highlight" : "highlight", + color: this._uiManager.getNonHCMColorName(this.color), + thickness: this.#thickness, + methodOfCreation: this.#methodOfCreation + }; + } + get telemetryFinalData() { + return { + type: "highlight", + color: this._uiManager.getNonHCMColorName(this.color) + }; + } + static computeTelemetryFinalData(data) { + return { + numberOfColors: data.get("color").size + }; + } + #createOutlines() { + const outliner = new HighlightOutliner(this.#boxes, 0.001); + this.#highlightOutlines = outliner.getOutlines(); + [this.x, this.y, this.width, this.height] = this.#highlightOutlines.box; + const outlinerForOutline = new HighlightOutliner(this.#boxes, 0.0025, 0.001, this._uiManager.direction === "ltr"); + this.#focusOutlines = outlinerForOutline.getOutlines(); + const { + firstPoint + } = this.#highlightOutlines; + this.#firstPoint = [(firstPoint[0] - this.x) / this.width, (firstPoint[1] - this.y) / this.height]; + const { + lastPoint + } = this.#focusOutlines; + this.#lastPoint = [(lastPoint[0] - this.x) / this.width, (lastPoint[1] - this.y) / this.height]; + } + #createFreeOutlines({ + highlightOutlines, + highlightId, + clipPathId + }) { + this.#highlightOutlines = highlightOutlines; + const extraThickness = 1.5; + this.#focusOutlines = highlightOutlines.getNewOutline(this.#thickness / 2 + extraThickness, 0.0025); + if (highlightId >= 0) { + this.#id = highlightId; + this.#clipPathId = clipPathId; + this.parent.drawLayer.finalizeDraw(highlightId, { + bbox: highlightOutlines.box, + path: { + d: highlightOutlines.toSVGPath() + } + }); + this.#outlineId = this.parent.drawLayer.drawOutline({ + rootClass: { + highlightOutline: true, + free: true + }, + bbox: this.#focusOutlines.box, + path: { + d: this.#focusOutlines.toSVGPath() + } + }, true); + } else if (this.parent) { + const angle = this.parent.viewport.rotation; + this.parent.drawLayer.updateProperties(this.#id, { + bbox: HighlightEditor.#rotateBbox(this.#highlightOutlines.box, (angle - this.rotation + 360) % 360), + path: { + d: highlightOutlines.toSVGPath() + } + }); + this.parent.drawLayer.updateProperties(this.#outlineId, { + bbox: HighlightEditor.#rotateBbox(this.#focusOutlines.box, angle), + path: { + d: this.#focusOutlines.toSVGPath() + } + }); + } + const [x, y, width, height] = highlightOutlines.box; + switch (this.rotation) { + case 0: + this.x = x; + this.y = y; + this.width = width; + this.height = height; + break; + case 90: + { + const [pageWidth, pageHeight] = this.parentDimensions; + this.x = y; + this.y = 1 - x; + this.width = width * pageHeight / pageWidth; + this.height = height * pageWidth / pageHeight; + break; + } + case 180: + this.x = 1 - x; + this.y = 1 - y; + this.width = width; + this.height = height; + break; + case 270: + { + const [pageWidth, pageHeight] = this.parentDimensions; + this.x = 1 - y; + this.y = x; + this.width = width * pageHeight / pageWidth; + this.height = height * pageWidth / pageHeight; + break; + } + } + const { + firstPoint + } = highlightOutlines; + this.#firstPoint = [(firstPoint[0] - x) / width, (firstPoint[1] - y) / height]; + const { + lastPoint + } = this.#focusOutlines; + this.#lastPoint = [(lastPoint[0] - x) / width, (lastPoint[1] - y) / height]; + } + static initialize(l10n, uiManager) { + AnnotationEditor.initialize(l10n, uiManager); + HighlightEditor._defaultColor ||= uiManager.highlightColors?.values().next().value || "#fff066"; + } + static updateDefaultParams(type, value) { + switch (type) { + case AnnotationEditorParamsType.HIGHLIGHT_COLOR: + HighlightEditor._defaultColor = value; + break; + case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS: + HighlightEditor._defaultThickness = value; + break; + } + } + translateInPage(x, y) {} + get toolbarPosition() { + return this.#lastPoint; + } + get commentButtonPosition() { + return this.#firstPoint; + } + updateParams(type, value) { + switch (type) { + case AnnotationEditorParamsType.HIGHLIGHT_COLOR: + this.#updateColor(value); + break; + case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS: + this.#updateThickness(value); + break; + } + } + static get defaultPropertiesToUpdate() { + return [[AnnotationEditorParamsType.HIGHLIGHT_COLOR, HighlightEditor._defaultColor], [AnnotationEditorParamsType.HIGHLIGHT_THICKNESS, HighlightEditor._defaultThickness]]; + } + get propertiesToUpdate() { + return [[AnnotationEditorParamsType.HIGHLIGHT_COLOR, this.color || HighlightEditor._defaultColor], [AnnotationEditorParamsType.HIGHLIGHT_THICKNESS, this.#thickness || HighlightEditor._defaultThickness], [AnnotationEditorParamsType.HIGHLIGHT_FREE, this.#isFreeHighlight]]; + } + onUpdatedColor() { + this.parent?.drawLayer.updateProperties(this.#id, { + root: { + fill: this.color, + "fill-opacity": this.opacity + } + }); + this.#colorPicker?.updateColor(this.color); + super.onUpdatedColor(); + } + #updateColor(color) { + const setColorAndOpacity = (col, opa) => { + this.color = col; + this.opacity = opa; + this.onUpdatedColor(); + }; + const savedColor = this.color; + const savedOpacity = this.opacity; + this.addCommands({ + cmd: setColorAndOpacity.bind(this, color, HighlightEditor._defaultOpacity), + undo: setColorAndOpacity.bind(this, savedColor, savedOpacity), + post: this._uiManager.updateUI.bind(this._uiManager, this), + mustExec: true, + type: AnnotationEditorParamsType.HIGHLIGHT_COLOR, + overwriteIfSameType: true, + keepUndo: true + }); + this._reportTelemetry({ + action: "color_changed", + color: this._uiManager.getNonHCMColorName(color) + }, true); + } + #updateThickness(thickness) { + const savedThickness = this.#thickness; + const setThickness = th => { + this.#thickness = th; + this.#changeThickness(th); + }; + this.addCommands({ + cmd: setThickness.bind(this, thickness), + undo: setThickness.bind(this, savedThickness), + post: this._uiManager.updateUI.bind(this._uiManager, this), + mustExec: true, + type: AnnotationEditorParamsType.INK_THICKNESS, + overwriteIfSameType: true, + keepUndo: true + }); + this._reportTelemetry({ + action: "thickness_changed", + thickness + }, true); + } + get toolbarButtons() { + if (this._uiManager.highlightColors) { + const colorPicker = this.#colorPicker = new ColorPicker({ + editor: this + }); + return [["colorPicker", colorPicker]]; + } + return super.toolbarButtons; + } + disableEditing() { + super.disableEditing(); + this.div.classList.toggle("disabled", true); + } + enableEditing() { + super.enableEditing(); + this.div.classList.toggle("disabled", false); + } + fixAndSetPosition() { + return super.fixAndSetPosition(this.#getRotation()); + } + getBaseTranslation() { + return [0, 0]; + } + getRect(tx, ty) { + return super.getRect(tx, ty, this.#getRotation()); + } + onceAdded(focus) { + if (!this.annotationElementId) { + this.parent.addUndoableEditor(this); + } + if (focus) { + this.div.focus(); + } + } + remove() { + this.#cleanDrawLayer(); + this._reportTelemetry({ + action: "deleted" + }); + super.remove(); + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + this.#addToDrawLayer(); + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + setParent(parent) { + let mustBeSelected = false; + if (this.parent && !parent) { + this.#cleanDrawLayer(); + } else if (parent) { + this.#addToDrawLayer(parent); + mustBeSelected = !this.parent && this.div?.classList.contains("selectedEditor"); + } + super.setParent(parent); + this.show(this._isVisible); + if (mustBeSelected) { + this.select(); + } + } + #changeThickness(thickness) { + if (!this.#isFreeHighlight) { + return; + } + this.#createFreeOutlines({ + highlightOutlines: this.#highlightOutlines.getNewOutline(thickness / 2) + }); + this.fixAndSetPosition(); + this.setDims(); + } + #cleanDrawLayer() { + if (this.#id === null || !this.parent) { + return; + } + this.parent.drawLayer.remove(this.#id); + this.#id = null; + this.parent.drawLayer.remove(this.#outlineId); + this.#outlineId = null; + } + #addToDrawLayer(parent = this.parent) { + if (this.#id !== null) { + return; + } + ({ + id: this.#id, + clipPathId: this.#clipPathId + } = parent.drawLayer.draw({ + bbox: this.#highlightOutlines.box, + root: { + viewBox: "0 0 1 1", + fill: this.color, + "fill-opacity": this.opacity + }, + rootClass: { + highlight: true, + free: this.#isFreeHighlight + }, + path: { + d: this.#highlightOutlines.toSVGPath() + } + }, false, true)); + this.#outlineId = parent.drawLayer.drawOutline({ + rootClass: { + highlightOutline: true, + free: this.#isFreeHighlight + }, + bbox: this.#focusOutlines.box, + path: { + d: this.#focusOutlines.toSVGPath() + } + }, this.#isFreeHighlight); + if (this.#highlightDiv) { + this.#highlightDiv.style.clipPath = this.#clipPathId; + } + } + static #rotateBbox([x, y, width, height], angle) { + switch (angle) { + case 90: + return [1 - y - height, x, height, width]; + case 180: + return [1 - x - width, 1 - y - height, width, height]; + case 270: + return [y, 1 - x - width, height, width]; + } + return [x, y, width, height]; + } + rotate(angle) { + const { + drawLayer + } = this.parent; + let box; + if (this.#isFreeHighlight) { + angle = (angle - this.rotation + 360) % 360; + box = HighlightEditor.#rotateBbox(this.#highlightOutlines.box, angle); + } else { + box = HighlightEditor.#rotateBbox([this.x, this.y, this.width, this.height], angle); + } + drawLayer.updateProperties(this.#id, { + bbox: box, + root: { + "data-main-rotation": angle + } + }); + drawLayer.updateProperties(this.#outlineId, { + bbox: HighlightEditor.#rotateBbox(this.#focusOutlines.box, angle), + root: { + "data-main-rotation": angle + } + }); + } + render() { + if (this.div) { + return this.div; + } + const div = super.render(); + if (this.#text) { + div.setAttribute("aria-label", this.#text); + div.setAttribute("role", "mark"); + } + if (this.#isFreeHighlight) { + div.classList.add("free"); + } else { + this.div.addEventListener("keydown", this.#keydown.bind(this), { + signal: this._uiManager._signal + }); + } + const highlightDiv = this.#highlightDiv = document.createElement("div"); + div.append(highlightDiv); + highlightDiv.setAttribute("aria-hidden", "true"); + highlightDiv.className = "internal"; + highlightDiv.style.clipPath = this.#clipPathId; + this.setDims(); + bindEvents(this, this.#highlightDiv, ["pointerover", "pointerleave"]); + this.enableEditing(); + return div; + } + pointerover() { + if (!this.isSelected) { + this.parent?.drawLayer.updateProperties(this.#outlineId, { + rootClass: { + hovered: true + } + }); + } + } + pointerleave() { + if (!this.isSelected) { + this.parent?.drawLayer.updateProperties(this.#outlineId, { + rootClass: { + hovered: false + } + }); + } + } + #keydown(event) { + HighlightEditor._keyboardManager.exec(this, event); + } + _moveCaret(direction) { + this.parent.unselect(this); + switch (direction) { + case 0: + case 2: + this.#setCaret(true); + break; + case 1: + case 3: + this.#setCaret(false); + break; + } + } + #setCaret(start) { + if (!this.#anchorNode) { + return; + } + const selection = window.getSelection(); + if (start) { + selection.setPosition(this.#anchorNode, this.#anchorOffset); + } else { + selection.setPosition(this.#focusNode, this.#focusOffset); + } + } + select() { + super.select(); + if (!this.#outlineId) { + return; + } + this.parent?.drawLayer.updateProperties(this.#outlineId, { + rootClass: { + hovered: false, + selected: true + } + }); + } + unselect() { + super.unselect(); + if (!this.#outlineId) { + return; + } + this.parent?.drawLayer.updateProperties(this.#outlineId, { + rootClass: { + selected: false + } + }); + if (!this.#isFreeHighlight) { + this.#setCaret(false); + } + } + get _mustFixPosition() { + return !this.#isFreeHighlight; + } + show(visible = this._isVisible) { + super.show(visible); + if (this.parent) { + this.parent.drawLayer.updateProperties(this.#id, { + rootClass: { + hidden: !visible + } + }); + this.parent.drawLayer.updateProperties(this.#outlineId, { + rootClass: { + hidden: !visible + } + }); + } + } + #getRotation() { + return this.#isFreeHighlight ? this.rotation : 0; + } + #serializeBoxes() { + if (this.#isFreeHighlight) { + return null; + } + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + const boxes = this.#boxes; + const quadPoints = new Float32Array(boxes.length * 8); + let i = 0; + for (const { + x, + y, + width, + height + } of boxes) { + const sx = x * pageWidth + pageX; + const sy = (1 - y) * pageHeight + pageY; + quadPoints[i] = quadPoints[i + 4] = sx; + quadPoints[i + 1] = quadPoints[i + 3] = sy; + quadPoints[i + 2] = quadPoints[i + 6] = sx + width * pageWidth; + quadPoints[i + 5] = quadPoints[i + 7] = sy - height * pageHeight; + i += 8; + } + return quadPoints; + } + #serializeOutlines(rect) { + return this.#highlightOutlines.serialize(rect, this.#getRotation()); + } + static startHighlighting(parent, isLTR, { + target: textLayer, + x, + y + }) { + const { + x: layerX, + y: layerY, + width: parentWidth, + height: parentHeight + } = textLayer.getBoundingClientRect(); + const ac = new AbortController(); + const signal = parent.combinedSignal(ac); + const pointerUpCallback = e => { + ac.abort(); + this.#endHighlight(parent, e); + }; + window.addEventListener("blur", pointerUpCallback, { + signal + }); + window.addEventListener("pointerup", pointerUpCallback, { + signal + }); + window.addEventListener("pointerdown", stopEvent, { + capture: true, + passive: false, + signal + }); + window.addEventListener("contextmenu", noContextMenu, { + signal + }); + textLayer.addEventListener("pointermove", this.#highlightMove.bind(this, parent), { + signal + }); + this._freeHighlight = new FreeHighlightOutliner({ + x, + y + }, [layerX, layerY, parentWidth, parentHeight], parent.scale, this._defaultThickness / 2, isLTR, 0.001); + ({ + id: this._freeHighlightId, + clipPathId: this._freeHighlightClipId + } = parent.drawLayer.draw({ + bbox: [0, 0, 1, 1], + root: { + viewBox: "0 0 1 1", + fill: this._defaultColor, + "fill-opacity": this._defaultOpacity + }, + rootClass: { + highlight: true, + free: true + }, + path: { + d: this._freeHighlight.toSVGPath() + } + }, true, true)); + } + static #highlightMove(parent, event) { + if (this._freeHighlight.add(event)) { + parent.drawLayer.updateProperties(this._freeHighlightId, { + path: { + d: this._freeHighlight.toSVGPath() + } + }); + } + } + static #endHighlight(parent, event) { + if (!this._freeHighlight.isEmpty()) { + parent.createAndAddNewEditor(event, false, { + highlightId: this._freeHighlightId, + highlightOutlines: this._freeHighlight.getOutlines(), + clipPathId: this._freeHighlightClipId, + methodOfCreation: "main_toolbar" + }); + } else { + parent.drawLayer.remove(this._freeHighlightId); + } + this._freeHighlightId = -1; + this._freeHighlight = null; + this._freeHighlightClipId = ""; + } + static async deserialize(data, parent, uiManager) { + let initialData = null; + if (data instanceof HighlightAnnotationElement) { + const { + data: { + quadPoints, + rect, + rotation, + id, + color, + opacity, + popupRef, + richText, + contentsObj, + creationDate, + modificationDate + }, + parent: { + page: { + pageNumber + } + } + } = data; + initialData = data = { + annotationType: AnnotationEditorType.HIGHLIGHT, + color: Array.from(color), + opacity, + quadPoints, + boxes: null, + pageIndex: pageNumber - 1, + rect: rect.slice(0), + rotation, + annotationElementId: id, + id, + deleted: false, + popupRef, + richText, + comment: contentsObj?.str || null, + creationDate, + modificationDate + }; + } else if (data instanceof InkAnnotationElement) { + const { + data: { + inkLists, + rect, + rotation, + id, + color, + borderStyle: { + rawWidth: thickness + }, + popupRef, + richText, + contentsObj, + creationDate, + modificationDate + }, + parent: { + page: { + pageNumber + } + } + } = data; + initialData = data = { + annotationType: AnnotationEditorType.HIGHLIGHT, + color: Array.from(color), + thickness, + inkLists, + boxes: null, + pageIndex: pageNumber - 1, + rect: rect.slice(0), + rotation, + annotationElementId: id, + id, + deleted: false, + popupRef, + richText, + comment: contentsObj?.str || null, + creationDate, + modificationDate + }; + } + const { + color, + quadPoints, + inkLists, + opacity + } = data; + const editor = await super.deserialize(data, parent, uiManager); + editor.color = Util.makeHexColor(...color); + editor.opacity = opacity || 1; + if (inkLists) { + editor.#thickness = data.thickness; + } + editor._initialData = initialData; + if (data.comment) { + editor.setCommentData(data); + } + const [pageWidth, pageHeight] = editor.pageDimensions; + const [pageX, pageY] = editor.pageTranslation; + if (quadPoints) { + const boxes = editor.#boxes = []; + for (let i = 0; i < quadPoints.length; i += 8) { + boxes.push({ + x: (quadPoints[i] - pageX) / pageWidth, + y: 1 - (quadPoints[i + 1] - pageY) / pageHeight, + width: (quadPoints[i + 2] - quadPoints[i]) / pageWidth, + height: (quadPoints[i + 1] - quadPoints[i + 5]) / pageHeight + }); + } + editor.#createOutlines(); + editor.#addToDrawLayer(); + editor.rotate(editor.rotation); + } else if (inkLists) { + editor.#isFreeHighlight = true; + const points = inkLists[0]; + const point = { + x: points[0] - pageX, + y: pageHeight - (points[1] - pageY) + }; + const outliner = new FreeHighlightOutliner(point, [0, 0, pageWidth, pageHeight], 1, editor.#thickness / 2, true, 0.001); + for (let i = 0, ii = points.length; i < ii; i += 2) { + point.x = points[i] - pageX; + point.y = pageHeight - (points[i + 1] - pageY); + outliner.add(point); + } + const { + id, + clipPathId + } = parent.drawLayer.draw({ + bbox: [0, 0, 1, 1], + root: { + viewBox: "0 0 1 1", + fill: editor.color, + "fill-opacity": editor._defaultOpacity + }, + rootClass: { + highlight: true, + free: true + }, + path: { + d: outliner.toSVGPath() + } + }, true, true); + editor.#createFreeOutlines({ + highlightOutlines: outliner.getOutlines(), + highlightId: id, + clipPathId + }); + editor.#addToDrawLayer(); + editor.rotate(editor.parentRotation); + } + return editor; + } + serialize(isForCopying = false) { + if (this.isEmpty() || isForCopying) { + return null; + } + if (this.deleted) { + return this.serializeDeleted(); + } + const color = AnnotationEditor._colorManager.convert(this._uiManager.getNonHCMColor(this.color)); + const serialized = super.serialize(isForCopying); + Object.assign(serialized, { + color, + opacity: this.opacity, + thickness: this.#thickness, + quadPoints: this.#serializeBoxes(), + outlines: this.#serializeOutlines(serialized.rect) + }); + this.addComment(serialized); + if (this.annotationElementId && !this.#hasElementChanged(serialized)) { + return null; + } + serialized.id = this.annotationElementId; + return serialized; + } + #hasElementChanged(serialized) { + const { + color + } = this._initialData; + return this.hasEditedComment || serialized.color.some((c, i) => c !== color[i]); + } + renderAnnotationElement(annotation) { + if (this.deleted) { + annotation.hide(); + return null; + } + annotation.updateEdited({ + rect: this.getPDFRect(), + popup: this.comment + }); + return null; + } + static canCreateNewEmptyEditor() { + return false; + } +} + +;// ./src/display/editor/draw.js + + + + +class DrawingOptions { + #svgProperties = Object.create(null); + updateProperty(name, value) { + this[name] = value; + this.updateSVGProperty(name, value); + } + updateProperties(properties) { + if (!properties) { + return; + } + for (const [name, value] of Object.entries(properties)) { + if (!name.startsWith("_")) { + this.updateProperty(name, value); + } + } + } + updateSVGProperty(name, value) { + this.#svgProperties[name] = value; + } + toSVGProperties() { + const root = this.#svgProperties; + this.#svgProperties = Object.create(null); + return { + root + }; + } + reset() { + this.#svgProperties = Object.create(null); + } + updateAll(options = this) { + this.updateProperties(options); + } + clone() { + unreachable("Not implemented"); + } +} +class DrawingEditor extends AnnotationEditor { + #drawOutlines = null; + #mustBeCommitted; + _colorPicker = null; + _drawId = null; + static _currentDrawId = -1; + static _currentParent = null; + static #currentDraw = null; + static #currentDrawingAC = null; + static #currentDrawingOptions = null; + static _INNER_MARGIN = 3; + constructor(params) { + super(params); + this.#mustBeCommitted = params.mustBeCommitted || false; + this._addOutlines(params); + } + onUpdatedColor() { + this._colorPicker?.update(this.color); + super.onUpdatedColor(); + } + _addOutlines(params) { + if (params.drawOutlines) { + this.#createDrawOutlines(params); + this.#addToDrawLayer(); + } + } + #createDrawOutlines({ + drawOutlines, + drawId, + drawingOptions + }) { + this.#drawOutlines = drawOutlines; + this._drawingOptions ||= drawingOptions; + if (!this.annotationElementId) { + this._uiManager.a11yAlert(`pdfjs-editor-${this.editorType}-added-alert`); + } + if (drawId >= 0) { + this._drawId = drawId; + this.parent.drawLayer.finalizeDraw(drawId, drawOutlines.defaultProperties); + } else { + this._drawId = this.#createDrawing(drawOutlines, this.parent); + } + this.#updateBbox(drawOutlines.box); + } + #createDrawing(drawOutlines, parent) { + const { + id + } = parent.drawLayer.draw(DrawingEditor._mergeSVGProperties(this._drawingOptions.toSVGProperties(), drawOutlines.defaultSVGProperties), false, false); + return id; + } + static _mergeSVGProperties(p1, p2) { + const p1Keys = new Set(Object.keys(p1)); + for (const [key, value] of Object.entries(p2)) { + if (p1Keys.has(key)) { + Object.assign(p1[key], value); + } else { + p1[key] = value; + } + } + return p1; + } + static getDefaultDrawingOptions(_options) { + unreachable("Not implemented"); + } + static get typesMap() { + unreachable("Not implemented"); + } + static get isDrawer() { + return true; + } + static get supportMultipleDrawings() { + return false; + } + static updateDefaultParams(type, value) { + const propertyName = this.typesMap.get(type); + if (propertyName) { + this._defaultDrawingOptions.updateProperty(propertyName, value); + } + if (this._currentParent) { + DrawingEditor.#currentDraw.updateProperty(propertyName, value); + this._currentParent.drawLayer.updateProperties(this._currentDrawId, this._defaultDrawingOptions.toSVGProperties()); + } + } + updateParams(type, value) { + const propertyName = this.constructor.typesMap.get(type); + if (propertyName) { + this._updateProperty(type, propertyName, value); + } + } + static get defaultPropertiesToUpdate() { + const properties = []; + const options = this._defaultDrawingOptions; + for (const [type, name] of this.typesMap) { + properties.push([type, options[name]]); + } + return properties; + } + get propertiesToUpdate() { + const properties = []; + const { + _drawingOptions + } = this; + for (const [type, name] of this.constructor.typesMap) { + properties.push([type, _drawingOptions[name]]); + } + return properties; + } + _updateProperty(type, name, value) { + const options = this._drawingOptions; + const savedValue = options[name]; + const setter = val => { + options.updateProperty(name, val); + const bbox = this.#drawOutlines.updateProperty(name, val); + if (bbox) { + this.#updateBbox(bbox); + } + this.parent?.drawLayer.updateProperties(this._drawId, options.toSVGProperties()); + if (type === this.colorType) { + this.onUpdatedColor(); + } + }; + this.addCommands({ + cmd: setter.bind(this, value), + undo: setter.bind(this, savedValue), + post: this._uiManager.updateUI.bind(this._uiManager, this), + mustExec: true, + type, + overwriteIfSameType: true, + keepUndo: true + }); + } + _onResizing() { + this.parent?.drawLayer.updateProperties(this._drawId, DrawingEditor._mergeSVGProperties(this.#drawOutlines.getPathResizingSVGProperties(this.#convertToDrawSpace()), { + bbox: this.#rotateBox() + })); + } + _onResized() { + this.parent?.drawLayer.updateProperties(this._drawId, DrawingEditor._mergeSVGProperties(this.#drawOutlines.getPathResizedSVGProperties(this.#convertToDrawSpace()), { + bbox: this.#rotateBox() + })); + } + _onTranslating(_x, _y) { + this.parent?.drawLayer.updateProperties(this._drawId, { + bbox: this.#rotateBox() + }); + } + _onTranslated() { + this.parent?.drawLayer.updateProperties(this._drawId, DrawingEditor._mergeSVGProperties(this.#drawOutlines.getPathTranslatedSVGProperties(this.#convertToDrawSpace(), this.parentDimensions), { + bbox: this.#rotateBox() + })); + } + _onStartDragging() { + this.parent?.drawLayer.updateProperties(this._drawId, { + rootClass: { + moving: true + } + }); + } + _onStopDragging() { + this.parent?.drawLayer.updateProperties(this._drawId, { + rootClass: { + moving: false + } + }); + } + commit() { + super.commit(); + this.disableEditMode(); + this.disableEditing(); + } + disableEditing() { + super.disableEditing(); + this.div.classList.toggle("disabled", true); + } + enableEditing() { + super.enableEditing(); + this.div.classList.toggle("disabled", false); + } + getBaseTranslation() { + return [0, 0]; + } + get isResizable() { + return true; + } + onceAdded(focus) { + if (!this.annotationElementId) { + this.parent.addUndoableEditor(this); + } + this._isDraggable = true; + if (this.#mustBeCommitted) { + this.#mustBeCommitted = false; + this.commit(); + this.parent.setSelected(this); + if (focus && this.isOnScreen) { + this.div.focus(); + } + } + } + remove() { + this.#cleanDrawLayer(); + super.remove(); + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + this.#addToDrawLayer(); + this.#updateBbox(this.#drawOutlines.box); + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + setParent(parent) { + let mustBeSelected = false; + if (this.parent && !parent) { + this._uiManager.removeShouldRescale(this); + this.#cleanDrawLayer(); + } else if (parent) { + this._uiManager.addShouldRescale(this); + this.#addToDrawLayer(parent); + mustBeSelected = !this.parent && this.div?.classList.contains("selectedEditor"); + } + super.setParent(parent); + if (mustBeSelected) { + this.select(); + } + } + #cleanDrawLayer() { + if (this._drawId === null || !this.parent) { + return; + } + this.parent.drawLayer.remove(this._drawId); + this._drawId = null; + this._drawingOptions.reset(); + } + #addToDrawLayer(parent = this.parent) { + if (this._drawId !== null && this.parent === parent) { + return; + } + if (this._drawId !== null) { + this.parent.drawLayer.updateParent(this._drawId, parent.drawLayer); + return; + } + this._drawingOptions.updateAll(); + this._drawId = this.#createDrawing(this.#drawOutlines, parent); + } + #convertToParentSpace([x, y, width, height]) { + const { + parentDimensions: [pW, pH], + rotation + } = this; + switch (rotation) { + case 90: + return [y, 1 - x, width * (pH / pW), height * (pW / pH)]; + case 180: + return [1 - x, 1 - y, width, height]; + case 270: + return [1 - y, x, width * (pH / pW), height * (pW / pH)]; + default: + return [x, y, width, height]; + } + } + #convertToDrawSpace() { + const { + x, + y, + width, + height, + parentDimensions: [pW, pH], + rotation + } = this; + switch (rotation) { + case 90: + return [1 - y, x, width * (pW / pH), height * (pH / pW)]; + case 180: + return [1 - x, 1 - y, width, height]; + case 270: + return [y, 1 - x, width * (pW / pH), height * (pH / pW)]; + default: + return [x, y, width, height]; + } + } + #updateBbox(bbox) { + [this.x, this.y, this.width, this.height] = this.#convertToParentSpace(bbox); + if (this.div) { + this.fixAndSetPosition(); + this.setDims(); + } + this._onResized(); + } + #rotateBox() { + const { + x, + y, + width, + height, + rotation, + parentRotation, + parentDimensions: [pW, pH] + } = this; + switch ((rotation * 4 + parentRotation) / 90) { + case 1: + return [1 - y - height, x, height, width]; + case 2: + return [1 - x - width, 1 - y - height, width, height]; + case 3: + return [y, 1 - x - width, height, width]; + case 4: + return [x, y - width * (pW / pH), height * (pH / pW), width * (pW / pH)]; + case 5: + return [1 - y, x, width * (pW / pH), height * (pH / pW)]; + case 6: + return [1 - x - height * (pH / pW), 1 - y, height * (pH / pW), width * (pW / pH)]; + case 7: + return [y - width * (pW / pH), 1 - x - height * (pH / pW), width * (pW / pH), height * (pH / pW)]; + case 8: + return [x - width, y - height, width, height]; + case 9: + return [1 - y, x - width, height, width]; + case 10: + return [1 - x, 1 - y, width, height]; + case 11: + return [y - height, 1 - x, height, width]; + case 12: + return [x - height * (pH / pW), y, height * (pH / pW), width * (pW / pH)]; + case 13: + return [1 - y - width * (pW / pH), x - height * (pH / pW), width * (pW / pH), height * (pH / pW)]; + case 14: + return [1 - x, 1 - y - width * (pW / pH), height * (pH / pW), width * (pW / pH)]; + case 15: + return [y, 1 - x, width * (pW / pH), height * (pH / pW)]; + default: + return [x, y, width, height]; + } + } + rotate() { + if (!this.parent) { + return; + } + this.parent.drawLayer.updateProperties(this._drawId, DrawingEditor._mergeSVGProperties({ + bbox: this.#rotateBox() + }, this.#drawOutlines.updateRotation((this.parentRotation - this.rotation + 360) % 360))); + } + onScaleChanging() { + if (!this.parent) { + return; + } + this.#updateBbox(this.#drawOutlines.updateParentDimensions(this.parentDimensions, this.parent.scale)); + } + static onScaleChangingWhenDrawing() {} + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this._isCopy) { + baseX = this.x; + baseY = this.y; + } + const div = super.render(); + div.classList.add("draw"); + const drawDiv = document.createElement("div"); + div.append(drawDiv); + drawDiv.setAttribute("aria-hidden", "true"); + drawDiv.className = "internal"; + this.setDims(); + this._uiManager.addShouldRescale(this); + this.disableEditing(); + if (this._isCopy) { + this._moveAfterPaste(baseX, baseY); + } + return div; + } + static createDrawerInstance(_x, _y, _parentWidth, _parentHeight, _rotation) { + unreachable("Not implemented"); + } + static startDrawing(parent, uiManager, _isLTR, event) { + const { + target, + offsetX: x, + offsetY: y, + pointerId, + pointerType + } = event; + if (CurrentPointers.isInitializedAndDifferentPointerType(pointerType)) { + return; + } + const { + viewport: { + rotation + } + } = parent; + const { + width: parentWidth, + height: parentHeight + } = target.getBoundingClientRect(); + const ac = DrawingEditor.#currentDrawingAC = new AbortController(); + const signal = parent.combinedSignal(ac); + CurrentPointers.setPointer(pointerType, pointerId); + window.addEventListener("pointerup", e => { + if (CurrentPointers.isSamePointerIdOrRemove(e.pointerId)) { + this._endDraw(e); + } + }, { + signal + }); + window.addEventListener("pointercancel", e => { + if (CurrentPointers.isSamePointerIdOrRemove(e.pointerId)) { + this._currentParent.endDrawingSession(); + } + }, { + signal + }); + window.addEventListener("pointerdown", e => { + if (!CurrentPointers.isSamePointerType(e.pointerType)) { + return; + } + CurrentPointers.initializeAndAddPointerId(e.pointerId); + if (DrawingEditor.#currentDraw.isCancellable()) { + DrawingEditor.#currentDraw.removeLastElement(); + if (DrawingEditor.#currentDraw.isEmpty()) { + this._currentParent.endDrawingSession(true); + } else { + this._endDraw(null); + } + } + }, { + capture: true, + passive: false, + signal + }); + window.addEventListener("contextmenu", noContextMenu, { + signal + }); + target.addEventListener("pointermove", this._drawMove.bind(this), { + signal + }); + target.addEventListener("touchmove", e => { + if (CurrentPointers.isSameTimeStamp(e.timeStamp)) { + stopEvent(e); + } + }, { + signal + }); + parent.toggleDrawing(); + uiManager._editorUndoBar?.hide(); + if (DrawingEditor.#currentDraw) { + parent.drawLayer.updateProperties(this._currentDrawId, DrawingEditor.#currentDraw.startNew(x, y, parentWidth, parentHeight, rotation)); + return; + } + uiManager.updateUIForDefaultProperties(this); + DrawingEditor.#currentDraw = this.createDrawerInstance(x, y, parentWidth, parentHeight, rotation); + DrawingEditor.#currentDrawingOptions = this.getDefaultDrawingOptions(); + this._currentParent = parent; + ({ + id: this._currentDrawId + } = parent.drawLayer.draw(this._mergeSVGProperties(DrawingEditor.#currentDrawingOptions.toSVGProperties(), DrawingEditor.#currentDraw.defaultSVGProperties), true, false)); + } + static _drawMove(event) { + CurrentPointers.isSameTimeStamp(event.timeStamp); + if (!DrawingEditor.#currentDraw) { + return; + } + const { + offsetX, + offsetY, + pointerId + } = event; + if (!CurrentPointers.isSamePointerId(pointerId)) { + return; + } + if (CurrentPointers.isUsingMultiplePointers()) { + this._endDraw(event); + return; + } + this._currentParent.drawLayer.updateProperties(this._currentDrawId, DrawingEditor.#currentDraw.add(offsetX, offsetY)); + CurrentPointers.setTimeStamp(event.timeStamp); + stopEvent(event); + } + static _cleanup(all) { + if (all) { + this._currentDrawId = -1; + this._currentParent = null; + DrawingEditor.#currentDraw = null; + DrawingEditor.#currentDrawingOptions = null; + CurrentPointers.clearTimeStamp(); + } + if (DrawingEditor.#currentDrawingAC) { + DrawingEditor.#currentDrawingAC.abort(); + DrawingEditor.#currentDrawingAC = null; + CurrentPointers.clearPointerIds(); + } + } + static _endDraw(event) { + const parent = this._currentParent; + if (!parent) { + return; + } + parent.toggleDrawing(true); + this._cleanup(false); + if (event?.target === parent.div) { + parent.drawLayer.updateProperties(this._currentDrawId, DrawingEditor.#currentDraw.end(event.offsetX, event.offsetY)); + } + if (this.supportMultipleDrawings) { + const draw = DrawingEditor.#currentDraw; + const drawId = this._currentDrawId; + const lastElement = draw.getLastElement(); + parent.addCommands({ + cmd: () => { + parent.drawLayer.updateProperties(drawId, draw.setLastElement(lastElement)); + }, + undo: () => { + parent.drawLayer.updateProperties(drawId, draw.removeLastElement()); + }, + mustExec: false, + type: AnnotationEditorParamsType.DRAW_STEP + }); + return; + } + this.endDrawing(false); + } + static endDrawing(isAborted) { + const parent = this._currentParent; + if (!parent) { + return null; + } + parent.toggleDrawing(true); + parent.cleanUndoStack(AnnotationEditorParamsType.DRAW_STEP); + if (!DrawingEditor.#currentDraw.isEmpty()) { + const { + pageDimensions: [pageWidth, pageHeight], + scale + } = parent; + const editor = parent.createAndAddNewEditor({ + offsetX: 0, + offsetY: 0 + }, false, { + drawId: this._currentDrawId, + drawOutlines: DrawingEditor.#currentDraw.getOutlines(pageWidth * scale, pageHeight * scale, scale, this._INNER_MARGIN), + drawingOptions: DrawingEditor.#currentDrawingOptions, + mustBeCommitted: !isAborted + }); + this._cleanup(true); + return editor; + } + parent.drawLayer.remove(this._currentDrawId); + this._cleanup(true); + return null; + } + createDrawingOptions(_data) {} + static deserializeDraw(_pageX, _pageY, _pageWidth, _pageHeight, _innerWidth, _data) { + unreachable("Not implemented"); + } + static async deserialize(data, parent, uiManager) { + const { + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } = parent.viewport; + const drawOutlines = this.deserializeDraw(pageX, pageY, pageWidth, pageHeight, this._INNER_MARGIN, data); + const editor = await super.deserialize(data, parent, uiManager); + editor.createDrawingOptions(data); + editor.#createDrawOutlines({ + drawOutlines + }); + editor.#addToDrawLayer(); + editor.onScaleChanging(); + editor.rotate(); + return editor; + } + serializeDraw(isForCopying) { + const [pageX, pageY] = this.pageTranslation; + const [pageWidth, pageHeight] = this.pageDimensions; + return this.#drawOutlines.serialize([pageX, pageY, pageWidth, pageHeight], isForCopying); + } + renderAnnotationElement(annotation) { + annotation.updateEdited({ + rect: this.getPDFRect() + }); + return null; + } + static canCreateNewEmptyEditor() { + return false; + } +} + +;// ./src/display/editor/drawers/inkdraw.js + + +class InkDrawOutliner { + #last = new Float64Array(6); + #line; + #lines; + #rotation; + #thickness; + #points; + #lastSVGPath = ""; + #lastIndex = 0; + #outlines = new InkDrawOutline(); + #parentWidth; + #parentHeight; + constructor(x, y, parentWidth, parentHeight, rotation, thickness) { + this.#parentWidth = parentWidth; + this.#parentHeight = parentHeight; + this.#rotation = rotation; + this.#thickness = thickness; + [x, y] = this.#normalizePoint(x, y); + const line = this.#line = [NaN, NaN, NaN, NaN, x, y]; + this.#points = [x, y]; + this.#lines = [{ + line, + points: this.#points + }]; + this.#last.set(line, 0); + } + updateProperty(name, value) { + if (name === "stroke-width") { + this.#thickness = value; + } + } + #normalizePoint(x, y) { + return Outline._normalizePoint(x, y, this.#parentWidth, this.#parentHeight, this.#rotation); + } + isEmpty() { + return !this.#lines || this.#lines.length === 0; + } + isCancellable() { + return this.#points.length <= 10; + } + add(x, y) { + [x, y] = this.#normalizePoint(x, y); + const [x1, y1, x2, y2] = this.#last.subarray(2, 6); + const diffX = x - x2; + const diffY = y - y2; + const d = Math.hypot(this.#parentWidth * diffX, this.#parentHeight * diffY); + if (d <= 2) { + return null; + } + this.#points.push(x, y); + if (isNaN(x1)) { + this.#last.set([x2, y2, x, y], 2); + this.#line.push(NaN, NaN, NaN, NaN, x, y); + return { + path: { + d: this.toSVGPath() + } + }; + } + if (isNaN(this.#last[0])) { + this.#line.splice(6, 6); + } + this.#last.set([x1, y1, x2, y2, x, y], 0); + this.#line.push(...Outline.createBezierPoints(x1, y1, x2, y2, x, y)); + return { + path: { + d: this.toSVGPath() + } + }; + } + end(x, y) { + const change = this.add(x, y); + if (change) { + return change; + } + if (this.#points.length === 2) { + return { + path: { + d: this.toSVGPath() + } + }; + } + return null; + } + startNew(x, y, parentWidth, parentHeight, rotation) { + this.#parentWidth = parentWidth; + this.#parentHeight = parentHeight; + this.#rotation = rotation; + [x, y] = this.#normalizePoint(x, y); + const line = this.#line = [NaN, NaN, NaN, NaN, x, y]; + this.#points = [x, y]; + const last = this.#lines.at(-1); + if (last) { + last.line = new Float32Array(last.line); + last.points = new Float32Array(last.points); + } + this.#lines.push({ + line, + points: this.#points + }); + this.#last.set(line, 0); + this.#lastIndex = 0; + this.toSVGPath(); + return null; + } + getLastElement() { + return this.#lines.at(-1); + } + setLastElement(element) { + if (!this.#lines) { + return this.#outlines.setLastElement(element); + } + this.#lines.push(element); + this.#line = element.line; + this.#points = element.points; + this.#lastIndex = 0; + return { + path: { + d: this.toSVGPath() + } + }; + } + removeLastElement() { + if (!this.#lines) { + return this.#outlines.removeLastElement(); + } + this.#lines.pop(); + this.#lastSVGPath = ""; + for (let i = 0, ii = this.#lines.length; i < ii; i++) { + const { + line, + points + } = this.#lines[i]; + this.#line = line; + this.#points = points; + this.#lastIndex = 0; + this.toSVGPath(); + } + return { + path: { + d: this.#lastSVGPath + } + }; + } + toSVGPath() { + const firstX = Outline.svgRound(this.#line[4]); + const firstY = Outline.svgRound(this.#line[5]); + if (this.#points.length === 2) { + this.#lastSVGPath = `${this.#lastSVGPath} M ${firstX} ${firstY} Z`; + return this.#lastSVGPath; + } + if (this.#points.length <= 6) { + const i = this.#lastSVGPath.lastIndexOf("M"); + this.#lastSVGPath = `${this.#lastSVGPath.slice(0, i)} M ${firstX} ${firstY}`; + this.#lastIndex = 6; + } + if (this.#points.length === 4) { + const secondX = Outline.svgRound(this.#line[10]); + const secondY = Outline.svgRound(this.#line[11]); + this.#lastSVGPath = `${this.#lastSVGPath} L ${secondX} ${secondY}`; + this.#lastIndex = 12; + return this.#lastSVGPath; + } + const buffer = []; + if (this.#lastIndex === 0) { + buffer.push(`M ${firstX} ${firstY}`); + this.#lastIndex = 6; + } + for (let i = this.#lastIndex, ii = this.#line.length; i < ii; i += 6) { + const [c1x, c1y, c2x, c2y, x, y] = this.#line.slice(i, i + 6).map(Outline.svgRound); + buffer.push(`C${c1x} ${c1y} ${c2x} ${c2y} ${x} ${y}`); + } + this.#lastSVGPath += buffer.join(" "); + this.#lastIndex = this.#line.length; + return this.#lastSVGPath; + } + getOutlines(parentWidth, parentHeight, scale, innerMargin) { + const last = this.#lines.at(-1); + last.line = new Float32Array(last.line); + last.points = new Float32Array(last.points); + this.#outlines.build(this.#lines, parentWidth, parentHeight, scale, this.#rotation, this.#thickness, innerMargin); + this.#last = null; + this.#line = null; + this.#lines = null; + this.#lastSVGPath = null; + return this.#outlines; + } + get defaultSVGProperties() { + return { + root: { + viewBox: "0 0 10000 10000" + }, + rootClass: { + draw: true + }, + bbox: [0, 0, 1, 1] + }; + } +} +class InkDrawOutline extends Outline { + #bbox; + #currentRotation = 0; + #innerMargin; + #lines; + #parentWidth; + #parentHeight; + #parentScale; + #rotation; + #thickness; + build(lines, parentWidth, parentHeight, parentScale, rotation, thickness, innerMargin) { + this.#parentWidth = parentWidth; + this.#parentHeight = parentHeight; + this.#parentScale = parentScale; + this.#rotation = rotation; + this.#thickness = thickness; + this.#innerMargin = innerMargin ?? 0; + this.#lines = lines; + this.#computeBbox(); + } + get thickness() { + return this.#thickness; + } + setLastElement(element) { + this.#lines.push(element); + return { + path: { + d: this.toSVGPath() + } + }; + } + removeLastElement() { + this.#lines.pop(); + return { + path: { + d: this.toSVGPath() + } + }; + } + toSVGPath() { + const buffer = []; + for (const { + line + } of this.#lines) { + buffer.push(`M${Outline.svgRound(line[4])} ${Outline.svgRound(line[5])}`); + if (line.length === 6) { + buffer.push("Z"); + continue; + } + if (line.length === 12 && isNaN(line[6])) { + buffer.push(`L${Outline.svgRound(line[10])} ${Outline.svgRound(line[11])}`); + continue; + } + for (let i = 6, ii = line.length; i < ii; i += 6) { + const [c1x, c1y, c2x, c2y, x, y] = line.subarray(i, i + 6).map(Outline.svgRound); + buffer.push(`C${c1x} ${c1y} ${c2x} ${c2y} ${x} ${y}`); + } + } + return buffer.join(""); + } + serialize([pageX, pageY, pageWidth, pageHeight], isForCopying) { + const serializedLines = []; + const serializedPoints = []; + const [x, y, width, height] = this.#getBBoxWithNoMargin(); + let tx, ty, sx, sy, x1, y1, x2, y2, rescaleFn; + switch (this.#rotation) { + case 0: + rescaleFn = Outline._rescale; + tx = pageX; + ty = pageY + pageHeight; + sx = pageWidth; + sy = -pageHeight; + x1 = pageX + x * pageWidth; + y1 = pageY + (1 - y - height) * pageHeight; + x2 = pageX + (x + width) * pageWidth; + y2 = pageY + (1 - y) * pageHeight; + break; + case 90: + rescaleFn = Outline._rescaleAndSwap; + tx = pageX; + ty = pageY; + sx = pageWidth; + sy = pageHeight; + x1 = pageX + y * pageWidth; + y1 = pageY + x * pageHeight; + x2 = pageX + (y + height) * pageWidth; + y2 = pageY + (x + width) * pageHeight; + break; + case 180: + rescaleFn = Outline._rescale; + tx = pageX + pageWidth; + ty = pageY; + sx = -pageWidth; + sy = pageHeight; + x1 = pageX + (1 - x - width) * pageWidth; + y1 = pageY + y * pageHeight; + x2 = pageX + (1 - x) * pageWidth; + y2 = pageY + (y + height) * pageHeight; + break; + case 270: + rescaleFn = Outline._rescaleAndSwap; + tx = pageX + pageWidth; + ty = pageY + pageHeight; + sx = -pageWidth; + sy = -pageHeight; + x1 = pageX + (1 - y - height) * pageWidth; + y1 = pageY + (1 - x - width) * pageHeight; + x2 = pageX + (1 - y) * pageWidth; + y2 = pageY + (1 - x) * pageHeight; + break; + } + for (const { + line, + points + } of this.#lines) { + serializedLines.push(rescaleFn(line, tx, ty, sx, sy, isForCopying ? new Array(line.length) : null)); + serializedPoints.push(rescaleFn(points, tx, ty, sx, sy, isForCopying ? new Array(points.length) : null)); + } + return { + lines: serializedLines, + points: serializedPoints, + rect: [x1, y1, x2, y2] + }; + } + static deserialize(pageX, pageY, pageWidth, pageHeight, innerMargin, { + paths: { + lines, + points + }, + rotation, + thickness + }) { + const newLines = []; + let tx, ty, sx, sy, rescaleFn; + switch (rotation) { + case 0: + rescaleFn = Outline._rescale; + tx = -pageX / pageWidth; + ty = pageY / pageHeight + 1; + sx = 1 / pageWidth; + sy = -1 / pageHeight; + break; + case 90: + rescaleFn = Outline._rescaleAndSwap; + tx = -pageY / pageHeight; + ty = -pageX / pageWidth; + sx = 1 / pageHeight; + sy = 1 / pageWidth; + break; + case 180: + rescaleFn = Outline._rescale; + tx = pageX / pageWidth + 1; + ty = -pageY / pageHeight; + sx = -1 / pageWidth; + sy = 1 / pageHeight; + break; + case 270: + rescaleFn = Outline._rescaleAndSwap; + tx = pageY / pageHeight + 1; + ty = pageX / pageWidth + 1; + sx = -1 / pageHeight; + sy = -1 / pageWidth; + break; + } + if (!lines) { + lines = []; + for (const point of points) { + const len = point.length; + if (len === 2) { + lines.push(new Float32Array([NaN, NaN, NaN, NaN, point[0], point[1]])); + continue; + } + if (len === 4) { + lines.push(new Float32Array([NaN, NaN, NaN, NaN, point[0], point[1], NaN, NaN, NaN, NaN, point[2], point[3]])); + continue; + } + const line = new Float32Array(3 * (len - 2)); + lines.push(line); + let [x1, y1, x2, y2] = point.subarray(0, 4); + line.set([NaN, NaN, NaN, NaN, x1, y1], 0); + for (let i = 4; i < len; i += 2) { + const x = point[i]; + const y = point[i + 1]; + line.set(Outline.createBezierPoints(x1, y1, x2, y2, x, y), (i - 2) * 3); + [x1, y1, x2, y2] = [x2, y2, x, y]; + } + } + } + for (let i = 0, ii = lines.length; i < ii; i++) { + newLines.push({ + line: rescaleFn(lines[i].map(x => x ?? NaN), tx, ty, sx, sy), + points: rescaleFn(points[i].map(x => x ?? NaN), tx, ty, sx, sy) + }); + } + const outlines = new this.prototype.constructor(); + outlines.build(newLines, pageWidth, pageHeight, 1, rotation, thickness, innerMargin); + return outlines; + } + #getMarginComponents(thickness = this.#thickness) { + const margin = this.#innerMargin + thickness / 2 * this.#parentScale; + return this.#rotation % 180 === 0 ? [margin / this.#parentWidth, margin / this.#parentHeight] : [margin / this.#parentHeight, margin / this.#parentWidth]; + } + #getBBoxWithNoMargin() { + const [x, y, width, height] = this.#bbox; + const [marginX, marginY] = this.#getMarginComponents(0); + return [x + marginX, y + marginY, width - 2 * marginX, height - 2 * marginY]; + } + #computeBbox() { + const bbox = this.#bbox = new Float32Array([Infinity, Infinity, -Infinity, -Infinity]); + for (const { + line + } of this.#lines) { + if (line.length <= 12) { + for (let i = 4, ii = line.length; i < ii; i += 6) { + Util.pointBoundingBox(line[i], line[i + 1], bbox); + } + continue; + } + let lastX = line[4], + lastY = line[5]; + for (let i = 6, ii = line.length; i < ii; i += 6) { + const [c1x, c1y, c2x, c2y, x, y] = line.subarray(i, i + 6); + Util.bezierBoundingBox(lastX, lastY, c1x, c1y, c2x, c2y, x, y, bbox); + lastX = x; + lastY = y; + } + } + const [marginX, marginY] = this.#getMarginComponents(); + bbox[0] = MathClamp(bbox[0] - marginX, 0, 1); + bbox[1] = MathClamp(bbox[1] - marginY, 0, 1); + bbox[2] = MathClamp(bbox[2] + marginX, 0, 1); + bbox[3] = MathClamp(bbox[3] + marginY, 0, 1); + bbox[2] -= bbox[0]; + bbox[3] -= bbox[1]; + } + get box() { + return this.#bbox; + } + updateProperty(name, value) { + if (name === "stroke-width") { + return this.#updateThickness(value); + } + return null; + } + #updateThickness(thickness) { + const [oldMarginX, oldMarginY] = this.#getMarginComponents(); + this.#thickness = thickness; + const [newMarginX, newMarginY] = this.#getMarginComponents(); + const [diffMarginX, diffMarginY] = [newMarginX - oldMarginX, newMarginY - oldMarginY]; + const bbox = this.#bbox; + bbox[0] -= diffMarginX; + bbox[1] -= diffMarginY; + bbox[2] += 2 * diffMarginX; + bbox[3] += 2 * diffMarginY; + return bbox; + } + updateParentDimensions([width, height], scale) { + const [oldMarginX, oldMarginY] = this.#getMarginComponents(); + this.#parentWidth = width; + this.#parentHeight = height; + this.#parentScale = scale; + const [newMarginX, newMarginY] = this.#getMarginComponents(); + const diffMarginX = newMarginX - oldMarginX; + const diffMarginY = newMarginY - oldMarginY; + const bbox = this.#bbox; + bbox[0] -= diffMarginX; + bbox[1] -= diffMarginY; + bbox[2] += 2 * diffMarginX; + bbox[3] += 2 * diffMarginY; + return bbox; + } + updateRotation(rotation) { + this.#currentRotation = rotation; + return { + path: { + transform: this.rotationTransform + } + }; + } + get viewBox() { + return this.#bbox.map(Outline.svgRound).join(" "); + } + get defaultProperties() { + const [x, y] = this.#bbox; + return { + root: { + viewBox: this.viewBox + }, + path: { + "transform-origin": `${Outline.svgRound(x)} ${Outline.svgRound(y)}` + } + }; + } + get rotationTransform() { + const [,, width, height] = this.#bbox; + let a = 0, + b = 0, + c = 0, + d = 0, + e = 0, + f = 0; + switch (this.#currentRotation) { + case 90: + b = height / width; + c = -width / height; + e = width; + break; + case 180: + a = -1; + d = -1; + e = width; + f = height; + break; + case 270: + b = -height / width; + c = width / height; + f = height; + break; + default: + return ""; + } + return `matrix(${a} ${b} ${c} ${d} ${Outline.svgRound(e)} ${Outline.svgRound(f)})`; + } + getPathResizingSVGProperties([newX, newY, newWidth, newHeight]) { + const [marginX, marginY] = this.#getMarginComponents(); + const [x, y, width, height] = this.#bbox; + if (Math.abs(width - marginX) <= Outline.PRECISION || Math.abs(height - marginY) <= Outline.PRECISION) { + const tx = newX + newWidth / 2 - (x + width / 2); + const ty = newY + newHeight / 2 - (y + height / 2); + return { + path: { + "transform-origin": `${Outline.svgRound(newX)} ${Outline.svgRound(newY)}`, + transform: `${this.rotationTransform} translate(${tx} ${ty})` + } + }; + } + const s1x = (newWidth - 2 * marginX) / (width - 2 * marginX); + const s1y = (newHeight - 2 * marginY) / (height - 2 * marginY); + const s2x = width / newWidth; + const s2y = height / newHeight; + return { + path: { + "transform-origin": `${Outline.svgRound(x)} ${Outline.svgRound(y)}`, + transform: `${this.rotationTransform} scale(${s2x} ${s2y}) ` + `translate(${Outline.svgRound(marginX)} ${Outline.svgRound(marginY)}) scale(${s1x} ${s1y}) ` + `translate(${Outline.svgRound(-marginX)} ${Outline.svgRound(-marginY)})` + } + }; + } + getPathResizedSVGProperties([newX, newY, newWidth, newHeight]) { + const [marginX, marginY] = this.#getMarginComponents(); + const bbox = this.#bbox; + const [x, y, width, height] = bbox; + bbox[0] = newX; + bbox[1] = newY; + bbox[2] = newWidth; + bbox[3] = newHeight; + if (Math.abs(width - marginX) <= Outline.PRECISION || Math.abs(height - marginY) <= Outline.PRECISION) { + const tx = newX + newWidth / 2 - (x + width / 2); + const ty = newY + newHeight / 2 - (y + height / 2); + for (const { + line, + points + } of this.#lines) { + Outline._translate(line, tx, ty, line); + Outline._translate(points, tx, ty, points); + } + return { + root: { + viewBox: this.viewBox + }, + path: { + "transform-origin": `${Outline.svgRound(newX)} ${Outline.svgRound(newY)}`, + transform: this.rotationTransform || null, + d: this.toSVGPath() + } + }; + } + const s1x = (newWidth - 2 * marginX) / (width - 2 * marginX); + const s1y = (newHeight - 2 * marginY) / (height - 2 * marginY); + const tx = -s1x * (x + marginX) + newX + marginX; + const ty = -s1y * (y + marginY) + newY + marginY; + if (s1x !== 1 || s1y !== 1 || tx !== 0 || ty !== 0) { + for (const { + line, + points + } of this.#lines) { + Outline._rescale(line, tx, ty, s1x, s1y, line); + Outline._rescale(points, tx, ty, s1x, s1y, points); + } + } + return { + root: { + viewBox: this.viewBox + }, + path: { + "transform-origin": `${Outline.svgRound(newX)} ${Outline.svgRound(newY)}`, + transform: this.rotationTransform || null, + d: this.toSVGPath() + } + }; + } + getPathTranslatedSVGProperties([newX, newY], parentDimensions) { + const [newParentWidth, newParentHeight] = parentDimensions; + const bbox = this.#bbox; + const tx = newX - bbox[0]; + const ty = newY - bbox[1]; + if (this.#parentWidth === newParentWidth && this.#parentHeight === newParentHeight) { + for (const { + line, + points + } of this.#lines) { + Outline._translate(line, tx, ty, line); + Outline._translate(points, tx, ty, points); + } + } else { + const sx = this.#parentWidth / newParentWidth; + const sy = this.#parentHeight / newParentHeight; + this.#parentWidth = newParentWidth; + this.#parentHeight = newParentHeight; + for (const { + line, + points + } of this.#lines) { + Outline._rescale(line, tx, ty, sx, sy, line); + Outline._rescale(points, tx, ty, sx, sy, points); + } + bbox[2] *= sx; + bbox[3] *= sy; + } + bbox[0] = newX; + bbox[1] = newY; + return { + root: { + viewBox: this.viewBox + }, + path: { + d: this.toSVGPath(), + "transform-origin": `${Outline.svgRound(newX)} ${Outline.svgRound(newY)}` + } + }; + } + get defaultSVGProperties() { + const bbox = this.#bbox; + return { + root: { + viewBox: this.viewBox + }, + rootClass: { + draw: true + }, + path: { + d: this.toSVGPath(), + "transform-origin": `${Outline.svgRound(bbox[0])} ${Outline.svgRound(bbox[1])}`, + transform: this.rotationTransform || null + }, + bbox + }; + } +} + +;// ./src/display/editor/ink.js + + + + + + +class InkDrawingOptions extends DrawingOptions { + constructor(viewerParameters) { + super(); + this._viewParameters = viewerParameters; + super.updateProperties({ + fill: "none", + stroke: AnnotationEditor._defaultLineColor, + "stroke-opacity": 1, + "stroke-width": 1, + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-miterlimit": 10 + }); + } + updateSVGProperty(name, value) { + if (name === "stroke-width") { + value ??= this["stroke-width"]; + value *= this._viewParameters.realScale; + } + super.updateSVGProperty(name, value); + } + clone() { + const clone = new InkDrawingOptions(this._viewParameters); + clone.updateAll(this); + return clone; + } +} +class InkEditor extends DrawingEditor { + static _type = "ink"; + static _editorType = AnnotationEditorType.INK; + static _defaultDrawingOptions = null; + constructor(params) { + super({ + ...params, + name: "inkEditor" + }); + this._willKeepAspectRatio = true; + this.defaultL10nId = "pdfjs-editor-ink-editor"; + } + static initialize(l10n, uiManager) { + AnnotationEditor.initialize(l10n, uiManager); + this._defaultDrawingOptions = new InkDrawingOptions(uiManager.viewParameters); + } + static getDefaultDrawingOptions(options) { + const clone = this._defaultDrawingOptions.clone(); + clone.updateProperties(options); + return clone; + } + static get supportMultipleDrawings() { + return true; + } + static get typesMap() { + return shadow(this, "typesMap", new Map([[AnnotationEditorParamsType.INK_THICKNESS, "stroke-width"], [AnnotationEditorParamsType.INK_COLOR, "stroke"], [AnnotationEditorParamsType.INK_OPACITY, "stroke-opacity"]])); + } + static createDrawerInstance(x, y, parentWidth, parentHeight, rotation) { + return new InkDrawOutliner(x, y, parentWidth, parentHeight, rotation, this._defaultDrawingOptions["stroke-width"]); + } + static deserializeDraw(pageX, pageY, pageWidth, pageHeight, innerMargin, data) { + return InkDrawOutline.deserialize(pageX, pageY, pageWidth, pageHeight, innerMargin, data); + } + static async deserialize(data, parent, uiManager) { + let initialData = null; + if (data instanceof InkAnnotationElement) { + const { + data: { + inkLists, + rect, + rotation, + id, + color, + opacity, + borderStyle: { + rawWidth: thickness + }, + popupRef, + richText, + contentsObj, + creationDate, + modificationDate + }, + parent: { + page: { + pageNumber + } + } + } = data; + initialData = data = { + annotationType: AnnotationEditorType.INK, + color: Array.from(color), + thickness, + opacity, + paths: { + points: inkLists + }, + boxes: null, + pageIndex: pageNumber - 1, + rect: rect.slice(0), + rotation, + annotationElementId: id, + id, + deleted: false, + popupRef, + richText, + comment: contentsObj?.str || null, + creationDate, + modificationDate + }; + } + const editor = await super.deserialize(data, parent, uiManager); + editor._initialData = initialData; + if (data.comment) { + editor.setCommentData(data); + } + return editor; + } + get toolbarButtons() { + this._colorPicker ||= new BasicColorPicker(this); + return [["colorPicker", this._colorPicker]]; + } + get colorType() { + return AnnotationEditorParamsType.INK_COLOR; + } + get color() { + return this._drawingOptions.stroke; + } + get opacity() { + return this._drawingOptions["stroke-opacity"]; + } + onScaleChanging() { + if (!this.parent) { + return; + } + super.onScaleChanging(); + const { + _drawId, + _drawingOptions, + parent + } = this; + _drawingOptions.updateSVGProperty("stroke-width"); + parent.drawLayer.updateProperties(_drawId, _drawingOptions.toSVGProperties()); + } + static onScaleChangingWhenDrawing() { + const parent = this._currentParent; + if (!parent) { + return; + } + super.onScaleChangingWhenDrawing(); + this._defaultDrawingOptions.updateSVGProperty("stroke-width"); + parent.drawLayer.updateProperties(this._currentDrawId, this._defaultDrawingOptions.toSVGProperties()); + } + createDrawingOptions({ + color, + thickness, + opacity + }) { + this._drawingOptions = InkEditor.getDefaultDrawingOptions({ + stroke: Util.makeHexColor(...color), + "stroke-width": thickness, + "stroke-opacity": opacity + }); + } + serialize(isForCopying = false) { + if (this.isEmpty()) { + return null; + } + if (this.deleted) { + return this.serializeDeleted(); + } + const { + lines, + points + } = this.serializeDraw(isForCopying); + const { + _drawingOptions: { + stroke, + "stroke-opacity": opacity, + "stroke-width": thickness + } + } = this; + const serialized = Object.assign(super.serialize(isForCopying), { + color: AnnotationEditor._colorManager.convert(stroke), + opacity, + thickness, + paths: { + lines, + points + } + }); + this.addComment(serialized); + if (isForCopying) { + serialized.isCopy = true; + return serialized; + } + if (this.annotationElementId && !this.#hasElementChanged(serialized)) { + return null; + } + serialized.id = this.annotationElementId; + return serialized; + } + #hasElementChanged(serialized) { + const { + color, + thickness, + opacity, + pageIndex + } = this._initialData; + return this.hasEditedComment || this._hasBeenMoved || this._hasBeenResized || serialized.color.some((c, i) => c !== color[i]) || serialized.thickness !== thickness || serialized.opacity !== opacity || serialized.pageIndex !== pageIndex; + } + renderAnnotationElement(annotation) { + if (this.deleted) { + annotation.hide(); + return null; + } + const { + points, + rect + } = this.serializeDraw(false); + annotation.updateEdited({ + rect, + thickness: this._drawingOptions["stroke-width"], + points, + popup: this.comment + }); + return null; + } +} + +;// ./src/display/editor/drawers/contour.js + +class ContourDrawOutline extends InkDrawOutline { + toSVGPath() { + let path = super.toSVGPath(); + if (!path.endsWith("Z")) { + path += "Z"; + } + return path; + } +} + +;// ./src/display/editor/drawers/signaturedraw.js + + + + +const BASE_HEADER_LENGTH = 8; +const POINTS_PROPERTIES_NUMBER = 3; +class SignatureExtractor { + static #PARAMETERS = { + maxDim: 512, + sigmaSFactor: 0.02, + sigmaR: 25, + kernelSize: 16 + }; + static #neighborIndexToId(i0, j0, i, j) { + i -= i0; + j -= j0; + if (i === 0) { + return j > 0 ? 0 : 4; + } + if (i === 1) { + return j + 6; + } + return 2 - j; + } + static #neighborIdToIndex = new Int32Array([0, 1, -1, 1, -1, 0, -1, -1, 0, -1, 1, -1, 1, 0, 1, 1]); + static #clockwiseNonZero(buf, width, i0, j0, i, j, offset) { + const id = this.#neighborIndexToId(i0, j0, i, j); + for (let k = 0; k < 8; k++) { + const kk = (-k + id - offset + 16) % 8; + const shiftI = this.#neighborIdToIndex[2 * kk]; + const shiftJ = this.#neighborIdToIndex[2 * kk + 1]; + if (buf[(i0 + shiftI) * width + (j0 + shiftJ)] !== 0) { + return kk; + } + } + return -1; + } + static #counterClockwiseNonZero(buf, width, i0, j0, i, j, offset) { + const id = this.#neighborIndexToId(i0, j0, i, j); + for (let k = 0; k < 8; k++) { + const kk = (k + id + offset + 16) % 8; + const shiftI = this.#neighborIdToIndex[2 * kk]; + const shiftJ = this.#neighborIdToIndex[2 * kk + 1]; + if (buf[(i0 + shiftI) * width + (j0 + shiftJ)] !== 0) { + return kk; + } + } + return -1; + } + static #findContours(buf, width, height, threshold) { + const N = buf.length; + const types = new Int32Array(N); + for (let i = 0; i < N; i++) { + types[i] = buf[i] <= threshold ? 1 : 0; + } + for (let i = 1; i < height - 1; i++) { + types[i * width] = types[i * width + width - 1] = 0; + } + for (let i = 0; i < width; i++) { + types[i] = types[width * height - 1 - i] = 0; + } + let nbd = 1; + let lnbd; + const contours = []; + for (let i = 1; i < height - 1; i++) { + lnbd = 1; + for (let j = 1; j < width - 1; j++) { + const ij = i * width + j; + const pix = types[ij]; + if (pix === 0) { + continue; + } + let i2 = i; + let j2 = j; + if (pix === 1 && types[ij - 1] === 0) { + nbd += 1; + j2 -= 1; + } else if (pix >= 1 && types[ij + 1] === 0) { + nbd += 1; + j2 += 1; + if (pix > 1) { + lnbd = pix; + } + } else { + if (pix !== 1) { + lnbd = Math.abs(pix); + } + continue; + } + const points = [j, i]; + const isHole = j2 === j + 1; + const contour = { + isHole, + points, + id: nbd, + parent: 0 + }; + contours.push(contour); + let contour0; + for (const c of contours) { + if (c.id === lnbd) { + contour0 = c; + break; + } + } + if (!contour0) { + contour.parent = isHole ? lnbd : 0; + } else if (contour0.isHole) { + contour.parent = isHole ? contour0.parent : lnbd; + } else { + contour.parent = isHole ? lnbd : contour0.parent; + } + const k = this.#clockwiseNonZero(types, width, i, j, i2, j2, 0); + if (k === -1) { + types[ij] = -nbd; + if (types[ij] !== 1) { + lnbd = Math.abs(types[ij]); + } + continue; + } + let shiftI = this.#neighborIdToIndex[2 * k]; + let shiftJ = this.#neighborIdToIndex[2 * k + 1]; + const i1 = i + shiftI; + const j1 = j + shiftJ; + i2 = i1; + j2 = j1; + let i3 = i; + let j3 = j; + while (true) { + const kk = this.#counterClockwiseNonZero(types, width, i3, j3, i2, j2, 1); + shiftI = this.#neighborIdToIndex[2 * kk]; + shiftJ = this.#neighborIdToIndex[2 * kk + 1]; + const i4 = i3 + shiftI; + const j4 = j3 + shiftJ; + points.push(j4, i4); + const ij3 = i3 * width + j3; + if (types[ij3 + 1] === 0) { + types[ij3] = -nbd; + } else if (types[ij3] === 1) { + types[ij3] = nbd; + } + if (i4 === i && j4 === j && i3 === i1 && j3 === j1) { + if (types[ij] !== 1) { + lnbd = Math.abs(types[ij]); + } + break; + } else { + i2 = i3; + j2 = j3; + i3 = i4; + j3 = j4; + } + } + } + } + return contours; + } + static #douglasPeuckerHelper(points, start, end, output) { + if (end - start <= 4) { + for (let i = start; i < end - 2; i += 2) { + output.push(points[i], points[i + 1]); + } + return; + } + const ax = points[start]; + const ay = points[start + 1]; + const abx = points[end - 4] - ax; + const aby = points[end - 3] - ay; + const dist = Math.hypot(abx, aby); + const nabx = abx / dist; + const naby = aby / dist; + const aa = nabx * ay - naby * ax; + const m = aby / abx; + const invS = 1 / dist; + const phi = Math.atan(m); + const cosPhi = Math.cos(phi); + const sinPhi = Math.sin(phi); + const tmax = invS * (Math.abs(cosPhi) + Math.abs(sinPhi)); + const poly = invS * (1 - tmax + tmax ** 2); + const partialPhi = Math.max(Math.atan(Math.abs(sinPhi + cosPhi) * poly), Math.atan(Math.abs(sinPhi - cosPhi) * poly)); + let dmax = 0; + let index = start; + for (let i = start + 2; i < end - 2; i += 2) { + const d = Math.abs(aa - nabx * points[i + 1] + naby * points[i]); + if (d > dmax) { + index = i; + dmax = d; + } + } + if (dmax > (dist * partialPhi) ** 2) { + this.#douglasPeuckerHelper(points, start, index + 2, output); + this.#douglasPeuckerHelper(points, index, end, output); + } else { + output.push(ax, ay); + } + } + static #douglasPeucker(points) { + const output = []; + const len = points.length; + this.#douglasPeuckerHelper(points, 0, len, output); + output.push(points[len - 2], points[len - 1]); + return output.length <= 4 ? null : output; + } + static #bilateralFilter(buf, width, height, sigmaS, sigmaR, kernelSize) { + const kernel = new Float32Array(kernelSize ** 2); + const sigmaS2 = -2 * sigmaS ** 2; + const halfSize = kernelSize >> 1; + for (let i = 0; i < kernelSize; i++) { + const x = (i - halfSize) ** 2; + for (let j = 0; j < kernelSize; j++) { + kernel[i * kernelSize + j] = Math.exp((x + (j - halfSize) ** 2) / sigmaS2); + } + } + const rangeValues = new Float32Array(256); + const sigmaR2 = -2 * sigmaR ** 2; + for (let i = 0; i < 256; i++) { + rangeValues[i] = Math.exp(i ** 2 / sigmaR2); + } + const N = buf.length; + const out = new Uint8Array(N); + const histogram = new Uint32Array(256); + for (let i = 0; i < height; i++) { + for (let j = 0; j < width; j++) { + const ij = i * width + j; + const center = buf[ij]; + let sum = 0; + let norm = 0; + for (let k = 0; k < kernelSize; k++) { + const y = i + k - halfSize; + if (y < 0 || y >= height) { + continue; + } + for (let l = 0; l < kernelSize; l++) { + const x = j + l - halfSize; + if (x < 0 || x >= width) { + continue; + } + const neighbour = buf[y * width + x]; + const w = kernel[k * kernelSize + l] * rangeValues[Math.abs(neighbour - center)]; + sum += neighbour * w; + norm += w; + } + } + const pix = out[ij] = Math.round(sum / norm); + histogram[pix]++; + } + } + return [out, histogram]; + } + static #getHistogram(buf) { + const histogram = new Uint32Array(256); + for (const g of buf) { + histogram[g]++; + } + return histogram; + } + static #toUint8(buf) { + const N = buf.length; + const out = new Uint8ClampedArray(N >> 2); + let max = -Infinity; + let min = Infinity; + for (let i = 0, ii = out.length; i < ii; i++) { + const pix = out[i] = buf[i << 2]; + max = Math.max(max, pix); + min = Math.min(min, pix); + } + const ratio = 255 / (max - min); + for (let i = 0, ii = out.length; i < ii; i++) { + out[i] = (out[i] - min) * ratio; + } + return out; + } + static #guessThreshold(histogram) { + let i; + let M = -Infinity; + let L = -Infinity; + const min = histogram.findIndex(v => v !== 0); + let pos = min; + let spos = min; + for (i = min; i < 256; i++) { + const v = histogram[i]; + if (v > M) { + if (i - pos > L) { + L = i - pos; + spos = i - 1; + } + M = v; + pos = i; + } + } + for (i = spos - 1; i >= 0; i--) { + if (histogram[i] > histogram[i + 1]) { + break; + } + } + return i; + } + static #getGrayPixels(bitmap) { + const originalBitmap = bitmap; + const { + width, + height + } = bitmap; + const { + maxDim + } = this.#PARAMETERS; + let newWidth = width; + let newHeight = height; + if (width > maxDim || height > maxDim) { + let prevWidth = width; + let prevHeight = height; + let steps = Math.log2(Math.max(width, height) / maxDim); + const isteps = Math.floor(steps); + steps = steps === isteps ? isteps - 1 : isteps; + for (let i = 0; i < steps; i++) { + newWidth = Math.ceil(prevWidth / 2); + newHeight = Math.ceil(prevHeight / 2); + const offscreen = new OffscreenCanvas(newWidth, newHeight); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight); + prevWidth = newWidth; + prevHeight = newHeight; + if (bitmap !== originalBitmap) { + bitmap.close(); + } + bitmap = offscreen.transferToImageBitmap(); + } + const ratio = Math.min(maxDim / newWidth, maxDim / newHeight); + newWidth = Math.round(newWidth * ratio); + newHeight = Math.round(newHeight * ratio); + } + const offscreen = new OffscreenCanvas(newWidth, newHeight); + const ctx = offscreen.getContext("2d", { + willReadFrequently: true + }); + ctx.fillStyle = "white"; + ctx.fillRect(0, 0, newWidth, newHeight); + ctx.filter = "grayscale(1)"; + ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, newWidth, newHeight); + const grayImage = ctx.getImageData(0, 0, newWidth, newHeight).data; + const uint8Buf = this.#toUint8(grayImage); + return [uint8Buf, newWidth, newHeight]; + } + static extractContoursFromText(text, { + fontFamily, + fontStyle, + fontWeight + }, pageWidth, pageHeight, rotation, innerMargin) { + let canvas = new OffscreenCanvas(1, 1); + let ctx = canvas.getContext("2d", { + alpha: false + }); + const fontSize = 200; + const font = ctx.font = `${fontStyle} ${fontWeight} ${fontSize}px ${fontFamily}`; + const { + actualBoundingBoxLeft, + actualBoundingBoxRight, + actualBoundingBoxAscent, + actualBoundingBoxDescent, + fontBoundingBoxAscent, + fontBoundingBoxDescent, + width + } = ctx.measureText(text); + const SCALE = 1.5; + const canvasWidth = Math.ceil(Math.max(Math.abs(actualBoundingBoxLeft) + Math.abs(actualBoundingBoxRight) || 0, width) * SCALE); + const canvasHeight = Math.ceil(Math.max(Math.abs(actualBoundingBoxAscent) + Math.abs(actualBoundingBoxDescent) || fontSize, Math.abs(fontBoundingBoxAscent) + Math.abs(fontBoundingBoxDescent) || fontSize) * SCALE); + canvas = new OffscreenCanvas(canvasWidth, canvasHeight); + ctx = canvas.getContext("2d", { + alpha: true, + willReadFrequently: true + }); + ctx.font = font; + ctx.filter = "grayscale(1)"; + ctx.fillStyle = "white"; + ctx.fillRect(0, 0, canvasWidth, canvasHeight); + ctx.fillStyle = "black"; + ctx.fillText(text, canvasWidth * (SCALE - 1) / 2, canvasHeight * (3 - SCALE) / 2); + const uint8Buf = this.#toUint8(ctx.getImageData(0, 0, canvasWidth, canvasHeight).data); + const histogram = this.#getHistogram(uint8Buf); + const threshold = this.#guessThreshold(histogram); + const contourList = this.#findContours(uint8Buf, canvasWidth, canvasHeight, threshold); + return this.processDrawnLines({ + lines: { + curves: contourList, + width: canvasWidth, + height: canvasHeight + }, + pageWidth, + pageHeight, + rotation, + innerMargin, + mustSmooth: true, + areContours: true + }); + } + static process(bitmap, pageWidth, pageHeight, rotation, innerMargin) { + const [uint8Buf, width, height] = this.#getGrayPixels(bitmap); + const [buffer, histogram] = this.#bilateralFilter(uint8Buf, width, height, Math.hypot(width, height) * this.#PARAMETERS.sigmaSFactor, this.#PARAMETERS.sigmaR, this.#PARAMETERS.kernelSize); + const threshold = this.#guessThreshold(histogram); + const contourList = this.#findContours(buffer, width, height, threshold); + return this.processDrawnLines({ + lines: { + curves: contourList, + width, + height + }, + pageWidth, + pageHeight, + rotation, + innerMargin, + mustSmooth: true, + areContours: true + }); + } + static processDrawnLines({ + lines, + pageWidth, + pageHeight, + rotation, + innerMargin, + mustSmooth, + areContours + }) { + if (rotation % 180 !== 0) { + [pageWidth, pageHeight] = [pageHeight, pageWidth]; + } + const { + curves, + width, + height + } = lines; + const thickness = lines.thickness ?? 0; + const linesAndPoints = []; + const ratio = Math.min(pageWidth / width, pageHeight / height); + const xScale = ratio / pageWidth; + const yScale = ratio / pageHeight; + const newCurves = []; + for (const { + points + } of curves) { + const reducedPoints = mustSmooth ? this.#douglasPeucker(points) : points; + if (!reducedPoints) { + continue; + } + newCurves.push(reducedPoints); + const len = reducedPoints.length; + const newPoints = new Float32Array(len); + const line = new Float32Array(3 * (len === 2 ? 2 : len - 2)); + linesAndPoints.push({ + line, + points: newPoints + }); + if (len === 2) { + newPoints[0] = reducedPoints[0] * xScale; + newPoints[1] = reducedPoints[1] * yScale; + line.set([NaN, NaN, NaN, NaN, newPoints[0], newPoints[1]], 0); + continue; + } + let [x1, y1, x2, y2] = reducedPoints; + x1 *= xScale; + y1 *= yScale; + x2 *= xScale; + y2 *= yScale; + newPoints.set([x1, y1, x2, y2], 0); + line.set([NaN, NaN, NaN, NaN, x1, y1], 0); + for (let i = 4; i < len; i += 2) { + const x = newPoints[i] = reducedPoints[i] * xScale; + const y = newPoints[i + 1] = reducedPoints[i + 1] * yScale; + line.set(Outline.createBezierPoints(x1, y1, x2, y2, x, y), (i - 2) * 3); + [x1, y1, x2, y2] = [x2, y2, x, y]; + } + } + if (linesAndPoints.length === 0) { + return null; + } + const outline = areContours ? new ContourDrawOutline() : new InkDrawOutline(); + outline.build(linesAndPoints, pageWidth, pageHeight, 1, rotation, areContours ? 0 : thickness, innerMargin); + return { + outline, + newCurves, + areContours, + thickness, + width, + height + }; + } + static async compressSignature({ + outlines, + areContours, + thickness, + width, + height + }) { + let minDiff = Infinity; + let maxDiff = -Infinity; + let outlinesLength = 0; + for (const points of outlines) { + outlinesLength += points.length; + for (let i = 2, ii = points.length; i < ii; i++) { + const dx = points[i] - points[i - 2]; + minDiff = Math.min(minDiff, dx); + maxDiff = Math.max(maxDiff, dx); + } + } + let bufferType; + if (minDiff >= -128 && maxDiff <= 127) { + bufferType = Int8Array; + } else if (minDiff >= -32768 && maxDiff <= 32767) { + bufferType = Int16Array; + } else { + bufferType = Int32Array; + } + const len = outlines.length; + const headerLength = BASE_HEADER_LENGTH + POINTS_PROPERTIES_NUMBER * len; + const header = new Uint32Array(headerLength); + let offset = 0; + header[offset++] = headerLength * Uint32Array.BYTES_PER_ELEMENT + (outlinesLength - 2 * len) * bufferType.BYTES_PER_ELEMENT; + header[offset++] = 0; + header[offset++] = width; + header[offset++] = height; + header[offset++] = areContours ? 0 : 1; + header[offset++] = Math.max(0, Math.floor(thickness ?? 0)); + header[offset++] = len; + header[offset++] = bufferType.BYTES_PER_ELEMENT; + for (const points of outlines) { + header[offset++] = points.length - 2; + header[offset++] = points[0]; + header[offset++] = points[1]; + } + const cs = new CompressionStream("deflate-raw"); + const writer = cs.writable.getWriter(); + await writer.ready; + writer.write(header); + const BufferCtor = bufferType.prototype.constructor; + for (const points of outlines) { + const diffs = new BufferCtor(points.length - 2); + for (let i = 2, ii = points.length; i < ii; i++) { + diffs[i - 2] = points[i] - points[i - 2]; + } + writer.write(diffs); + } + writer.close(); + const buf = await new Response(cs.readable).arrayBuffer(); + const bytes = new Uint8Array(buf); + return bytes.toBase64(); + } + static async decompressSignature(signatureData) { + try { + const bytes = Uint8Array.fromBase64(signatureData); + const { + readable, + writable + } = new DecompressionStream("deflate-raw"); + const writer = writable.getWriter(); + await writer.ready; + writer.write(bytes).then(async () => { + await writer.ready; + await writer.close(); + }).catch(() => {}); + let data = null; + let offset = 0; + for await (const chunk of readable) { + data ||= new Uint8Array(new Uint32Array(chunk.buffer, 0, 4)[0]); + data.set(chunk, offset); + offset += chunk.length; + } + const header = new Uint32Array(data.buffer, 0, data.length >> 2); + const version = header[1]; + if (version !== 0) { + throw new Error(`Invalid version: ${version}`); + } + const width = header[2]; + const height = header[3]; + const areContours = header[4] === 0; + const thickness = header[5]; + const numberOfDrawings = header[6]; + const bufferType = header[7]; + const outlines = []; + const diffsOffset = (BASE_HEADER_LENGTH + POINTS_PROPERTIES_NUMBER * numberOfDrawings) * Uint32Array.BYTES_PER_ELEMENT; + let diffs; + switch (bufferType) { + case Int8Array.BYTES_PER_ELEMENT: + diffs = new Int8Array(data.buffer, diffsOffset); + break; + case Int16Array.BYTES_PER_ELEMENT: + diffs = new Int16Array(data.buffer, diffsOffset); + break; + case Int32Array.BYTES_PER_ELEMENT: + diffs = new Int32Array(data.buffer, diffsOffset); + break; + } + offset = 0; + for (let i = 0; i < numberOfDrawings; i++) { + const len = header[POINTS_PROPERTIES_NUMBER * i + BASE_HEADER_LENGTH]; + const points = new Float32Array(len + 2); + outlines.push(points); + for (let j = 0; j < POINTS_PROPERTIES_NUMBER - 1; j++) { + points[j] = header[POINTS_PROPERTIES_NUMBER * i + BASE_HEADER_LENGTH + j + 1]; + } + for (let j = 0; j < len; j++) { + points[j + 2] = points[j] + diffs[offset++]; + } + } + return { + areContours, + thickness, + outlines, + width, + height + }; + } catch (e) { + warn(`decompressSignature: ${e}`); + return null; + } + } +} + +;// ./src/display/editor/signature.js + + + + + + + +class SignatureOptions extends DrawingOptions { + constructor() { + super(); + super.updateProperties({ + fill: AnnotationEditor._defaultLineColor, + "stroke-width": 0 + }); + } + clone() { + const clone = new SignatureOptions(); + clone.updateAll(this); + return clone; + } +} +class DrawnSignatureOptions extends InkDrawingOptions { + constructor(viewerParameters) { + super(viewerParameters); + super.updateProperties({ + stroke: AnnotationEditor._defaultLineColor, + "stroke-width": 1 + }); + } + clone() { + const clone = new DrawnSignatureOptions(this._viewParameters); + clone.updateAll(this); + return clone; + } +} +class SignatureEditor extends DrawingEditor { + #isExtracted = false; + #description = null; + #signatureData = null; + #signatureUUID = null; + static _type = "signature"; + static _editorType = AnnotationEditorType.SIGNATURE; + static _defaultDrawingOptions = null; + constructor(params) { + super({ + ...params, + mustBeCommitted: true, + name: "signatureEditor" + }); + this._willKeepAspectRatio = true; + this.#signatureData = params.signatureData || null; + this.#description = null; + this.defaultL10nId = "pdfjs-editor-signature-editor1"; + } + static initialize(l10n, uiManager) { + AnnotationEditor.initialize(l10n, uiManager); + this._defaultDrawingOptions = new SignatureOptions(); + this._defaultDrawnSignatureOptions = new DrawnSignatureOptions(uiManager.viewParameters); + } + static getDefaultDrawingOptions(options) { + const clone = this._defaultDrawingOptions.clone(); + clone.updateProperties(options); + return clone; + } + static get supportMultipleDrawings() { + return false; + } + static get typesMap() { + return shadow(this, "typesMap", new Map()); + } + static get isDrawer() { + return false; + } + get telemetryFinalData() { + return { + type: "signature", + hasDescription: !!this.#description + }; + } + static computeTelemetryFinalData(data) { + const hasDescriptionStats = data.get("hasDescription"); + return { + hasAltText: hasDescriptionStats.get(true) ?? 0, + hasNoAltText: hasDescriptionStats.get(false) ?? 0 + }; + } + get isResizable() { + return true; + } + onScaleChanging() { + if (this._drawId === null) { + return; + } + super.onScaleChanging(); + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + const { + _isCopy + } = this; + if (_isCopy) { + this._isCopy = false; + baseX = this.x; + baseY = this.y; + } + super.render(); + if (this._drawId === null) { + if (this.#signatureData) { + const { + lines, + mustSmooth, + areContours, + description, + uuid, + heightInPage + } = this.#signatureData; + const { + rawDims: { + pageWidth, + pageHeight + }, + rotation + } = this.parent.viewport; + const outline = SignatureExtractor.processDrawnLines({ + lines, + pageWidth, + pageHeight, + rotation, + innerMargin: SignatureEditor._INNER_MARGIN, + mustSmooth, + areContours + }); + this.addSignature(outline, heightInPage, description, uuid); + } else { + this.div.setAttribute("data-l10n-args", JSON.stringify({ + description: "" + })); + this.div.hidden = true; + this._uiManager.getSignature(this); + } + } else { + this.div.setAttribute("data-l10n-args", JSON.stringify({ + description: this.#description || "" + })); + } + if (_isCopy) { + this._isCopy = true; + this._moveAfterPaste(baseX, baseY); + } + return this.div; + } + setUuid(uuid) { + this.#signatureUUID = uuid; + this.addEditToolbar(); + } + getUuid() { + return this.#signatureUUID; + } + get description() { + return this.#description; + } + set description(description) { + this.#description = description; + if (!this.div) { + return; + } + this.div.setAttribute("data-l10n-args", JSON.stringify({ + description + })); + super.addEditToolbar().then(toolbar => { + toolbar?.updateEditSignatureButton(description); + }); + } + getSignaturePreview() { + const { + newCurves, + areContours, + thickness, + width, + height + } = this.#signatureData; + const maxDim = Math.max(width, height); + const outlineData = SignatureExtractor.processDrawnLines({ + lines: { + curves: newCurves.map(points => ({ + points + })), + thickness, + width, + height + }, + pageWidth: maxDim, + pageHeight: maxDim, + rotation: 0, + innerMargin: 0, + mustSmooth: false, + areContours + }); + return { + areContours, + outline: outlineData.outline + }; + } + get toolbarButtons() { + if (this._uiManager.signatureManager) { + return [["editSignature", this._uiManager.signatureManager]]; + } + return super.toolbarButtons; + } + addSignature(data, heightInPage, description, uuid) { + const { + x: savedX, + y: savedY + } = this; + const { + outline + } = this.#signatureData = data; + this.#isExtracted = outline instanceof ContourDrawOutline; + this.description = description; + let drawingOptions; + if (this.#isExtracted) { + drawingOptions = SignatureEditor.getDefaultDrawingOptions(); + } else { + drawingOptions = SignatureEditor._defaultDrawnSignatureOptions.clone(); + drawingOptions.updateProperties({ + "stroke-width": outline.thickness + }); + } + this._addOutlines({ + drawOutlines: outline, + drawingOptions + }); + const [, pageHeight] = this.pageDimensions; + let newHeight = heightInPage / pageHeight; + newHeight = newHeight >= 1 ? 0.5 : newHeight; + this.width *= newHeight / this.height; + if (this.width >= 1) { + newHeight *= 0.9 / this.width; + this.width = 0.9; + } + this.height = newHeight; + this.setDims(); + this.x = savedX; + this.y = savedY; + this.center(); + this._onResized(); + this.onScaleChanging(); + this.rotate(); + this._uiManager.addToAnnotationStorage(this); + this.setUuid(uuid); + this._reportTelemetry({ + action: "pdfjs.signature.inserted", + data: { + hasBeenSaved: !!uuid, + hasDescription: !!description + } + }); + this.div.hidden = false; + } + getFromImage(bitmap) { + const { + rawDims: { + pageWidth, + pageHeight + }, + rotation + } = this.parent.viewport; + return SignatureExtractor.process(bitmap, pageWidth, pageHeight, rotation, SignatureEditor._INNER_MARGIN); + } + getFromText(text, fontInfo) { + const { + rawDims: { + pageWidth, + pageHeight + }, + rotation + } = this.parent.viewport; + return SignatureExtractor.extractContoursFromText(text, fontInfo, pageWidth, pageHeight, rotation, SignatureEditor._INNER_MARGIN); + } + getDrawnSignature(curves) { + const { + rawDims: { + pageWidth, + pageHeight + }, + rotation + } = this.parent.viewport; + return SignatureExtractor.processDrawnLines({ + lines: curves, + pageWidth, + pageHeight, + rotation, + innerMargin: SignatureEditor._INNER_MARGIN, + mustSmooth: false, + areContours: false + }); + } + createDrawingOptions({ + areContours, + thickness + }) { + if (areContours) { + this._drawingOptions = SignatureEditor.getDefaultDrawingOptions(); + } else { + this._drawingOptions = SignatureEditor._defaultDrawnSignatureOptions.clone(); + this._drawingOptions.updateProperties({ + "stroke-width": thickness + }); + } + } + serialize(isForCopying = false) { + if (this.isEmpty()) { + return null; + } + const { + lines, + points + } = this.serializeDraw(isForCopying); + const { + _drawingOptions: { + "stroke-width": thickness + } + } = this; + const serialized = Object.assign(super.serialize(isForCopying), { + isSignature: true, + areContours: this.#isExtracted, + color: [0, 0, 0], + thickness: this.#isExtracted ? 0 : thickness + }); + this.addComment(serialized); + if (isForCopying) { + serialized.paths = { + lines, + points + }; + serialized.uuid = this.#signatureUUID; + serialized.isCopy = true; + } else { + serialized.lines = lines; + } + if (this.#description) { + serialized.accessibilityData = { + type: "Figure", + alt: this.#description + }; + } + return serialized; + } + static deserializeDraw(pageX, pageY, pageWidth, pageHeight, innerMargin, data) { + if (data.areContours) { + return ContourDrawOutline.deserialize(pageX, pageY, pageWidth, pageHeight, innerMargin, data); + } + return InkDrawOutline.deserialize(pageX, pageY, pageWidth, pageHeight, innerMargin, data); + } + static async deserialize(data, parent, uiManager) { + const editor = await super.deserialize(data, parent, uiManager); + editor.#isExtracted = data.areContours; + editor.description = data.accessibilityData?.alt || ""; + editor.#signatureUUID = data.uuid; + return editor; + } +} + +;// ./src/display/editor/stamp.js + + + + +class StampEditor extends AnnotationEditor { + #bitmap = null; + #bitmapId = null; + #bitmapPromise = null; + #bitmapUrl = null; + #bitmapFile = null; + #bitmapFileName = ""; + #canvas = null; + #missingCanvas = false; + #resizeTimeoutId = null; + #isSvg = false; + #hasBeenAddedInUndoStack = false; + static _type = "stamp"; + static _editorType = AnnotationEditorType.STAMP; + constructor(params) { + super({ + ...params, + name: "stampEditor" + }); + this.#bitmapUrl = params.bitmapUrl; + this.#bitmapFile = params.bitmapFile; + this.defaultL10nId = "pdfjs-editor-stamp-editor"; + } + static initialize(l10n, uiManager) { + AnnotationEditor.initialize(l10n, uiManager); + } + static isHandlingMimeForPasting(mime) { + return SupportedImageMimeTypes.includes(mime); + } + static paste(item, parent) { + parent.pasteEditor({ + mode: AnnotationEditorType.STAMP + }, { + bitmapFile: item.getAsFile() + }); + } + altTextFinish() { + if (this._uiManager.useNewAltTextFlow) { + this.div.hidden = false; + } + super.altTextFinish(); + } + get telemetryFinalData() { + return { + type: "stamp", + hasAltText: !!this.altTextData?.altText + }; + } + static computeTelemetryFinalData(data) { + const hasAltTextStats = data.get("hasAltText"); + return { + hasAltText: hasAltTextStats.get(true) ?? 0, + hasNoAltText: hasAltTextStats.get(false) ?? 0 + }; + } + #getBitmapFetched(data, fromId = false) { + if (!data) { + this.remove(); + return; + } + this.#bitmap = data.bitmap; + if (!fromId) { + this.#bitmapId = data.id; + this.#isSvg = data.isSvg; + } + if (data.file) { + this.#bitmapFileName = data.file.name; + } + this.#createCanvas(); + } + #getBitmapDone() { + this.#bitmapPromise = null; + this._uiManager.enableWaiting(false); + if (!this.#canvas) { + return; + } + if (this._uiManager.useNewAltTextWhenAddingImage && this._uiManager.useNewAltTextFlow && this.#bitmap) { + this.addEditToolbar().then(() => { + this._editToolbar.hide(); + this._uiManager.editAltText(this, true); + }); + return; + } + if (!this._uiManager.useNewAltTextWhenAddingImage && this._uiManager.useNewAltTextFlow && this.#bitmap) { + this._reportTelemetry({ + action: "pdfjs.image.image_added", + data: { + alt_text_modal: false, + alt_text_type: "empty" + } + }); + try { + this.mlGuessAltText(); + } catch {} + } + this.div.focus(); + } + async mlGuessAltText(imageData = null, updateAltTextData = true) { + if (this.hasAltTextData()) { + return null; + } + const { + mlManager + } = this._uiManager; + if (!mlManager) { + throw new Error("No ML."); + } + if (!(await mlManager.isEnabledFor("altText"))) { + throw new Error("ML isn't enabled for alt text."); + } + const { + data, + width, + height + } = imageData || this.copyCanvas(null, null, true).imageData; + const response = await mlManager.guess({ + name: "altText", + request: { + data, + width, + height, + channels: data.length / (width * height) + } + }); + if (!response) { + throw new Error("No response from the AI service."); + } + if (response.error) { + throw new Error("Error from the AI service."); + } + if (response.cancel) { + return null; + } + if (!response.output) { + throw new Error("No valid response from the AI service."); + } + const altText = response.output; + await this.setGuessedAltText(altText); + if (updateAltTextData && !this.hasAltTextData()) { + this.altTextData = { + alt: altText, + decorative: false + }; + } + return altText; + } + #getBitmap() { + if (this.#bitmapId) { + this._uiManager.enableWaiting(true); + this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone()); + return; + } + if (this.#bitmapUrl) { + const url = this.#bitmapUrl; + this.#bitmapUrl = null; + this._uiManager.enableWaiting(true); + this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone()); + return; + } + if (this.#bitmapFile) { + const file = this.#bitmapFile; + this.#bitmapFile = null; + this._uiManager.enableWaiting(true); + this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone()); + return; + } + const input = document.createElement("input"); + input.type = "file"; + input.accept = SupportedImageMimeTypes.join(","); + const signal = this._uiManager._signal; + this.#bitmapPromise = new Promise(resolve => { + input.addEventListener("change", async () => { + if (!input.files || input.files.length === 0) { + this.remove(); + } else { + this._uiManager.enableWaiting(true); + const data = await this._uiManager.imageManager.getFromFile(input.files[0]); + this._reportTelemetry({ + action: "pdfjs.image.image_selected", + data: { + alt_text_modal: this._uiManager.useNewAltTextFlow + } + }); + this.#getBitmapFetched(data); + } + resolve(); + }, { + signal + }); + input.addEventListener("cancel", () => { + this.remove(); + resolve(); + }, { + signal + }); + }).finally(() => this.#getBitmapDone()); + input.click(); + } + remove() { + if (this.#bitmapId) { + this.#bitmap = null; + this._uiManager.imageManager.deleteId(this.#bitmapId); + this.#canvas?.remove(); + this.#canvas = null; + if (this.#resizeTimeoutId) { + clearTimeout(this.#resizeTimeoutId); + this.#resizeTimeoutId = null; + } + } + super.remove(); + } + rebuild() { + if (!this.parent) { + if (this.#bitmapId) { + this.#getBitmap(); + } + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (this.#bitmapId && this.#canvas === null) { + this.#getBitmap(); + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + onceAdded(focus) { + this._isDraggable = true; + if (focus) { + this.div.focus(); + } + } + isEmpty() { + return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile || this.#bitmapId || this.#missingCanvas); + } + get toolbarButtons() { + return [["altText", this.createAltText()]]; + } + get isResizable() { + return true; + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this._isCopy) { + baseX = this.x; + baseY = this.y; + } + super.render(); + this.div.hidden = true; + this.createAltText(); + if (!this.#missingCanvas) { + if (this.#bitmap) { + this.#createCanvas(); + } else { + this.#getBitmap(); + } + } + if (this._isCopy) { + this._moveAfterPaste(baseX, baseY); + } + this._uiManager.addShouldRescale(this); + return this.div; + } + setCanvas(annotationElementId, canvas) { + const { + id: bitmapId, + bitmap + } = this._uiManager.imageManager.getFromCanvas(annotationElementId, canvas); + canvas.remove(); + if (bitmapId && this._uiManager.imageManager.isValidId(bitmapId)) { + this.#bitmapId = bitmapId; + if (bitmap) { + this.#bitmap = bitmap; + } + this.#missingCanvas = false; + this.#createCanvas(); + } + } + _onResized() { + this.onScaleChanging(); + } + onScaleChanging() { + if (!this.parent) { + return; + } + if (this.#resizeTimeoutId !== null) { + clearTimeout(this.#resizeTimeoutId); + } + const TIME_TO_WAIT = 200; + this.#resizeTimeoutId = setTimeout(() => { + this.#resizeTimeoutId = null; + this.#drawBitmap(); + }, TIME_TO_WAIT); + } + #createCanvas() { + const { + div + } = this; + let { + width, + height + } = this.#bitmap; + const [pageWidth, pageHeight] = this.pageDimensions; + const MAX_RATIO = 0.75; + if (this.width) { + width = this.width * pageWidth; + height = this.height * pageHeight; + } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) { + const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height); + width *= factor; + height *= factor; + } + this._uiManager.enableWaiting(false); + const canvas = this.#canvas = document.createElement("canvas"); + canvas.setAttribute("role", "img"); + this.addContainer(canvas); + this.width = width / pageWidth; + this.height = height / pageHeight; + this.setDims(); + if (this._initialOptions?.isCentered) { + this.center(); + } else { + this.fixAndSetPosition(); + } + this._initialOptions = null; + if (!this._uiManager.useNewAltTextWhenAddingImage || !this._uiManager.useNewAltTextFlow || this.annotationElementId) { + div.hidden = false; + } + this.#drawBitmap(); + if (!this.#hasBeenAddedInUndoStack) { + this.parent.addUndoableEditor(this); + this.#hasBeenAddedInUndoStack = true; + } + this._reportTelemetry({ + action: "inserted_image" + }); + if (this.#bitmapFileName) { + this.div.setAttribute("aria-description", this.#bitmapFileName); + } + if (!this.annotationElementId) { + this._uiManager.a11yAlert("pdfjs-editor-stamp-added-alert"); + } + } + copyCanvas(maxDataDimension, maxPreviewDimension, createImageData = false) { + if (!maxDataDimension) { + maxDataDimension = 224; + } + const { + width: bitmapWidth, + height: bitmapHeight + } = this.#bitmap; + const outputScale = new OutputScale(); + let bitmap = this.#bitmap; + let width = bitmapWidth, + height = bitmapHeight; + let canvas = null; + if (maxPreviewDimension) { + if (bitmapWidth > maxPreviewDimension || bitmapHeight > maxPreviewDimension) { + const ratio = Math.min(maxPreviewDimension / bitmapWidth, maxPreviewDimension / bitmapHeight); + width = Math.floor(bitmapWidth * ratio); + height = Math.floor(bitmapHeight * ratio); + } + canvas = document.createElement("canvas"); + const scaledWidth = canvas.width = Math.ceil(width * outputScale.sx); + const scaledHeight = canvas.height = Math.ceil(height * outputScale.sy); + if (!this.#isSvg) { + bitmap = this.#scaleBitmap(scaledWidth, scaledHeight); + } + const ctx = canvas.getContext("2d"); + ctx.filter = this._uiManager.hcmFilter; + let white = "white", + black = "#cfcfd8"; + if (this._uiManager.hcmFilter !== "none") { + black = "black"; + } else if (ColorScheme.isDarkMode) { + white = "#8f8f9d"; + black = "#42414d"; + } + const boxDim = 15; + const boxDimWidth = boxDim * outputScale.sx; + const boxDimHeight = boxDim * outputScale.sy; + const pattern = new OffscreenCanvas(boxDimWidth * 2, boxDimHeight * 2); + const patternCtx = pattern.getContext("2d"); + patternCtx.fillStyle = white; + patternCtx.fillRect(0, 0, boxDimWidth * 2, boxDimHeight * 2); + patternCtx.fillStyle = black; + patternCtx.fillRect(0, 0, boxDimWidth, boxDimHeight); + patternCtx.fillRect(boxDimWidth, boxDimHeight, boxDimWidth, boxDimHeight); + ctx.fillStyle = ctx.createPattern(pattern, "repeat"); + ctx.fillRect(0, 0, scaledWidth, scaledHeight); + ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, scaledWidth, scaledHeight); + } + let imageData = null; + if (createImageData) { + let dataWidth, dataHeight; + if (outputScale.symmetric && bitmap.width < maxDataDimension && bitmap.height < maxDataDimension) { + dataWidth = bitmap.width; + dataHeight = bitmap.height; + } else { + bitmap = this.#bitmap; + if (bitmapWidth > maxDataDimension || bitmapHeight > maxDataDimension) { + const ratio = Math.min(maxDataDimension / bitmapWidth, maxDataDimension / bitmapHeight); + dataWidth = Math.floor(bitmapWidth * ratio); + dataHeight = Math.floor(bitmapHeight * ratio); + if (!this.#isSvg) { + bitmap = this.#scaleBitmap(dataWidth, dataHeight); + } + } + } + const offscreen = new OffscreenCanvas(dataWidth, dataHeight); + const offscreenCtx = offscreen.getContext("2d", { + willReadFrequently: true + }); + offscreenCtx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, dataWidth, dataHeight); + imageData = { + width: dataWidth, + height: dataHeight, + data: offscreenCtx.getImageData(0, 0, dataWidth, dataHeight).data + }; + } + return { + canvas, + width, + height, + imageData + }; + } + #scaleBitmap(width, height) { + const { + width: bitmapWidth, + height: bitmapHeight + } = this.#bitmap; + let newWidth = bitmapWidth; + let newHeight = bitmapHeight; + let bitmap = this.#bitmap; + while (newWidth > 2 * width || newHeight > 2 * height) { + const prevWidth = newWidth; + const prevHeight = newHeight; + if (newWidth > 2 * width) { + newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2); + } + if (newHeight > 2 * height) { + newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2); + } + const offscreen = new OffscreenCanvas(newWidth, newHeight); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight); + bitmap = offscreen.transferToImageBitmap(); + } + return bitmap; + } + #drawBitmap() { + const [parentWidth, parentHeight] = this.parentDimensions; + const { + width, + height + } = this; + const outputScale = new OutputScale(); + const scaledWidth = Math.ceil(width * parentWidth * outputScale.sx); + const scaledHeight = Math.ceil(height * parentHeight * outputScale.sy); + const canvas = this.#canvas; + if (!canvas || canvas.width === scaledWidth && canvas.height === scaledHeight) { + return; + } + canvas.width = scaledWidth; + canvas.height = scaledHeight; + const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(scaledWidth, scaledHeight); + const ctx = canvas.getContext("2d"); + ctx.filter = this._uiManager.hcmFilter; + ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, scaledWidth, scaledHeight); + } + #serializeBitmap(toUrl) { + if (toUrl) { + if (this.#isSvg) { + const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId); + if (url) { + return url; + } + } + const canvas = document.createElement("canvas"); + ({ + width: canvas.width, + height: canvas.height + } = this.#bitmap); + const ctx = canvas.getContext("2d"); + ctx.drawImage(this.#bitmap, 0, 0); + return canvas.toDataURL(); + } + if (this.#isSvg) { + const [pageWidth, pageHeight] = this.pageDimensions; + const width = Math.round(this.width * pageWidth * PixelsPerInch.PDF_TO_CSS_UNITS); + const height = Math.round(this.height * pageHeight * PixelsPerInch.PDF_TO_CSS_UNITS); + const offscreen = new OffscreenCanvas(width, height); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height); + return offscreen.transferToImageBitmap(); + } + return structuredClone(this.#bitmap); + } + static async deserialize(data, parent, uiManager) { + let initialData = null; + let missingCanvas = false; + if (data instanceof StampAnnotationElement) { + const { + data: { + rect, + rotation, + id, + structParent, + popupRef, + richText, + contentsObj, + creationDate, + modificationDate + }, + container, + parent: { + page: { + pageNumber + } + }, + canvas + } = data; + let bitmapId, bitmap; + if (canvas) { + delete data.canvas; + ({ + id: bitmapId, + bitmap + } = uiManager.imageManager.getFromCanvas(container.id, canvas)); + canvas.remove(); + } else { + missingCanvas = true; + data._hasNoCanvas = true; + } + const altText = (await parent._structTree.getAriaAttributes(`${AnnotationPrefix}${id}`))?.get("aria-label") || ""; + initialData = data = { + annotationType: AnnotationEditorType.STAMP, + bitmapId, + bitmap, + pageIndex: pageNumber - 1, + rect: rect.slice(0), + rotation, + annotationElementId: id, + id, + deleted: false, + accessibilityData: { + decorative: false, + altText + }, + isSvg: false, + structParent, + popupRef, + richText, + comment: contentsObj?.str || null, + creationDate, + modificationDate + }; + } + const editor = await super.deserialize(data, parent, uiManager); + const { + rect, + bitmap, + bitmapUrl, + bitmapId, + isSvg, + accessibilityData + } = data; + if (missingCanvas) { + uiManager.addMissingCanvas(data.id, editor); + editor.#missingCanvas = true; + } else if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) { + editor.#bitmapId = bitmapId; + if (bitmap) { + editor.#bitmap = bitmap; + } + } else { + editor.#bitmapUrl = bitmapUrl; + } + editor.#isSvg = isSvg; + const [parentWidth, parentHeight] = editor.pageDimensions; + editor.width = (rect[2] - rect[0]) / parentWidth; + editor.height = (rect[3] - rect[1]) / parentHeight; + if (accessibilityData) { + editor.altTextData = accessibilityData; + } + editor._initialData = initialData; + if (data.comment) { + editor.setCommentData(data); + } + editor.#hasBeenAddedInUndoStack = !!initialData; + return editor; + } + serialize(isForCopying = false, context = null) { + if (this.isEmpty()) { + return null; + } + if (this.deleted) { + return this.serializeDeleted(); + } + const serialized = Object.assign(super.serialize(isForCopying), { + bitmapId: this.#bitmapId, + isSvg: this.#isSvg + }); + this.addComment(serialized); + if (isForCopying) { + serialized.bitmapUrl = this.#serializeBitmap(true); + serialized.accessibilityData = this.serializeAltText(true); + serialized.isCopy = true; + return serialized; + } + const { + decorative, + altText + } = this.serializeAltText(false); + if (!decorative && altText) { + serialized.accessibilityData = { + type: "Figure", + alt: altText + }; + } + if (this.annotationElementId) { + const changes = this.#hasElementChanged(serialized); + if (changes.isSame) { + return null; + } + if (changes.isSameAltText) { + delete serialized.accessibilityData; + } else { + serialized.accessibilityData.structParent = this._initialData.structParent ?? -1; + } + serialized.id = this.annotationElementId; + delete serialized.bitmapId; + return serialized; + } + if (context === null) { + return serialized; + } + context.stamps ||= new Map(); + const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null; + if (!context.stamps.has(this.#bitmapId)) { + context.stamps.set(this.#bitmapId, { + area, + serialized + }); + serialized.bitmap = this.#serializeBitmap(false); + } else if (this.#isSvg) { + const prevData = context.stamps.get(this.#bitmapId); + if (area > prevData.area) { + prevData.area = area; + prevData.serialized.bitmap.close(); + prevData.serialized.bitmap = this.#serializeBitmap(false); + } + } + return serialized; + } + #hasElementChanged(serialized) { + const { + pageIndex, + accessibilityData: { + altText + } + } = this._initialData; + const isSamePageIndex = serialized.pageIndex === pageIndex; + const isSameAltText = (serialized.accessibilityData?.alt || "") === altText; + return { + isSame: !this.hasEditedComment && !this._hasBeenMoved && !this._hasBeenResized && isSamePageIndex && isSameAltText, + isSameAltText + }; + } + renderAnnotationElement(annotation) { + if (this.deleted) { + annotation.hide(); + return null; + } + annotation.updateEdited({ + rect: this.getPDFRect(), + popup: this.comment + }); + return null; + } +} + +;// ./src/display/editor/annotation_editor_layer.js + + + + + + + + +class AnnotationEditorLayer { + #accessibilityManager; + #allowClick = false; + #annotationLayer = null; + #clickAC = null; + #editorFocusTimeoutId = null; + #editors = new Map(); + #hadPointerDown = false; + #isDisabling = false; + #isEnabling = false; + #drawingAC = null; + #focusedElement = null; + #textLayer = null; + #textSelectionAC = null; + #textLayerDblClickAC = null; + #lastPointerDownTimestamp = -1; + #uiManager; + static _initialized = false; + static #editorTypes = new Map([FreeTextEditor, InkEditor, StampEditor, HighlightEditor, SignatureEditor].map(type => [type._editorType, type])); + constructor({ + uiManager, + pageIndex, + div, + structTreeLayer, + accessibilityManager, + annotationLayer, + drawLayer, + textLayer, + viewport, + l10n + }) { + const editorTypes = [...AnnotationEditorLayer.#editorTypes.values()]; + if (!AnnotationEditorLayer._initialized) { + AnnotationEditorLayer._initialized = true; + for (const editorType of editorTypes) { + editorType.initialize(l10n, uiManager); + } + } + uiManager.registerEditorTypes(editorTypes); + this.#uiManager = uiManager; + this.pageIndex = pageIndex; + this.div = div; + this.#accessibilityManager = accessibilityManager; + this.#annotationLayer = annotationLayer; + this.viewport = viewport; + this.#textLayer = textLayer; + this.drawLayer = drawLayer; + this._structTree = structTreeLayer; + this.#uiManager.addLayer(this); + } + updatePageIndex(newPageIndex) { + for (const editor of this.#allEditorsIterator) { + editor.updatePageIndex(newPageIndex); + } + this.pageIndex = newPageIndex; + this.#uiManager.addLayer(this); + } + async setClonedFrom(clonedFrom) { + if (!clonedFrom) { + return; + } + const promises = []; + for (const editor of clonedFrom.#allEditorsIterator) { + const serialized = editor.serialize(true); + if (!serialized) { + continue; + } + serialized.isCopy = false; + promises.push(this.deserialize(serialized).then(deserialized => { + if (deserialized) { + this.addOrRebuild(deserialized); + } + })); + } + await Promise.all(promises); + } + get isEmpty() { + return this.#editors.size === 0; + } + get isInvisible() { + return this.isEmpty && this.#uiManager.getMode() === AnnotationEditorType.NONE; + } + updateToolbar(options) { + this.#uiManager.updateToolbar(options); + } + updateMode(mode = this.#uiManager.getMode()) { + this.#cleanup(); + switch (mode) { + case AnnotationEditorType.NONE: + this.div.classList.toggle("nonEditing", true); + this.disableTextSelection(); + this.togglePointerEvents(false); + this.toggleAnnotationLayerPointerEvents(true); + this.disableClick(); + return; + case AnnotationEditorType.INK: + this.disableTextSelection(); + this.togglePointerEvents(true); + this.enableClick(); + break; + case AnnotationEditorType.HIGHLIGHT: + this.enableTextSelection(); + this.togglePointerEvents(false); + this.disableClick(); + break; + default: + this.disableTextSelection(); + this.togglePointerEvents(true); + this.enableClick(); + } + this.toggleAnnotationLayerPointerEvents(false); + const { + classList + } = this.div; + classList.toggle("nonEditing", false); + if (mode === AnnotationEditorType.POPUP) { + classList.toggle("commentEditing", true); + } else { + classList.toggle("commentEditing", false); + for (const editorType of AnnotationEditorLayer.#editorTypes.values()) { + classList.toggle(`${editorType._type}Editing`, mode === editorType._editorType); + } + } + this.div.hidden = false; + } + hasTextLayer(textLayer) { + return textLayer === this.#textLayer?.div; + } + setEditingState(isEditing) { + this.#uiManager.setEditingState(isEditing); + } + addCommands(params) { + this.#uiManager.addCommands(params); + } + cleanUndoStack(type) { + this.#uiManager.cleanUndoStack(type); + } + toggleDrawing(enabled = false) { + this.div.classList.toggle("drawing", !enabled); + } + togglePointerEvents(enabled = false) { + this.div.classList.toggle("disabled", !enabled); + } + toggleAnnotationLayerPointerEvents(enabled = false) { + this.#annotationLayer?.togglePointerEvents(enabled); + } + get #allEditorsIterator() { + return this.#editors.size !== 0 ? this.#editors.values() : this.#uiManager.getEditors(this.pageIndex); + } + async enable() { + this.#isEnabling = true; + this.div.tabIndex = 0; + this.togglePointerEvents(true); + this.div.classList.toggle("nonEditing", false); + this.#textLayerDblClickAC?.abort(); + this.#textLayerDblClickAC = null; + const annotationElementIds = new Set(); + for (const editor of this.#allEditorsIterator) { + editor.enableEditing(); + editor.show(true); + if (editor.annotationElementId) { + this.#uiManager.removeChangedExistingAnnotation(editor); + annotationElementIds.add(editor.annotationElementId); + } + } + const annotationLayer = this.#annotationLayer; + if (annotationLayer) { + for (const editable of annotationLayer.getEditableAnnotations()) { + editable.hide(); + if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) { + continue; + } + if (annotationElementIds.has(editable.data.id)) { + continue; + } + const editor = await this.deserialize(editable); + if (!editor) { + continue; + } + this.addOrRebuild(editor); + editor.enableEditing(); + } + } + this.#isEnabling = false; + this.#uiManager._eventBus.dispatch("editorsrendered", { + source: this, + pageNumber: this.pageIndex + 1 + }); + } + disable() { + this.#isDisabling = true; + this.div.tabIndex = -1; + this.togglePointerEvents(false); + this.div.classList.toggle("nonEditing", true); + if (this.#textLayer && !this.#textLayerDblClickAC) { + this.#textLayerDblClickAC = new AbortController(); + const signal = this.#uiManager.combinedSignal(this.#textLayerDblClickAC); + this.#textLayer.div.addEventListener("pointerdown", e => { + const DBL_CLICK_THRESHOLD = 500; + const { + clientX, + clientY, + timeStamp + } = e; + const lastPointerDownTimestamp = this.#lastPointerDownTimestamp; + if (timeStamp - lastPointerDownTimestamp > DBL_CLICK_THRESHOLD) { + this.#lastPointerDownTimestamp = timeStamp; + return; + } + this.#lastPointerDownTimestamp = -1; + const { + classList + } = this.div; + classList.toggle("getElements", true); + const elements = document.elementsFromPoint(clientX, clientY); + classList.toggle("getElements", false); + if (!this.div.contains(elements[0])) { + return; + } + let id; + const regex = new RegExp(`^${AnnotationEditorPrefix}[0-9]+$`); + for (const element of elements) { + if (regex.test(element.id)) { + id = element.id; + break; + } + } + if (!id) { + return; + } + const editor = this.#editors.get(id); + if (editor?.annotationElementId === null) { + e.stopPropagation(); + e.preventDefault(); + editor.dblclick(e); + } + }, { + signal, + capture: true + }); + } + const annotationLayer = this.#annotationLayer; + const needFakeAnnotation = []; + if (annotationLayer) { + const changedAnnotations = new Map(); + const resetAnnotations = new Map(); + for (const editor of this.#allEditorsIterator) { + editor.disableEditing(); + if (!editor.annotationElementId) { + needFakeAnnotation.push(editor); + continue; + } + if (editor.serialize() !== null) { + changedAnnotations.set(editor.annotationElementId, editor); + continue; + } else { + resetAnnotations.set(editor.annotationElementId, editor); + } + this.getEditableAnnotation(editor.annotationElementId)?.show(); + editor.remove(); + } + const editables = annotationLayer.getEditableAnnotations(); + for (const editable of editables) { + const { + id + } = editable.data; + if (this.#uiManager.isDeletedAnnotationElement(id)) { + editable.updateEdited({ + deleted: true + }); + continue; + } + let editor = resetAnnotations.get(id); + if (editor) { + editor.resetAnnotationElement(editable); + editor.show(false); + editable.show(); + continue; + } + editor = changedAnnotations.get(id); + if (editor) { + this.#uiManager.addChangedExistingAnnotation(editor); + if (editor.renderAnnotationElement(editable)) { + editor.show(false); + } + } + editable.show(); + } + } + this.#cleanup(); + if (this.isEmpty) { + this.div.hidden = true; + } + const { + classList + } = this.div; + for (const editorType of AnnotationEditorLayer.#editorTypes.values()) { + classList.remove(`${editorType._type}Editing`); + } + this.disableTextSelection(); + this.toggleAnnotationLayerPointerEvents(true); + annotationLayer?.updateFakeAnnotations(needFakeAnnotation); + this.#isDisabling = false; + } + getEditableAnnotation(id) { + return this.#annotationLayer?.getEditableAnnotation(id) || null; + } + setActiveEditor(editor) { + const currentActive = this.#uiManager.getActive(); + if (currentActive === editor) { + return; + } + this.#uiManager.setActiveEditor(editor); + } + enableTextSelection() { + this.div.tabIndex = -1; + if (this.#textLayer?.div && !this.#textSelectionAC) { + this.#textSelectionAC = new AbortController(); + const signal = this.#uiManager.combinedSignal(this.#textSelectionAC); + this.#textLayer.div.addEventListener("pointerdown", this.#textLayerPointerDown.bind(this), { + signal + }); + this.#textLayer.div.classList.add("highlighting"); + } + } + disableTextSelection() { + this.div.tabIndex = 0; + if (this.#textLayer?.div && this.#textSelectionAC) { + this.#textSelectionAC.abort(); + this.#textSelectionAC = null; + this.#textLayer.div.classList.remove("highlighting"); + } + } + #textLayerPointerDown(event) { + this.#uiManager.unselectAll(); + const { + target + } = event; + if (target === this.#textLayer.div || (target.getAttribute("role") === "img" || target.classList.contains("endOfContent")) && this.#textLayer.div.contains(target)) { + const { + isMac + } = FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + this.#uiManager.showAllEditors("highlight", true, true); + this.#textLayer.div.classList.add("free"); + this.toggleDrawing(); + HighlightEditor.startHighlighting(this, this.#uiManager.direction === "ltr", { + target: this.#textLayer.div, + x: event.x, + y: event.y + }); + this.#textLayer.div.addEventListener("pointerup", () => { + this.#textLayer.div.classList.remove("free"); + this.toggleDrawing(true); + }, { + once: true, + signal: this.#uiManager._signal + }); + event.preventDefault(); + } + } + enableClick() { + if (this.#clickAC) { + return; + } + this.#clickAC = new AbortController(); + const signal = this.#uiManager.combinedSignal(this.#clickAC); + this.div.addEventListener("pointerdown", this.pointerdown.bind(this), { + signal + }); + const pointerup = this.pointerup.bind(this); + this.div.addEventListener("pointerup", pointerup, { + signal + }); + this.div.addEventListener("pointercancel", pointerup, { + signal + }); + } + disableClick() { + this.#clickAC?.abort(); + this.#clickAC = null; + } + attach(editor) { + this.#editors.set(editor.id, editor); + const { + annotationElementId + } = editor; + if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) { + this.#uiManager.removeDeletedAnnotationElement(editor); + } + } + detach(editor) { + this.#editors.delete(editor.id); + this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv); + if (!this.#isDisabling && editor.annotationElementId) { + this.#uiManager.addDeletedAnnotationElement(editor); + } + } + remove(editor) { + this.detach(editor); + this.#uiManager.removeEditor(editor); + editor.div.remove(); + editor.isAttachedToDOM = false; + } + changeParent(editor) { + if (editor.parent === this) { + return; + } + if (editor.parent && editor.annotationElementId) { + this.#uiManager.addDeletedAnnotationElement(editor); + AnnotationEditor.deleteAnnotationElement(editor); + editor.annotationElementId = null; + } + this.attach(editor); + editor.parent?.detach(editor); + editor.setParent(this); + if (editor.div && editor.isAttachedToDOM) { + editor.div.remove(); + this.div.append(editor.div); + } + } + add(editor) { + if (editor.parent === this && editor.isAttachedToDOM) { + return; + } + this.changeParent(editor); + this.#uiManager.addEditor(editor); + this.attach(editor); + if (!editor.isAttachedToDOM) { + const div = editor.render(); + this.div.append(div); + editor.isAttachedToDOM = true; + } + editor.fixAndSetPosition(); + editor.onceAdded(!this.#isEnabling); + this.#uiManager.addToAnnotationStorage(editor); + editor._reportTelemetry(editor.telemetryInitialData); + } + moveEditorInDOM(editor) { + if (!editor.isAttachedToDOM) { + return; + } + const { + activeElement + } = document; + if (editor.div.contains(activeElement) && !this.#editorFocusTimeoutId) { + editor._focusEventsAllowed = false; + this.#editorFocusTimeoutId = setTimeout(() => { + this.#editorFocusTimeoutId = null; + if (!editor.div.contains(document.activeElement)) { + editor.div.addEventListener("focusin", () => { + editor._focusEventsAllowed = true; + }, { + once: true, + signal: this.#uiManager._signal + }); + activeElement.focus(); + } else { + editor._focusEventsAllowed = true; + } + }, 0); + } + editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true); + } + addOrRebuild(editor) { + if (editor.needsToBeRebuilt()) { + editor.parent ||= this; + editor.rebuild(); + editor.show(); + } else { + this.add(editor); + } + } + addUndoableEditor(editor) { + const cmd = () => editor._uiManager.rebuild(editor); + const undo = () => { + editor.remove(); + }; + this.addCommands({ + cmd, + undo, + mustExec: false + }); + } + getEditorByUID(uid) { + for (const editor of this.#editors.values()) { + if (editor.uid === uid) { + return editor; + } + } + return null; + } + getNextId() { + return this.#uiManager.getId(); + } + get #currentEditorType() { + return AnnotationEditorLayer.#editorTypes.get(this.#uiManager.getMode()); + } + combinedSignal(ac) { + return this.#uiManager.combinedSignal(ac); + } + #createNewEditor(params) { + const editorType = this.#currentEditorType; + return editorType ? new editorType.prototype.constructor(params) : null; + } + canCreateNewEmptyEditor() { + return this.#currentEditorType?.canCreateNewEmptyEditor(); + } + async pasteEditor(options, params) { + this.updateToolbar(options); + await this.#uiManager.updateMode(options.mode); + const { + offsetX, + offsetY + } = this.#getCenterPoint(); + const id = this.getNextId(); + const editor = this.#createNewEditor({ + parent: this, + id, + x: offsetX, + y: offsetY, + uiManager: this.#uiManager, + isCentered: true, + ...params + }); + if (editor) { + this.add(editor); + } + } + async deserialize(data) { + return (await AnnotationEditorLayer.#editorTypes.get(data.annotationType ?? data.annotationEditorType)?.deserialize(data, this, this.#uiManager)) || null; + } + createAndAddNewEditor(event, isCentered, data = {}) { + const id = this.getNextId(); + const editor = this.#createNewEditor({ + parent: this, + id, + x: event.offsetX, + y: event.offsetY, + uiManager: this.#uiManager, + isCentered, + ...data + }); + if (editor) { + this.add(editor); + } + return editor; + } + get boundingClientRect() { + return this.div.getBoundingClientRect(); + } + #getCenterPoint() { + const { + x, + y, + width, + height + } = this.boundingClientRect; + const tlX = Math.max(0, x); + const tlY = Math.max(0, y); + const brX = Math.min(window.innerWidth, x + width); + const brY = Math.min(window.innerHeight, y + height); + const centerX = (tlX + brX) / 2 - x; + const centerY = (tlY + brY) / 2 - y; + const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX]; + return { + offsetX, + offsetY + }; + } + addNewEditor(data = {}) { + this.createAndAddNewEditor(this.#getCenterPoint(), true, data); + } + setSelected(editor) { + this.#uiManager.setSelected(editor); + } + toggleSelected(editor) { + this.#uiManager.toggleSelected(editor); + } + unselect(editor) { + this.#uiManager.unselect(editor); + } + pointerup(event) { + const { + isMac + } = FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + if (event.target !== this.div) { + return; + } + if (!this.#hadPointerDown) { + return; + } + this.#hadPointerDown = false; + if (this.#currentEditorType?.isDrawer && this.#currentEditorType.supportMultipleDrawings) { + return; + } + if (!this.#allowClick) { + this.#allowClick = true; + return; + } + const currentMode = this.#uiManager.getMode(); + if (currentMode === AnnotationEditorType.STAMP || currentMode === AnnotationEditorType.SIGNATURE) { + this.#uiManager.unselectAll(); + return; + } + this.createAndAddNewEditor(event, false); + } + pointerdown(event) { + if (this.#uiManager.getMode() === AnnotationEditorType.HIGHLIGHT) { + this.enableTextSelection(); + } + if (this.#hadPointerDown) { + this.#hadPointerDown = false; + return; + } + const { + isMac + } = FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + if (event.target !== this.div) { + return; + } + this.#hadPointerDown = true; + if (this.#currentEditorType?.isDrawer) { + this.startDrawingSession(event); + return; + } + const editor = this.#uiManager.getActive(); + this.#allowClick = !editor || editor.isEmpty(); + } + startDrawingSession(event) { + this.div.focus({ + preventScroll: true + }); + if (this.#drawingAC) { + this.#currentEditorType.startDrawing(this, this.#uiManager, false, event); + return; + } + this.#uiManager.setCurrentDrawingSession(this); + this.#drawingAC = new AbortController(); + const signal = this.#uiManager.combinedSignal(this.#drawingAC); + this.div.addEventListener("blur", ({ + relatedTarget + }) => { + if (relatedTarget && !this.div.contains(relatedTarget)) { + this.#focusedElement = null; + this.commitOrRemove(); + } + }, { + signal + }); + this.#currentEditorType.startDrawing(this, this.#uiManager, false, event); + } + pause(on) { + if (on) { + const { + activeElement + } = document; + if (this.div.contains(activeElement)) { + this.#focusedElement = activeElement; + } + return; + } + if (this.#focusedElement) { + setTimeout(() => { + this.#focusedElement?.focus(); + this.#focusedElement = null; + }, 0); + } + } + endDrawingSession(isAborted = false) { + if (!this.#drawingAC) { + return null; + } + this.#uiManager.setCurrentDrawingSession(null); + this.#drawingAC.abort(); + this.#drawingAC = null; + this.#focusedElement = null; + return this.#currentEditorType.endDrawing(isAborted); + } + findNewParent(editor, x, y) { + const layer = this.#uiManager.findParent(x, y); + if (layer === null || layer === this) { + return false; + } + layer.changeParent(editor); + return true; + } + commitOrRemove() { + if (this.#drawingAC) { + this.endDrawingSession(); + return true; + } + return false; + } + onScaleChanging() { + if (!this.#drawingAC) { + return; + } + this.#currentEditorType.onScaleChangingWhenDrawing(this); + } + destroy() { + this.commitOrRemove(); + if (this.#uiManager.getActive()?.parent === this) { + this.#uiManager.commitOrRemove(); + this.#uiManager.setActiveEditor(null); + } + if (this.#editorFocusTimeoutId) { + clearTimeout(this.#editorFocusTimeoutId); + this.#editorFocusTimeoutId = null; + } + for (const editor of this.#editors.values()) { + this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv); + editor.setParent(null); + editor.isAttachedToDOM = false; + editor.div.remove(); + } + this.div = null; + this.#editors.clear(); + this.#uiManager.removeLayer(this); + } + #cleanup() { + for (const editor of this.#editors.values()) { + if (editor.isEmpty()) { + editor.remove(); + } + } + } + render({ + viewport + }) { + this.viewport = viewport; + setLayerDimensions(this.div, viewport); + for (const editor of this.#uiManager.getEditors(this.pageIndex)) { + this.add(editor); + editor.rebuild(); + } + this.updateMode(); + } + update({ + viewport + }) { + this.#uiManager.commitOrRemove(); + this.#cleanup(); + const oldRotation = this.viewport.rotation; + const rotation = viewport.rotation; + this.viewport = viewport; + setLayerDimensions(this.div, { + rotation + }); + if (oldRotation !== rotation) { + for (const editor of this.#editors.values()) { + editor.rotate(rotation); + } + } + } + get pageDimensions() { + const { + pageWidth, + pageHeight + } = this.viewport.rawDims; + return [pageWidth, pageHeight]; + } + get scale() { + return this.#uiManager.viewParameters.realScale; + } +} + +;// ./src/display/draw_layer.js + + +class DrawLayer { + #parent = null; + #mapping = new Map(); + #toUpdate = new Map(); + static #id = 0; + setParent(parent) { + if (!this.#parent) { + this.#parent = parent; + return; + } + if (this.#parent !== parent) { + if (this.#mapping.size > 0) { + for (const root of this.#mapping.values()) { + root.remove(); + parent.append(root); + } + } + this.#parent = parent; + } + } + static get _svgFactory() { + return shadow(this, "_svgFactory", new DOMSVGFactory()); + } + static #setBox(element, [x, y, width, height]) { + const { + style + } = element; + style.top = `${100 * y}%`; + style.left = `${100 * x}%`; + style.width = `${100 * width}%`; + style.height = `${100 * height}%`; + } + #createSVG() { + const svg = DrawLayer._svgFactory.create(1, 1, true); + this.#parent.append(svg); + svg.setAttribute("aria-hidden", true); + return svg; + } + #createClipPath(defs, pathId) { + const clipPath = DrawLayer._svgFactory.createElement("clipPath"); + defs.append(clipPath); + const clipPathId = `clip_${pathId}`; + clipPath.setAttribute("id", clipPathId); + clipPath.setAttribute("clipPathUnits", "objectBoundingBox"); + const clipPathUse = DrawLayer._svgFactory.createElement("use"); + clipPath.append(clipPathUse); + clipPathUse.setAttribute("href", `#${pathId}`); + clipPathUse.classList.add("clip"); + return clipPathId; + } + #updateProperties(element, properties) { + for (const [key, value] of Object.entries(properties)) { + if (value === null) { + element.removeAttribute(key); + } else { + element.setAttribute(key, value); + } + } + } + draw(properties, isPathUpdatable = false, hasClip = false) { + const id = DrawLayer.#id++; + const root = this.#createSVG(); + const defs = DrawLayer._svgFactory.createElement("defs"); + root.append(defs); + const path = DrawLayer._svgFactory.createElement("path"); + defs.append(path); + const pathId = `path_${id}`; + path.setAttribute("id", pathId); + path.setAttribute("vector-effect", "non-scaling-stroke"); + if (isPathUpdatable) { + this.#toUpdate.set(id, path); + } + const clipPathId = hasClip ? this.#createClipPath(defs, pathId) : null; + const use = DrawLayer._svgFactory.createElement("use"); + root.append(use); + use.setAttribute("href", `#${pathId}`); + this.updateProperties(root, properties); + this.#mapping.set(id, root); + return { + id, + clipPathId: `url(#${clipPathId})` + }; + } + drawOutline(properties, mustRemoveSelfIntersections) { + const id = DrawLayer.#id++; + const root = this.#createSVG(); + const defs = DrawLayer._svgFactory.createElement("defs"); + root.append(defs); + const path = DrawLayer._svgFactory.createElement("path"); + defs.append(path); + const pathId = `path_${id}`; + path.setAttribute("id", pathId); + path.setAttribute("vector-effect", "non-scaling-stroke"); + let maskId; + if (mustRemoveSelfIntersections) { + const mask = DrawLayer._svgFactory.createElement("mask"); + defs.append(mask); + maskId = `mask_${id}`; + mask.setAttribute("id", maskId); + mask.setAttribute("maskUnits", "objectBoundingBox"); + const rect = DrawLayer._svgFactory.createElement("rect"); + mask.append(rect); + rect.setAttribute("width", "1"); + rect.setAttribute("height", "1"); + rect.setAttribute("fill", "white"); + const use = DrawLayer._svgFactory.createElement("use"); + mask.append(use); + use.setAttribute("href", `#${pathId}`); + use.setAttribute("stroke", "none"); + use.setAttribute("fill", "black"); + use.setAttribute("fill-rule", "nonzero"); + use.classList.add("mask"); + } + const use1 = DrawLayer._svgFactory.createElement("use"); + root.append(use1); + use1.setAttribute("href", `#${pathId}`); + if (maskId) { + use1.setAttribute("mask", `url(#${maskId})`); + } + const use2 = use1.cloneNode(); + root.append(use2); + use1.classList.add("mainOutline"); + use2.classList.add("secondaryOutline"); + this.updateProperties(root, properties); + this.#mapping.set(id, root); + return id; + } + finalizeDraw(id, properties) { + this.#toUpdate.delete(id); + this.updateProperties(id, properties); + } + updateProperties(elementOrId, properties) { + if (!properties) { + return; + } + const { + root, + bbox, + rootClass, + path + } = properties; + const element = typeof elementOrId === "number" ? this.#mapping.get(elementOrId) : elementOrId; + if (!element) { + return; + } + if (root) { + this.#updateProperties(element, root); + } + if (bbox) { + DrawLayer.#setBox(element, bbox); + } + if (rootClass) { + const { + classList + } = element; + for (const [className, value] of Object.entries(rootClass)) { + classList.toggle(className, value); + } + } + if (path) { + const defs = element.firstElementChild; + const pathElement = defs.firstElementChild; + this.#updateProperties(pathElement, path); + } + } + updateParent(id, layer) { + if (layer === this) { + return; + } + const root = this.#mapping.get(id); + if (!root) { + return; + } + layer.#parent.append(root); + this.#mapping.delete(id); + layer.#mapping.set(id, root); + } + remove(id) { + this.#toUpdate.delete(id); + if (this.#parent === null) { + return; + } + this.#mapping.get(id).remove(); + this.#mapping.delete(id); + } + destroy() { + this.#parent = null; + for (const root of this.#mapping.values()) { + root.remove(); + } + this.#mapping.clear(); + this.#toUpdate.clear(); + } +} + +;// ./src/pdf.js + + + + + + + + + + + + + + + + +{ + globalThis._pdfjsTestingUtils = { + HighlightOutliner: HighlightOutliner + }; +} +globalThis.pdfjsLib = { + AbortException: AbortException, + AnnotationEditorLayer: AnnotationEditorLayer, + AnnotationEditorParamsType: AnnotationEditorParamsType, + AnnotationEditorType: AnnotationEditorType, + AnnotationEditorUIManager: AnnotationEditorUIManager, + AnnotationLayer: AnnotationLayer, + AnnotationMode: AnnotationMode, + AnnotationType: AnnotationType, + applyOpacity: applyOpacity, + build: build, + ColorPicker: ColorPicker, + createValidAbsoluteUrl: createValidAbsoluteUrl, + CSSConstants: CSSConstants, + DOMSVGFactory: DOMSVGFactory, + DrawLayer: DrawLayer, + FeatureTest: FeatureTest, + fetchData: fetchData, + findContrastColor: findContrastColor, + getDocument: getDocument, + getFilenameFromUrl: getFilenameFromUrl, + getPdfFilenameFromUrl: getPdfFilenameFromUrl, + getRGB: getRGB, + getUuid: getUuid, + getXfaPageViewport: getXfaPageViewport, + GlobalWorkerOptions: GlobalWorkerOptions, + ImageKind: ImageKind, + InvalidPDFException: InvalidPDFException, + isDataScheme: isDataScheme, + isPdfFile: isPdfFile, + isValidExplicitDest: isValidExplicitDest, + makeArr: makeArr, + makeMap: makeMap, + makeObj: makeObj, + MathClamp: MathClamp, + noContextMenu: noContextMenu, + normalizeUnicode: normalizeUnicode, + OPS: OPS, + OutputScale: OutputScale, + PasswordResponses: PasswordResponses, + PDFDataRangeTransport: PDFDataRangeTransport, + PDFDateString: PDFDateString, + PDFWorker: PDFWorker, + PermissionFlag: PermissionFlag, + PixelsPerInch: PixelsPerInch, + RenderingCancelledException: RenderingCancelledException, + renderRichText: renderRichText, + ResponseException: ResponseException, + setLayerDimensions: setLayerDimensions, + shadow: shadow, + SignatureExtractor: SignatureExtractor, + stopEvent: stopEvent, + SupportedImageMimeTypes: SupportedImageMimeTypes, + TextLayer: TextLayer, + TouchManager: TouchManager, + updateUrlHash: updateUrlHash, + Util: Util, + VerbosityLevel: VerbosityLevel, + version: version, + XfaLayer: XfaLayer +}; + +export { AbortException, AnnotationEditorLayer, AnnotationEditorParamsType, AnnotationEditorType, AnnotationEditorUIManager, AnnotationLayer, AnnotationMode, AnnotationType, CSSConstants, ColorPicker, DOMSVGFactory, DrawLayer, FeatureTest, GlobalWorkerOptions, ImageKind, InvalidPDFException, MathClamp, OPS, OutputScale, PDFDataRangeTransport, PDFDateString, PDFWorker, PasswordResponses, PermissionFlag, PixelsPerInch, RenderingCancelledException, ResponseException, SignatureExtractor, SupportedImageMimeTypes, TextLayer, TouchManager, Util, VerbosityLevel, XfaLayer, applyOpacity, build, createValidAbsoluteUrl, fetchData, findContrastColor, getDocument, getFilenameFromUrl, getPdfFilenameFromUrl, getRGB, getUuid, getXfaPageViewport, isDataScheme, isPdfFile, isValidExplicitDest, makeArr, makeMap, makeObj, noContextMenu, normalizeUnicode, renderRichText, setLayerDimensions, shadow, stopEvent, updateUrlHash, version }; + +//# sourceMappingURL=pdf.mjs.map \ No newline at end of file diff --git a/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.worker.min.mjs b/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.worker.min.mjs new file mode 100644 index 00000000..9a18cfdf --- /dev/null +++ b/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/build/pdf.worker.min.mjs @@ -0,0 +1,28 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2024 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */ +/** + * pdfjsVersion = 5.5.207 + * pdfjsBuild = 527964698 + */const e=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),t=[.001,0,0,.001,0,0],n=1.35,a=.35,s=.25925925925925924,r=1,i=2,o=4,l=8,f=16,c=64,h=128,u=256,m="pdfjs_internal_editor_",p=3,d=9,g=13,b=15,w=101,j={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},k=1,y=2,q=3,v=0,S=4,x=1,C=2,F=3,T={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26},H="Group",O="R",R=1,D=2,M=4,E=16,N=32,z=128,L=512,U=1,_=2,X=4096,W=8192,K=32768,G=65536,V=131072,$=1048576,Y=2097152,J=8388608,Q=16777216,Z=1,ee=2,te=3,ne=4,ae=5,se={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},re={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},ie={O:"PageOpen",C:"PageClose"},oe=1,le=5,fe=1,ce=2,he=3,ue=4,me=5,pe=6,de=7,ge=8,be=9,we=10,je=11,ke=12,ye=13,qe=14,ve=15,Se=16,xe=17,Ae=18,Ce=19,Ie=20,Fe=21,Te=22,He=23,Oe=24,Be=25,Re=26,De=27,Me=28,Pe=29,Ee=30,Ne=31,ze=32,Le=33,Ue=34,_e=35,Xe=36,We=37,Ke=38,Ge=39,Ve=40,$e=41,Ye=42,Je=43,Qe=44,Ze=45,et=46,tt=47,nt=48,at=49,st=50,rt=51,it=52,ot=53,lt=54,ft=55,ct=56,ht=57,ut=58,mt=59,pt=60,dt=61,gt=62,bt=63,wt=64,jt=65,kt=66,yt=67,qt=68,vt=69,St=70,xt=71,At=72,Ct=73,It=74,Ft=75,Tt=76,Ht=77,Ot=80,Bt=81,Rt=83,Dt=84,Mt=85,Pt=86,Et=87,Nt=88,zt=89,Lt=90,Ut=91,_t=92,Xt=93,Wt=94,Kt=0,Gt=1,Vt=2,$t=3,Yt=4,Jt=1,Qt=2;let Zt=oe;function getVerbosityLevel(){return Zt}function info(e){Zt>=le&&console.info(`Info: ${e}`)}function warn(e){Zt>=oe&&console.warn(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function assert(e,t){e||unreachable(t)}function createValidAbsoluteUrl(e,t=null,n=null){if(!e)return null;if(n&&"string"==typeof e){if(n.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(n.tryConvertEncoding)try{e=stringToUTF8String(e)}catch{}}const a=t?URL.parse(e,t):URL.parse(e);return function _isValidProtocol(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(a)?a:null}function shadow(e,t,n,a=!1){Object.defineProperty(e,t,{value:n,enumerable:!a,configurable:!0,writable:!1});return n}const en=function BaseExceptionClosure(){function BaseException(e,t){this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends en{constructor(e,t){super(e,"PasswordException");this.code=t}}class UnknownErrorException extends en{constructor(e,t){super(e,"UnknownErrorException");this.details=t}}class InvalidPDFException extends en{constructor(e){super(e,"InvalidPDFException")}}class ResponseException extends en{constructor(e,t,n){super(e,"ResponseException");this.status=t;this.missing=n}}class FormatError extends en{constructor(e){super(e,"FormatError")}}class AbortException extends en{constructor(e){super(e,"AbortException")}}function bytesToString(e){"object"==typeof e&&void 0!==e?.length||unreachable("Invalid argument for bytesToString");const t=e.length,n=8192;if(t<n)return String.fromCharCode.apply(null,e);const a=[];for(let s=0;s<t;s+=n){const r=Math.min(s+n,t),i=e.subarray(s,r);a.push(String.fromCharCode.apply(null,i))}return a.join("")}function stringToBytes(e){"string"!=typeof e&&unreachable("Invalid argument for stringToBytes");const t=e.length,n=new Uint8Array(t);for(let a=0;a<t;++a)n[a]=255&e.charCodeAt(a);return n}function string32(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)}function objectSize(e){return Object.keys(e).length}class FeatureTest{static get isLittleEndian(){return shadow(this,"isLittleEndian",function isLittleEndian(){const e=new Uint8Array(4);e[0]=1;return 1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return shadow(this,"isEvalSupported",function isEvalSupported(){try{new Function("");return!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return shadow(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get isImageDecoderSupported(){return shadow(this,"isImageDecoderSupported","undefined"!=typeof ImageDecoder)}static get isFloat16ArraySupported(){return shadow(this,"isFloat16ArraySupported","undefined"!=typeof Float16Array)}static get isSanitizerSupported(){return shadow(this,"isSanitizerSupported","undefined"!=typeof Sanitizer)}static get platform(){const{platform:e,userAgent:t}=navigator;return shadow(this,"platform",{isAndroid:t.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:t.includes("Firefox")})}static get isCSSRoundSupported(){return shadow(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}}const tn=Array.from(Array(256).keys(),e=>e.toString(16).padStart(2,"0"));class Util{static makeHexColor(e,t,n){return`#${tn[e]}${tn[t]}${tn[n]}`}static domMatrixToTransform(e){return[e.a,e.b,e.c,e.d,e.e,e.f]}static scaleMinMax(e,t){let n;if(e[0]){if(e[0]<0){n=t[0];t[0]=t[2];t[2]=n}t[0]*=e[0];t[2]*=e[0];if(e[3]<0){n=t[1];t[1]=t[3];t[3]=n}t[1]*=e[3];t[3]*=e[3]}else{n=t[0];t[0]=t[1];t[1]=n;n=t[2];t[2]=t[3];t[3]=n;if(e[1]<0){n=t[1];t[1]=t[3];t[3]=n}t[1]*=e[1];t[3]*=e[1];if(e[2]<0){n=t[0];t[0]=t[2];t[2]=n}t[0]*=e[2];t[2]*=e[2]}t[0]+=e[4];t[1]+=e[5];t[2]+=e[4];t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static multiplyByDOMMatrix(e,t){return[e[0]*t.a+e[2]*t.b,e[1]*t.a+e[3]*t.b,e[0]*t.c+e[2]*t.d,e[1]*t.c+e[3]*t.d,e[0]*t.e+e[2]*t.f+e[4],e[1]*t.e+e[3]*t.f+e[5]]}static applyTransform(e,t,n=0){const a=e[n],s=e[n+1];e[n]=a*t[0]+s*t[2]+t[4];e[n+1]=a*t[1]+s*t[3]+t[5]}static applyTransformToBezier(e,t,n=0){const a=t[0],s=t[1],r=t[2],i=t[3],o=t[4],l=t[5];for(let t=0;t<6;t+=2){const f=e[n+t],c=e[n+t+1];e[n+t]=f*a+c*r+o;e[n+t+1]=f*s+c*i+l}}static applyInverseTransform(e,t){const n=e[0],a=e[1],s=t[0]*t[3]-t[1]*t[2];e[0]=(n*t[3]-a*t[2]+t[2]*t[5]-t[4]*t[3])/s;e[1]=(-n*t[1]+a*t[0]+t[4]*t[1]-t[5]*t[0])/s}static axialAlignedBoundingBox(e,t,n){const a=t[0],s=t[1],r=t[2],i=t[3],o=t[4],l=t[5],f=e[0],c=e[1],h=e[2],u=e[3];let m=a*f+o,p=m,d=a*h+o,g=d,b=i*c+l,w=b,j=i*u+l,k=j;if(0!==s||0!==r){const e=s*f,t=s*h,n=r*c,a=r*u;m+=n;g+=n;d+=a;p+=a;b+=e;k+=e;j+=t;w+=t}n[0]=Math.min(n[0],m,d,p,g);n[1]=Math.min(n[1],b,j,w,k);n[2]=Math.max(n[2],m,d,p,g);n[3]=Math.max(n[3],b,j,w,k)}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e,t){const n=e[0],a=e[1],s=e[2],r=e[3],i=n**2+a**2,o=n*s+a*r,l=s**2+r**2,f=(i+l)/2,c=Math.sqrt(f**2-(i*l-o**2));t[0]=Math.sqrt(f+c||1);t[1]=Math.sqrt(f-c||1)}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const n=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),a=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(n>a)return null;const s=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),r=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return s>r?null:[n,s,a,r]}static pointBoundingBox(e,t,n){n[0]=Math.min(n[0],e);n[1]=Math.min(n[1],t);n[2]=Math.max(n[2],e);n[3]=Math.max(n[3],t)}static rectBoundingBox(e,t,n,a,s){s[0]=Math.min(s[0],e,n);s[1]=Math.min(s[1],t,a);s[2]=Math.max(s[2],e,n);s[3]=Math.max(s[3],t,a)}static#e(e,t,n,a,s,r,i,o,l,f){if(l<=0||l>=1)return;const c=1-l,h=l*l,u=h*l,m=c*(c*(c*e+3*l*t)+3*h*n)+u*a,p=c*(c*(c*s+3*l*r)+3*h*i)+u*o;f[0]=Math.min(f[0],m);f[1]=Math.min(f[1],p);f[2]=Math.max(f[2],m);f[3]=Math.max(f[3],p)}static#t(e,t,n,a,s,r,i,o,l,f,c,h){if(Math.abs(l)<1e-12){Math.abs(f)>=1e-12&&this.#e(e,t,n,a,s,r,i,o,-c/f,h);return}const u=f**2-4*c*l;if(u<0)return;const m=Math.sqrt(u),p=2*l;this.#e(e,t,n,a,s,r,i,o,(-f+m)/p,h);this.#e(e,t,n,a,s,r,i,o,(-f-m)/p,h)}static bezierBoundingBox(e,t,n,a,s,r,i,o,l){l[0]=Math.min(l[0],e,i);l[1]=Math.min(l[1],t,o);l[2]=Math.max(l[2],e,i);l[3]=Math.max(l[3],t,o);this.#t(e,n,s,i,t,a,r,o,3*(3*(n-s)-e+i),6*(e-2*n+s),3*(n-e),l);this.#t(e,n,s,i,t,a,r,o,3*(3*(a-r)-t+o),6*(t-2*a+r),3*(a-t),l)}}const nn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function stringToPDFString(e,t=!1){if(e[0]>="ï"){let n;if("þ"===e[0]&&"ÿ"===e[1]){n="utf-16be";e.length%2==1&&(e=e.slice(0,-1))}else if("ÿ"===e[0]&&"þ"===e[1]){n="utf-16le";e.length%2==1&&(e=e.slice(0,-1))}else"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(n="utf-8");if(n)try{const a=new TextDecoder(n,{fatal:!0}),s=stringToBytes(e),r=a.decode(s);return t||!r.includes("")?r:r.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,"")}catch(e){warn(`stringToPDFString: "${e}".`)}}const n=[];for(let a=0,s=e.length;a<s;a++){const r=e.charCodeAt(a);if(!t&&27===r){for(;++a<s&&27!==e.charCodeAt(a););continue}const i=nn[r];n.push(i?String.fromCharCode(i):e.charAt(a))}return n.join("")}function stringToUTF8String(e){return decodeURIComponent(escape(e))}function utf8StringToString(e){return unescape(encodeURIComponent(e))}function isArrayEqual(e,t){if(e.length!==t.length)return!1;for(let n=0,a=e.length;n<a;n++)if(e[n]!==t[n])return!1;return!0}function getModificationDate(e=new Date){e instanceof Date||(e=new Date(e));return[e.getUTCFullYear().toString(),(e.getUTCMonth()+1).toString().padStart(2,"0"),e.getUTCDate().toString().padStart(2,"0"),e.getUTCHours().toString().padStart(2,"0"),e.getUTCMinutes().toString().padStart(2,"0"),e.getUTCSeconds().toString().padStart(2,"0")].join("")}let an=null,sn=null;const makeArr=()=>[],makeMap=()=>new Map,makeObj=()=>Object.create(null);function MathClamp(e,t,n){return Math.min(Math.max(e,t),n)}"function"!=typeof Math.sumPrecise&&(Math.sumPrecise=function(e){return e.reduce((e,t)=>e+t,0)});const rn=Symbol("CIRCULAR_REF"),on=Symbol("EOF");let ln=Object.create(null),fn=Object.create(null),cn=Object.create(null);class Name{constructor(e){this.name=e}static get(e){return fn[e]||=new Name(e)}}class Cmd{constructor(e){this.cmd=e}static get(e){return ln[e]||=new Cmd(e)}}const hn=function nonSerializableClosure(){return hn};class Dict{constructor(e=null){this._map=new Map;this.xref=e;this.objId=null;this.suppressEncryption=!1;this.__nonSerializable__=hn}assignXref(e){this.xref=e}get size(){return this._map.size}get(e,t,n){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==n&&(a=this._map.get(n))}return a instanceof Ref&&this.xref?this.xref.fetch(a,this.suppressEncryption):a}async getAsync(e,t,n){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==n&&(a=this._map.get(n))}return a instanceof Ref&&this.xref?this.xref.fetchAsync(a,this.suppressEncryption):a}getArray(e,t,n){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==n&&(a=this._map.get(n))}a instanceof Ref&&this.xref&&(a=this.xref.fetch(a,this.suppressEncryption));if(Array.isArray(a)){a=a.slice();for(let e=0,t=a.length;e<t;e++)a[e]instanceof Ref&&this.xref&&(a[e]=this.xref.fetch(a[e],this.suppressEncryption))}return a}getRaw(e){return this._map.get(e)}getKeys(){return[...this._map.keys()]}getRawValues(){return[...this._map.values()]}getRawEntries(){return this._map.entries()}set(e,t){this._map.set(e,t)}setIfNotExists(e,t){this.has(e)||this.set(e,t)}setIfNumber(e,t){"number"==typeof t&&this.set(e,t)}setIfArray(e,t){(Array.isArray(t)||ArrayBuffer.isView(t))&&this.set(e,t)}setIfDefined(e,t){null!=t&&this.set(e,t)}setIfName(e,t){"string"==typeof t?this.set(e,Name.get(t)):t instanceof Name&&this.set(e,t)}setIfDict(e,t){t instanceof Dict&&this.set(e,t)}has(e){return this._map.has(e)}*[Symbol.iterator](){for(const[e,t]of this._map)yield[e,t instanceof Ref&&this.xref?this.xref.fetch(t,this.suppressEncryption):t]}static get empty(){const e=new Dict(null);e.set=(e,t)=>{unreachable("Should not call `set` on the empty dictionary.")};return shadow(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:n=!1}){const a=new Dict(e),s=new Map;for(const e of t)if(e instanceof Dict)for(const[t,a]of e._map){let e=s.get(t);if(void 0===e){e=[];s.set(t,e)}else if(!(n&&a instanceof Dict))continue;e.push(a)}for(const[t,n]of s){if(1===n.length||!(n[0]instanceof Dict)){a._map.set(t,n[0]);continue}const s=new Dict(e);for(const e of n)for(const[t,n]of e._map)s._map.has(t)||s._map.set(t,n);s.size>0&&a._map.set(t,s)}s.clear();return a.size>0?a:Dict.empty}clone(){const e=new Dict(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}delete(e){this._map.delete(e)}}class Ref{constructor(e,t){this.num=e;this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=cn[e];if(t)return t;const n=/^(\d+)R(\d*)$/.exec(e);return n&&"0"!==n[1]?cn[e]=new Ref(parseInt(n[1]),n[2]?parseInt(n[2]):0):null}static get(e,t){const n=0===t?`${e}R`:`${e}R${t}`;return cn[n]||=new Ref(e,t)}}class RefSet{constructor(e=null){this._set=new Set(e?._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}class RefSetCache{_map=new Map;get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*values(){yield*this._map.values()}*items(){for(const[e,t]of this._map)yield[Ref.fromString(e),t]}*keys(){for(const e of this._map.keys())yield Ref.fromString(e)}}function isName(e,t){return e instanceof Name&&(void 0===t||e.name===t)}function isCmd(e,t){return e instanceof Cmd&&(void 0===t||e.cmd===t)}function isDict(e,t){return e instanceof Dict&&(void 0===t||isName(e.get("Type"),t))}function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen}class BaseStream{get length(){unreachable("Abstract getter `length` accessed")}get isEmpty(){unreachable("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return shadow(this,"isDataLoaded",!0)}getByte(){unreachable("Abstract method `getByte` called")}getBytes(e){unreachable("Abstract method `getBytes` called")}async getImageData(e,t){return this.getBytes(e,t)}async asyncGetBytes(){unreachable("Abstract method `asyncGetBytes` called")}get isAsync(){return!1}get isAsyncDecoder(){return!1}get isImageStream(){return!1}get canAsyncDecodeImageFromBuffer(){return!1}async getTransferableImage(){return null}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e){const t=this.getBytes(e);this.pos-=t.length;return t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){unreachable("Abstract method `getByteRange` called")}getString(e){return bytesToString(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){unreachable("Abstract method `reset` called")}moveStart(){unreachable("Abstract method `moveStart` called")}makeSubStream(e,t,n=null){unreachable("Abstract method `makeSubStream` called")}getBaseStreams(){return null}getOriginalStream(){return this.stream?.getOriginalStream()||this}}const un=/^[1-9]\.\d$/,mn=2**31-1,pn=[1,0,0,1,0,0],dn=["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"],gn=["ExtGState","Font","Properties","XObject"];function getLookupTableFactory(e){let t;return function(){if(e){t=Object.create(null);e(t);e=null}return t}}class MissingDataException extends en{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException");this.begin=e;this.end=t}}class ParserEOFException extends en{constructor(e){super(e,"ParserEOFException")}}class XRefEntryException extends en{constructor(e){super(e,"XRefEntryException")}}class XRefParseException extends en{constructor(e){super(e,"XRefParseException")}}function arrayBuffersToBytes(e){const t=e.length;if(0===t)return new Uint8Array(0);if(1===t)return new Uint8Array(e[0]);let n=0;for(let a=0;a<t;a++)n+=e[a].byteLength;const a=new Uint8Array(n);let s=0;for(let n=0;n<t;n++){const t=new Uint8Array(e[n]);a.set(t,s);s+=t.byteLength}return a}async function fetchBinaryData(e){const t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch file "${e}" with "${t.statusText}".`);return t.bytes()}function getInheritableProperty({dict:e,key:t,getArray:n=!1,stopWhenFound:a=!0}){let s;const r=new RefSet;for(;e instanceof Dict&&(!e.objId||!r.has(e.objId));){e.objId&&r.put(e.objId);const i=n?e.getArray(t):e.get(t);if(void 0!==i){if(a)return i;(s||=[]).push(i)}e=e.get("Parent")}return s}const bn=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"];function toRomanNumerals(e,t=!1){assert(Number.isInteger(e)&&e>0,"The number should be a positive integer.");const n="M".repeat(e/1e3|0)+bn[e%1e3/100|0]+bn[10+(e%100/10|0)]+bn[20+e%10];return t?n.toLowerCase():n}function log2(e){return e>0?Math.ceil(Math.log2(e)):0}function readInt8(e,t){return e[t]<<24>>24}function readInt16(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function readUint16(e,t){return e[t]<<8|e[t+1]}function readUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function isWhiteSpace(e){return 32===e||9===e||13===e||10===e}function isNumberArray(e,t){return Array.isArray(e)?(null===t||e.length===t)&&e.every(e=>"number"==typeof e):ArrayBuffer.isView(e)&&!(e instanceof BigInt64Array||e instanceof BigUint64Array)&&(null===t||e.length===t)}function lookupMatrix(e,t){return isNumberArray(e,6)?e:t}function lookupRect(e,t){return isNumberArray(e,4)?e:t}function lookupNormalRect(e,t){return isNumberArray(e,4)?Util.normalizeRect(e):t}function parseXFAPath(e){const t=/(.+)\[(\d+)\]$/;return e.split(".").map(e=>{const n=e.match(t);return n?{name:n[1],pos:parseInt(n[2],10)}:{name:e,pos:0}})}function escapePDFName(e){const t=[];let n=0;for(let a=0,s=e.length;a<s;a++){const s=e.charCodeAt(a);if(s<33||s>126||35===s||40===s||41===s||60===s||62===s||91===s||93===s||123===s||125===s||47===s||37===s){n<a&&t.push(e.substring(n,a));t.push(`#${s.toString(16)}`);n=a+1}}if(0===t.length)return e;n<e.length&&t.push(e.substring(n,e.length));return t.join("")}function escapeString(e){return e.replaceAll(/([()\\\n\r])/g,e=>"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`)}function _collectJS(e,t,n,a){if(!e)return;let s=null;if(e instanceof Ref){if(a.has(e))return;s=e;a.put(s);e=t.fetch(e)}if(Array.isArray(e))for(const s of e)_collectJS(s,t,n,a);else if(e instanceof Dict){if(isName(e.get("S"),"JavaScript")){const t=e.get("JS");let a;t instanceof BaseStream?a=t.getString():"string"==typeof t&&(a=t);a&&=stringToPDFString(a,!0).replaceAll("\0","");a&&n.push(a.trim())}_collectJS(e.getRaw("Next"),t,n,a)}s&&a.remove(s)}function collectActions(e,t,n){const a=Object.create(null),s=getInheritableProperty({dict:t,key:"AA",stopWhenFound:!1});if(s)for(let t=s.length-1;t>=0;t--){const r=s[t];if(r instanceof Dict)for(const t of r.getKeys()){const s=n[t];if(!s)continue;const i=[];_collectJS(r.getRaw(t),e,i,new RefSet);i.length>0&&(a[s]=i)}}if(t.has("A")){const n=[];_collectJS(t.get("A"),e,n,new RefSet);n.length>0&&(a.Action=n)}return objectSize(a)>0?a:null}const wn={60:"<",62:">",38:"&",34:""",39:"'"};function*codePointIter(e){for(let t=0,n=e.length;t<n;t++){const n=e.codePointAt(t);n>55295&&(n<57344||n>65533)&&t++;yield n}}function encodeToXmlString(e){const t=[];let n=0;for(let a=0,s=e.length;a<s;a++){const s=e.codePointAt(a);if(32<=s&&s<=126){const r=wn[s];if(r){n<a&&t.push(e.substring(n,a));t.push(r);n=a+1}}else{n<a&&t.push(e.substring(n,a));t.push(`&#x${s.toString(16).toUpperCase()};`);s>55295&&(s<57344||s>65533)&&a++;n=a+1}}if(0===t.length)return e;n<e.length&&t.push(e.substring(n,e.length));return t.join("")}function validateFontName(e,t=!1){const n=/^("|').*("|')$/.exec(e);if(n&&n[1]===n[2]){if(new RegExp(`[^\\\\]${n[1]}`).test(e.slice(1,-1))){t&&warn(`FontFamily contains unescaped ${n[1]}: ${e}.`);return!1}}else for(const n of e.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(n)||!/^[\w-\\]+$/.test(n)){t&&warn(`FontFamily contains invalid <custom-ident>: ${e}.`);return!1}return!0}function validateCSSFont(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:n,fontWeight:a,italicAngle:s}=e;if(!validateFontName(n,!0))return!1;const r=a?a.toString():"";e.fontWeight=t.has(r)?r:"400";const i=parseFloat(s);e.italicAngle=isNaN(i)||i<-90||i>90?"14":s.toString();return!0}function recoverJsURL(e){const t=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(e);return t?.[2]?{url:t[2],newWindow:"app.launchURL"===t[1]&&"true"===t[3]}:null}function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}function getNewAnnotationsMap(e){if(!e)return null;const t=new Map;for(const[n,a]of e)n.startsWith(m)&&t.getOrInsertComputed(a.pageIndex,makeArr).push(a);return t.size>0?t:null}function stringToAsciiOrUTF16BE(e){return null==e||function isAscii(e){if("string"!=typeof e)return!1;return!e||/^[\x00-\x7F]*$/.test(e)}(e)?e:stringToUTF16String(e,!0)}function stringToUTF16HexString(e){const t=[];for(let n=0,a=e.length;n<a;n++){const a=e.charCodeAt(n);t.push(tn[a>>8&255],tn[255&a])}return t.join("")}function stringToUTF16String(e,t=!1){const n=[];t&&n.push("þÿ");for(let t=0,a=e.length;t<a;t++){const a=e.charCodeAt(t);n.push(String.fromCharCode(a>>8&255),String.fromCharCode(255&a))}return n.join("")}function getRotationMatrix(e,t,n){switch(e){case 90:return[0,1,-1,0,t,0];case 180:return[-1,0,0,-1,t,n];case 270:return[0,-1,1,0,0,n];default:throw new Error("Invalid rotation")}}function getSizeInBytes(e){return Math.ceil(Math.ceil(Math.log2(1+e))/8)}class QCMS{static#n=null;static _memory=null;static _mustAddAlpha=!1;static _destBuffer=null;static _destOffset=0;static _destLength=0;static _cssColor="";static _makeHexColor=null;static get _memoryArray(){const e=this.#n;return e?.byteLength?e:this.#n=new Uint8Array(this._memory.buffer)}}let jn;const kn="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&kn.decode();let yn=null;function getUint8ArrayMemory0(){null!==yn&&0!==yn.byteLength||(yn=new Uint8Array(jn.memory.buffer));return yn}let qn=0;function passArray8ToWasm0(e,t){const n=t(1*e.length,1)>>>0;getUint8ArrayMemory0().set(e,n/1);qn=e.length;return n}const vn=Object.freeze({RGB8:0,0:"RGB8",RGBA8:1,1:"RGBA8",BGRA8:2,2:"BGRA8",Gray8:3,3:"Gray8",GrayA8:4,4:"GrayA8",CMYK:5,5:"CMYK"}),Sn=Object.freeze({Perceptual:0,0:"Perceptual",RelativeColorimetric:1,1:"RelativeColorimetric",Saturation:2,2:"Saturation",AbsoluteColorimetric:3,3:"AbsoluteColorimetric"});function __wbg_get_imports(){const e={wbg:{}};e.wbg.__wbg_copyresult_b08ee7d273f295dd=function(e,t){!function copy_result(e,t){const{_mustAddAlpha:n,_destBuffer:a,_destOffset:s,_destLength:r,_memoryArray:i}=QCMS;if(t!==r)if(n)for(let n=e,r=e+t,o=s;n<r;n+=3,o+=4){a[o]=i[n];a[o+1]=i[n+1];a[o+2]=i[n+2];a[o+3]=255}else for(let n=e,r=e+t,o=s;n<r;n+=3,o+=4){a[o]=i[n];a[o+1]=i[n+1];a[o+2]=i[n+2]}else a.set(i.subarray(e,e+t),s)}(e>>>0,t>>>0)};e.wbg.__wbg_copyrgb_d60ce17bb05d9b67=function(e){!function copy_rgb(e){const{_destBuffer:t,_destOffset:n,_memoryArray:a}=QCMS;t[n]=a[e];t[n+1]=a[e+1];t[n+2]=a[e+2]}(e>>>0)};e.wbg.__wbg_makecssRGB_893bf0cd9fdb302d=function(e){!function make_cssRGB(e){const{_memoryArray:t}=QCMS;QCMS._cssColor=QCMS._makeHexColor(t[e],t[e+1],t[e+2])}(e>>>0)};e.wbg.__wbindgen_init_externref_table=function(){const e=jn.__wbindgen_export_0,t=e.grow(4);e.set(0,void 0);e.set(t+0,void 0);e.set(t+1,null);e.set(t+2,!0);e.set(t+3,!1)};e.wbg.__wbindgen_throw=function(e,t){throw new Error(function getStringFromWasm0(e,t){e>>>=0;return kn.decode(getUint8ArrayMemory0().subarray(e,e+t))}(e,t))};return e}function __wbg_finalize_init(e,t){jn=e.exports;__wbg_init.__wbindgen_wasm_module=t;yn=null;jn.__wbindgen_start();return jn}async function __wbg_init(e){if(void 0!==jn)return jn;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=__wbg_get_imports();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:n,module:a}=await async function __wbg_load(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const n=await e.arrayBuffer();return await WebAssembly.instantiate(n,t)}{const n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}}(await e,t);return __wbg_finalize_init(n,a)}function isDefaultDecodeHelper(e,t){if(!Array.isArray(e))return!0;const n=e.length;if(n<t){warn("Decode map length is too short.");return!0}if(n>t){info("Truncating too long decode map.");e.length=t}return!1}class ColorSpace{static#a=new Uint8ClampedArray(3);constructor(e,t){this.name=e;this.numComps=t}getRgb(e,t,n=new Uint8ClampedArray(3)){this.getRgbItem(e,t,n,0);return n}getRgbHex(e,t){const n=this.getRgb(e,t,ColorSpace.#a);return Util.makeHexColor(n[0],n[1],n[2])}getRgbItem(e,t,n,a){unreachable("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,n,a,s,r,i){unreachable("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){unreachable("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,n,a,s,r,i,o,l){const f=t*n;let c=null;const h=1<<i,u=n!==s||t!==a;if(this.isPassthrough(i))c=o;else if(1===this.numComps&&f>h&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=i<=8?new Uint8Array(h):new Uint16Array(h);for(let e=0;e<h;e++)t[e]=e;const n=new Uint8ClampedArray(3*h);this.getRgbBuffer(t,0,h,n,0,i,0);if(u){c=new Uint8Array(3*f);let e=0;for(let t=0;t<f;++t){const a=3*o[t];c[e++]=n[a];c[e++]=n[a+1];c[e++]=n[a+2]}}else{let t=0;for(let a=0;a<f;++a){const s=3*o[a];e[t++]=n[s];e[t++]=n[s+1];e[t++]=n[s+2];t+=l}}}else if(u){c=new Uint8ClampedArray(3*f);this.getRgbBuffer(o,0,f,c,0,i,0)}else this.getRgbBuffer(o,0,a*r,e,0,i,l);if(c)if(u)!function resizeRgbImage(e,t,n,a,s,r,i){i=1!==i?0:i;const o=n/s,l=a/r;let f,c=0;const h=new Uint16Array(s),u=3*n;for(let e=0;e<s;e++)h[e]=3*Math.floor(e*o);for(let n=0;n<r;n++){const a=Math.floor(n*l)*u;for(let n=0;n<s;n++){f=a+h[n];t[c++]=e[f++];t[c++]=e[f++];t[c++]=e[f++];c+=i}}}(c,e,t,n,a,s,l);else{let t=0,n=0;for(let s=0,i=a*r;s<i;s++){e[t++]=c[n++];e[t++]=c[n++];e[t++]=c[n++];t+=l}}}get usesZeroToOneRange(){return shadow(this,"usesZeroToOneRange",!0)}static isDefaultDecode(e,t){if(isDefaultDecodeHelper(e,2*t))return!0;for(let t=0,n=e.length;t<n;t+=2)if(0!==e[t]||1!==e[t+1])return!1;return!0}}class AlternateCS extends ColorSpace{constructor(e,t,n){super("Alternate",e);this.base=t;this.tintFn=n;this.tmpBuf=new Float32Array(t.numComps)}getRgbItem(e,t,n,a){const s=this.tmpBuf;this.tintFn(e,t,s,0);this.base.getRgbItem(s,0,n,a)}getRgbBuffer(e,t,n,a,s,r,i){const o=this.tintFn,l=this.base,f=1/((1<<r)-1),c=l.numComps,h=l.usesZeroToOneRange,u=(l.isPassthrough(8)||!h)&&0===i;let m=u?s:0;const p=u?a:new Uint8ClampedArray(c*n),d=this.numComps,g=new Float32Array(d),b=new Float32Array(c);let w,j;for(w=0;w<n;w++){for(j=0;j<d;j++)g[j]=e[t++]*f;o(g,0,b,0);if(h)for(j=0;j<c;j++)p[m++]=255*b[j];else{l.getRgbItem(b,0,p,m);m+=c}}u||l.getRgbBuffer(p,0,n,a,s,8,i)}getOutputLength(e,t){return this.base.getOutputLength(e*this.base.numComps/this.numComps,t)}}class PatternCS extends ColorSpace{constructor(e){super("Pattern",null);this.base=e}isDefaultDecode(e,t){unreachable("Should not call PatternCS.isDefaultDecode")}}class IndexedCS extends ColorSpace{constructor(e,t,n){super("Indexed",1);this.base=e;this.highVal=t;const a=e.numComps*(t+1);this.lookup=new Uint8Array(a);if(n instanceof BaseStream){const e=n.getBytes(a);this.lookup.set(e)}else{if("string"!=typeof n)throw new FormatError(`IndexedCS - unrecognized lookup table: ${n}`);for(let e=0;e<a;++e)this.lookup[e]=255&n.charCodeAt(e)}}getRgbItem(e,t,n,a){const{base:s,highVal:r,lookup:i}=this,o=MathClamp(Math.round(e[t]),0,r)*s.numComps;s.getRgbBuffer(i,o,1,n,a,8,0)}getRgbBuffer(e,t,n,a,s,r,i){const{base:o,highVal:l,lookup:f}=this,{numComps:c}=o,h=o.getOutputLength(c,i);for(let r=0;r<n;++r){const n=MathClamp(Math.round(e[t++]),0,l)*c;o.getRgbBuffer(f,n,1,a,s,8,i);s+=h}}getOutputLength(e,t){return this.base.getOutputLength(e*this.base.numComps,t)}isDefaultDecode(e,t){if(isDefaultDecodeHelper(e,2))return!0;if(!Number.isInteger(t)||t<1){warn("Bits per component is not correct");return!0}return 0===e[0]&&e[1]===(1<<t)-1}}class DeviceGrayCS extends ColorSpace{constructor(){super("DeviceGray",1)}getRgbItem(e,t,n,a){const s=255*e[t];n[a]=n[a+1]=n[a+2]=s}getRgbBuffer(e,t,n,a,s,r,i){const o=255/((1<<r)-1);let l=t,f=s;for(let t=0;t<n;++t){const t=o*e[l++];a[f++]=t;a[f++]=t;a[f++]=t;f+=i}}getOutputLength(e,t){return e*(3+t)}}class DeviceRgbCS extends ColorSpace{constructor(){super("DeviceRGB",3)}getRgbItem(e,t,n,a){n[a]=255*e[t];n[a+1]=255*e[t+1];n[a+2]=255*e[t+2]}getRgbBuffer(e,t,n,a,s,r,i){if(8===r&&0===i){a.set(e.subarray(t,t+3*n),s);return}const o=255/((1<<r)-1);let l=t,f=s;for(let t=0;t<n;++t){a[f++]=o*e[l++];a[f++]=o*e[l++];a[f++]=o*e[l++];f+=i}}getOutputLength(e,t){return e*(3+t)/3|0}isPassthrough(e){return 8===e}}class DeviceRgbaCS extends ColorSpace{constructor(){super("DeviceRGBA",4)}getOutputLength(e,t){return 4*e}isPassthrough(e){return 8===e}fillRgb(e,t,n,a,s,r,i,o,l){n!==s||t!==a?function resizeRgbaImage(e,t,n,a,s,r,i){const o=n/s,l=a/r;let f=0;const c=new Uint16Array(s);if(1===i){for(let e=0;e<s;e++)c[e]=Math.floor(e*o);const a=new Uint32Array(e.buffer),i=new Uint32Array(t.buffer),h=FeatureTest.isLittleEndian?16777215:4294967040;for(let e=0;e<r;e++){const t=a.subarray(Math.floor(e*l)*n);for(let e=0;e<s;e++)i[f++]|=t[c[e]]&h}}else{const a=4,i=n*a;for(let e=0;e<s;e++)c[e]=Math.floor(e*o)*a;for(let n=0;n<r;n++){const a=e.subarray(Math.floor(n*l)*i);for(let e=0;e<s;e++){const n=c[e];t[f++]=a[n];t[f++]=a[n+1];t[f++]=a[n+2]}}}}(o,e,t,n,a,s,l):function copyRgbaImage(e,t,n){if(1===n){const n=new Uint32Array(e.buffer),a=new Uint32Array(t.buffer),s=FeatureTest.isLittleEndian?16777215:4294967040;for(let e=0,t=n.length;e<t;e++)a[e]|=n[e]&s}else{let n=0;for(let a=0,s=e.length;a<s;a+=4){t[n++]=e[a];t[n++]=e[a+1];t[n++]=e[a+2]}}}(o,e,l)}}class DeviceCmykCS extends ColorSpace{constructor(){super("DeviceCMYK",4)}#s(e,t,n,a,s){const r=e[t]*n,i=e[t+1]*n,o=e[t+2]*n,l=e[t+3]*n;a[s]=255+r*(-4.387332384609988*r+54.48615194189176*i+18.82290502165302*o+212.25662451639585*l-285.2331026137004)+i*(1.7149763477362134*i-5.6096736904047315*o+-17.873870861415444*l-5.497006427196366)+o*(-2.5217340131683033*o-21.248923337353073*l+17.5119270841813)+l*(-21.86122147463605*l-189.48180835922747);a[s+1]=255+r*(8.841041422036149*r+60.118027045597366*i+6.871425592049007*o+31.159100130055922*l-79.2970844816548)+i*(-15.310361306967817*i+17.575251261109482*o+131.35250912493976*l-190.9453302588951)+o*(4.444339102852739*o+9.8632861493405*l-24.86741582555878)+l*(-20.737325471181034*l-187.80453709719578);a[s+2]=255+r*(.8842522430003296*r+8.078677503112928*i+30.89978309703729*o-.23883238689178934*l-14.183576799673286)+i*(10.49593273432072*i+63.02378494754052*o+50.606957656360734*l-112.23884253719248)+o*(.03296041114873217*o+115.60384449646641*l-193.58209356861505)+l*(-22.33816807309886*l-180.12613974708367)}getRgbItem(e,t,n,a){this.#s(e,t,1,n,a)}getRgbBuffer(e,t,n,a,s,r,i){const o=1/((1<<r)-1);for(let r=0;r<n;r++){this.#s(e,t,o,a,s);t+=4;s+=3+i}}getOutputLength(e,t){return e/4*(3+t)|0}}class CalGrayCS extends ColorSpace{constructor(e,t,n){super("CalGray",1);if(!e)throw new FormatError("WhitePoint missing - required for color space CalGray");[this.XW,this.YW,this.ZW]=e;[this.XB,this.YB,this.ZB]=t||[0,0,0];this.G=n||1;if(this.XW<0||this.ZW<0||1!==this.YW)throw new FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);if(this.XB<0||this.YB<0||this.ZB<0){info(`Invalid BlackPoint for ${this.name}, falling back to default.`);this.XB=this.YB=this.ZB=0}0===this.XB&&0===this.YB&&0===this.ZB||warn(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ZB: ${this.ZB}, only default values are supported.`);if(this.G<1){info(`Invalid Gamma: ${this.G} for ${this.name}, falling back to default.`);this.G=1}}#s(e,t,n,a,s){const r=(e[t]*s)**this.G,i=this.YW*r,o=Math.max(295.8*i**.3333333333333333-40.8,0);n[a]=o;n[a+1]=o;n[a+2]=o}getRgbItem(e,t,n,a){this.#s(e,t,n,a,1)}getRgbBuffer(e,t,n,a,s,r,i){const o=1/((1<<r)-1);for(let r=0;r<n;++r){this.#s(e,t,a,s,o);t+=1;s+=3+i}}getOutputLength(e,t){return e*(3+t)}}class CalRGBCS extends ColorSpace{static#r=new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296]);static#i=new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867]);static#o=new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252]);static#l=new Float32Array([1,1,1]);static#f=new Float32Array(3);static#c=new Float32Array(3);static#h=new Float32Array(3);static#u=(24/116)**3/8;constructor(e,t,n,a){super("CalRGB",3);if(!e)throw new FormatError("WhitePoint missing - required for color space CalRGB");const[s,r,i]=this.whitePoint=e,[o,l,f]=this.blackPoint=t||new Float32Array(3);[this.GR,this.GG,this.GB]=n||new Float32Array([1,1,1]);[this.MXA,this.MYA,this.MZA,this.MXB,this.MYB,this.MZB,this.MXC,this.MYC,this.MZC]=a||new Float32Array([1,0,0,0,1,0,0,0,1]);if(s<0||i<0||1!==r)throw new FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);if(o<0||l<0||f<0){info(`Invalid BlackPoint for ${this.name} [${o}, ${l}, ${f}], falling back to default.`);this.blackPoint=new Float32Array(3)}if(this.GR<0||this.GG<0||this.GB<0){info(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ${this.name}, falling back to default.`);this.GR=this.GG=this.GB=1}}#m(e,t,n){n[0]=e[0]*t[0]+e[1]*t[1]+e[2]*t[2];n[1]=e[3]*t[0]+e[4]*t[1]+e[5]*t[2];n[2]=e[6]*t[0]+e[7]*t[1]+e[8]*t[2]}#p(e,t,n){n[0]=1*t[0]/e[0];n[1]=1*t[1]/e[1];n[2]=1*t[2]/e[2]}#d(e,t,n){n[0]=.95047*t[0]/e[0];n[1]=1*t[1]/e[1];n[2]=1.08883*t[2]/e[2]}#g(e){return e<=.0031308?MathClamp(12.92*e,0,1):e>=.99554525?1:MathClamp(1.055*e**(1/2.4)-.055,0,1)}#b(e){return e<0?-this.#b(-e):e>8?((e+16)/116)**3:e*CalRGBCS.#u}#w(e,t,n){if(0===e[0]&&0===e[1]&&0===e[2]){n[0]=t[0];n[1]=t[1];n[2]=t[2];return}const a=this.#b(0),s=(1-a)/(1-this.#b(e[0])),r=1-s,i=(1-a)/(1-this.#b(e[1])),o=1-i,l=(1-a)/(1-this.#b(e[2])),f=1-l;n[0]=t[0]*s+r;n[1]=t[1]*i+o;n[2]=t[2]*l+f}#j(e,t,n){if(1===e[0]&&1===e[2]){n[0]=t[0];n[1]=t[1];n[2]=t[2];return}const a=n;this.#m(CalRGBCS.#r,t,a);const s=CalRGBCS.#f;this.#p(e,a,s);this.#m(CalRGBCS.#i,s,n)}#k(e,t,n){const a=n;this.#m(CalRGBCS.#r,t,a);const s=CalRGBCS.#f;this.#d(e,a,s);this.#m(CalRGBCS.#i,s,n)}#s(e,t,n,a,s){const r=MathClamp(e[t]*s,0,1),i=MathClamp(e[t+1]*s,0,1),o=MathClamp(e[t+2]*s,0,1),l=1===r?1:r**this.GR,f=1===i?1:i**this.GG,c=1===o?1:o**this.GB,h=this.MXA*l+this.MXB*f+this.MXC*c,u=this.MYA*l+this.MYB*f+this.MYC*c,m=this.MZA*l+this.MZB*f+this.MZC*c,p=CalRGBCS.#c;p[0]=h;p[1]=u;p[2]=m;const d=CalRGBCS.#h;this.#j(this.whitePoint,p,d);const g=CalRGBCS.#c;this.#w(this.blackPoint,d,g);const b=CalRGBCS.#h;this.#k(CalRGBCS.#l,g,b);const w=CalRGBCS.#c;this.#m(CalRGBCS.#o,b,w);n[a]=255*this.#g(w[0]);n[a+1]=255*this.#g(w[1]);n[a+2]=255*this.#g(w[2])}getRgbItem(e,t,n,a){this.#s(e,t,n,a,1)}getRgbBuffer(e,t,n,a,s,r,i){const o=1/((1<<r)-1);for(let r=0;r<n;++r){this.#s(e,t,a,s,o);t+=3;s+=3+i}}getOutputLength(e,t){return e*(3+t)/3|0}}class LabCS extends ColorSpace{constructor(e,t,n){super("Lab",3);if(!e)throw new FormatError("WhitePoint missing - required for color space Lab");[this.XW,this.YW,this.ZW]=e;[this.amin,this.amax,this.bmin,this.bmax]=n||[-100,100,-100,100];[this.XB,this.YB,this.ZB]=t||[0,0,0];if(this.XW<0||this.ZW<0||1!==this.YW)throw new FormatError("Invalid WhitePoint components, no fallback available");if(this.XB<0||this.YB<0||this.ZB<0){info("Invalid BlackPoint, falling back to default");this.XB=this.YB=this.ZB=0}if(this.amin>this.amax||this.bmin>this.bmax){info("Invalid Range, falling back to defaults");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}#y(e){return e>=6/29?e**3:108/841*(e-4/29)}#q(e,t,n,a){return n+e*(a-n)/t}#s(e,t,n,a,s){let r=e[t],i=e[t+1],o=e[t+2];if(!1!==n){r=this.#q(r,n,0,100);i=this.#q(i,n,this.amin,this.amax);o=this.#q(o,n,this.bmin,this.bmax)}i>this.amax?i=this.amax:i<this.amin&&(i=this.amin);o>this.bmax?o=this.bmax:o<this.bmin&&(o=this.bmin);const l=(r+16)/116,f=l+i/500,c=l-o/200,h=this.XW*this.#y(f),u=this.YW*this.#y(l),m=this.ZW*this.#y(c);let p,d,g;if(this.ZW<1){p=3.1339*h+-1.617*u+-.4906*m;d=-.9785*h+1.916*u+.0333*m;g=.072*h+-.229*u+1.4057*m}else{p=3.2406*h+-1.5372*u+-.4986*m;d=-.9689*h+1.8758*u+.0415*m;g=.0557*h+-.204*u+1.057*m}a[s]=255*Math.sqrt(p);a[s+1]=255*Math.sqrt(d);a[s+2]=255*Math.sqrt(g)}getRgbItem(e,t,n,a){this.#s(e,t,!1,n,a)}getRgbBuffer(e,t,n,a,s,r,i){const o=(1<<r)-1;for(let r=0;r<n;r++){this.#s(e,t,o,a,s);t+=3;s+=3+i}}getOutputLength(e,t){return e*(3+t)/3|0}isDefaultDecode(e,t){return!0}get usesZeroToOneRange(){return shadow(this,"usesZeroToOneRange",!1)}}function fetchSync(e){const t=new XMLHttpRequest;t.open("GET",e,!1);t.responseType="arraybuffer";t.send(null);return t.response}class IccColorSpace extends ColorSpace{#v;#S;static#x=!0;static#A=null;static#C=null;constructor(e,t,n){if(!IccColorSpace.isUsable)throw new Error("No ICC color space support");super(t,n);let a;switch(n){case 1:a=vn.Gray8;this.#S=(e,t,n)=>function qcms_convert_one(e,t,n){jn.qcms_convert_one(e,t,n)}(this.#v,255*e[t],n);break;case 3:a=vn.RGB8;this.#S=(e,t,n)=>function qcms_convert_three(e,t,n,a,s){jn.qcms_convert_three(e,t,n,a,s)}(this.#v,255*e[t],255*e[t+1],255*e[t+2],n);break;case 4:a=vn.CMYK;this.#S=(e,t,n)=>function qcms_convert_four(e,t,n,a,s,r){jn.qcms_convert_four(e,t,n,a,s,r)}(this.#v,255*e[t],255*e[t+1],255*e[t+2],255*e[t+3],n);break;default:throw new Error(`Unsupported number of components: ${n}`)}this.#v=function qcms_transformer_from_memory(e,t,n){const a=passArray8ToWasm0(e,jn.__wbindgen_malloc),s=qn;return jn.qcms_transformer_from_memory(a,s,t,n)>>>0}(e,a,Sn.Perceptual);if(!this.#v)throw new Error("Failed to create ICC color space");IccColorSpace.#C||=new FinalizationRegistry(e=>{!function qcms_drop_transformer(e){jn.qcms_drop_transformer(e)}(e)});IccColorSpace.#C.register(this,this.#v)}getRgbHex(e,t){this.#S(e,t,!0);return QCMS._cssColor}getRgbItem(e,t,n,a){QCMS._destBuffer=n;QCMS._destOffset=a;QCMS._destLength=3;this.#S(e,t,!1);QCMS._destBuffer=null}getRgbBuffer(e,t,n,a,s,r,i){e=e.subarray(t,t+n*this.numComps);if(8!==r){const t=255/((1<<r)-1);for(let n=0,a=e.length;n<a;n++)e[n]*=t}QCMS._mustAddAlpha=i&&a.buffer===e.buffer;QCMS._destBuffer=a;QCMS._destOffset=s;QCMS._destLength=n*(3+i);!function qcms_convert_array(e,t){const n=passArray8ToWasm0(t,jn.__wbindgen_malloc),a=qn;jn.qcms_convert_array(e,n,a)}(this.#v,e);QCMS._mustAddAlpha=!1;QCMS._destBuffer=null}getOutputLength(e,t){return e/this.numComps*(3+t)|0}static setOptions({useWasm:e,useWorkerFetch:t,wasmUrl:n}){if(t){this.#x=e;this.#A=n}else this.#x=!1}static get isUsable(){let e=!1;if(this.#x)if(this.#A)try{this._module=function initSync(e){if(void 0!==jn)return jn;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module:e}=e):console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const t=__wbg_get_imports();e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e));return __wbg_finalize_init(new WebAssembly.Instance(e,t),e)}({module:fetchSync(`${this.#A}qcms_bg.wasm`)});e=!!this._module;QCMS._memory=this._module.memory;QCMS._makeHexColor=Util.makeHexColor}catch(e){warn(`ICCBased color space: "${e}".`)}else warn("No ICC color space support due to missing `wasmUrl` API option");return shadow(this,"isUsable",e)}}class CmykICCBasedCS extends IccColorSpace{static#I;constructor(){super(new Uint8Array(fetchSync(`${CmykICCBasedCS.#I}CGATS001Compat-v2-micro.icc`)),"DeviceCMYK",4)}static setOptions({iccUrl:e}){this.#I=e}static get isUsable(){let e=!1;IccColorSpace.isUsable&&(this.#I?e=!0:warn("No CMYK ICC profile support due to missing `iccUrl` API option"));return shadow(this,"isUsable",e)}}class Stream extends BaseStream{constructor(e,t,n,a){super();this.bytes=e instanceof Uint8Array?e:new Uint8Array(e);this.start=t||0;this.pos=this.start;this.end=t+n||this.bytes.length;this.dict=a}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,n=this.pos,a=this.end;if(!e){this.pos=a;return t.subarray(n,a)}let s=n+e;s>a&&(s=a);this.pos=s;return t.subarray(n,s)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);return this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,n=null){return new Stream(this.bytes.buffer,e,t,n)}clone(){return new Stream(this.bytes.buffer,this.start,this.end-this.start,this.dict.clone())}}class StringStream extends Stream{constructor(e){super(stringToBytes(e))}}class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}class ChunkedStream extends Stream{progressiveDataLength=0;_lastSuccessfulEnsureByteChunk=-1;_loadedChunks=new Set;constructor(e,t,n){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this.numChunks=Math.ceil(e/t);this.manager=n}getMissingChunks(){const e=[];for(let t=0,n=this.numChunks;t<n;++t)this._loadedChunks.has(t)||e.push(t);return e}get numChunksLoaded(){return this._loadedChunks.size}get isDataLoaded(){return this.numChunksLoaded===this.numChunks}onReceiveData(e,t){const n=this.chunkSize;if(e%n!==0)throw new Error(`Bad begin offset: ${e}`);const a=e+t.byteLength;if(a%n!==0&&a!==this.bytes.length)throw new Error(`Bad end offset: ${a}`);this.bytes.set(new Uint8Array(t),e);const s=Math.floor(e/n),r=Math.floor((a-1)/n)+1;for(let e=s;e<r;++e)this._loadedChunks.add(e)}onReceiveProgressiveData(e){let t=this.progressiveDataLength;const n=Math.floor(t/this.chunkSize);this.bytes.set(new Uint8Array(e),t);t+=e.byteLength;this.progressiveDataLength=t;const a=t>=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=n;e<a;++e)this._loadedChunks.add(e)}ensureByte(e){if(e<this.progressiveDataLength)return;const t=Math.floor(e/this.chunkSize);if(!(t>this.numChunks)&&t!==this._lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new MissingDataException(e,e+1);this._lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const n=Math.floor(e/this.chunkSize);if(n>this.numChunks)return;const a=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let s=n;s<a;++s)if(!this._loadedChunks.has(s))throw new MissingDataException(e,t)}nextEmptyChunk(e){const t=this.numChunks;for(let n=0;n<t;++n){const a=(e+n)%t;if(!this._loadedChunks.has(a))return a}return null}hasChunk(e){return this._loadedChunks.has(e)}getByte(){const e=this.pos;if(e>=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e){const t=this.bytes,n=this.pos,a=this.end;if(!e){a>this.progressiveDataLength&&this.ensureRange(n,a);return t.subarray(n,a)}let s=n+e;s>a&&(s=a);s>this.progressiveDataLength&&this.ensureRange(n,s);this.pos=s;return t.subarray(n,s)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);t>this.progressiveDataLength&&this.ensureRange(e,t);return this.bytes.subarray(e,t)}makeSubStream(e,t,n=null){t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),n=Math.floor((this.end-1)/e)+1,a=[];for(let e=t;e<n;++e)this._loadedChunks.has(e)||a.push(e);return a};Object.defineProperty(ChunkedStreamSubstream.prototype,"isDataLoaded",{get(){return this.numChunksLoaded===this.numChunks||0===this.getMissingChunks().length},configurable:!0});const a=new ChunkedStreamSubstream;a.pos=a.start=e;a.end=e+t||this.end;a.dict=n;return a}getBaseStreams(){return[this]}}class ChunkedStreamManager{aborted=!1;currRequestId=0;_chunksNeededByRequest=new Map;_loadedStreamCapability=Promise.withResolvers();_promisesByRequest=new Map;_requestsByChunk=new Map;constructor(e,t){this.length=t.length;this.chunkSize=t.rangeChunkSize;this.stream=new ChunkedStream(this.length,this.chunkSize,this);this.pdfStream=e;this.disableAutoFetch=t.disableAutoFetch;this.msgHandler=t.msgHandler}async sendRequest(e,t){const n=this.pdfStream.getRangeReader(e,t);let a=[];for(;;){const{value:e,done:t}=await n.read();if(this.aborted){a=null;return}if(t)break;a.push(e)}if(0===a.length&&this.disableAutoFetch)return;const s=arrayBuffersToBytes(a);a=null;this.onReceiveData({chunk:s.buffer,begin:e})}requestAllChunks(e=!1){if(!e){const e=this.stream.getMissingChunks();this._requestChunks(e)}return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,n=new Set;this._chunksNeededByRequest.set(t,n);for(const t of e)this.stream.hasChunk(t)||n.add(t);if(0===n.size)return Promise.resolve();const a=Promise.withResolvers();this._promisesByRequest.set(t,a);const s=[];for(const e of n){let n=this._requestsByChunk.get(e);if(!n){n=[];this._requestsByChunk.set(e,n);s.push(e)}n.push(t)}if(s.length>0){const e=this.groupChunks(s);for(const t of e){const e=t.beginChunk*this.chunkSize,n=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,n).catch(a.reject)}}return a.promise.catch(e=>{if(!this.aborted)throw e})}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const n=this.getBeginChunk(e),a=this.getEndChunk(t),s=[];for(let e=n;e<a;++e)s.push(e);return this._requestChunks(s)}requestRanges(e=[]){const t=[];for(const n of e){const e=this.getBeginChunk(n.begin),a=this.getEndChunk(n.end);for(let n=e;n<a;++n)t.includes(n)||t.push(n)}t.sort((e,t)=>e-t);return this._requestChunks(t)}groupChunks(e){const t=[];let n=-1,a=-1;for(let s=0,r=e.length;s<r;++s){const r=e[s];n<0&&(n=r);if(a>=0&&a+1!==r){t.push({beginChunk:n,endChunk:a+1});n=r}s+1===e.length&&t.push({beginChunk:n,endChunk:r+1});a=r}return t}onReceiveData(e){const{chunkSize:t,length:n,stream:a}=this,s=e.chunk,r=void 0===e.begin,i=r?a.progressiveDataLength:e.begin,o=i+s.byteLength,l=Math.floor(i/t),f=o<n?Math.floor(o/t):Math.ceil(o/t);r?a.onReceiveProgressiveData(s):a.onReceiveData(i,s);a.isDataLoaded&&this._loadedStreamCapability.resolve(a);const c=[];for(let e=l;e<f;++e){const t=this._requestsByChunk.get(e);if(t){this._requestsByChunk.delete(e);for(const n of t){const t=this._chunksNeededByRequest.get(n);t.has(e)&&t.delete(e);t.size>0||c.push(n)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===a.numChunksLoaded){const t=a.numChunks-1;a.hasChunk(t)||(e=t)}else e=a.nextEmptyChunk(f);Number.isInteger(e)&&this._requestChunks([e])}for(const e of c){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e);t.resolve()}this.msgHandler.send("DocProgress",{loaded:MathClamp(a.numChunksLoaded*t,a.progressiveDataLength,n),total:n})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0;this.pdfStream?.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}function convertToRGBA(e){switch(e.kind){case x:return convertBlackAndWhiteToRGBA(e);case C:return function convertRGBToRGBA({src:e,srcPos:t=0,dest:n,destPos:a=0,width:s,height:r}){let i=0;const o=s*r*3,l=o>>2,f=new Uint32Array(e.buffer,t,l),c=FeatureTest.isLittleEndian?4278190080:255;if(FeatureTest.isLittleEndian){for(;i<l-2;i+=3,a+=4){const e=f[i],t=f[i+1],s=f[i+2];n[a]=e|c;n[a+1]=e>>>24|t<<8|c;n[a+2]=t>>>16|s<<16|c;n[a+3]=s>>>8|c}for(let s=4*i,r=t+o;s<r;s+=3)n[a++]=e[s]|e[s+1]<<8|e[s+2]<<16|c}else{for(;i<l-2;i+=3,a+=4){const e=f[i],t=f[i+1],s=f[i+2];n[a]=e|c;n[a+1]=e<<24|t>>>8|c;n[a+2]=t<<16|s>>>16|c;n[a+3]=s<<8|c}for(let s=4*i,r=t+o;s<r;s+=3)n[a++]=e[s]<<24|e[s+1]<<16|e[s+2]<<8|c}return{srcPos:t+o,destPos:a}}(e)}return null}function convertBlackAndWhiteToRGBA({src:e,srcPos:t=0,dest:n,width:a,height:s,nonBlackColor:r=4294967295,inverseDecode:i=!1}){const o=FeatureTest.isLittleEndian?4278190080:255,[l,f]=i?[r,o]:[o,r],c=a>>3,h=7&a,u=l^f,m=e.length;n=new Uint32Array(n.buffer);let p=0;for(let a=0;a<s;++a){for(const a=t+c;t<a;++t,p+=8){const a=e[t];n[p]=l^-(a>>7&1)&u;n[p+1]=l^-(a>>6&1)&u;n[p+2]=l^-(a>>5&1)&u;n[p+3]=l^-(a>>4&1)&u;n[p+4]=l^-(a>>3&1)&u;n[p+5]=l^-(a>>2&1)&u;n[p+6]=l^-(a>>1&1)&u;n[p+7]=l^-(1&a)&u}if(0===h)continue;const a=t<m?e[t++]:255;for(let e=0;e<h;++e,++p)n[p]=l^-(a>>7-e&1)&u}return{srcPos:t,destPos:p}}class ImageResizer{static#F=2048;static#T=FeatureTest.isImageDecoderSupported;constructor(e,t){this._imgData=e;this._isMask=t}static get canUseImageDecoder(){return shadow(this,"canUseImageDecoder",this.#T?ImageDecoder.isTypeSupported("image/bmp"):Promise.resolve(!1))}static needsToBeResized(e,t){if(e<=this.#F&&t<=this.#F)return!1;const{MAX_DIM:n}=this;if(e>n||t>n)return!0;const a=e*t;if(this._hasMaxArea)return a>this.MAX_AREA;if(a<this.#F**2)return!1;if(this._areGoodDims(e,t)){this.#F=Math.max(this.#F,Math.floor(Math.sqrt(e*t)));return!1}this.#F=this._guessMax(this.#F,n,128,0);return a>(this.MAX_AREA=this.#F**2)}static getReducePowerForJPX(e,t,n){const a=e*t,s=2**30/(4*n);if(!this.needsToBeResized(e,t))return a>s?Math.ceil(Math.log2(a/s)):0;const{MAX_DIM:r,MAX_AREA:i}=this,o=Math.max(e/r,t/r,Math.sqrt(a/Math.min(s,i)));return Math.ceil(Math.log2(o))}static get MAX_DIM(){return shadow(this,"MAX_DIM",this._guessMax(2048,32768,0,1))}static get MAX_AREA(){this._hasMaxArea=!0;return shadow(this,"MAX_AREA",this._guessMax(this.#F,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){if(e>=0){this._hasMaxArea=!0;shadow(this,"MAX_AREA",e)}}static setOptions({canvasMaxAreaInBytes:e=-1,isImageDecoderSupported:t=!1}){this._hasMaxArea||(this.MAX_AREA=e>>2);this.#T=t}static _areGoodDims(e,t){try{const n=new OffscreenCanvas(e,t),a=n.getContext("2d");a.fillRect(0,0,1,1);const s=a.getImageData(0,0,1,1).data[3];n.width=n.height=1;return 0!==s}catch{return!1}}static _guessMax(e,t,n,a){for(;e+n+1<t;){const n=Math.floor((e+t)/2),s=a||n;this._areGoodDims(n,s)?e=n:t=n}return e}static async createImage(e,t=!1){return new ImageResizer(e,t)._createImage()}async _createImage(){const{_imgData:e}=this,{width:t,height:n}=e;if(t*n*4>mn){const e=this.#H();if(e)return e}const a=this._encodeBMP();let s,r;if(await ImageResizer.canUseImageDecoder){s=new ImageDecoder({data:a,type:"image/bmp",preferAnimation:!1,transfer:[a.buffer]});r=s.decode().catch(e=>{warn(`BMP image decoding failed: ${e}`);return createImageBitmap(new Blob([this._encodeBMP().buffer],{type:"image/bmp"}))}).finally(()=>{s.close()})}else r=createImageBitmap(new Blob([a.buffer],{type:"image/bmp"}));const{MAX_AREA:i,MAX_DIM:o}=ImageResizer,l=Math.max(t/o,n/o,Math.sqrt(t*n/i)),f=Math.max(l,2),c=Math.round(10*(l+1.25))/10/f,h=Math.floor(Math.log2(c)),u=new Array(h+2).fill(2);u[0]=f;u.splice(-1,1,c/(1<<h));let m=t,p=n;const d=await r;let g=d.image||d;for(const e of u){const t=m,n=p;m=Math.floor(m/e)-1;p=Math.floor(p/e)-1;const a=new OffscreenCanvas(m,p);a.getContext("2d").drawImage(g,0,0,t,n,0,0,m,p);g.close();g=a.transferToImageBitmap()}e.data=null;e.bitmap=g;e.width=m;e.height=p;return e}#H(){const{_imgData:e}=this,{data:t,width:n,height:a,kind:s}=e,r=n*a*4,i=Math.ceil(Math.log2(r/mn)),o=n>>i,l=a>>i;let f,c=a;try{f=new Uint8Array(r)}catch{let e=Math.floor(Math.log2(r+1));for(;;)try{f=new Uint8Array(2**e-1);break}catch{e-=1}c=Math.floor((2**e-1)/(4*n));const t=n*c*4;t<f.length&&(f=new Uint8Array(t))}const h=new Uint32Array(f.buffer),u=new Uint32Array(o*l);let m=0,p=0;const d=Math.ceil(a/c),g=a%c===0?a:a%c;for(let e=0;e<d;e++){const a=e<d-1?c:g;({srcPos:m}=convertToRGBA({kind:s,src:t,dest:h,width:n,height:a,inverseDecode:this._isMask,srcPos:m}));for(let e=0,t=a>>i;e<t;e++){const t=h.subarray((e<<i)*n);for(let e=0;e<o;e++)u[p++]=t[e<<i]}}if(ImageResizer.needsToBeResized(o,l)){e.data=u;e.width=o;e.height=l;e.kind=F;return null}const b=new OffscreenCanvas(o,l);b.getContext("2d",{willReadFrequently:!0}).putImageData(new ImageData(new Uint8ClampedArray(u.buffer),o,l),0,0);e.data=null;e.bitmap=b.transferToImageBitmap();e.width=o;e.height=l;return e}_encodeBMP(){const{width:e,height:t,kind:n}=this._imgData;let a,s=this._imgData.data,r=new Uint8Array(0),i=r,o=0;switch(n){case x:{a=1;r=new Uint8Array(this._isMask?[255,255,255,255,0,0,0,0]:[0,0,0,0,255,255,255,255]);const n=e+7>>3,i=n+3&-4;if(n!==i){const e=new Uint8Array(i*t);let a=0;for(let r=0,o=t*n;r<o;r+=n,a+=i)e.set(s.subarray(r,r+n),a);s=e}break}case C:a=24;if(3&e){const n=3*e,a=n+3&-4,r=a-n,i=new Uint8Array(a*t);let o=0;for(let e=0,a=t*n;e<a;e+=n){const t=s.subarray(e,e+n);for(let e=0;e<n;e+=3){i[o++]=t[e+2];i[o++]=t[e+1];i[o++]=t[e]}o+=r}s=i}else for(let e=0,t=s.length;e<t;e+=3){const t=s[e];s[e]=s[e+2];s[e+2]=t}break;case F:a=32;o=3;i=new Uint8Array(68);const n=new DataView(i.buffer);if(FeatureTest.isLittleEndian){n.setUint32(0,255,!0);n.setUint32(4,65280,!0);n.setUint32(8,16711680,!0);n.setUint32(12,4278190080,!0)}else{n.setUint32(0,4278190080,!0);n.setUint32(4,16711680,!0);n.setUint32(8,65280,!0);n.setUint32(12,255,!0)}break;default:throw new Error("invalid format")}let l=0;const f=40+i.length,c=14+f+r.length+s.length,h=new Uint8Array(c),u=new DataView(h.buffer);u.setUint16(l,19778,!0);l+=2;u.setUint32(l,c,!0);l+=4;u.setUint32(l,0,!0);l+=4;u.setUint32(l,14+f+r.length,!0);l+=4;u.setUint32(l,f,!0);l+=4;u.setInt32(l,e,!0);l+=4;u.setInt32(l,-t,!0);l+=4;u.setUint16(l,1,!0);l+=2;u.setUint16(l,a,!0);l+=2;u.setUint32(l,o,!0);l+=4;u.setUint32(l,0,!0);l+=4;u.setInt32(l,0,!0);l+=4;u.setInt32(l,0,!0);l+=4;u.setUint32(l,r.length/4,!0);l+=4;u.setUint32(l,0,!0);l+=4;h.set(i,l);l+=i.length;h.set(r,l);l+=r.length;h.set(s,l);return h}}const xn=async function JBig2(e={}){var t=e,quit_=(e,t)=>{throw t},n=import.meta.url;try{new URL(".",n).href}catch{}0;console.log.bind(console);var a,s,r,i,o,l=console.error.bind(console),f=!1,c=!1;function updateMemoryViews(){var e=u.buffer;i=new Int8Array(e);new Int16Array(e);o=new Uint8Array(e);new Uint16Array(e);new Int32Array(e);new Uint32Array(e);new Float32Array(e);new Float64Array(e);new BigInt64Array(e);new BigUint64Array(e)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`;this.status=e}}var h,u,callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(t)},m=[],addOnPostRun=e=>m.push(e),p=[],addOnPreRun=e=>p.push(e),d=!0,g=0,b={},handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return a;quit_(0,e)},keepRuntimeAlive=()=>d||g>0,_proc_exit=e=>{a=e;if(!keepRuntimeAlive()){t.onExit?.(e);f=!0}quit_(0,new ExitStatus(e))},_exit=(e,t)=>{a=e;_proc_exit(e)},callUserCallback=e=>{if(!f)try{return e()}catch(e){handleException(e)}finally{(()=>{if(!keepRuntimeAlive())try{_exit(a)}catch(e){handleException(e)}})()}},alignMemory=(e,t)=>Math.ceil(e/t)*t,growMemory=e=>{var t=(e-u.buffer.byteLength+65535)/65536|0;try{u.grow(t);updateMemoryViews();return 1}catch(e){}};t.noExitRuntime&&(d=t.noExitRuntime);t.print&&t.print;t.printErr&&(l=t.printErr);t.wasmBinary&&t.wasmBinary;t.arguments&&t.arguments;t.thisProgram&&t.thisProgram;if(t.preInit){"function"==typeof t.preInit&&(t.preInit=[t.preInit]);for(;t.preInit.length>0;)t.preInit.shift()()}t.writeArrayToMemory=(e,t)=>{i.set(e,t)};var w,j={e:()=>function abort(e){t.onAbort?.(e);l(e="Aborted("+e+")");f=!0;e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);r?.(n);throw n}(""),b:()=>{d=!1;g=0},c:(e,t)=>{if(b[e]){clearTimeout(b[e].id);delete b[e]}if(!t)return 0;var n=setTimeout(()=>{delete b[e];callUserCallback(()=>h(e,performance.now()))},t);b[e]={id:n,timeout_ms:t};return 0},g:function _createImageData(e){t.imageData=new Uint8Array(e)},d:e=>{var t=o.length,n=2147483648;if((e>>>=0)>n)return!1;for(var a=1;a<=4;a*=2){var s=t*(1+.2/a);s=Math.min(s,e+100663296);var r=Math.min(n,alignMemory(Math.max(e,s),65536));if(growMemory(r))return!0}return!1},a:_proc_exit,h:function _setImageData(e,n,a,s){if(a===n){t.imageData=new Uint8ClampedArray(o.subarray(e,e+a*s));return}const r=n*s,i=t.imageData=new Uint8ClampedArray(r);for(let t=e,s=0;s<r;t+=a,s+=n)i.set(o.subarray(t,t+n),s)},f:function _setLineData(e,n,a){t.imageData.set(o.subarray(e,e+n),a)}};w=await async function createWasm(){function receiveInstance(e,n){!function assignWasmExports(e){t._malloc=e.k;t._free=e.l;t._jbig2_decode=e.m;t._ccitt_decode=e.n;h=e.o;u=e.i;e.__indirect_function_table}(w=e.exports);updateMemoryViews();return w}var e=function getWasmImports(){return{a:j}}();return new Promise((n,a)=>{t.instantiateWasm(e,(e,t)=>{n(receiveInstance(e))})})}();!function run(){!function preRun(){if(t.preRun){"function"==typeof t.preRun&&(t.preRun=[t.preRun]);for(;t.preRun.length;)addOnPreRun(t.preRun.shift())}callRuntimeCallbacks(p)}();function doRun(){t.calledRun=!0;if(!f){!function initRuntime(){c=!0;w.j()}();s?.(t);t.onRuntimeInitialized?.();!function postRun(){if(t.postRun){"function"==typeof t.postRun&&(t.postRun=[t.postRun]);for(;t.postRun.length;)addOnPostRun(t.postRun.shift())}callRuntimeCallbacks(m)}()}}if(t.setStatus){t.setStatus("Running...");setTimeout(()=>{setTimeout(()=>t.setStatus(""),1);doRun()},1)}else doRun()}();return c?t:new Promise((e,t)=>{s=e;r=t})};class JBig2Error extends en{constructor(e){super(e,"Jbig2Error")}}class JBig2CCITTFaxWasmImage{static#O=null;static#B=null;static#R=null;static#x=!0;static#D=!0;static#A=null;static setOptions({handler:e,useWasm:t,useWorkerFetch:n,wasmUrl:a}){this.#x=t;this.#D=n;this.#A=a;n||(this.#B=e)}static async#M(e,t,n){const a="jbig2.wasm";try{this.#O||(this.#D?this.#O=await fetchBinaryData(`${this.#A}${a}`):this.#O=await this.#B.sendWithPromise("FetchBinaryData",{type:"wasmFactory",filename:a}));return n((await WebAssembly.instantiate(this.#O,t)).instance)}catch(t){warn(`JBig2Image#instantiateWasm: ${t}`);return e(null)}finally{this.#B=null}}static async decode(e,t,n,a,s){if(!this.#R){const{promise:e,resolve:t}=Promise.withResolvers(),n=[e];this.#x?n.push(xn({warn,instantiateWasm:this.#M.bind(this,t)})):t(null);this.#R=Promise.race(n)}const r=await this.#R;if(!r)throw new JBig2Error("JBig2 failed to initialize");let i,o;try{const l=e.length;i=r._malloc(l);r.writeArrayToMemory(e,i);if(s)r._ccitt_decode(i,l,t,n,s.K,s.EndOfLine?1:0,s.EncodedByteAlign?1:0,s.BlackIs1?1:0,s.Columns,s.Rows);else{const e=a?a.length:0;if(e>0){o=r._malloc(e);r.writeArrayToMemory(a,o)}r._jbig2_decode(i,l,t,n,o,e)}if(!r.imageData)throw new JBig2Error("Unknown error");const{imageData:f}=r;r.imageData=null;return f}finally{i&&r._free(i);o&&r._free(o)}}static cleanup(){this.#R=null}}const An=new Uint8Array(0);class DecodeStream extends BaseStream{constructor(e){super();this._rawMinBufferLength=e||0;this.pos=0;this.bufferLength=0;this.eof=!1;this.buffer=An;this.minBufferLength=512;if(e)for(;this.minBufferLength<e;)this.minBufferLength*=2}get isEmpty(){for(;!this.eof&&0===this.bufferLength;)this.readBlock();return 0===this.bufferLength}ensureBuffer(e){const t=this.buffer;if(e<=t.byteLength)return t;let n=this.minBufferLength;for(;n<e;)n*=2;const a=new Uint8Array(n);a.set(t);return this.buffer=a}getByte(){const e=this.pos;for(;this.bufferLength<=e;){if(this.eof)return-1;this.readBlock()}return this.buffer[this.pos++]}getBytes(e,t=null){const n=this.pos;let a;if(e){this.ensureBuffer(n+e);a=n+e;for(;!this.eof&&this.bufferLength<a;)this.readBlock(t);const s=this.bufferLength;a>s&&(a=s)}else{for(;!this.eof;)this.readBlock(t);a=this.bufferLength}this.pos=a;return this.buffer.subarray(n,a)}async getImageData(e,t){if(!this.canAsyncDecodeImageFromBuffer)return this.isAsyncDecoder?this.decodeImage(null,e,t):this.getBytes(e,t);const n=await this.stream.asyncGetBytes();return this.decodeImage(n,e,t)}async asyncGetBytesFromDecompressionStream(e){this.stream.reset();const t=this.stream.isAsync?await this.stream.asyncGetBytes():this.stream.getBytes();try{const{readable:n,writable:a}=new DecompressionStream(e),s=a.getWriter();await s.ready;s.write(t).then(async()=>{await s.ready;await s.close()}).catch(()=>{});const r=[];let i=0;for await(const e of n){r.push(e);i+=e.byteLength}const o=new Uint8Array(i);let l=0;for(const e of r){o.set(e,l);l+=e.byteLength}return{decompressed:o,compressed:t}}catch{return{decompressed:null,compressed:t}}}reset(){this.pos=0}makeSubStream(e,t,n=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const n=e+t;for(;this.bufferLength<=n&&!this.eof;)this.readBlock()}return new Stream(this.buffer,e,t,n)}getBaseStreams(){return this.stream?this.stream.getBaseStreams():null}clone(){for(;!this.eof;)this.readBlock();return new Stream(this.buffer,this.start,this.end-this.start,this.dict.clone())}}class StreamsSequenceStream extends DecodeStream{constructor(e,t=null){e=e.filter(e=>e instanceof BaseStream&&!e.isImageStream);let n=0;for(const t of e)n+=t instanceof DecodeStream?t._rawMinBufferLength:t.length;super(n);this.streams=e;this._onError=t}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift();let n;try{n=t.getBytes()}catch(e){if(this._onError){this._onError(e,t.dict?.objId);return}throw e}const a=this.bufferLength,s=a+n.length;this.ensureBuffer(s).set(n,a);this.bufferLength=s}getBaseStreams(){const e=[];for(const t of this.streams){const n=t.getBaseStreams();n&&e.push(...n)}return e.length>0?e:null}}class ColorSpaceUtils{static parse({cs:e,xref:t,resources:n=null,pdfFunctionFactory:a,globalColorSpaceCache:s,localColorSpaceCache:r,asyncIfNotCached:i=!1}){const o={xref:t,resources:n,pdfFunctionFactory:a,globalColorSpaceCache:s,localColorSpaceCache:r};let l,f,c;if(e instanceof Ref){f=e;const n=s.getByRef(f)||r.getByRef(f);if(n)return n;e=t.fetch(e)}if(e instanceof Name){l=e.name;const t=r.getByName(l);if(t)return t}try{c=this.#P(e,o)}catch(e){if(i&&!(e instanceof MissingDataException))return Promise.reject(e);throw e}if(l||f){r.set(l,f,c);f&&s.set(null,f,c)}return i?Promise.resolve(c):c}static#E(e,t){const{globalColorSpaceCache:n}=t;let a;if(e instanceof Ref){a=e;const t=n.getByRef(a);if(t)return t}const s=this.#P(e,t);a&&n.set(null,a,s);return s}static#P(e,t){const{xref:n,resources:a,pdfFunctionFactory:s,globalColorSpaceCache:r}=t;if((e=n.fetchIfRef(e))instanceof Name)switch(e.name){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"DeviceRGBA":return this.rgba;case"CMYK":case"DeviceCMYK":return this.cmyk;case"Pattern":return new PatternCS(null);default:if(a instanceof Dict){const n=a.get("ColorSpace");if(n instanceof Dict){const a=n.get(e.name);if(a){if(a instanceof Name)return this.#P(a,t);e=a;break}}}warn(`Unrecognized ColorSpace: ${e.name}`);return this.gray}if(Array.isArray(e)){const a=n.fetchIfRef(e[0]).name;let i,o,l,f,c,h;switch(a){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"CMYK":case"DeviceCMYK":return this.cmyk;case"CalGray":i=n.fetchIfRef(e[1]);f=i.getArray("WhitePoint");c=i.getArray("BlackPoint");h=i.get("Gamma");return new CalGrayCS(f,c,h);case"CalRGB":i=n.fetchIfRef(e[1]);f=i.getArray("WhitePoint");c=i.getArray("BlackPoint");h=i.getArray("Gamma");const u=i.getArray("Matrix");return new CalRGBCS(f,c,h,u);case"ICCBased":const m=e[1]instanceof Ref;if(m){const t=r.getByRef(e[1]);if(t)return t}const p=n.fetchIfRef(e[1]),d=p.dict;o=d.get("N");if(IccColorSpace.isUsable)try{const t=new IccColorSpace(p.getBytes(),"ICCBased",o);m&&r.set(null,e[1],t);return t}catch(t){if(t instanceof MissingDataException)throw t;warn(`ICCBased color space (${e[1]}): "${t}".`)}const g=d.getRaw("Alternate");if(g){const e=this.#E(g,t);if(e.numComps===o)return e;warn("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===o)return this.gray;if(3===o)return this.rgb;if(4===o)return this.cmyk;break;case"Pattern":l=e[1]||null;l&&(l=this.#E(l,t));return new PatternCS(l);case"I":case"Indexed":l=this.#E(e[1],t);const b=MathClamp(n.fetchIfRef(e[2]),0,255),w=n.fetchIfRef(e[3]);return new IndexedCS(l,b,w);case"Separation":case"DeviceN":const j=n.fetchIfRef(e[1]);o=Array.isArray(j)?j.length:1;l=this.#E(e[2],t);const k=s.create(e[3]);return new AlternateCS(o,l,k);case"Lab":i=n.fetchIfRef(e[1]);f=i.getArray("WhitePoint");c=i.getArray("BlackPoint");const y=i.getArray("Range");return new LabCS(f,c,y);default:warn(`Unimplemented ColorSpace object: ${a}`);return this.gray}}warn(`Unrecognized ColorSpace object: ${e}`);return this.gray}static get gray(){return shadow(this,"gray",new DeviceGrayCS)}static get rgb(){return shadow(this,"rgb",new DeviceRgbCS)}static get rgba(){return shadow(this,"rgba",new DeviceRgbaCS)}static get cmyk(){if(CmykICCBasedCS.isUsable)try{return shadow(this,"cmyk",new CmykICCBasedCS)}catch{warn("CMYK fallback: DeviceCMYK")}return shadow(this,"cmyk",new DeviceCmykCS)}}class JpegError extends en{constructor(e){super(e,"JpegError")}}class DNLMarkerError extends en{constructor(e,t){super(e,"DNLMarkerError");this.scanLines=t}}class EOIMarkerError extends en{constructor(e){super(e,"EOIMarkerError")}}const Cn=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),In=4017,Fn=799,Tn=3406,Hn=2276,On=1567,Bn=3784,Rn=5793,Dn=2896;function buildHuffmanTable(e,t){let n,a,s=0,r=16;for(;r>0&&!e[r-1];)r--;const i=[{children:[],index:0}];let o,l=i[0];for(n=0;n<r;n++){for(a=0;a<e[n];a++){l=i.pop();l.children[l.index]=t[s];for(;l.index>0;)l=i.pop();l.index++;i.push(l);for(;i.length<=n;){i.push(o={children:[],index:0});l.children[l.index]=o.children;l=o}s++}if(n+1<r){i.push(o={children:[],index:0});l.children[l.index]=o.children;l=o}}return i[0].children}function getBlockBufferOffset(e,t,n){return 64*((e.blocksPerLine+1)*t+n)}function decodeScan(e,t,n,a,s,r,i,o,l,f=!1){const c=n.mcusPerLine,h=n.progressive,u=t;let m=0,p=0;function readBit(){if(p>0){p--;return m>>p&1}m=e[t++];if(255===m){const a=e[t++];if(a){if(220===a&&f){const a=readUint16(e,t+=2);t+=2;if(a>0&&a!==n.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",a)}else if(217===a){if(f){const e=w*(8===n.precision?8:0);if(e>0&&Math.round(n.scanLines/e)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError(`unexpected marker ${(m<<8|a).toString(16)}`)}}p=7;return m>>>7}function decodeHuffman(e){let t=e;for(;;){t=t[readBit()];switch(typeof t){case"number":return t;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(e){let t=0;for(;e>0;){t=t<<1|readBit();e--}return t}function receiveAndExtend(e){if(1===e)return 1===readBit()?1:-1;const t=receive(e);return t>=1<<e-1?t:t+(-1<<e)+1}let d=0;let g,b=0;let w=0;function decodeMcu(e,t,n,a,s){const r=n%c;w=(n/c|0)*e.v+a;const i=r*e.h+s;t(e,getBlockBufferOffset(e,w,i))}function decodeBlock(e,t,n){w=n/e.blocksPerLine|0;const a=n%e.blocksPerLine;t(e,getBlockBufferOffset(e,w,a))}const j=a.length;let k,y,q,v,S,x;x=h?0===r?0===o?function decodeDCFirst(e,t){const n=decodeHuffman(e.huffmanTableDC),a=0===n?0:receiveAndExtend(n)<<l;e.blockData[t]=e.pred+=a}:function decodeDCSuccessive(e,t){e.blockData[t]|=readBit()<<l}:0===o?function decodeACFirst(e,t){if(d>0){d--;return}let n=r;const a=i;for(;n<=a;){const a=decodeHuffman(e.huffmanTableAC),s=15&a,r=a>>4;if(0===s){if(r<15){d=receive(r)+(1<<r)-1;break}n+=16;continue}n+=r;const i=Cn[n];e.blockData[t+i]=receiveAndExtend(s)*(1<<l);n++}}:function decodeACSuccessive(e,t){let n=r;const a=i;let s,o,f=0;for(;n<=a;){const a=t+Cn[n],r=e.blockData[a]<0?-1:1;switch(b){case 0:o=decodeHuffman(e.huffmanTableAC);s=15&o;f=o>>4;if(0===s)if(f<15){d=receive(f)+(1<<f);b=4}else{f=16;b=1}else{if(1!==s)throw new JpegError("invalid ACn encoding");g=receiveAndExtend(s);b=f?2:3}continue;case 1:case 2:if(e.blockData[a])e.blockData[a]+=r*(readBit()<<l);else{f--;0===f&&(b=2===b?3:0)}break;case 3:if(e.blockData[a])e.blockData[a]+=r*(readBit()<<l);else{e.blockData[a]=g<<l;b=0}break;case 4:e.blockData[a]&&(e.blockData[a]+=r*(readBit()<<l))}n++}if(4===b){d--;0===d&&(b=0)}}:function decodeBaseline(e,t){const n=decodeHuffman(e.huffmanTableDC),a=0===n?0:receiveAndExtend(n);e.blockData[t]=e.pred+=a;let s=1;for(;s<64;){const n=decodeHuffman(e.huffmanTableAC),a=15&n,r=n>>4;if(0===a){if(r<15)break;s+=16;continue}s+=r;const i=Cn[s];e.blockData[t+i]=receiveAndExtend(a);s++}};let C,F=0;const T=1===j?a[0].blocksPerLine*a[0].blocksPerColumn:c*n.mcusPerColumn;let H,O;for(;F<=T;){const n=s?Math.min(T-F,s):T;if(n>0){for(y=0;y<j;y++)a[y].pred=0;d=0;if(1===j){k=a[0];for(S=0;S<n;S++){decodeBlock(k,x,F);F++}}else for(S=0;S<n;S++){for(y=0;y<j;y++){k=a[y];H=k.h;O=k.v;for(q=0;q<O;q++)for(v=0;v<H;v++)decodeMcu(k,x,F,q,v)}F++}}p=0;C=findNextFileMarker(e,t);if(!C)break;if(C.invalid){warn(`decodeScan - ${n>0?"unexpected":"excessive"} MCU data, current marker is: ${C.invalid}`);t=C.offset}if(!(C.marker>=65488&&C.marker<=65495))break;t+=2}return t-u}function quantizeAndInverse(e,t,n){const a=e.quantizationTable,s=e.blockData;let r,i,o,l,f,c,h,u,m,p,d,g,b,w,j,k,y;if(!a)throw new JpegError("missing required Quantization Table.");for(let e=0;e<64;e+=8){m=s[t+e];p=s[t+e+1];d=s[t+e+2];g=s[t+e+3];b=s[t+e+4];w=s[t+e+5];j=s[t+e+6];k=s[t+e+7];m*=a[e];if(0!==(p|d|g|b|w|j|k)){p*=a[e+1];d*=a[e+2];g*=a[e+3];b*=a[e+4];w*=a[e+5];j*=a[e+6];k*=a[e+7];r=Rn*m+128>>8;i=Rn*b+128>>8;o=d;l=j;f=Dn*(p-k)+128>>8;u=Dn*(p+k)+128>>8;c=g<<4;h=w<<4;r=r+i+1>>1;i=r-i;y=o*Bn+l*On+128>>8;o=o*On-l*Bn+128>>8;l=y;f=f+h+1>>1;h=f-h;u=u+c+1>>1;c=u-c;r=r+l+1>>1;l=r-l;i=i+o+1>>1;o=i-o;y=f*Hn+u*Tn+2048>>12;f=f*Tn-u*Hn+2048>>12;u=y;y=c*Fn+h*In+2048>>12;c=c*In-h*Fn+2048>>12;h=y;n[e]=r+u;n[e+7]=r-u;n[e+1]=i+h;n[e+6]=i-h;n[e+2]=o+c;n[e+5]=o-c;n[e+3]=l+f;n[e+4]=l-f}else{y=Rn*m+512>>10;n[e]=y;n[e+1]=y;n[e+2]=y;n[e+3]=y;n[e+4]=y;n[e+5]=y;n[e+6]=y;n[e+7]=y}}for(let e=0;e<8;++e){m=n[e];p=n[e+8];d=n[e+16];g=n[e+24];b=n[e+32];w=n[e+40];j=n[e+48];k=n[e+56];if(0!==(p|d|g|b|w|j|k)){r=Rn*m+2048>>12;i=Rn*b+2048>>12;o=d;l=j;f=Dn*(p-k)+2048>>12;u=Dn*(p+k)+2048>>12;c=g;h=w;r=4112+(r+i+1>>1);i=r-i;y=o*Bn+l*On+2048>>12;o=o*On-l*Bn+2048>>12;l=y;f=f+h+1>>1;h=f-h;u=u+c+1>>1;c=u-c;r=r+l+1>>1;l=r-l;i=i+o+1>>1;o=i-o;y=f*Hn+u*Tn+2048>>12;f=f*Tn-u*Hn+2048>>12;u=y;y=c*Fn+h*In+2048>>12;c=c*In-h*Fn+2048>>12;h=y;m=r+u;k=r-u;p=i+h;j=i-h;d=o+c;w=o-c;g=l+f;b=l-f;m<16?m=0:m>=4080?m=255:m>>=4;p<16?p=0:p>=4080?p=255:p>>=4;d<16?d=0:d>=4080?d=255:d>>=4;g<16?g=0:g>=4080?g=255:g>>=4;b<16?b=0:b>=4080?b=255:b>>=4;w<16?w=0:w>=4080?w=255:w>>=4;j<16?j=0:j>=4080?j=255:j>>=4;k<16?k=0:k>=4080?k=255:k>>=4;s[t+e]=m;s[t+e+8]=p;s[t+e+16]=d;s[t+e+24]=g;s[t+e+32]=b;s[t+e+40]=w;s[t+e+48]=j;s[t+e+56]=k}else{y=Rn*m+8192>>14;y=y<-2040?0:y>=2024?255:y+2056>>4;s[t+e]=y;s[t+e+8]=y;s[t+e+16]=y;s[t+e+24]=y;s[t+e+32]=y;s[t+e+40]=y;s[t+e+48]=y;s[t+e+56]=y}}}function buildComponentData(e,t){const n=t.blocksPerLine,a=t.blocksPerColumn,s=new Int16Array(64);for(let e=0;e<a;e++)for(let a=0;a<n;a++){quantizeAndInverse(t,getBlockBufferOffset(t,e,a),s)}return t.blockData}function findNextFileMarker(e,t,n=t){const a=e.length-1;let s=n<t?n:t;if(t>=a)return null;const r=readUint16(e,t);if(r>=65472&&r<=65534)return{invalid:null,marker:r,offset:t};let i=readUint16(e,s);for(;!(i>=65472&&i<=65534);){if(++s>=a)return null;i=readUint16(e,s)}return{invalid:r.toString(16),marker:i,offset:s}}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),n=Math.ceil(e.scanLines/8/e.maxV);for(const a of e.components){const s=Math.ceil(Math.ceil(e.samplesPerLine/8)*a.h/e.maxH),r=Math.ceil(Math.ceil(e.scanLines/8)*a.v/e.maxV),i=t*a.h,o=64*(n*a.v)*(i+1);a.blockData=new Int16Array(o);a.blocksPerLine=s;a.blocksPerColumn=r}e.mcusPerLine=t;e.mcusPerColumn=n}function readDataBlock(e,t){const n=readUint16(e,t);let a=(t+=2)+n-2;const s=findNextFileMarker(e,a,t);if(s?.invalid){warn("readDataBlock - incorrect length, current marker is: "+s.invalid);a=s.offset}const r=e.subarray(t,a);return{appData:r,oldOffset:t,newOffset:t+r.length}}function skipData(e,t){const n=readUint16(e,t),a=(t+=2)+n-2,s=findNextFileMarker(e,a,t);return s?.invalid?s.offset:a}class JpegImage{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e;this._colorTransform=t}static canUseImageDecoder(e,t=-1){let n=null,a=0,s=null,r=readUint16(e,a);a+=2;if(65496!==r)throw new JpegError("SOI not found");r=readUint16(e,a);a+=2;e:for(;65497!==r;){switch(r){case 65505:const{appData:t,oldOffset:i,newOffset:o}=readDataBlock(e,a);a=o;if(69===t[0]&&120===t[1]&&105===t[2]&&102===t[3]&&0===t[4]&&0===t[5]){if(n)throw new JpegError("Duplicate EXIF-blocks found.");n={exifStart:i+6,exifEnd:o}}r=readUint16(e,a);a+=2;continue;case 65472:case 65473:case 65474:s=e[a+7];break e;case 65535:255!==e[a]&&a--}a=skipData(e,a);r=readUint16(e,a);a+=2}return 4===s||3===s&&0===t?null:n||{}}parse(e,{dnlScanLines:t=null}={}){let n,a,s=0,r=null,i=null,o=0;const l=[],f=[],c=[];let h=readUint16(e,s);s+=2;if(65496!==h)throw new JpegError("SOI not found");h=readUint16(e,s);s+=2;e:for(;65497!==h;){let u,m,p;switch(h){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const{appData:d,newOffset:g}=readDataBlock(e,s);s=g;65504===h&&74===d[0]&&70===d[1]&&73===d[2]&&70===d[3]&&0===d[4]&&(r={version:{major:d[5],minor:d[6]},densityUnits:d[7],xDensity:d[8]<<8|d[9],yDensity:d[10]<<8|d[11],thumbWidth:d[12],thumbHeight:d[13],thumbData:d.subarray(14,14+3*d[12]*d[13])});65518===h&&65===d[0]&&100===d[1]&&111===d[2]&&98===d[3]&&101===d[4]&&(i={version:d[5]<<8|d[6],flags0:d[7]<<8|d[8],flags1:d[9]<<8|d[10],transformCode:d[11]});break;case 65499:const b=readUint16(e,s);s+=2;const w=b+s-2;let j;for(;s<w;){const t=e[s++],n=new Uint16Array(64);if(t>>4){if(t>>4!=1)throw new JpegError("DQT - invalid table spec");for(m=0;m<64;m++){j=Cn[m];n[j]=readUint16(e,s);s+=2}}else for(m=0;m<64;m++){j=Cn[m];n[j]=e[s++]}l[15&t]=n}break;case 65472:case 65473:case 65474:if(n)throw new JpegError("Only single frame JPEGs supported");s+=2;n={};n.extended=65473===h;n.progressive=65474===h;n.precision=e[s++];const k=readUint16(e,s);s+=2;n.scanLines=t||k;n.samplesPerLine=readUint16(e,s);s+=2;n.components=[];n.componentIds={};const y=e[s++];let q=0,v=0;for(u=0;u<y;u++){const t=e[s],a=e[s+1]>>4,r=15&e[s+1];q<a&&(q=a);v<r&&(v=r);const i=e[s+2];p=n.components.push({h:a,v:r,quantizationId:i,quantizationTable:null});n.componentIds[t]=p-1;s+=3}n.maxH=q;n.maxV=v;prepareComponents(n);break;case 65476:const S=readUint16(e,s);s+=2;for(u=2;u<S;){const t=e[s++],n=new Uint8Array(16);let a=0;for(m=0;m<16;m++,s++)a+=n[m]=e[s];const r=new Uint8Array(a);for(m=0;m<a;m++,s++)r[m]=e[s];u+=17+a;(t>>4?f:c)[15&t]=buildHuffmanTable(n,r)}break;case 65501:s+=2;a=readUint16(e,s);s+=2;break;case 65498:const x=1===++o&&!t;s+=2;const C=e[s++],F=[];for(u=0;u<C;u++){const t=e[s++],a=n.componentIds[t],r=n.components[a];r.index=t;const i=e[s++];r.huffmanTableDC=c[i>>4];r.huffmanTableAC=f[15&i];F.push(r)}const T=e[s++],H=e[s++],O=e[s++];try{s+=decodeScan(e,s,n,F,a,T,H,O>>4,15&O,x)}catch(t){if(t instanceof DNLMarkerError){warn(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){warn(`${t.message} -- ignoring the rest of the image data.`);break e}throw t}break;case 65500:s+=4;break;case 65535:255!==e[s]&&s--;break;default:const R=findNextFileMarker(e,s-2,s-3);if(R?.invalid){warn("JpegImage.parse - unexpected data, current marker is: "+R.invalid);s=R.offset;break}if(!R||s>=e.length-1){warn("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new JpegError("JpegImage.parse - unknown marker: "+h.toString(16))}h=readUint16(e,s);s+=2}if(!n)throw new JpegError("JpegImage.parse - no frame data found.");this.width=n.samplesPerLine;this.height=n.scanLines;this.jfif=r;this.adobe=i;this.components=[];for(const e of n.components){const t=l[e.quantizationId];t&&(e.quantizationTable=t);this.components.push({index:e.index,output:buildComponentData(0,e),scaleX:e.h/n.maxH,scaleY:e.v/n.maxV,blocksPerLine:e.blocksPerLine,blocksPerColumn:e.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t,n=!1){const a=this.width/e,s=this.height/t;let r,i,o,l,f,c,h,u,m,p,d,g=0;const b=this.components.length,w=e*t*b,j=new Uint8ClampedArray(w),k=new Uint32Array(e),y=4294967288;let q;for(h=0;h<b;h++){r=this.components[h];i=r.scaleX*a;o=r.scaleY*s;g=h;d=r.output;l=r.blocksPerLine+1<<3;if(i!==q){for(f=0;f<e;f++){u=0|f*i;k[f]=(u&y)<<3|7&u}q=i}for(c=0;c<t;c++){u=0|c*o;p=l*(u&y)|(7&u)<<3;for(f=0;f<e;f++){j[g]=d[p+k[f]];g+=b}}}let v=this._decodeTransform;n||4!==b||v||(v=new Int32Array([-256,255,-256,255,-256,255,-256,255]));if(v)for(h=0;h<w;)for(u=0,m=0;u<b;u++,h++,m+=2)j[h]=(j[h]*v[m]>>8)+v[m+1];return j}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,n,a;for(let s=0,r=e.length;s<r;s+=3){t=e[s];n=e[s+1];a=e[s+2];e[s]=t-179.456+1.402*a;e[s+1]=t+135.459-.344*n-.714*a;e[s+2]=t-226.816+1.772*n}return e}_convertYccToRgba(e,t){for(let n=0,a=0,s=e.length;n<s;n+=3,a+=4){const s=e[n],r=e[n+1],i=e[n+2];t[a]=s-179.456+1.402*i;t[a+1]=s+135.459-.344*r-.714*i;t[a+2]=s-226.816+1.772*r;t[a+3]=255}return t}_convertYcckToRgb(e){this._convertYcckToCmyk(e);return this._convertCmykToRgb(e)}_convertYcckToRgba(e){this._convertYcckToCmyk(e);return this._convertCmykToRgba(e)}_convertYcckToCmyk(e){let t,n,a;for(let s=0,r=e.length;s<r;s+=4){t=e[s];n=e[s+1];a=e[s+2];e[s]=434.456-t-1.402*a;e[s+1]=119.541-t+.344*n+.714*a;e[s+2]=481.816-t-1.772*n}return e}_convertCmykToRgb(e){const t=e.length/4;ColorSpaceUtils.cmyk.getRgbBuffer(e,0,t,e,0,8,0);return e.subarray(0,3*t)}_convertCmykToRgba(e){ColorSpaceUtils.cmyk.getRgbBuffer(e,0,e.length/4,e,0,8,1);if(ColorSpaceUtils.cmyk instanceof DeviceCmykCS)for(let t=3,n=e.length;t<n;t+=4)e[t]=255;return e}getData({width:e,height:t,forceRGBA:n=!1,forceRGB:a=!1,isSourcePDF:s=!1}){if(this.numComponents>4)throw new JpegError("Unsupported color mode");const r=this._getLinearizedBlockData(e,t,s);if(1===this.numComponents&&(n||a)){const e=r.length*(n?4:3),t=new Uint8ClampedArray(e);let a=0;if(n)!function grayToRGBA(e,t){if(FeatureTest.isLittleEndian)for(let n=0,a=e.length;n<a;n++)t[n]=65793*e[n]|4278190080;else for(let n=0,a=e.length;n<a;n++)t[n]=16843008*e[n]|255}(r,new Uint32Array(t.buffer));else for(const e of r){t[a++]=e;t[a++]=e;t[a++]=e}return t}if(3===this.numComponents&&this._isColorConversionNeeded){if(n){const e=new Uint8ClampedArray(r.length/3*4);return this._convertYccToRgba(r,e)}return this._convertYccToRgb(r)}if(4===this.numComponents){if(this._isColorConversionNeeded)return n?this._convertYcckToRgba(r):a?this._convertYcckToRgb(r):this._convertYcckToCmyk(r);if(n)return this._convertCmykToRgba(r);if(a)return this._convertCmykToRgb(r)}return r}}class JpegStream extends DecodeStream{static#T=FeatureTest.isImageDecoderSupported;constructor(e,t,n){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=n}static get canUseImageDecoder(){return shadow(this,"canUseImageDecoder",this.#T?ImageDecoder.isTypeSupported("image/jpeg"):Promise.resolve(!1))}static setOptions({isImageDecoderSupported:e=!1}){this.#T=e}get bytes(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){this.decodeImage()}get jpegOptions(){const e={decodeTransform:void 0,colorTransform:void 0},t=this.dict.getArray("D","Decode");if((this.forceRGBA||this.forceRGB)&&Array.isArray(t)){const n=this.dict.get("BPC","BitsPerComponent")||8,a=t.length,s=new Int32Array(a);let r=!1;const i=(1<<n)-1;for(let e=0;e<a;e+=2){s[e]=256*(t[e+1]-t[e])|0;s[e+1]=t[e]*i|0;256===s[e]&&0===s[e+1]||(r=!0)}r&&(e.decodeTransform=s)}if(this.params instanceof Dict){const t=this.params.get("ColorTransform");Number.isInteger(t)&&(e.colorTransform=t)}return shadow(this,"jpegOptions",e)}#N(e){for(let t=0,n=e.length-1;t<n;t++)if(255===e[t]&&216===e[t+1]){t>0&&(e=e.subarray(t));break}return e}decodeImage(e){if(this.eof)return this.buffer;e=this.#N(e||this.bytes);const t=new JpegImage(this.jpegOptions);t.parse(e);const n=t.getData({width:this.drawWidth,height:this.drawHeight,forceRGBA:this.forceRGBA,forceRGB:this.forceRGB,isSourcePDF:!0});this.buffer=n;this.bufferLength=n.length;this.eof=!0;return this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}async getTransferableImage(){if(!await JpegStream.canUseImageDecoder)return null;const e=this.jpegOptions;if(e.decodeTransform)return null;let t;try{const n=this.canAsyncDecodeImageFromBuffer&&await this.stream.asyncGetBytes()||this.bytes;if(!n)return null;let a=this.#N(n);const s=JpegImage.canUseImageDecoder(a,e.colorTransform);if(!s)return null;if(s.exifStart){a=a.slice();a.fill(0,s.exifStart,s.exifEnd)}t=new ImageDecoder({data:a,type:"image/jpeg",preferAnimation:!1});return(await t.decode()).image}catch(e){warn(`getTransferableImage - failed: "${e}".`);return null}finally{t?.close()}}get isImageStream(){return!0}}const Mn=async function OpenJPEG(e={}){var t=e,n="./this.program",quit_=(e,t)=>{throw t},a=import.meta.url;try{new URL(".",a).href}catch{}0;var s,r,i,o,l,f,c,h,u=console.log.bind(console),m=console.error.bind(console),p=!1,d=!1;function updateMemoryViews(){var e=o.buffer;l=new Int8Array(e);new Int16Array(e);f=new Uint8Array(e);new Uint16Array(e);c=new Int32Array(e);h=new Uint32Array(e);new Float32Array(e);new Float64Array(e);new BigInt64Array(e);new BigUint64Array(e)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`;this.status=e}}var g,callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(t)},b=[],addOnPostRun=e=>b.push(e),w=[],addOnPreRun=e=>w.push(e),j=!0,k=0,y={},handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return s;quit_(0,e)},keepRuntimeAlive=()=>j||k>0,_proc_exit=e=>{s=e;if(!keepRuntimeAlive()){t.onExit?.(e);p=!0}quit_(0,new ExitStatus(e))},_exit=(e,t)=>{s=e;_proc_exit(e)},callUserCallback=e=>{if(!p)try{e();(()=>{if(!keepRuntimeAlive())try{_exit(s)}catch(e){handleException(e)}})()}catch(e){handleException(e)}},alignMemory=(e,t)=>Math.ceil(e/t)*t,growMemory=e=>{var t=(e-o.buffer.byteLength+65535)/65536|0;try{o.grow(t);updateMemoryViews();return 1}catch(e){}},q={},getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:n||"./this.program"};for(var t in q)void 0===q[t]?delete e[t]:e[t]=q[t];var a=[];for(var t in e)a.push(`${t}=${e[t]}`);getEnvStrings.strings=a}return getEnvStrings.strings},stringToUTF8=(e,t,n)=>((e,t,n,a)=>{if(!(a>0))return 0;for(var s=n,r=n+a-1,i=0;i<e.length;++i){var o=e.codePointAt(i);if(o<=127){if(n>=r)break;t[n++]=o}else if(o<=2047){if(n+1>=r)break;t[n++]=192|o>>6;t[n++]=128|63&o}else if(o<=65535){if(n+2>=r)break;t[n++]=224|o>>12;t[n++]=128|o>>6&63;t[n++]=128|63&o}else{if(n+3>=r)break;t[n++]=240|o>>18;t[n++]=128|o>>12&63;t[n++]=128|o>>6&63;t[n++]=128|63&o;i++}}t[n]=0;return n-s})(e,f,t,n),lengthBytesUTF8=e=>{for(var t=0,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a<=127)t++;else if(a<=2047)t+=2;else if(a>=55296&&a<=57343){t+=4;++n}else t+=3}return t},v=[null,[],[]],S="undefined"!=typeof TextDecoder?new TextDecoder:void 0,UTF8ArrayToString=(e,t=0,n,a)=>{var s=((e,t,n,a)=>{var s=t+n;if(a)return s;for(;e[t]&&!(t>=s);)++t;return t})(e,t,n,a);if(s-t>16&&e.buffer&&S)return S.decode(e.subarray(t,s));for(var r="";t<s;){var i=e[t++];if(128&i){var o=63&e[t++];if(192!=(224&i)){var l=63&e[t++];if((i=224==(240&i)?(15&i)<<12|o<<6|l:(7&i)<<18|o<<12|l<<6|63&e[t++])<65536)r+=String.fromCharCode(i);else{var f=i-65536;r+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else r+=String.fromCharCode((31&i)<<6|o)}else r+=String.fromCharCode(i)}return r},printChar=(e,t)=>{var n=v[e];if(0===t||10===t){(1===e?u:m)(UTF8ArrayToString(n));n.length=0}else n.push(t)},UTF8ToString=(e,t,n)=>e?UTF8ArrayToString(f,e,t,n):"";t.noExitRuntime&&(j=t.noExitRuntime);t.print&&(u=t.print);t.printErr&&(m=t.printErr);t.wasmBinary&&t.wasmBinary;t.arguments&&t.arguments;t.thisProgram&&(n=t.thisProgram);if(t.preInit){"function"==typeof t.preInit&&(t.preInit=[t.preInit]);for(;t.preInit.length>0;)t.preInit.shift()()}t.writeArrayToMemory=(e,t)=>{l.set(e,t)};var x,C={k:()=>function abort(e){t.onAbort?.(e);m(e="Aborted("+e+")");p=!0;e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);i?.(n);throw n}(""),j:()=>{j=!1;k=0},l:(e,t)=>{if(y[e]){clearTimeout(y[e].id);delete y[e]}if(!t)return 0;var n=setTimeout(()=>{delete y[e];callUserCallback(()=>g(e,performance.now()))},t);y[e]={id:n,timeout_ms:t};return 0},f:function _copy_pixels_1(e,n){e>>=2;const a=t.imageData=new Uint8ClampedArray(n),s=c.subarray(e,e+n);a.set(s)},e:function _copy_pixels_3(e,n,a,s){e>>=2;n>>=2;a>>=2;const r=t.imageData=new Uint8ClampedArray(3*s),i=c.subarray(e,e+s),o=c.subarray(n,n+s),l=c.subarray(a,a+s);for(let e=0;e<s;e++){r[3*e]=i[e];r[3*e+1]=o[e];r[3*e+2]=l[e]}},d:function _copy_pixels_4(e,n,a,s,r){e>>=2;n>>=2;a>>=2;s>>=2;const i=t.imageData=new Uint8ClampedArray(4*r),o=c.subarray(e,e+r),l=c.subarray(n,n+r),f=c.subarray(a,a+r),h=c.subarray(s,s+r);for(let e=0;e<r;e++){i[4*e]=o[e];i[4*e+1]=l[e];i[4*e+2]=f[e];i[4*e+3]=h[e]}},m:e=>{var t=f.length,n=2147483648;if((e>>>=0)>n)return!1;for(var a=1;a<=4;a*=2){var s=t*(1+.2/a);s=Math.min(s,e+100663296);var r=Math.min(n,alignMemory(Math.max(e,s),65536));if(growMemory(r))return!0}return!1},o:(e,t)=>{var n=0,a=0;for(var s of getEnvStrings()){var r=t+n;h[e+a>>2]=r;n+=stringToUTF8(s,r,1/0)+1;a+=4}return 0},p:(e,t)=>{var n=getEnvStrings();h[e>>2]=n.length;var a=0;for(var s of n)a+=lengthBytesUTF8(s)+1;h[t>>2]=a;return 0},n:function _fd_seek(e,t,n,a){t=(s=t)<-9007199254740992||s>9007199254740992?NaN:Number(s);var s;return 70},b:(e,t,n,a)=>{for(var s=0,r=0;r<n;r++){var i=h[t>>2],o=h[t+4>>2];t+=8;for(var l=0;l<o;l++)printChar(e,f[i+l]);s+=o}h[a>>2]=s;return 0},q:function _gray_to_rgba(e,n){e>>=2;const a=t.imageData=new Uint8ClampedArray(4*n),s=c.subarray(e,e+n);for(let e=0;e<n;e++){a[4*e]=a[4*e+1]=a[4*e+2]=s[e];a[4*e+3]=255}},h:function _graya_to_rgba(e,n,a){e>>=2;n>>=2;const s=t.imageData=new Uint8ClampedArray(4*a),r=c.subarray(e,e+a),i=c.subarray(n,n+a);for(let e=0;e<a;e++){s[4*e]=s[4*e+1]=s[4*e+2]=r[e];s[4*e+3]=i[e]}},c:function _jsPrintWarning(e){const n=UTF8ToString(e);(t.warn||console.warn)(`OpenJPEG: ${n}`)},i:_proc_exit,g:function _rgb_to_rgba(e,n,a,s){e>>=2;n>>=2;a>>=2;const r=t.imageData=new Uint8ClampedArray(4*s),i=c.subarray(e,e+s),o=c.subarray(n,n+s),l=c.subarray(a,a+s);for(let e=0;e<s;e++){r[4*e]=i[e];r[4*e+1]=o[e];r[4*e+2]=l[e];r[4*e+3]=255}},a:function _storeErrorMessage(e){const n=UTF8ToString(e);t.errorMessages?t.errorMessages+="\n"+n:t.errorMessages=n}};x=await async function createWasm(){function receiveInstance(e,n){x=e.exports;o=x.r;updateMemoryViews();!function assignWasmExports(e){t._malloc=e.t;t._free=e.u;t._jp2_decode=e.v;g=e.w}(x);return x}var e=function getWasmImports(){return{a:C}}();return new Promise((n,a)=>{t.instantiateWasm(e,(e,t)=>{n(receiveInstance(e))})})}();!function run(){!function preRun(){if(t.preRun){"function"==typeof t.preRun&&(t.preRun=[t.preRun]);for(;t.preRun.length;)addOnPreRun(t.preRun.shift())}callRuntimeCallbacks(w)}();function doRun(){t.calledRun=!0;if(!p){!function initRuntime(){d=!0;x.s()}();r?.(t);t.onRuntimeInitialized?.();!function postRun(){if(t.postRun){"function"==typeof t.postRun&&(t.postRun=[t.postRun]);for(;t.postRun.length;)addOnPostRun(t.postRun.shift())}callRuntimeCallbacks(b)}()}}if(t.setStatus){t.setStatus("Running...");setTimeout(()=>{setTimeout(()=>t.setStatus(""),1);doRun()},1)}else doRun()}();return d?t:new Promise((e,t)=>{r=e;i=t})};class JpxError extends en{constructor(e){super(e,"JpxError")}}class JpxImage{static#O=null;static#B=null;static#R=null;static#x=!0;static#D=!0;static#A=null;static setOptions({handler:e,useWasm:t,useWorkerFetch:n,wasmUrl:a}){this.#x=t;this.#D=n;this.#A=a;n||(this.#B=e)}static async#z(e){const t=`${this.#A}openjpeg_nowasm_fallback.js`;let n=null;try{n=(await import( +/*webpackIgnore: true*/ +/*@vite-ignore*/ +t)).default()}catch(e){warn(`JpxImage#getJsModule: ${e}`)}e(n)}static async#M(e,t,n){const a="openjpeg.wasm";try{this.#O||(this.#D?this.#O=await fetchBinaryData(`${this.#A}${a}`):this.#O=await this.#B.sendWithPromise("FetchBinaryData",{type:"wasmFactory",filename:a}));return n((await WebAssembly.instantiate(this.#O,t)).instance)}catch(t){warn(`JpxImage#instantiateWasm: ${t}`);this.#z(e);return null}finally{this.#B=null}}static async decode(e,{numComponents:t=4,isIndexedColormap:n=!1,smaskInData:a=!1,reducePower:s=0}={}){if(!this.#R){const{promise:e,resolve:t}=Promise.withResolvers(),n=[e];this.#x?n.push(Mn({warn,instantiateWasm:this.#M.bind(this,t)})):this.#z(t);this.#R=Promise.race(n)}const r=await this.#R;if(!r)throw new JpxError("OpenJPEG failed to initialize");let i;try{const o=e.length;i=r._malloc(o);r.writeArrayToMemory(e,i);if(r._jp2_decode(i,o,t>0?t:0,!!n,!!a,s)){const{errorMessages:e}=r;if(e){delete r.errorMessages;throw new JpxError(e)}throw new JpxError("Unknown error")}const{imageData:l}=r;r.imageData=null;return l}finally{i&&r._free(i)}}static cleanup(){this.#R=null}static parseImageProperties(e){let t=e.getByte();for(;t>=0;){const n=t;t=e.getByte();if(65361===(n<<8|t)){e.skip(4);const t=e.getInt32()>>>0,n=e.getInt32()>>>0,a=e.getInt32()>>>0,s=e.getInt32()>>>0;e.skip(16);return{width:t-a,height:n-s,bitsPerComponent:8,componentsCount:e.getUint16()}}}throw new JpxError("No size marker found in JPX stream")}}function addState(e,t,n,a,s){let r=e;for(let e=0,n=t.length-1;e<n;e++){const n=t[e];r=r[n]||=[]}r[t.at(-1)]={checkFn:n,iterateFn:a,processFn:s}}const Pn=[];addState(Pn,[we,ke,Pt,je],null,function iterateInlineImageGroup(e,t){const n=e.fnArray,a=(t-(e.iCurr-3))%4;switch(a){case 0:return n[t]===we;case 1:return n[t]===ke;case 2:return n[t]===Pt;case 3:return n[t]===je}throw new Error(`iterateInlineImageGroup - invalid pos: ${a}`)},function foundInlineImageGroup(e,t){const n=e.fnArray,a=e.argsArray,s=e.iCurr,r=s-3,i=s-2,o=s-1,l=Math.min(Math.floor((t-r)/4),200);if(l<10)return t-(t-r)%4;let f=0;const c=[];let h=0,u=1,m=1;for(let e=0;e<l;e++){const t=a[i+(e<<2)],n=a[o+(e<<2)][0];if(u+n.width>1e3){f=Math.max(f,u);m+=h+2;u=0;h=0}c.push({transform:t,x:u,y:m,w:n.width,h:n.height});u+=n.width+2;h=Math.max(h,n.height)}const p=Math.max(f,u)+1,d=m+h+1,g=new Uint8Array(p*d*4),b=p<<2;for(let e=0;e<l;e++){const t=a[o+(e<<2)][0].data,n=c[e].w<<2;let s=0,r=c[e].x+c[e].y*p<<2;g.set(t.subarray(0,n),r-b);for(let a=0,i=c[e].h;a<i;a++){g.set(t.subarray(s,s+n),r);s+=n;r+=b}g.set(t.subarray(s-n,s),r);for(;r>=0;){t[r-4]=t[r];t[r-3]=t[r+1];t[r-2]=t[r+2];t[r-1]=t[r+3];t[r+n]=t[r+n-4];t[r+n+1]=t[r+n-3];t[r+n+2]=t[r+n-2];t[r+n+3]=t[r+n-1];r-=b}}const w={width:p,height:d};if(e.isOffscreenCanvasSupported){const e=new OffscreenCanvas(p,d);e.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(g.buffer),p,d),0,0);w.bitmap=e.transferToImageBitmap();w.data=null}else{w.kind=F;w.data=g}n.splice(r,4*l,Et);a.splice(r,4*l,[w,c]);return r+1});addState(Pn,[we,ke,Rt,je],null,function iterateImageMaskGroup(e,t){const n=e.fnArray,a=(t-(e.iCurr-3))%4;switch(a){case 0:return n[t]===we;case 1:return n[t]===ke;case 2:return n[t]===Rt;case 3:return n[t]===je}throw new Error(`iterateImageMaskGroup - invalid pos: ${a}`)},function foundImageMaskGroup(e,t){const n=e.fnArray,a=e.argsArray,s=e.iCurr,r=s-3,i=s-2,o=s-1;let l=Math.floor((t-r)/4);if(l<10)return t-(t-r)%4;let f,c,h=!1;const u=a[o][0],m=a[i][0],p=a[i][1],d=a[i][2],g=a[i][3];if(p===d){h=!0;f=i+4;let e=o+4;for(let t=1;t<l;t++,f+=4,e+=4){c=a[f];if(a[e][0]!==u||c[0]!==m||c[1]!==p||c[2]!==d||c[3]!==g){t<10?h=!1:l=t;break}}}if(h){l=Math.min(l,1e3);const e=new Float32Array(2*l);f=i;for(let t=0;t<l;t++,f+=4){c=a[f];e[t<<1]=c[4];e[1+(t<<1)]=c[5]}n.splice(r,4*l,zt);a.splice(r,4*l,[u,m,p,d,g,e])}else{l=Math.min(l,100);const e=[];for(let t=0;t<l;t++){c=a[i+(t<<2)];const n=a[o+(t<<2)][0];e.push({data:n.data,width:n.width,height:n.height,interpolate:n.interpolate,count:n.count,transform:c})}n.splice(r,4*l,Dt);a.splice(r,4*l,[e])}return r+1});addState(Pn,[we,ke,Mt,je],function(e){const t=e.argsArray,n=e.iCurr-2;return 0===t[n][1]&&0===t[n][2]},function iterateImageGroup(e,t){const n=e.fnArray,a=e.argsArray,s=(t-(e.iCurr-3))%4;switch(s){case 0:return n[t]===we;case 1:if(n[t]!==ke)return!1;const s=e.iCurr-2,r=a[s][0],i=a[s][3];return a[t][0]===r&&0===a[t][1]&&0===a[t][2]&&a[t][3]===i;case 2:if(n[t]!==Mt)return!1;const o=a[e.iCurr-1][0];return a[t][0]===o;case 3:return n[t]===je}throw new Error(`iterateImageGroup - invalid pos: ${s}`)},function(e,t){const n=e.fnArray,a=e.argsArray,s=e.iCurr,r=s-3,i=s-2,o=a[s-1][0],l=a[i][0],f=a[i][3],c=Math.min(Math.floor((t-r)/4),1e3);if(c<3)return t-(t-r)%4;const h=new Float32Array(2*c);let u=i;for(let e=0;e<c;e++,u+=4){const t=a[u];h[e<<1]=t[4];h[1+(e<<1)]=t[5]}const m=[o,l,f,h];n.splice(r,4*c,Nt);a.splice(r,4*c,m);return r+1});addState(Pn,[Ne,We,Ye,Qe,ze],null,function iterateShowTextGroup(e,t){const n=e.fnArray,a=e.argsArray,s=(t-(e.iCurr-4))%5;switch(s){case 0:return n[t]===Ne;case 1:return n[t]===We;case 2:return n[t]===Ye;case 3:if(n[t]!==Qe)return!1;const s=e.iCurr-3,r=a[s][0],i=a[s][1];return a[t][0]===r&&a[t][1]===i;case 4:return n[t]===ze}throw new Error(`iterateShowTextGroup - invalid pos: ${s}`)},function(e,t){const n=e.fnArray,a=e.argsArray,s=e.iCurr,r=s-4,i=s-3,o=s-2,l=s-1,f=s,c=a[i][0],h=a[i][1];let u=Math.min(Math.floor((t-r)/5),1e3);if(u<3)return t-(t-r)%5;let m=r;if(r>=4&&n[r-4]===n[i]&&n[r-3]===n[o]&&n[r-2]===n[l]&&n[r-1]===n[f]&&a[r-4][0]===c&&a[r-4][1]===h){u++;m-=5}let p=m+4;for(let e=1;e<u;e++){n.splice(p,3);a.splice(p,3);p+=2}return p+1});addState(Pn,[we,ke,Ut,je],e=>{const t=e.argsArray,n=t[e.iCurr-1][0];if(n!==Ie&&n!==Fe&&n!==Oe&&n!==Be&&n!==Re&&n!==De)return!0;const a=t[e.iCurr-2];return 1===a[0]&&0===a[1]&&0===a[2]&&1===a[3]},()=>!1,(e,t)=>{const{fnArray:n,argsArray:a}=e,s=e.iCurr,r=s-3,i=s-2,o=a[s-1],l=a[i],[,[f],c]=o;if(c){Util.scaleMinMax(l,c);for(let e=0,t=f.length;e<t;)switch(f[e++]){case Kt:case Gt:Util.applyTransform(f,l,e);e+=2;break;case Vt:Util.applyTransformToBezier(f,l,e);e+=6}}n.splice(r,4,Ut);a.splice(r,4,o);return r+1});class NullOptimizer{constructor(e){this.queue=e}_optimize(){}push(e,t){this.queue.fnArray.push(e);this.queue.argsArray.push(t);this._optimize()}flush(){}reset(){}}class QueueOptimizer extends NullOptimizer{constructor(e){super(e);this.state=null;this.context={iCurr:0,fnArray:e.fnArray,argsArray:e.argsArray,isOffscreenCanvasSupported:OperatorList.isOffscreenCanvasSupported};this.match=null;this.lastProcessed=0}_optimize(){const e=this.queue.fnArray;let t=this.lastProcessed,n=e.length,a=this.state,s=this.match;if(!a&&!s&&t+1===n&&!Pn[e[t]]){this.lastProcessed=n;return}const r=this.context;for(;t<n;){if(s){if((0,s.iterateFn)(r,t)){t++;continue}t=(0,s.processFn)(r,t+1);n=e.length;s=null;a=null;if(t>=n)break}a=(a||Pn)[e[t]];if(a&&!Array.isArray(a)){r.iCurr=t;t++;if(!a.checkFn||(0,a.checkFn)(r)){s=a;a=null}else a=null}else t++}this.state=a;this.match=s;this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e);this.match=null;this.state=null;this._optimize()}}reset(){this.state=null;this.match=null;this.lastProcessed=0}}class OperatorList{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;static isOffscreenCanvasSupported=!1;constructor(e=0,t){this._streamSink=t;this.fnArray=[];this.argsArray=[];this.optimizer=!t||e&u?new NullOptimizer(this):new QueueOptimizer(this);this.dependencies=new Set;this._totalLength=0;this.weight=0;this._resolved=t?null:Promise.resolve()}static setOptions({isOffscreenCanvasSupported:e}){this.isOffscreenCanvasSupported=e}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t);this.weight++;this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e===je||e===ze))&&this.flush()}addImageOps(e,t,n,a=!1){if(a){this.addOp(we);this.addOp(be,[[["SMask",!1]]])}void 0!==n&&this.addOp(St,["OC",n]);this.addOp(e,t);void 0!==n&&this.addOp(xt,[]);a&&this.addOp(je)}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(fe,[e])}}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof OperatorList){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,n=e.length;t<n;t++)this.addOp(e.fnArray[t],e.argsArray[t])}else warn('addOpList - ignoring invalid "opList" parameter.')}getIR(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length}}get _transfers(){const e=[],{fnArray:t,argsArray:n,length:a}=this;for(let s=0;s<a;s++)switch(t[s]){case Pt:case Et:case Rt:{const{bitmap:t,data:a}=n[s][0];(t||a?.buffer)&&e.push(t||a.buffer);break}case Ut:{const[,[t],a]=n[s];t&&e.push(t.buffer,a.buffer);break}case It:const[t,a]=n[s];t&&e.push(t.buffer);a&&e.push(a.buffer);break;case Ye:e.push(n[s][0].buffer)}return e}flush(e=!1,t=null){this.optimizer.flush();const n=this.length;this._totalLength+=n;this._streamSink.enqueue({fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:e,separateAnnots:t,length:n},1,this._transfers);this.dependencies.clear();this.fnArray.length=0;this.argsArray.length=0;this.weight=0;this.optimizer.reset()}}function hexToInt(e,t){let n=0;for(let a=0;a<=t;a++)n=n<<8|e[a];return n>>>0}function hexToStr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function addHex(e,t,n){let a=0;for(let s=n;s>=0;s--){a+=e[s]+t[s];e[s]=255&a;a>>=8}}function incHex(e,t){let n=1;for(let a=t;a>=0&&n>0;a--){n+=e[a];e[a]=255&n;n>>=8}}const En=16;class BinaryCMapStream{constructor(e){this.buffer=e;this.pos=0;this.end=e.length;this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const n=this.readByte();if(n<0)throw new FormatError("unexpected EOF in bcmap");e=!(128&n);t=t<<7|127&n}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1));this.pos+=t+1}readHexNumber(e,t){let n;const a=this.tmpBuf;let s=0;do{const e=this.readByte();if(e<0)throw new FormatError("unexpected EOF in bcmap");n=!(128&e);a[s++]=127&e}while(!n);let r=t,i=0,o=0;for(;r>=0;){for(;o<8&&a.length>0;){i|=a[--s]<<o;o+=7}e[r]=255&i;r--;i>>=8;o-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const n=1&e[t]?255:0;let a=0;for(let s=0;s<=t;s++){a=(1&a)<<8|e[s];e[s]=a>>1^n}}readString(){const e=this.readNumber(),t=new Array(e);for(let n=0;n<e;n++)t[n]=this.readNumber();return String.fromCharCode(...t)}}class BinaryCMapReader{async process(e,t,n){const a=new BinaryCMapStream(e),s=a.readByte();t.vertical=!!(1&s);let r=null;const i=new Uint8Array(En),o=new Uint8Array(En),l=new Uint8Array(En),f=new Uint8Array(En),c=new Uint8Array(En);let h,u;for(;(u=a.readByte())>=0;){const e=u>>5;if(7===e){switch(31&u){case 0:a.readString();break;case 1:r=a.readString()}continue}const n=!!(16&u),s=15&u;if(s+1>En)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const m=1,p=a.readNumber();switch(e){case 0:a.readHex(i,s);a.readHexNumber(o,s);addHex(o,i,s);t.addCodespaceRange(s+1,hexToInt(i,s),hexToInt(o,s));for(let e=1;e<p;e++){incHex(o,s);a.readHexNumber(i,s);addHex(i,o,s);a.readHexNumber(o,s);addHex(o,i,s);t.addCodespaceRange(s+1,hexToInt(i,s),hexToInt(o,s))}break;case 1:a.readHex(i,s);a.readHexNumber(o,s);addHex(o,i,s);a.readNumber();for(let e=1;e<p;e++){incHex(o,s);a.readHexNumber(i,s);addHex(i,o,s);a.readHexNumber(o,s);addHex(o,i,s);a.readNumber()}break;case 2:a.readHex(l,s);h=a.readNumber();t.mapOne(hexToInt(l,s),h);for(let e=1;e<p;e++){incHex(l,s);if(!n){a.readHexNumber(c,s);addHex(l,c,s)}h=a.readSigned()+(h+1);t.mapOne(hexToInt(l,s),h)}break;case 3:a.readHex(i,s);a.readHexNumber(o,s);addHex(o,i,s);h=a.readNumber();t.mapCidRange(hexToInt(i,s),hexToInt(o,s),h);for(let e=1;e<p;e++){incHex(o,s);if(n)i.set(o);else{a.readHexNumber(i,s);addHex(i,o,s)}a.readHexNumber(o,s);addHex(o,i,s);h=a.readNumber();t.mapCidRange(hexToInt(i,s),hexToInt(o,s),h)}break;case 4:a.readHex(l,m);a.readHex(f,s);t.mapOne(hexToInt(l,m),hexToStr(f,s));for(let e=1;e<p;e++){incHex(l,m);if(!n){a.readHexNumber(c,m);addHex(l,c,m)}incHex(f,s);a.readHexSigned(c,s);addHex(f,c,s);t.mapOne(hexToInt(l,m),hexToStr(f,s))}break;case 5:a.readHex(i,m);a.readHexNumber(o,m);addHex(o,i,m);a.readHex(f,s);t.mapBfRange(hexToInt(i,m),hexToInt(o,m),hexToStr(f,s));for(let e=1;e<p;e++){incHex(o,m);if(n)i.set(o);else{a.readHexNumber(i,m);addHex(i,o,m)}a.readHexNumber(o,m);addHex(o,i,m);a.readHex(f,s);t.mapBfRange(hexToInt(i,m),hexToInt(o,m),hexToStr(f,s))}break;default:throw new Error(`BinaryCMapReader.process - unknown type: ${e}`)}}return r?n(r):t}}class Ascii85Stream extends DecodeStream{constructor(e,t){t&&(t*=.8);super(t);this.stream=e;this.dict=e.dict;this.input=new Uint8Array(5)}readBlock(){const e=this.stream;let t=e.getByte();for(;isWhiteSpace(t);)t=e.getByte();if(-1===t||126===t){this.eof=!0;return}const n=this.bufferLength;let a,s;if(122===t){a=this.ensureBuffer(n+4);for(s=0;s<4;++s)a[n+s]=0;this.bufferLength+=4}else{const r=this.input;r[0]=t;for(s=1;s<5;++s){t=e.getByte();for(;isWhiteSpace(t);)t=e.getByte();r[s]=t;if(-1===t||126===t)break}a=this.ensureBuffer(n+s-1);this.bufferLength+=s-1;if(s<5){for(;s<5;++s)r[s]=117;this.eof=!0}let i=0;for(s=0;s<5;++s)i=85*i+(r[s]-33);for(s=3;s>=0;--s){a[n+s]=255&i;i>>=8}}}}class AsciiHexStream extends DecodeStream{constructor(e,t){t&&(t*=.5);super(t);this.stream=e;this.dict=e.dict;this.firstDigit=-1}readBlock(){const e=this.stream.getBytes(8e3);if(!e.length){this.eof=!0;return}const t=e.length+1>>1,n=this.ensureBuffer(this.bufferLength+t);let a=this.bufferLength,s=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}if(s<0)s=e;else{n[a++]=s<<4|e;s=-1}}if(s>=0&&this.eof){n[a++]=s<<4;s=-1}this.firstDigit=s;this.bufferLength=a}}let Nn=(()=>{const e=Int32Array.from([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]),t=Int32Array.from([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),n=Int32Array.from([0,3,2,1,0,0,0,0,0,0,3,3,3,3,3,3]),a=Int32Array.from([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),s=Int32Array.from([131072,131076,131075,196610,131072,131076,131075,262145,131072,131076,131075,196610,131072,131076,131075,262149]),r=Int32Array.from([1,5,9,13,17,25,33,41,49,65,81,97,113,145,177,209,241,305,369,497,753,1265,2289,4337,8433,16625]),i=Int32Array.from([2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,7,8,9,10,11,12,13,24]),o=Int16Array.from([0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,7,8,9,10,12,14,24]),l=Int16Array.from([0,0,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,7,8,9,10,24]),f=new Int16Array(2816);!function unpackCommandLookupTable(e){const t=new Int32Array(24),n=new Int32Array(24);n[0]=2;for(let e=0;e<23;++e){t[e+1]=t[e]+(1<<o[e]);n[e+1]=n[e]+(1<<l[e])}for(let a=0;a<704;++a){let s=a>>6,r=-4;if(s>=2){s-=2;r=0}const i=(170064>>2*s&3)<<3|a>>3&7,f=(156228>>2*s&3)<<3|7&a,c=n[f],h=r+Math.min(c,5)-2,u=4*a;e[u]=o[i]|l[f]<<8;e[u+1]=t[i];e[u+2]=n[f];e[u+3]=h}}(f);function log2floor(e){let t=-1,n=16,a=e;for(;n>0;){let e=a>>n;if(0!==e){t+=n;a=e}n>>=1}return t+a}function calculateDistanceAlphabetSize(e,t,n){return 16+t+2*(n<<e)}function calculateDistanceAlphabetLimit(e,t,n,a){if(t<a+(2<<n))return makeError(e,-23);const s=4+(t-a>>n),r=log2floor(s)-1;return((r-1<<1|s>>r&1)-1<<n)+(1<<n)+a+16}function initState(e){if(0!==e.runningState)return makeError(e,-26);e.blockTrees=new Int32Array(3091);e.blockTrees[0]=7;e.distRbIdx=3;let t=calculateDistanceAlphabetLimit(e,2147483644,3,120);if(t<0)return t;const n=t;e.distExtraBits=new Int8Array(n);e.distOffset=new Int32Array(n);t=function initBitReader(e){e.byteBuffer=new Int8Array(4160);e.accumulator32=0;e.shortBuffer=new Int16Array(2080);e.bitOffset=32;e.halfOffset=2048;e.endOfStreamReached=0;return prepare(e)}(e);if(t<0)return t;e.runningState=1;return 0}function decodeVarLenUnsignedByte(e){if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}if(0!==readFewBits(e,1)){const t=readFewBits(e,3);return 0===t?1:readFewBits(e,t)+(1<<t)}return 0}function readSymbol(e,t,n){let a=e[t];const s=n.accumulator32>>>n.bitOffset;a+=255&s;const r=e[a]>>16,i=65535&e[a];if(r<=8){n.bitOffset+=r;return i}a+=i;a+=(s&(1<<r)-1)>>>8;n.bitOffset+=8+(e[a]>>16);return 65535&e[a]}function readBlockLength(e,t,n){if(n.bitOffset>=16){n.accumulator32=n.shortBuffer[n.halfOffset++]<<16|n.accumulator32>>>16;n.bitOffset-=16}const a=readSymbol(e,t,n),s=i[a];if(n.bitOffset>=16){n.accumulator32=n.shortBuffer[n.halfOffset++]<<16|n.accumulator32>>>16;n.bitOffset-=16}return r[a]+(s<=16?readFewBits(n,s):readManyBits(n,s))}function moveToFront(e,t){let n=t;const a=e[n];for(;n>0;){e[n]=e[n-1];n--}e[0]=a}function readSimpleHuffmanCode(e,t,n,a,s){const r=new Int32Array(t),i=new Int32Array(4),o=1+log2floor(e-1),l=readFewBits(s,2)+1;for(let e=0;e<l;++e){if(s.bitOffset>=16){s.accumulator32=s.shortBuffer[s.halfOffset++]<<16|s.accumulator32>>>16;s.bitOffset-=16}const n=readFewBits(s,o);if(n>=t)return makeError(s,-15);i[e]=n}const f=function checkDupes(e,t,n){for(let a=0;a<n-1;++a)for(let s=a+1;s<n;++s)if(t[a]===t[s])return makeError(e,-7);return 0}(s,i,l);if(f<0)return f;let c=l;4===l&&(c+=readFewBits(s,1));switch(c){case 1:r[i[0]]=1;break;case 2:r[i[0]]=1;r[i[1]]=1;break;case 3:r[i[0]]=1;r[i[1]]=2;r[i[2]]=2;break;case 4:r[i[0]]=2;r[i[1]]=2;r[i[2]]=2;r[i[3]]=2;break;case 5:r[i[0]]=1;r[i[1]]=2;r[i[2]]=3;r[i[3]]=3}return buildHuffmanTable(n,a,8,r,t)}function readComplexHuffmanCode(e,n,a,r,i){const o=new Int32Array(e),l=new Int32Array(18);let f=32,c=0;for(let e=n;e<18;++e){const n=t[e];if(i.bitOffset>=16){i.accumulator32=i.shortBuffer[i.halfOffset++]<<16|i.accumulator32>>>16;i.bitOffset-=16}const a=i.accumulator32>>>i.bitOffset&15;i.bitOffset+=s[a]>>16;const r=65535&s[a];l[n]=r;if(0!==r){f-=32>>r;c++;if(f<=0)break}}if(0!==f&&1!==c)return makeError(i,-4);const h=function readHuffmanCodeLengths(e,t,n,a){let s=0,r=8,i=0,o=0,l=32768;const f=new Int32Array(33);buildHuffmanTable(f,f.length-1,5,e,18);for(;s<t&&l>0;){if(a.halfOffset>2030){const e=readMoreInput(a);if(e<0)return e}if(a.bitOffset>=16){a.accumulator32=a.shortBuffer[a.halfOffset++]<<16|a.accumulator32>>>16;a.bitOffset-=16}const e=a.accumulator32>>>a.bitOffset&31;a.bitOffset+=f[e]>>16;const c=65535&f[e];if(c<16){i=0;n[s++]=c;if(0!==c){r=c;l-=32768>>c}}else{const e=c-14;let f=0;16===c&&(f=r);if(o!==f){i=0;o=f}const h=i;if(i>0){i-=2;i<<=e}if(a.bitOffset>=16){a.accumulator32=a.shortBuffer[a.halfOffset++]<<16|a.accumulator32>>>16;a.bitOffset-=16}i+=readFewBits(a,e)+3;const u=i-h;if(s+u>t)return makeError(a,-2);for(let e=0;e<u;++e)n[s++]=o;0!==o&&(l-=u<<15-o)}}if(0!==l)return makeError(a,-18);n.fill(0,s,t);return 0}(l,e,o,i);return h<0?h:buildHuffmanTable(a,r,8,o,e)}function readHuffmanCode(e,t,n,a,s){if(s.halfOffset>2030){const e=readMoreInput(s);if(e<0)return e}if(s.bitOffset>=16){s.accumulator32=s.shortBuffer[s.halfOffset++]<<16|s.accumulator32>>>16;s.bitOffset-=16}const r=readFewBits(s,2);return 1===r?readSimpleHuffmanCode(e,t,n,a,s):readComplexHuffmanCode(t,r,n,a,s)}function decodeContextMap(t,n,a){let s;if(a.halfOffset>2030){s=readMoreInput(a);if(s<0)return s}const r=decodeVarLenUnsignedByte(a)+1;if(1===r){n.fill(0,0,t);return r}if(a.bitOffset>=16){a.accumulator32=a.shortBuffer[a.halfOffset++]<<16|a.accumulator32>>>16;a.bitOffset-=16}let i=0;0!==readFewBits(a,1)&&(i=readFewBits(a,4)+1);const o=r+i,l=e[o+31>>5],f=new Int32Array(l+1),c=f.length-1;s=readHuffmanCode(o,o,f,c,a);if(s<0)return s;let h=0;for(;h<t;){if(a.halfOffset>2030){s=readMoreInput(a);if(s<0)return s}if(a.bitOffset>=16){a.accumulator32=a.shortBuffer[a.halfOffset++]<<16|a.accumulator32>>>16;a.bitOffset-=16}const e=readSymbol(f,c,a);if(0===e){n[h]=0;h++}else if(e<=i){if(a.bitOffset>=16){a.accumulator32=a.shortBuffer[a.halfOffset++]<<16|a.accumulator32>>>16;a.bitOffset-=16}let s=(1<<e)+readFewBits(a,e);for(;0!==s;){if(h>=t)return makeError(a,-3);n[h]=0;h++;s--}}else{n[h]=e-i;h++}}if(a.bitOffset>=16){a.accumulator32=a.shortBuffer[a.halfOffset++]<<16|a.accumulator32>>>16;a.bitOffset-=16}1===readFewBits(a,1)&&function inverseMoveToFrontTransform(e,t){const n=new Int32Array(256);for(let e=0;e<256;++e)n[e]=e;for(let a=0;a<t;++a){const t=255&e[a];e[a]=n[t];0!==t&&moveToFront(n,t)}}(n,t);return r}function decodeBlockTypeAndLength(e,t,n){const a=e.rings,s=4+2*t;if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}let r=readSymbol(e.blockTrees,2*t,e);const i=readBlockLength(e.blockTrees,2*t+1,e);1===r?r=a[s+1]+1:0===r?r=a[s]:r-=2;r>=n&&(r-=n);a[s]=a[s+1];a[s+1]=r;return i}function decodeLiteralBlockSwitch(e){e.literalBlockLength=decodeBlockTypeAndLength(e,0,e.numLiteralBlockTypes);const t=e.rings[5];e.contextMapSlice=t<<6;e.literalTreeIdx=255&e.contextMap[e.contextMapSlice];const n=e.contextModes[t];e.contextLookupOffset1=n<<9;e.contextLookupOffset2=e.contextLookupOffset1+256}function decodeCommandBlockSwitch(e){e.commandBlockLength=decodeBlockTypeAndLength(e,1,e.numCommandBlockTypes);e.commandTreeIdx=e.rings[7]}function decodeDistanceBlockSwitch(e){e.distanceBlockLength=decodeBlockTypeAndLength(e,2,e.numDistanceBlockTypes);e.distContextMapSlice=e.rings[9]<<2}function readNextMetablockHeader(e){if(0!==e.inputEnd){e.nextRunningState=10;e.runningState=12;return 0}e.literalTreeGroup=new Int32Array(0);e.commandTreeGroup=new Int32Array(0);e.distanceTreeGroup=new Int32Array(0);let t;if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}t=function decodeMetaBlockLength(e){if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}e.inputEnd=readFewBits(e,1);e.metaBlockLength=0;e.isUncompressed=0;e.isMetadata=0;if(0!==e.inputEnd&&0!==readFewBits(e,1))return 0;const t=readFewBits(e,2)+4;if(7===t){e.isMetadata=1;if(0!==readFewBits(e,1))return makeError(e,-6);const t=readFewBits(e,2);if(0===t)return 0;for(let n=0;n<t;++n){if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}const a=readFewBits(e,8);if(0===a&&n+1===t&&t>1)return makeError(e,-8);e.metaBlockLength+=a<<8*n}}else for(let n=0;n<t;++n){if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}const a=readFewBits(e,4);if(0===a&&n+1===t&&t>4)return makeError(e,-8);e.metaBlockLength+=a<<4*n}e.metaBlockLength++;0===e.inputEnd&&(e.isUncompressed=readFewBits(e,1));return 0}(e);if(t<0)return t;if(0===e.metaBlockLength&&0===e.isMetadata)return 0;if(0!==e.isUncompressed||0!==e.isMetadata){t=jumpToByteBoundary(e);if(t<0)return t;0===e.isMetadata?e.runningState=6:e.runningState=5}else e.runningState=3;if(0!==e.isMetadata)return 0;e.expectedTotalSize+=e.metaBlockLength;e.expectedTotalSize>1<<30&&(e.expectedTotalSize=1<<30);e.ringBufferSize<e.maxRingBufferSize&&function maybeReallocateRingBuffer(e){let t=e.maxRingBufferSize;if(t>e.expectedTotalSize){const n=e.expectedTotalSize;for(;t>>1>n;)t>>=1;0===e.inputEnd&&t<16384&&e.maxRingBufferSize>=16384&&(t=16384)}if(t<=e.ringBufferSize)return;const n=new Int8Array(t+37),a=e.ringBuffer;0!==a.length&&n.set(a.subarray(0,e.ringBufferSize),0);e.ringBuffer=n;e.ringBufferSize=t}(e);return 0}function readMetablockPartition(e,t,n){let a=e.blockTrees[2*t];if(n<=1){e.blockTrees[2*t+1]=a;e.blockTrees[2*t+2]=a;return 1<<28}const s=n+2;let r=readHuffmanCode(s,s,e.blockTrees,2*t,e);if(r<0)return r;a+=r;e.blockTrees[2*t+1]=a;r=readHuffmanCode(26,26,e.blockTrees,2*t+1,e);if(r<0)return r;a+=r;e.blockTrees[2*t+2]=a;return readBlockLength(e.blockTrees,2*t+1,e)}function readMetablockHuffmanCodesAndContextMaps(e){e.numLiteralBlockTypes=decodeVarLenUnsignedByte(e)+1;let t=readMetablockPartition(e,0,e.numLiteralBlockTypes);if(t<0)return t;e.literalBlockLength=t;e.numCommandBlockTypes=decodeVarLenUnsignedByte(e)+1;t=readMetablockPartition(e,1,e.numCommandBlockTypes);if(t<0)return t;e.commandBlockLength=t;e.numDistanceBlockTypes=decodeVarLenUnsignedByte(e)+1;t=readMetablockPartition(e,2,e.numDistanceBlockTypes);if(t<0)return t;e.distanceBlockLength=t;if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}e.distancePostfixBits=readFewBits(e,2);e.numDirectDistanceCodes=readFewBits(e,4)<<e.distancePostfixBits;e.contextModes=new Int8Array(e.numLiteralBlockTypes);let n=0;for(;n<e.numLiteralBlockTypes;){const a=Math.min(n+96,e.numLiteralBlockTypes);for(;n<a;){if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}e.contextModes[n]=readFewBits(e,2);n++}if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}}const a=e.numLiteralBlockTypes<<6;e.contextMap=new Int8Array(a);t=decodeContextMap(a,e.contextMap,e);if(t<0)return t;const s=t;e.trivialLiteralContext=1;for(let t=0;t<a;++t)if(e.contextMap[t]!==t>>6){e.trivialLiteralContext=0;break}e.distContextMap=new Int8Array(e.numDistanceBlockTypes<<2);t=decodeContextMap(e.numDistanceBlockTypes<<2,e.distContextMap,e);if(t<0)return t;const r=t;e.literalTreeGroup=new Int32Array(huffmanTreeGroupAllocSize(256,s));t=decodeHuffmanTreeGroup(256,256,s,e,e.literalTreeGroup);if(t<0)return t;e.commandTreeGroup=new Int32Array(huffmanTreeGroupAllocSize(704,e.numCommandBlockTypes));t=decodeHuffmanTreeGroup(704,704,e.numCommandBlockTypes,e,e.commandTreeGroup);if(t<0)return t;let i=calculateDistanceAlphabetSize(e.distancePostfixBits,e.numDirectDistanceCodes,24),o=i;if(1===e.isLargeWindow){i=calculateDistanceAlphabetSize(e.distancePostfixBits,e.numDirectDistanceCodes,62);t=calculateDistanceAlphabetLimit(e,2147483644,e.distancePostfixBits,e.numDirectDistanceCodes);if(t<0)return t;o=t}e.distanceTreeGroup=new Int32Array(huffmanTreeGroupAllocSize(o,r));t=decodeHuffmanTreeGroup(i,o,r,e,e.distanceTreeGroup);if(t<0)return t;!function calculateDistanceLut(e,t){const n=e.distExtraBits,a=e.distOffset,s=e.distancePostfixBits,r=e.numDirectDistanceCodes,i=1<<s;let o=1,l=0,f=16;for(let e=0;e<r;++e){n[f]=0;a[f]=e+1;++f}for(;f<t;){const e=r+((2+l<<o)-4<<s)+1;for(let t=0;t<i;++t){n[f]=o;a[f]=e+t;++f}o+=l;l^=1}}(e,o);e.contextMapSlice=0;e.distContextMapSlice=0;e.contextLookupOffset1=512*e.contextModes[0];e.contextLookupOffset2=e.contextLookupOffset1+256;e.literalTreeIdx=0;e.commandTreeIdx=0;e.rings[4]=1;e.rings[5]=0;e.rings[6]=1;e.rings[7]=0;e.rings[8]=1;e.rings[9]=0;return 0}function copyUncompressedData(e){const t=e.ringBuffer;let n;if(e.metaBlockLength<=0){n=reload(e);if(n<0)return n;e.runningState=2;return 0}const a=Math.min(e.ringBufferSize-e.pos,e.metaBlockLength);n=function copyRawBytes(e,t,n,a){let s=n,r=a;if(7&e.bitOffset)return makeError(e,-30);for(;32!==e.bitOffset&&0!==r;){t[s++]=e.accumulator32>>>e.bitOffset;e.bitOffset+=8;r--}if(0===r)return 0;const i=Math.min(halfAvailable(e),r>>1);if(i>0){const n=e.halfOffset<<1,a=i<<1;t.set(e.byteBuffer.subarray(n,n+a),s);s+=a;r-=a;e.halfOffset+=i}if(0===r)return 0;if(halfAvailable(e)>0){if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}for(;0!==r;){t[s++]=e.accumulator32>>>e.bitOffset;e.bitOffset+=8;r--}return checkHealth(e,0)}for(;r>0;){const n=readInput(e,t,s,r);if(n<-1)return n;if(n<=0)return makeError(e,-16);s+=n;r-=n}return 0}(e,t,e.pos,a);if(n<0)return n;e.metaBlockLength-=a;e.pos+=a;if(e.pos===e.ringBufferSize){e.nextRunningState=6;e.runningState=12;return 0}n=reload(e);if(n<0)return n;e.runningState=2;return 0}function writeRingBuffer(e){const t=Math.min(e.outputLength-e.outputUsed,e.ringBufferBytesReady-e.ringBufferBytesWritten);if(0!==t){e.output.set(e.ringBuffer.subarray(e.ringBufferBytesWritten,e.ringBufferBytesWritten+t),e.outputOffset+e.outputUsed);e.outputUsed+=t;e.ringBufferBytesWritten+=t}return e.outputUsed<e.outputLength?0:2}function huffmanTreeGroupAllocSize(t,n){return n+n*e[t+31>>5]}function decodeHuffmanTreeGroup(e,t,n,a,s){let r=n;for(let i=0;i<n;++i){s[i]=r;const n=readHuffmanCode(e,t,s,i,a);if(n<0)return n;r+=n}return 0}function calculateFence(e){let t=e.ringBufferSize;0!==e.isEager&&(t=Math.min(t,e.ringBufferBytesWritten+e.outputLength-e.outputUsed));return t}function doUseDictionary(e,t){if(e.distance>2147483644)return makeError(e,-9);const n=e.distance-e.maxDistance-1-e.cdTotalSize;if(n<0){const t=function initializeCompoundDictionaryCopy(e,t,n){-1===e.cdBlockBits&&function initializeCompoundDictionary(e){e.cdBlockMap=new Int8Array(256);let t=8;for(;e.cdTotalSize-1>>t;)t++;t-=8;e.cdBlockBits=t;let n=0,a=0;for(;n<e.cdTotalSize;){for(;e.cdChunkOffsets[a+1]<n;)a++;e.cdBlockMap[n>>t]=a;n+=1<<t}}(e);let a=e.cdBlockMap[t>>e.cdBlockBits];for(;t>=e.cdChunkOffsets[a+1];)a++;if(e.cdTotalSize>t+n)return makeError(e,-9);e.distRbIdx=e.distRbIdx+1&3;e.rings[e.distRbIdx]=e.distance;e.metaBlockLength-=n;e.cdBrIndex=a;e.cdBrOffset=t-e.cdChunkOffsets[a];e.cdBrLength=n;e.cdBrCopied=0;return 0}(e,-n-1,e.copyLength);if(t<0)return t;e.runningState=14}else{const a=u,s=e.copyLength;if(s>31)return makeError(e,-9);const r=p[s];if(0===r)return makeError(e,-9);let i=m[s];const o=n>>r;i+=(n&(1<<r)-1)*s;const l=c;if(o>=l.numTransforms)return makeError(e,-9);const f=function transformDictionaryWord(e,t,n,a,s,r,i){let o=t;const l=r.triplets,f=r.prefixSuffixStorage,c=r.prefixSuffixHeads,h=3*i,u=l[h],m=l[h+1],p=l[h+2];let d=c[u];const g=c[u+1];let b=c[p];const w=c[p+1];let j=m-11,k=m;(j<1||j>9)&&(j=0);(k<1||k>9)&&(k=0);for(;d!==g;)e[o++]=f[d++];let y=s;j>y&&(j=y);let q=a+j;y-=j;y-=k;let v=y;for(;v>0;){e[o++]=n[q++];v--}if(10===m||11===m){let t=o-y;10===m&&(y=1);for(;y>0;){const n=255&e[t];if(n<192){n>=97&&n<=122&&(e[t]=32^e[t]);t+=1;y-=1}else if(n<224){e[t+1]=32^e[t+1];t+=2;y-=2}else{e[t+2]=5^e[t+2];t+=3;y-=3}}}else if(21===m||22===m){let t=o-y;const n=r.params[i];let a=16777216-(32768&n)+(32767&n);for(;y>0;){let n=1;const s=255&e[t];if(s<128){a+=s;e[t]=127&a}else if(s<192);else if(s<224)if(y>=2){const r=e[t+1];a+=63&r|(31&s)<<6;e[t]=192|a>>6&31;e[t+1]=192&r|63&a;n=2}else n=y;else if(s<240)if(y>=3){const r=e[t+1],i=e[t+2];a+=63&i|(63&r)<<6|(15&s)<<12;e[t]=224|a>>12&15;e[t+1]=192&r|a>>6&63;e[t+2]=192&i|63&a;n=3}else n=y;else if(s<248)if(y>=4){const r=e[t+1],i=e[t+2],o=e[t+3];a+=63&o|(63&i)<<6|(63&r)<<12|(7&s)<<18;e[t]=240|a>>18&7;e[t+1]=192&r|a>>12&63;e[t+2]=192&i|a>>6&63;e[t+3]=192&o|63&a;n=4}else n=y;t+=n;y-=n;21===m&&(y=0)}}for(;b!==w;)e[o++]=f[b++];return o-t}(e.ringBuffer,e.pos,a,i,s,l,o);e.pos+=f;e.metaBlockLength-=f;if(e.pos>=t){e.nextRunningState=4;e.runningState=12;return 0}e.runningState=4}return 0}function copyFromCompoundDictionary(e,t){let n=e.pos;const a=n;for(;e.cdBrLength!==e.cdBrCopied;){const a=t-n,s=e.cdChunkOffsets[e.cdBrIndex+1]-e.cdChunkOffsets[e.cdBrIndex]-e.cdBrOffset;let r=e.cdBrLength-e.cdBrCopied;r>s&&(r=s);r>a&&(r=a);e.ringBuffer.set(e.cdChunks[e.cdBrIndex].subarray(e.cdBrOffset,e.cdBrOffset+r),n);n+=r;e.cdBrOffset+=r;e.cdBrCopied+=r;if(r===s){e.cdBrIndex++;e.cdBrOffset=0}if(n>=t)break}return n-a}function decompress(e){let t;if(0===e.runningState)return makeError(e,-25);if(e.runningState<0)return makeError(e,-28);if(11===e.runningState)return makeError(e,-22);if(1===e.runningState){const t=function decodeWindowBits(e){const t=e.isLargeWindow;e.isLargeWindow=0;if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}if(0===readFewBits(e,1))return 16;let n=readFewBits(e,3);if(0!==n)return 17+n;n=readFewBits(e,3);if(0!==n){if(1===n){if(0===t)return-1;e.isLargeWindow=1;if(1===readFewBits(e,1))return-1;n=readFewBits(e,6);return n<10||n>30?-1:n}return 8+n}return 17}(e);if(-1===t)return makeError(e,-11);e.maxRingBufferSize=1<<t;e.maxBackwardDistance=e.maxRingBufferSize-16;e.runningState=2}let s=calculateFence(e),r=e.ringBufferSize-1,i=e.ringBuffer;for(;10!==e.runningState;)switch(e.runningState){case 2:if(e.metaBlockLength<0)return makeError(e,-10);t=readNextMetablockHeader(e);if(t<0)return t;s=calculateFence(e);r=e.ringBufferSize-1;i=e.ringBuffer;continue;case 3:t=readMetablockHuffmanCodesAndContextMaps(e);if(t<0)return t;e.runningState=4;continue;case 4:if(e.metaBlockLength<=0){e.runningState=2;continue}if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}0===e.commandBlockLength&&decodeCommandBlockSwitch(e);e.commandBlockLength--;if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}const o=readSymbol(e.commandTreeGroup,e.commandTreeIdx,e)<<2,l=f[o],c=f[o+1],u=f[o+2];e.distanceCode=f[o+3];if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}const m=255&l;e.insertLength=c+(m<=16?readFewBits(e,m):readManyBits(e,m));if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}const p=l>>8;e.copyLength=u+(p<=16?readFewBits(e,p):readManyBits(e,p));e.j=0;e.runningState=7;continue;case 7:if(0!==e.trivialLiteralContext)for(;e.j<e.insertLength;){if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}0===e.literalBlockLength&&decodeLiteralBlockSwitch(e);e.literalBlockLength--;if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}i[e.pos]=readSymbol(e.literalTreeGroup,e.literalTreeIdx,e);e.pos++;e.j++;if(e.pos>=s){e.nextRunningState=7;e.runningState=12;break}}else{let n=255&i[e.pos-1&r],a=255&i[e.pos-2&r];for(;e.j<e.insertLength;){if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}0===e.literalBlockLength&&decodeLiteralBlockSwitch(e);const r=h[e.contextLookupOffset1+n]|h[e.contextLookupOffset2+a],o=255&e.contextMap[e.contextMapSlice+r];e.literalBlockLength--;a=n;if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}n=readSymbol(e.literalTreeGroup,o,e);i[e.pos]=n;e.pos++;e.j++;if(e.pos>=s){e.nextRunningState=7;e.runningState=12;break}}}if(7!==e.runningState)continue;e.metaBlockLength-=e.insertLength;if(e.metaBlockLength<=0){e.runningState=4;continue}let d=e.distanceCode;if(d<0)e.distance=e.rings[e.distRbIdx];else{if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}0===e.distanceBlockLength&&decodeDistanceBlockSwitch(e);e.distanceBlockLength--;if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}const s=255&e.distContextMap[e.distContextMapSlice+d];d=readSymbol(e.distanceTreeGroup,s,e);if(d<16){const t=e.distRbIdx+n[d]&3;e.distance=e.rings[t]+a[d];if(e.distance<0)return makeError(e,-12)}else{const t=e.distExtraBits[d];let n;if(e.bitOffset+t<=32)n=readFewBits(e,t);else{if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}n=t<=16?readFewBits(e,t):readManyBits(e,t)}e.distance=e.distOffset[d]+(n<<e.distancePostfixBits)}}e.maxDistance!==e.maxBackwardDistance&&e.pos<e.maxBackwardDistance?e.maxDistance=e.pos:e.maxDistance=e.maxBackwardDistance;if(e.distance>e.maxDistance){e.runningState=9;continue}if(d>0){e.distRbIdx=e.distRbIdx+1&3;e.rings[e.distRbIdx]=e.distance}if(e.copyLength>e.metaBlockLength)return makeError(e,-9);e.j=0;e.runningState=8;continue;case 8:let g=e.pos-e.distance&r,b=e.pos;const w=e.copyLength-e.j,j=g+w,k=b+w;if(j<r&&k<r){if(w<12||j>b&&k>g){const e=w+3>>2;for(let t=0;t<e;++t){i[b++]=i[g++];i[b++]=i[g++];i[b++]=i[g++];i[b++]=i[g++]}}else i.copyWithin(b,g,j);e.j+=w;e.metaBlockLength-=w;e.pos+=w}else for(;e.j<e.copyLength;){i[e.pos]=i[e.pos-e.distance&r];e.metaBlockLength--;e.pos++;e.j++;if(e.pos>=s){e.nextRunningState=8;e.runningState=12;break}}8===e.runningState&&(e.runningState=4);continue;case 9:t=doUseDictionary(e,s);if(t<0)return t;continue;case 14:e.pos+=copyFromCompoundDictionary(e,s);if(e.pos>=s){e.nextRunningState=14;e.runningState=12;return 2}e.runningState=4;continue;case 5:for(;e.metaBlockLength>0;){if(e.halfOffset>2030){t=readMoreInput(e);if(t<0)return t}if(e.bitOffset>=16){e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16}readFewBits(e,8);e.metaBlockLength--}e.runningState=2;continue;case 6:t=copyUncompressedData(e);if(t<0)return t;continue;case 12:e.ringBufferBytesReady=Math.min(e.pos,e.ringBufferSize);e.runningState=13;continue;case 13:t=writeRingBuffer(e);if(0!==t)return t;e.pos>=e.maxBackwardDistance&&(e.maxDistance=e.maxBackwardDistance);if(e.pos>=e.ringBufferSize){e.pos>e.ringBufferSize&&i.copyWithin(0,e.ringBufferSize,e.pos);e.pos=e.pos&r;e.ringBufferBytesWritten=0}e.runningState=e.nextRunningState;continue;default:return makeError(e,-28)}if(10!==e.runningState)return makeError(e,-29);if(e.metaBlockLength<0)return makeError(e,-10);t=jumpToByteBoundary(e);if(0!==t)return t;t=checkHealth(e,1);return 0!==t?t:1}const c=new function Transforms(e,t,n){this.numTransforms=0;this.triplets=new Int32Array(0);this.prefixSuffixStorage=new Int8Array(0);this.prefixSuffixHeads=new Int32Array(0);this.params=new Int16Array(0);this.numTransforms=e;this.triplets=new Int32Array(3*e);this.params=new Int16Array(e);this.prefixSuffixStorage=new Int8Array(t);this.prefixSuffixHeads=new Int32Array(n+1)}(121,167,50);!function unpackTransforms(e,t,n,a,s){const r=toUtf8Runes(a),i=r.length;let o=1,l=0;for(let n=0;n<i;++n){const a=r[n];35===a?t[o++]=l:e[l++]=a}for(let e=0;e<363;++e)n[e]=s.charCodeAt(e)-32}(c.prefixSuffixStorage,c.prefixSuffixHeads,c.triplets,'# #s #, #e #.# the #.com/# # of # and # in # to #"#">#\n#]# for # a # that #. # with #\'# from # by #. The # on # as # is #ing #\n\t#:#ed #(# at #ly #="# of the #. This #,# not #er #al #=\'#ful #ive #less #est #ize #ous #'," !! ! , *! &! \" ! ) * * - ! # ! #!*! + ,$ ! - % . / # 0 1 . \" 2 3!* 4% ! # / 5 6 7 8 0 1 & $ 9 + : ; < ' != > ?! 4 @ 4 2 & A *# ( B C& ) % ) !*# *-% A +! *. D! %' & E *6 F G% ! *A *% H! D I!+! J!+ K +- *4! A L!*4 M N +6 O!*% +.! K *G P +%( ! G *D +D Q +# *K!*G!+D!+# +G +A +4!+% +K!+4!*D!+K!*K");function getNextKey(e,t){let n=1<<t-1;for(;0!==(e&n);)n>>=1;return(e&n-1)+n}function replicateValue(e,t,n,a,s){let r=a;for(;r>0;){r-=n;e[t+r]=s}}function nextTableBitSize(e,t,n){let a=t,s=1<<a-n;for(;a<15;){s-=e[a];if(s<=0)break;a++;s<<=1}return a-n}function buildHuffmanTable(e,t,n,a,s){const r=e[t],i=new Int32Array(s),o=new Int32Array(16),l=new Int32Array(16);for(let e=0;e<s;++e)o[a[e]]++;l[1]=0;for(let e=1;e<15;++e)l[e+1]=l[e]+o[e];for(let e=0;e<s;++e)0!==a[e]&&(i[l[a[e]]++]=e);let f=n,c=1<<f,h=c;if(1===l[15]){for(let t=0;t<h;++t)e[r+t]=i[0];return h}let u=0,m=0,p=1;for(let t=1;t<=n;++t){p<<=1;for(;o[t]>0;){replicateValue(e,r+u,p,c,t<<16|i[m++]);u=getNextKey(u,t);o[t]--}}const d=h-1;let g=-1,b=r;p=1;for(let t=n+1;t<=15;++t){p<<=1;for(;o[t]>0;){if((u&d)!==g){b+=c;f=nextTableBitSize(o,t,n);c=1<<f;h+=c;g=u&d;e[r+g]=f+n<<16|b-r-g}replicateValue(e,b+(u>>n),p,c,t-n<<16|i[m++]);u=getNextKey(u,t);o[t]--}}return h}function readMoreInput(e){if(0!==e.endOfStreamReached)return halfAvailable(e)>=-2?0:makeError(e,-16);const t=e.halfOffset<<1;let n=4096-t;e.byteBuffer.copyWithin(0,t,4096);e.halfOffset=0;for(;n<4096;){const t=4096-n,a=readInput(e,e.byteBuffer,n,t);if(a<-1)return a;if(a<=0){e.endOfStreamReached=1;e.tailBytes=n;n+=1;break}n+=a}!function bytesToNibbles(e,t){const n=e.byteBuffer,a=t>>1,s=e.shortBuffer;for(let e=0;e<a;++e)s[e]=255&n[2*e]|(255&n[2*e+1])<<8}(e,n);return 0}function checkHealth(e,t){if(0===e.endOfStreamReached)return 0;const n=(e.halfOffset<<1)+(e.bitOffset+7>>3)-4;return n>e.tailBytes?makeError(e,-13):0!==t&&n!==e.tailBytes?makeError(e,-17):0}function readFewBits(e,t){const n=e.accumulator32>>>e.bitOffset&(1<<t)-1;e.bitOffset+=t;return n}function readManyBits(e,t){const n=readFewBits(e,16);e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16;return n|readFewBits(e,t-16)<<16}function prepare(e){if(e.halfOffset>2030){const t=readMoreInput(e);if(0!==t)return t}let t=checkHealth(e,0);if(0!==t)return t;e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16;e.accumulator32=e.shortBuffer[e.halfOffset++]<<16|e.accumulator32>>>16;e.bitOffset-=16;return 0}function reload(e){return 32===e.bitOffset?prepare(e):0}function jumpToByteBoundary(e){const t=32-e.bitOffset&7;if(0!==t){if(0!==readFewBits(e,t))return makeError(e,-5)}return 0}function halfAvailable(e){let t=2048;0!==e.endOfStreamReached&&(t=e.tailBytes+1>>1);return t-e.halfOffset}const h=new Int32Array(2048);!function unpackLookupTable(e,t,n){for(let t=0;t<256;++t){e[t]=63&t;e[512+t]=t>>2;e[1792+t]=2+(t>>6)}for(let n=0;n<128;++n)e[1024+n]=4*(t.charCodeAt(n)-32);for(let t=0;t<64;++t){e[1152+t]=1&t;e[1216+t]=2+(1&t)}let a=1280;for(let t=0;t<19;++t){const s=3&t,r=n.charCodeAt(t)-32;for(let t=0;t<r;++t)e[a++]=s}for(let t=0;t<16;++t){e[1792+t]=1;e[2032+t]=6}e[1792]=0;e[2047]=7;for(let t=0;t<256;++t)e[1536+t]=e[1792+t]<<3}(h," !! ! \"#$##%#$&'##(#)#++++++++++((&*'##,---,---,-----,-----,-----&#'###.///.///./////./////./////&#'# ","A/* ': & : $  @");function State(){this.ringBuffer=new Int8Array(0);this.contextModes=new Int8Array(0);this.contextMap=new Int8Array(0);this.distContextMap=new Int8Array(0);this.distExtraBits=new Int8Array(0);this.output=new Int8Array(0);this.byteBuffer=new Int8Array(0);this.shortBuffer=new Int16Array(0);this.intBuffer=new Int32Array(0);this.rings=new Int32Array(0);this.blockTrees=new Int32Array(0);this.literalTreeGroup=new Int32Array(0);this.commandTreeGroup=new Int32Array(0);this.distanceTreeGroup=new Int32Array(0);this.distOffset=new Int32Array(0);this.accumulator64=0;this.runningState=0;this.nextRunningState=0;this.accumulator32=0;this.bitOffset=0;this.halfOffset=0;this.tailBytes=0;this.endOfStreamReached=0;this.metaBlockLength=0;this.inputEnd=0;this.isUncompressed=0;this.isMetadata=0;this.literalBlockLength=0;this.numLiteralBlockTypes=0;this.commandBlockLength=0;this.numCommandBlockTypes=0;this.distanceBlockLength=0;this.numDistanceBlockTypes=0;this.pos=0;this.maxDistance=0;this.distRbIdx=0;this.trivialLiteralContext=0;this.literalTreeIdx=0;this.commandTreeIdx=0;this.j=0;this.insertLength=0;this.contextMapSlice=0;this.distContextMapSlice=0;this.contextLookupOffset1=0;this.contextLookupOffset2=0;this.distanceCode=0;this.numDirectDistanceCodes=0;this.distancePostfixBits=0;this.distance=0;this.copyLength=0;this.maxBackwardDistance=0;this.maxRingBufferSize=0;this.ringBufferSize=0;this.expectedTotalSize=0;this.outputOffset=0;this.outputLength=0;this.outputUsed=0;this.ringBufferBytesWritten=0;this.ringBufferBytesReady=0;this.isEager=0;this.isLargeWindow=0;this.cdNumChunks=0;this.cdTotalSize=0;this.cdBrIndex=0;this.cdBrOffset=0;this.cdBrLength=0;this.cdBrCopied=0;this.cdChunks=new Array(0);this.cdChunkOffsets=new Int32Array(0);this.cdBlockBits=0;this.cdBlockMap=new Int8Array(0);this.input=new InputStream(new Int8Array(0));this.ringBuffer=new Int8Array(0);this.rings=new Int32Array(10);this.rings[0]=16;this.rings[1]=15;this.rings[2]=11;this.rings[3]=4}let u=new Int8Array(0);const m=new Int32Array(32),p=new Int32Array(32);const d=new Int8Array(122784),g=new Int32Array(25);!function unpackDictionaryData(e,t,n,a,s,r){const i=function toUsAsciiBytes(e){const t=e.length,n=new Int8Array(t);for(let a=0;a<t;++a)n[a]=e.charCodeAt(a);return n}(t+n),o=toUtf8Runes(a);let l=0;const f=o.length>>1;for(let e=0;e<f;++e){const t=o[2*e]-36,n=o[2*e+1]-36;for(let e=0;e<t;++e){i[l]=3^i[l];l++}for(let e=0;e<n;++e){i[l]=236^i[l];l++}}for(let e=0;e<r.length;++e)s[e]=r.charCodeAt(e)-65;e.set(i)}(d,'wjnfgltmojefofewab`h`lgfgbwbpkltlmozpjwf`jwzlsfmivpwojhfeqfftlqhwf{wzfbqlufqalgzolufelqnallhsobzojufojmfkfosklnfpjgfnlqftlqgolmdwkfnujftejmgsbdfgbzpevookfbgwfqnfb`kbqfbeqlnwqvfnbqhbaofvslmkjdkgbwfobmgmftpfufmmf{w`bpfalwkslpwvpfgnbgfkbmgkfqftkbwmbnfOjmhaoldpjyfabpfkfognbhfnbjmvpfq$*#(klogfmgptjwkMftpqfbgtfqfpjdmwbhfkbufdbnfpffm`boosbwktfoosovpnfmvejonsbqwiljmwkjpojpwdllgmffgtbzptfpwilapnjmgboploldlqj`kvpfpobpwwfbnbqnzellghjmdtjoofbpwtbqgafpwejqfSbdfhmltbtbz-smdnlufwkbmolbgdjufpfoemlwfnv`keffgnbmzql`hj`lmlm`follhkjgfgjfgKlnfqvofklpwbib{jmel`ovaobtpofppkboeplnfpv`kylmf233&lmfp`bqfWjnfqb`faovfelvqtffheb`fklsfdbufkbqgolpwtkfmsbqhhfswsbpppkjsqllnKWNOsobmWzsfglmfpbufhffseobdojmhplogejufwllhqbwfwltmivnswkvpgbqh`bqgejofefbqpwbzhjoowkbweboobvwlfufq-`lnwbohpklsulwfgffsnlgfqfpwwvqmalqmabmgefooqlpfvqo+phjmqlof`lnfb`wpbdfpnffwdlog-isdjwfnubqzefowwkfmpfmggqlsUjft`lsz2-3!?,b=pwlsfopfojfpwlvqsb`h-djesbpw`pp<dqbznfbm%dw8qjgfpklwobwfpbjgqlbgubq#effoilkmqj`hslqwebpw$VB.gfbg?,a=sllqajoowzsfV-P-tllgnvpw1s{8JmelqbmhtjgftbmwtbooofbgX3^8sbvotbufpvqf\'+$ tbjwnbppbqnpdlfpdbjmobmdsbjg"..#ol`hvmjwqllwtbohejqntjef{no!plmdwfpw13s{hjmgqltpwlloelmwnbjopbefpwbqnbsp`lqfqbjmeoltabazpsbmpbzp7s{85s{8bqwpellwqfbotjhjkfbwpwfswqjslqd,obhftfbhwlogElqn`bpwebmpabmhufqzqvmpivozwbph2s{8dlbodqftpoltfgdfjg>!pfwp6s{8-ip<73s{je#+pllmpfbwmlmfwvafyfqlpfmwqffgeb`wjmwldjewkbqn2;s{`bnfkjooalogyllnuljgfbpzqjmdejoosfbhjmjw`lpw0s{8ib`hwbdpajwpqloofgjwhmftmfbq?"..dqltIPLMgvwzMbnfpbofzlv#olwpsbjmibyy`logfzfpejpkttt-qjphwbapsqfu23s{qjpf16s{Aovfgjmd033/abooelqgfbqmtjogal{-ebjqob`hufqpsbjqivmfwf`kje+"sj`hfujo\'+! tbqnolqgglfpsvoo/333jgfbgqbtkvdfpslwevmgavqmkqfe`foohfzpwj`hklvqolppevfo21s{pvjwgfboQPP!bdfgdqfzDFW!fbpfbjnpdjqobjgp;s{8mbuzdqjgwjsp :::tbqpobgz`bqp*8#~sks<kfoowbootklnyk9\t),\t#233kboo-\t\tB4s{8svpk`kbw3s{8`qft),?,kbpk46s{eobwqbqf#%%#wfoo`bnslmwlobjgnjppphjswfmwejmfnbofdfwpsolw733/\t\t`lloeffw-sks?aq=fqj`nlpwdvjgafoogfp`kbjqnbwkbwln,jnd% ;1ov`h`fmw3338wjmzdlmfkwnopfoogqvdEQFFmlgfmj`h<jg>olpfmvooubpwtjmgQPP#tfbqqfozaffmpbnfgvhfmbpb`bsftjpkdvoeW109kjwppolwdbwfhj`haovqwkfz26s{$$*8*8!=npjftjmpajqgplqwafwbpffhW2;9lqgpwqffnboo53s{ebqnlupalzpX3^-$*8!SLPWafbqhjgp*8~~nbqzwfmg+VH*rvbgyk9\n.pjy....sqls$*8ojewW2:9uj`fbmgzgfaw=QPPsllomf`haoltW259gllqfuboW249ofwpebjolqbosloomlub`lopdfmf#lxplewqlnfwjooqlpp?k0=slvqebgfsjmh?wq=njmj*"+njmfyk9abqpkfbq33*8njoh#..=jqlmeqfggjphtfmwpljosvwp,ip,klozW119JPAMW139bgbnpffp?k1=iplm$/#$`lmwW129#QPPollsbpjbnllm?,s=plvoOJMFelqw`bqwW279?k2=;3s{"..?:s{8W379njhf975Ymj`fjm`kZlqhqj`fyk9\b$**8svqfnbdfsbqbwlmfalmg904Y\\le\\$^*8333/yk9\vwbmhzbqgaltoavpk965YIbub03s{\t~\t&@0&907YifeeF[SJ`bpkujpbdloepmltyk9rvfq-`pppj`hnfbwnjm-ajmggfookjqfsj`pqfmw905YKWWS.132elwltloeFMG#{al{967YALGZgj`h8\t~\tf{jw906Yubqpafbw$~*8gjfw:::8bmmf~~?,Xj^-Obmdhn.^tjqfwlzpbggppfbobof{8\t\n~f`klmjmf-lqd336*wlmziftppbmgofdpqlle333*#133tjmfdfbqgldpallwdbqz`vwpwzofwfnswjlm-{no`l`hdbmd\'+$-63s{Sk-Gnjp`bobmolbmgfphnjofqzbmvmj{gjp`*8~\tgvpw`ojs*-\t\t43s{.133GUGp4^=?wbsfgfnlj((*tbdffvqlskjolswpklofEBRpbpjm.15WobapsfwpVQO#avoh`llh8~\tKFBGX3^*baaqivbm+2:;ofpkwtjm?,j=plmzdvzpev`hsjsf.\t"331*mgltX2^8X^8\tOld#pbow\t\n\nabmdwqjnabwk*x\t33s{\t~*8hl9\0effpbg=p9,,#X^8wloosovd+*x\tx\t#-ip$133sgvboalbw-ISD*8\t~rvlw*8\t\t$*8\t\t~1327132613251324132;132:13131312131113101317131613151314131;131:130313021301130013071306130513041320132113221323133:133;133413351336133713301331133213332:::2::;2::42::52::62::72::02::12::22::32:;:2:;;2:;42:;52:;62:;72:;02:;12:;22:;32:4:2:4;2:442:452:462:472:402:412:422:432:5:2:5;2:542:552:562:572:502:512:522:532:6:2:6;2:642:652:662:672:602:612:622:632333231720:73333::::`lnln/Mpfpwffpwbsfqlwlglkb`f`bgbb/]lajfmg/Abbp/Aujgb`bpllwqlelqlplollwqb`vbogjilpjgldqbmwjslwfnbgfafbodlrv/Efpwlmbgbwqfpsl`l`bpbabilwlgbpjmlbdvbsvfpvmlpbmwfgj`fovjpfoobnbzlylmbbnlqsjpllaqb`oj`foolgjlpklqb`bpj<[<\\<Q<\\<R<P=l<\\=l=o=n<\\<Q<Y<S<R<R=n<T<[<Q<R<X<R=n<R<Z<Y<R<Q<T=i<q<\\<Y<Y<]=g<P=g<~=g=m<R<^=g<^<R<q<R<R<]<s<R<W<T<Q<T<L<H<q<Y<p=g=n=g<r<Q<T<P<X<\\<{<\\<x<\\<q=o<r<]=n<Y<t<[<Y<U<Q=o<P<P<N=g=o<Z5m5f4O5j5i4K5i4U5o5h4O5d4]4C5f4K5m5e5k5d5h5i5h5o4K5d5h5k4D4_4K5h4I5j5k5f4O5f5n4C5k5h4G5i4D5k5h5d5h5f4D5h4K5f4D5o4X5f4K5i4O5i5j4F4D5f5h5j4A4D5k5i5i4X5d4Xejqpwujgflojdkwtlqognfgjbtkjwf`olpfaob`hqjdkwpnbooallhpsob`fnvpj`ejfoglqgfqsljmwubovfofufowbaofalbqgklvpfdqlvstlqhpzfbqppwbwfwlgbztbwfqpwbqwpwzofgfbwksltfqsklmfmjdkwfqqlqjmsvwbalvwwfqnpwjwofwllopfufmwol`bowjnfpobqdftlqgpdbnfppklqwpsb`fel`vp`ofbqnlgfoaol`hdvjgfqbgjlpkbqftlnfmbdbjmnlmfzjnbdfmbnfpzlvmdojmfpobwfq`lolqdqffmeqlmw%bns8tbw`kelq`fsqj`fqvofpafdjmbewfqujpjwjppvfbqfbpafoltjmgf{wlwboklvqpobafosqjmwsqfppavjowojmhppsffgpwvgzwqbgfelvmgpfmpfvmgfqpkltmelqnpqbmdfbggfgpwjoonlufgwbhfmbalufeobpkej{fglewfmlwkfqujftp`kf`hofdboqjufqjwfnprvj`hpkbsfkvnbmf{jpwdljmdnlujfwkjqgabpj`sfb`fpwbdftjgwkoldjmjgfbptqlwfsbdfpvpfqpgqjufpwlqfaqfbhplvwkulj`fpjwfpnlmwktkfqfavjogtkj`kfbqwkelqvnwkqffpslqwsbqwz@oj`holtfqojufp`obppobzfqfmwqzpwlqzvpbdfplvmg`lvqwzlvq#ajqwkslsvswzsfpbssozJnbdfafjmdvssfqmlwfpfufqzpkltpnfbmpf{wqbnbw`kwqb`hhmltmfbqozafdbmpvsfqsbsfqmlqwkofbqmdjufmmbnfgfmgfgWfqnpsbqwpDqlvsaqbmgvpjmdtlnbmebopfqfbgzbvgjlwbhfptkjof-`ln,ojufg`bpfpgbjoz`kjogdqfbwivgdfwklpfvmjwpmfufqaqlbg`lbpw`lufqbssofejofp`z`ofp`fmfsobmp`oj`htqjwfrvffmsjf`ffnbjoeqbnflogfqsklwlojnjw`b`kf`jujop`boffmwfqwkfnfwkfqfwlv`kalvmgqlzbobphfgtklofpjm`fpwl`h#mbnfebjwkkfbqwfnswzleefqp`lsfltmfgnjdkwboavnwkjmhaollgbqqbznbilqwqvpw`bmlmvmjlm`lvmwubojgpwlmfPwzofOldjmkbsszl``vqofew9eqfpkrvjwfejonpdqbgfmffgpvqabmejdkwabpjpklufqbvwl8qlvwf-kwnonj{fgejmboZlvq#pojgfwlsj`aqltmbolmfgqbtmpsojwqfb`kQjdkwgbwfpnbq`krvlwfdllgpOjmhpglvawbpzm`wkvnaboolt`kjfezlvwkmlufo23s{8pfqufvmwjokbmgp@kf`hPsb`frvfqzibnfpfrvbowtj`f3/333Pwbqwsbmfoplmdpqlvmgfjdkwpkjewtlqwkslpwpofbgptffhpbuljgwkfpfnjofpsobmfpnbqwboskbsobmwnbqhpqbwfpsobzp`objnpbofpwf{wppwbqptqlmd?,k0=wkjmd-lqd,nvowjkfbqgSltfqpwbmgwlhfmplojg+wkjpaqjmdpkjsppwbeewqjfg`boopevoozeb`wpbdfmwWkjp#,,..=bgnjmfdzswFufmw26s{8Fnbjowqvf!`qlpppsfmwaoldpal{!=mlwfgofbuf`kjmbpjyfpdvfpw?,k7=qlalwkfbuzwqvf/pfufmdqbmg`qjnfpjdmpbtbqfgbm`fskbpf=?"..fm\\VP% 0:8133s{\\mbnfobwjmfmilzbib{-bwjlmpnjwkV-P-#klogpsfwfqjmgjbmbu!=`kbjmp`lqf`lnfpgljmdsqjlqPkbqf2::3pqlnbmojpwpibsbmeboopwqjboltmfqbdqff?,k1=bavpfbofqwlsfqb!.,,T`bqgpkjoopwfbnpSklwlwqvwk`ofbm-sks<pbjmwnfwboolvjpnfbmwsqlleaqjfeqlt!=dfmqfwqv`hollhpUbovfEqbnf-mfw,..=\t?wqz#x\tubq#nbhfp`lpwpsobjmbgvowrvfpwwqbjmobalqkfosp`bvpfnbdj`nlwlqwkfjq163s{ofbpwpwfsp@lvmw`lvogdobpppjgfpevmgpklwfobtbqgnlvwknlufpsbqjpdjufpgvw`kwf{bpeqvjwmvoo/X^8wls!=\t?"..SLPW!l`fbm?aq,=eollqpsfbhgfswk#pjyfabmhp`bw`k`kbqw13s{8bojdmgfboptlvog63s{8vqo>!sbqhpnlvpfNlpw#---?,bnlmdaqbjmalgz#mlmf8abpfg`bqqzgqbewqfefqsbdf\\klnf-nfwfqgfobzgqfbnsqlufiljmw?,wq=gqvdp?"..#bsqjojgfboboofmf{b`welqwk`lgfpoldj`Ujft#pffnpaobmhslqwp#+133pbufg\\ojmhdlbopdqbmwdqffhklnfpqjmdpqbwfg03s{8tklpfsbqpf+*8!#Aol`hojmv{ilmfpsj{fo$*8!=*8je+.ofewgbujgklqpfEl`vpqbjpfal{fpWqb`hfnfmw?,fn=abq!=-pq`>wltfqbow>!`baofkfmqz17s{8pfwvsjwbozpkbqsnjmlqwbpwftbmwpwkjp-qfpfwtkffodjqop,`pp,233&8`ovappwveeajaofulwfp#2333hlqfb~*8\tabmgprvfvf>#x~8;3s{8`hjmdx\t\n\nbkfbg`ol`hjqjpkojhf#qbwjlpwbwpElqn!zbkll*X3^8Balvwejmgp?,k2=gfavdwbphpVQO#>`foop~*+*821s{8sqjnfwfoopwvqmp3{533-isd!psbjmafb`kwb{fpnj`qlbmdfo..=?,djewppwfuf.ojmhalgz-~*8\t\nnlvmw#+2::EBR?,qldfqeqbmh@obpp1;s{8effgp?k2=?p`lwwwfpwp11s{8gqjmh*##oftjppkboo 30:8#elq#olufgtbpwf33s{8ib9npjnlm?elmwqfsoznffwpvmwfq`kfbswjdkwAqbmg*#">#gqfpp`ojspqllnplmhfznlajonbjm-Mbnf#sobwfevmmzwqffp`ln,!2-isdtnlgfsbqbnPWBQWofew#jggfm/#132*8\t~\telqn-ujqvp`kbjqwqbmptlqpwSbdfpjwjlmsbw`k?"..\tl.`b`ejqnpwlvqp/333#bpjbmj((*xbglaf$*X3^jg>23alwk8nfmv#-1-nj-smd!hfujm`lb`k@kjogaqv`f1-isdVQO*(-isdpvjwfpoj`fkbqqz213!#ptffwwq=\tmbnf>gjfdlsbdf#ptjpp..=\t\t eee8!=Old-`ln!wqfbwpkffw*#%%#27s{8poffsmwfmwejofgib9ojg>!`Mbnf!tlqpfpklwp.al{.gfowb\t%ow8afbqp97;Y?gbwb.qvqbo?,b=#psfmgabhfqpklsp>#!!8sks!=`wjlm20s{8aqjbmkfoolpjyf>l>&1E#iljmnbzaf?jnd#jnd!=/#eipjnd!#!*X3^NWlsAWzsf!mftozGbmph`yf`kwqbjohmltp?,k6=ebr!=yk.`m23*8\t.2!*8wzsf>aovfpwqvozgbujp-ip$8=\t?"pwffo#zlv#k1=\telqn#ifpvp233&#nfmv-\t\n\ttbofpqjphpvnfmwggjmda.ojhwfb`kdje!#ufdbpgbmphffpwjpkrjspvlnjplaqfgfpgffmwqfwlglpsvfgfb/]lpfpw/Mwjfmfkbpwblwqlpsbqwfglmgfmvfulkb`fqelqnbnjpnlnfilqnvmglbrv/Ag/Abpp/_olbzvgbef`kbwlgbpwbmwlnfmlpgbwlplwqbppjwjlnv`klbklqbovdbqnbzlqfpwlpklqbpwfmfqbmwfpelwlpfpwbpsb/Apmvfubpbovgelqlpnfgjlrvjfmnfpfpslgfq`kjofpfq/Muf`fpgf`jqilp/Efpwbqufmwbdqvslkf`klfoolpwfmdlbnjdl`lpbpmjufodfmwfnjpnbbjqfpivojlwfnbpkb`jbebulqivmjlojaqfsvmwlavfmlbvwlqbaqjoavfmbwf{wlnbqylpbafqojpwbovfdl`/_nlfmfqlivfdlsfq/Vkbafqfpwlzmvm`bnvifqubolqevfqbojaqldvpwbjdvboulwlp`bplpdv/Absvfglplnlpbujplvpwfggfafmml`kfavp`bebowbfvqlppfqjfgj`kl`vqpl`obuf`bpbpof/_msobylobqdllaqbpujpwbbslzlivmwlwqbwbujpwl`qfbq`bnslkfnlp`jm`l`bqdlsjplplqgfmkb`fm/Mqfbgjp`lsfgql`fq`bsvfgbsbsfonfmlq/Vwjo`obqlilqdf`boofslmfqwbqgfmbgjfnbq`bpjdvffoobppjdol`l`kfnlwlpnbgqf`obpfqfpwlmj/]lrvfgbsbpbqabm`lkjilpujbifsbaol/Epwfujfmfqfjmlgfibqelmgl`bmbomlqwfofwqb`bvpbwlnbqnbmlpovmfpbvwlpujoobufmglsfpbqwjslpwfmdbnbq`loofubsbgqfvmjglubnlpylmbpbnalpabmgbnbqjbbavplnv`kbpvajqqjlibujujqdqbgl`kj`bboo/Ailufmgj`kbfpwbmwbofppbojqpvfolsfplpejmfpoobnbavp`l/Epwboofdbmfdqlsobybkvnlqsbdbqivmwbglaofjpobpalopbab/]lkbaobov`kb/mqfbgj`fmivdbqmlwbpuboofboo/M`bqdbglolqbabilfpw/Edvpwlnfmwfnbqjlejqnb`lpwlej`kbsobwbkldbqbqwfpofzfpbrvfonvpflabpfpsl`lpnjwbg`jfol`kj`lnjfgldbmbqpbmwlfwbsbgfafpsobzbqfgfppjfwf`lqwf`lqfbgvgbpgfpflujfilgfpfbbdvbp%rvlw8glnbjm`lnnlmpwbwvpfufmwpnbpwfqpzpwfnb`wjlmabmmfqqfnlufp`qloovsgbwfdolabonfgjvnejowfqmvnafq`kbmdfqfpvowsvaoj`p`qffm`kllpfmlqnbowqbufojppvfpplvq`fwbqdfwpsqjmdnlgvofnlajofptjw`ksklwlpalqgfqqfdjlmjwpfoepl`jbob`wjuf`lovnmqf`lqgelooltwjwof=fjwkfqofmdwkebnjozeqjfmgobzlvwbvwklq`qfbwfqfujftpvnnfqpfqufqsobzfgsobzfqf{sbmgsloj`zelqnbwglvaofsljmwppfqjfpsfqplmojujmdgfpjdmnlmwkpelq`fpvmjrvftfjdkwsflsoffmfqdzmbwvqfpfbq`kejdvqfkbujmd`vpwlnleepfwofwwfqtjmgltpvanjwqfmgfqdqlvspvsolbgkfbowknfwklgujgflpp`klloevwvqfpkbgltgfabwfubovfpLaif`wlwkfqpqjdkwpofbdvf`kqlnfpjnsofmlwj`fpkbqfgfmgjmdpfbplmqfslqwlmojmfprvbqfavwwlmjnbdfpfmbaofnlujmdobwfpwtjmwfqEqbm`fsfqjlgpwqlmdqfsfbwOlmglmgfwbjoelqnfggfnbmgpf`vqfsbppfgwlddofsob`fpgfuj`fpwbwj``jwjfppwqfbnzfooltbwwb`hpwqffweojdkwkjggfmjmel!=lsfmfgvpfevouboofz`bvpfpofbgfqpf`qfwpf`lmggbnbdfpslqwpf{`fswqbwjmdpjdmfgwkjmdpfeef`wejfogppwbwfpleej`fujpvbofgjwlqulovnfQfslqwnvpfvnnlujfpsbqfmwb``fppnlpwoznlwkfq!#jg>!nbqhfwdqlvmg`kbm`fpvqufzafelqfpznalonlnfmwpsff`knlwjlmjmpjgfnbwwfq@fmwfqlaif`wf{jpwpnjggofFvqlsfdqltwkofdb`znbmmfqfmlvdk`bqffqbmptfqlqjdjmslqwbo`ojfmwpfof`wqbmgln`olpfgwlsj`p`lnjmdebwkfqlswjlmpjnsozqbjpfgfp`bsf`klpfm`kvq`kgfejmfqfbplm`lqmfqlvwsvwnfnlqzjeqbnfsloj`fnlgfopMvnafqgvqjmdleefqppwzofphjoofgojpwfg`boofgpjoufqnbqdjmgfofwfafwwfqaqltpfojnjwpDolabopjmdoftjgdfw`fmwfqavgdfwmltqbs`qfgjw`objnpfmdjmfpbefwz`klj`fpsjqjw.pwzofpsqfbgnbhjmdmffgfgqvppjbsofbpff{wfmwP`qjswaqlhfmbooltp`kbqdfgjujgfeb`wlqnfnafq.abpfgwkflqz`lmejdbqlvmgtlqhfgkfosfg@kvq`kjnsb`wpklvogbotbzpoldl!#alwwlnojpw!=*xubq#sqfej{lqbmdfKfbgfq-svpk+`lvsofdbqgfmaqjgdfobvm`kQfujftwbhjmdujpjlmojwwofgbwjmdAvwwlmafbvwzwkfnfpelqdlwPfbq`kbm`klqbonlpwolbgfg@kbmdfqfwvqmpwqjmdqfolbgNlajofjm`lnfpvssozPlvq`flqgfqpujftfg%maps8`lvqpfBalvw#jpobmg?kwno#`llhjfmbnf>!bnbylmnlgfqmbguj`fjm?,b=9#Wkf#gjboldklvpfpAFDJM#Nf{j`lpwbqwp`fmwqfkfjdkwbggjmdJpobmgbppfwpFnsjqfP`kllofeelqwgjqf`wmfbqoznbmvboPfof`w-\t\tLmfiljmfgnfmv!=SkjojsbtbqgpkbmgofjnslqwLeej`fqfdbqgphjoopmbwjlmPslqwpgfdqfftffhoz#+f-d-afkjmggl`wlqolddfgvmjwfg?,a=?,afdjmpsobmwpbppjpwbqwjpwjppvfg033s{`bmbgbbdfm`zp`kfnfqfnbjmAqbyjopbnsofoldl!=afzlmg.p`bofb``fswpfqufgnbqjmfEllwfq`bnfqb?,k2=\t\\elqn!ofbufppwqfpp!#,=\t-dje!#lmolbgolbgfqL{elqgpjpwfqpvqujuojpwfmefnbofGfpjdmpjyf>!bssfbowf{w!=ofufopwkbmhpkjdkfqelq`fgbmjnbobmzlmfBeqj`bbdqffgqf`fmwSflsof?aq#,=tlmgfqsqj`fpwvqmfg#x~8nbjm!=jmojmfpvmgbztqbs!=ebjofg`fmpvpnjmvwfafb`lmrvlwfp263s{fpwbwfqfnlwffnbjo!ojmhfgqjdkw8pjdmboelqnbo2-kwnopjdmvssqjm`feolbw9-smd!#elqvn-B``fppsbsfqpplvmgpf{wfmgKfjdkwpojgfqVWE.;!%bns8#Afelqf-#TjwkpwvgjlltmfqpnbmbdfsqlejwiRvfqzbmmvbosbqbnpalvdkwebnlvpdlldofolmdfqj((*#xjpqbfopbzjmdgf`jgfklnf!=kfbgfqfmpvqfaqbm`ksjf`fpaol`h8pwbwfgwls!=?qb`jmdqfpjyf..%dw8sb`jwzpf{vboavqfbv-isd!#23/333lawbjmwjwofpbnlvmw/#Jm`-`lnfgznfmv!#ozqj`pwlgbz-jmgffg`lvmwz\\oldl-EbnjozollhfgNbqhfwopf#jeSobzfqwvqhfz*8ubq#elqfpwdjujmdfqqlqpGlnbjm~fopfxjmpfqwAold?,ellwfqoldjm-ebpwfqbdfmwp?algz#23s{#3sqbdnbeqjgbzivmjlqgloobqsob`fg`lufqpsovdjm6/333#sbdf!=alpwlm-wfpw+bubwbqwfpwfg\\`lvmwelqvnpp`kfnbjmgf{/ejoofgpkbqfpqfbgfqbofqw+bssfbqPvanjwojmf!=algz!=\t)#WkfWklvdkpffjmdifqpfzMftp?,ufqjezf{sfqwjmivqztjgwk>@llhjfPWBQW#b`qlpp\\jnbdfwkqfbgmbwjufsl`hfwal{!=\tPzpwfn#Gbujg`bm`fqwbaofpsqlufgBsqjo#qfboozgqjufqjwfn!=nlqf!=albqgp`lolqp`bnsvpejqpw##X^8nfgjb-dvjwbqejmjpktjgwk9pkltfgLwkfq#-sks!#bppvnfobzfqptjoplmpwlqfpqfojfeptfgfm@vpwlnfbpjoz#zlvq#Pwqjmd\t\tTkjowbzolq`ofbq9qfplqweqfm`kwklvdk!*#(#!?algz=avzjmdaqbmgpNfnafqmbnf!=lssjmdpf`wlq6s{8!=upsb`fslpwfqnbilq#`leeffnbqwjmnbwvqfkbssfm?,mbu=hbmpbpojmh!=Jnbdfp>ebopftkjof#kpsb`f3%bns8#\t\tJm##sltfqSlophj.`lolqilqgbmAlwwlnPwbqw#.`lvmw1-kwnomftp!=32-isdLmojmf.qjdkwnjoofqpfmjlqJPAM#33/333#dvjgfpubovf*f`wjlmqfsbjq-{no!##qjdkwp-kwno.aol`hqfdF{s9klufqtjwkjmujqdjmsklmfp?,wq=vpjmd#\t\nubq#=$*8\t\n?,wg=\t?,wq=\tabkbpbaqbpjodbofdlnbdzbqslophjpqsphj4]4C5d\bTA\nzk\vBl\bQ\vUmGx\bSM\nmC\bTA\twQ\nd}\bW@\bTl\bTF\ti@\tcT\vBM\v|jBV\tqw\tcC\bWI\npa\tfM\n{Z{X\bTF\bVV\bVK\tmkF\t[]\bPm\bTv\nsI\vpg\t[I\bQpmx\v_W\n^M\npe\vQ}\vGu\nel\npeChBV\bTA\tSo\nzk\vGL\vxD\nd[JzMY\bQpli\nfl\npC{BNt\vwT\ti_\bTgQQ\n|p\vXN\bQS\vxDQC\bWZ\tpD\vVS\bTWNtYh\nzuKjN}\twr\tHa\n_D\tj`\vQ}\vWp\nxZ{c\tji\tBU\nbDa|\tTn\tpV\nZd\nmC\vEV{X\tc}\tTo\bWl\bUd\tIQ\tcg\vxs\nXW\twR\vek\tc}\t]y\tJn\nrp\neg\npV\nz\\{W\npl\nz\\\nzU\tPc\t`{\bV@\nc|\bRw\ti_\bVb\nwX\tHvSu\bTF\v_W\vWs\vsIm\nTT\ndc\tUS\t}f\tiZ\bWz\tc}MD\tBe\tiD\v@@\bTl\bPv\t}tSwM`\vnU\tkW\ved\nqo\vxY\tA|\bTz\vy`BRBM\tiaXU\nyun^\tfL\tiI\nXW\tfD\bWz\bW@\tyj\tm\tav\tBN\vb\\\tpD\bTf\nY[\tJn\bQy\t[^\vWc\vyuDlCJ\vWj\vHR\t`V\vuW\tQy\np@\vGuplJm\bW[\nLP\nxC\n`m\twQuiR\nbI\twQ\tBZ\tWVBR\npg\tcgtiCW\n_y\tRg\bQa\vQB\vWc\nYble\ngESu\nL[\tQ\tea\tdj\v]W\nb~M`\twL\bTV\bVH\nt\npl\t|bs_\bU|\bTaoQlvSkM`\bTv\vK}\nfl\tcCoQBR\tHk\t|d\bQp\tHK\tBZ\vHR\bPv\vLx\vEZ\bT\bTv\tiDoDMU\vwBSuk`St\ntC\tPl\tKg\noi\tjY\vxYh}\nzk\bWZ\tm\ve`\tTB\tfE\nzk\t`zYh\nV|\tHK\tAJ\tAJ\bUL\tp\\\tql\nYcKd\nfyYh\t[I\vDgJm\n]n\nlb\bUd\n{Z\tlu\tfsoQ\bTWJm\vwB\teaYhBC\tsb\tTn\nzU\n_y\vxY\tQ]\ngwmt\tO\\\ntb\bWW\bQy\tmI\tV[\ny\\\naB\vRb\twQ\n]QQJ\bWg\vWa\bQj\ntC\bVH\nYm\vxs\bVK\nel\bWI\vxYCq\ntR\vHV\bTl\bVw\tay\bQa\bVV\t}t\tdj\nr|\tp\\\twR\n{i\nTT\t[I\ti[\tAJ\vxs\v_W\td{\vQ}\tcg\tTz\tA|\tCj\vLmN}m\nbK\tdZ\tp\\\t`V\tsV\np@\tiD\twQ\vQ}\bTfkaJm\v@@\bV`\tzp\n@NSw\tiI\tcg\noiSu\bVwloCy\tc}\vb\\\tsUBA\bWI\bTf\nxS\tVp\nd|\bTV\vbC\tNoJu\nTC\t|`\n{Z\tD]\bU|\tc}lm\bTl\tBv\tPl\tc}\bQp\tm\nLk\tkj\n@NSbKO\tj_\tp\\\nzU\bTl\bTg\bWI\tcfXO\bWW\ndzli\tBN\nd[\bWOMD\vKC\tdj\tI_\bVV\ny\\\vLmxl\txB\tkV\vb\\\vJW\vVS\tVx\vxD\td{MD\bTa\t|`\vPzR}\vWsBM\nsICN\bTaJm\npe\ti_\npV\nrh\tRd\tHv\n~A\nxR\vWh\vWk\nxS\vAz\vwX\nbIoQ\tfw\nqI\nV|\nunz\vpg\td\\\voA{D\ti_xB\bT\t`Vqr\tTTg]CA\vuR\tVJ\tT`\npw\vRb\tI_\nCxRo\vsICjKh\tBv\tWVBBoD{D\nhcKm\v^R\tQE\n{I\np@\nc|Gt\tc}Dl\nzUqN\tsVk}\tHh\v|j\nqou|\tQ]\vekZM`St\npe\tdj\bVG\veE\tm\vWc|I\n[W\tfL\bT\tBZSu\vKaCqNtY[\nqI\bTv\tfM\ti@\t}fB\\\tQy\vBl\bWgXDkc\vx[\bVV\tQ]\ta\tPy\vxD\nfI\t}foD\tdj\tSGls\t~DCN\n{Z\t\\v\n_D\nhc\vx_C[\tAJ\nLM\tVxCI\tbj\tc^\tcF\ntCSx\twrXA\bU\\\t|a\vK\\\bTV\bVj\nd|\tfsCX\ntb\bRw\tVx\tAE\tA|\bTNt\vDg\tVc\bTld@\npo\tM\tcF\npe\tiZ\tBo\bSq\nfHl`\bTx\bWf\tHE\vF{\tcO\tfD\nlm\vfZ\nlm\veU\tdGBH\bTV\tSiMW\nwX\nz\\\t\\cCX\nd}\tl}\bQp\bTV\tF~\bQ\t`i\ng@nO\bUd\bTl\nL[\twQ\tji\ntC\t|J\nLU\naB\vxYKj\tAJuN\ti[\npeSk\vDg\vx]\bVb\bVV\nea\tkV\nqI\bTaSk\nAO\tpD\ntb\nts\nyi\bVg\ti_\v_W\nLkNt\tyj\tfMR\tiI\bTl\vwX\tsV\vMl\nyu\tAJ\bVjKO\tWV\vA}\vW\nrp\tiD\v|olv\vsIBM\td~\tCU\bVbeV\npC\vwT\tj`\tc}\vxs\vps\vvh\tWV\vGg\vAe\vVK\v]W\trg\vWcF`\tBr\vb\\\tdZ\bQp\nqIkF\nLk\vAR\bWI\bTg\tbs\tdw\n{L\n_y\tiZ\bTA\tlg\bVV\bTl\tdk\n`k\ta{\ti_{Awj\twN\v@@\bTe\ti_\n_D\twL\nAH\viK\vek\n[]\tp_\tyj\bTv\tUS\t[r\n{I\npsGt\vVK\nplS}\vWP\t|dMD\vHV\bTR}M`\bTV\bVHlvCh\bW[Ke\tR{\v^R\tab\tBZ\tVA\tB`\nd|\nhsKe\tBeOi\tR{\td\\nB\bWZ\tdZ\tVJOs\tmuQ\vhZQ@QQ\nfI\bW[B\\li\nzU\nMdM`\nxS\bVV\n\\}\vxD\tm\bTpIS\nc|\tkVi~\tV{\vhZ\t|b\bWt\n@R\voA\vnU\bWI\tea\tB`\tiD\tc}\tTzBR\vQBNj\tCP\t[I\bTv\t`WuN\vpg\vpg\vWc\tiT\tbs\twL\tU_\tc\\\t|h\vKa\tNr\tfL\nq|\nzu\nz\\\tNr\bUg\t|bm`\bTv\nyd\nrp\bWf\tUXBV\nzk\nd}\twQ\t}fCe\ved\bTW\bSB\nxU\tcn\bTb\ne\ta\\\tSG\bU|\npV\nN\\Kn\vnU\tAt\tpD\v^R\vIrb[\tR{\tdE\vxD\vWK\vWA\bQL\bW@Su\bUd\nDM\tPcCADloQ\tHswiub\na\bQpOb\nLP\bTlY[\vK}\tAJ\bQn^\vsA\bSM\nqM\bWZ\n^W\vz{S|\tfD\bVK\bTv\bPvBB\tCPdF\tid\vxsmx\vws\tcC\ntC\tycM`\vW\nrh\bQp\vxD\\o\nsI_k\nzukF\tfDXsXO\tjp\bTvBS{B\tBr\nzQ\nbI\tc{BDBVnO\bTF\tcaJd\tfL\tPV\tI_\nlK`o\twX\npa\tgu\bP}{^\bWf\n{I\tBN\npaKl\vpg\tcn\tfL\vvhCq\bTl\vnU\bSqCm\twR\bUJ\npe\nyd\nYgCy\vKW\tfD\neaoQ\tj_\tBvnM\vID\bTa\nzApl\n]n\bTa\tR{\tfr\n_y\bUg{Xkk\vxD|Ixl\nfyCe\vwB\nLk\vd]\noi\n}h\tQ]\npe\bVwHkOQ\nzk\tAJ\npV\bPv\ny\\\tA{Oi\bSBXA\veE\tjp\nq}\tiDqN\v^R\tm\tiZ\tBr\bVg\noi\n\\X\tU_\nc|\vHV\bTf\tTn\\N\\N\nuBlv\nyu\tTd\bTf\bPL\v]W\tdG\nA`\nw^\ngI\npe\tdw\nz\\ia\bWZ\tcFJm\n{Z\bWO_kDfRR\td\\\bVV\vxsBNtilm\tTd\t]y\vHV\tSo\v|jXX\tA|\vZ^\vGu\bTWM`kF\vhZ\vVK\tdG\vBl\tay\nxUqEnO\bVw\nqICX\ne\tPl\bWO\vLm\tdLuHCm\tdTfn\vwBka\vnU\n@M\nyT\tHv\t\\}Kh\td~Yhk}\neR\td\\\bWI\t|b\tHK\tiD\bTWMY\npl\bQ_\twr\vAx\tHE\bTg\bSqvp\vb\\\bWO\nOl\nsI\nfy\vID\t\\c\n{Z\n^~\npe\nAO\tTT\vxvk_\bWO\v|j\vwB\tQy\ti@\tPl\tHa\tdZk}ra\tUT\vJc\ved\np@\tQN\nd|\tkj\tHkM`\noi\twr\td\\\nlq\no_\nlb\nL[\tacBBBHCm\npl\tIQ\bVK\vxs\n`e\viK\npaOi\tUS\bTp\tfD\nPGkkXA\nz\\\neg\vWh\twRqN\nqS\tcnlo\nxS\n^W\tBU\nt\tHE\tp\\\tfF\tfw\bVV\bW@\tak\vVKls\tVJ\bVV\veE\\o\nyX\nYmM`lL\nd|\nzk\tA{sE\twQXT\nt\tPl\t]y\vwT{pMD\vb\\\tQ]Kj\tJn\nAH\vRb\tBU\tHK\t\\c\nfIm\nqM\n@R\tSo\noiBT\tHv\n_yKh\tBZ\t]i\bUJ\tV{Sr\nbI\vGg\ta_\bTR\nfI\nfl\t[K\tIIS|\vuW\tiI\bWI\nqI\v|jBV\bVg\bWZkF\vx]\bTA\tab\tfr\ti@\tJd\tJd\vps\nAO\bTaxu\tiD\nzk\t|d\t|`\bW[\tlP\tdG\bVV\vw}\vqO\ti[\bQ\bTz\vVF\twNts\tdw\bTv\neS\ngi\tNryS\npe\bVV\bSq\n`m\tyj\tBZ\vWX\bSB\tc\\\nUR\t[J\tc_nM\bWQ\vAx\nMd\tBrui\vxY\bSM\vWc\v|j\vxs\t}Q\tBO\bPL\bWW\tfM\nAO\tPc\veUe^\bTg\nqI\tac\bPv\tcFoQ\tQ\vhZka\nz\\\tiK\tBU\n`k\tCPS|M`\n{I\tS{_O\tBZZiSk\tps\tp\\\nYu\n]s\nxC\bWt\nbD\tkV\vGuyS\nqA\t[r\neKM`\tdZlL\bUg\bTl\nbD\tUS\vb\\\tpV\nccS\\\tct\t`z\bPL\vWs\nA`\neg\bSquECR\vDg\t`W\vz{\vWcSkSk\tbW\bUg\tea\nxZ\tiI\tUX\tVJ\nqn\tS{\vRb\bTQ\nplGt\vuWuj\npF\nqI\tfL\t[I\tiaXO\nyu\vDg\ved\tq{VG\bQka\tVj\tkV\txB\nd|\np@\tQN\tPc\tps]j\tkV\toU\bTp\nzUnB\vB]\ta{\bV@\n]nm`\tcz\tR{m`\bQa\vwT\bSMMYqN\tdj~s\vQ}MY\vMB\tBv\twR\bRg\vQ}\tql\vKC\nrmxuCC\vwB\vvh\tBqXq\npV\ti_ObuE\nbd\nqo\v{i\nC~\tBL\veEuH\bVjEyGz\vzR\v{i\tcf\n{Z\n]nXA\vGu\vnU\thS\vGI\nCc\tHE\bTA\tHBBHCj\nCc\bTF\tHE\nXI\tA{\bQ\tc\\\vmO\vWX\nfH\np@MY\bTF\nlK\tBt\nzU\tTTKm\vwT\npV\ndt\vyI\tVx\tQ\tRg\tTd\nzU\bRS\nLM\twAnM\tTn\ndS\t]g\nLc\vwB\t}t\t[I\tCPkX\vFm\vhZm\ti[\np@\vQ}\vW\t|d\nMO\nMd\tf_\tfD\tcJ\tHz\vRb\tio\tPyY[\nxU\tct\v@@\tww\bPvBMFF\ntbv|\vKm\tBq\tBqKh`o\nZdXU\ti]\t|`\tStB\\\bQ\v_W\tTJ\nqI\t|a\tA{\vuPMD\tPl\nxR\tfL\vws\tc{\td\\\bV`\neg\tHKkc\nd|\bVV\ny\\kc\ti]\bVG\t`V\tss\tI_\tAE\tbs\tdu\nel\tpD\vW\nqslv\bSMZi\vVKia\vQB\tQ\n{Z\bPt\vKl\nlK\nhs\ndS\bVKmf\nd^\tkV\tcO\nc|\bVH\t\\]\bTv\bSq\tmI\vDg\tVJ\tcn\ny\\\bVg\bTv\nyX\bTF\t]]\bTp\noi\nhs\veU\nBf\tdjMr\n|p\t\\g\t]r\bVb{D\nd[XN\tfM\tO\\s_\tcf\tiZXN\vWc\tqv\n`m\tU^oD\nd|\vGg\tdE\vwflou}\nd|oQ\t`iOi\vxD\ndZ\nCxYw\nzk\ntb\ngw\tyj\tB`\nyX\vps\ntC\vpP\vqw\bPu\bPX\tDm\npwNj\tss\taG\vxs\bPt\noLGz\tOk\ti@\ti]eC\tIQ\tii\tdj\v@J\t|duh\bWZ\veU\vnU\bTa\tcCg]\nzkYh\bVK\nLU\np@\ntb\ntR\tCj\vNP\ti@\bP{\n\\}\n{c\nwX\tfL\bVG\tc{\t|`\tAJ\t|C\tfDln\t|d\tbs\nqI{B\vAx\np@\nzk\vRbOs\vWSe^\vD_\tBv\vWd\bVb\vxs\veE\bRw\n]n\n|p\vg|\tfwkc\bTIka\n\\TSp\tju\vps\npeu|\vGr\bVe\tCU]MXU\vxD\bTa\tIQ\vWq\tCU\tam\tdj\bSoSw\vnUCh\tQ]s_\bPt\tfS\bTa\t\\}\n@OYc\tUZ\bTx\npe\vnU\nzU\t|}\tiD\nz\\\bSM\vxDBR\nzQ\tQN]MYh\nLP\vFm\vLXvc\vqlka\tHK\bVb\ntC\nCy\bTv\nuVoQ\t`z\t[I\tB`\vRb\tyj\tsb\vWs\bTl\tkV\ved\nelL\vxN\tm\nJn\tjY\vxD\bVb\bSq\vyu\twL\vXL\bTA\tpg\tAt\tnDXX\twR\npl\nhwyS\nps\tcO\bW[\v|jXN\tsV\tp\\\tBe\nb~\nAJ\n]ek`qN\tdw\tWV\tHE\vEVJz\tid\tB`\tzhE]\tfD\bTgqN\bTa\tjaCv\bSM\nhc\bUet_\tieg]\twQ\nPn\bVB\tjw\bVg\vbE\tBZ\vRH\bP{\tjp\n\\}\ta_\tcC\t|a\vD]\tBZ\ti[\tfD\vxW\no_\td\\\n_D\ntb\t\\c\tAJ\nlKoQlo\vLx\vM@\bWZKn\vpg\nTi\nIv\n|r\v@}JzLmWhk}ln\vxD\n]sgc\vps\tBr\bTW\vBMtZ\nBYDW\tjf\vSWC}\nqo\tdE\tmv\tIQ\bPP\bUblvBC\nzQ\t[I\vgl\nig\bUsBT\vbC\bSq\tsU\tiW\nJn\tSY\tHK\trg\npV\vID\v|jKO\t`S\t|a`vbmglfmujbqnbgqjgavp`bqjmj`jlwjfnslslqrvf`vfmwbfpwbglsvfgfmivfdlp`lmwqbfpw/Mmmlnaqfwjfmfmsfqejonbmfqbbnjdlp`jvgbg`fmwqlbvmrvfsvfgfpgfmwqlsqjnfqsqf`jlpfd/Vmavfmlpuloufqsvmwlppfnbmbkba/Abbdlpwlmvfulpvmjglp`bqolpfrvjslmj/]lpnv`klpbodvmb`lqqfljnbdfmsbqwjqbqqjabnbq/Abklnaqffnsoflufqgbg`bnajlnv`kbpevfqlmsbpbglo/Amfbsbqf`fmvfubp`vqplpfpwbabrvjfqlojaqlp`vbmwlb``fplnjdvfoubqjlp`vbwqlwjfmfpdqvslppfq/Mmfvqlsbnfgjlpeqfmwfb`fq`bgfn/Mplefqwb`l`kfpnlgfoljwbojbofwqbpbod/Vm`lnsqb`vbofpf{jpwf`vfqslpjfmglsqfmpboofdbqujbifpgjmfqlnvq`jbslgq/Msvfpwlgjbqjlsvfaolrvjfqfnbmvfosqlsjl`qjpjp`jfqwlpfdvqlnvfqwfevfmwf`fqqbqdqbmgffef`wlsbqwfpnfgjgbsqlsjbleqf`fwjfqqbf.nbjoubqjbpelqnbpevwvqllaifwlpfdvjqqjfpdlmlqnbpnjpnlp/Vmj`l`bnjmlpjwjlpqby/_mgfajglsqvfabwlofglwfm/Abifp/Vpfpsfql`l`jmblqjdfmwjfmgb`jfmwl`/Mgjykbaobqpfq/Abobwjmbevfqybfpwjoldvfqqbfmwqbq/E{jwlo/_sfybdfmgbu/Agflfujwbqsbdjmbnfwqlpibujfqsbgqfpe/M`jo`bafyb/Mqfbppbojgbfmu/Alibs/_mbavplpajfmfpwf{wlpoofubqsvfgbmevfqwf`ln/Vm`obpfpkvnbmlwfmjglajoablvmjgbgfpw/Mpfgjwbq`qfbgl<X<W=c=k=n<R<V<\\<V<T<W<T=a=n<R<^=m<Y<Y<_<R<S=l<T=n<\\<V<Y=e<Y=o<Z<Y<v<\\<V<]<Y<[<]=g<W<R<Q<T<~=m<Y<S<R<X<A=n<R=n<R<P=k<Y<P<Q<Y=n<W<Y=n=l<\\<[<R<Q<\\<_<X<Y<P<Q<Y<x<W=c<s=l<T<Q<\\=m<Q<T=i=n<Y<P<V=n<R<_<R<X<^<R=n=n<\\<P<M<D<|<P<\\=c<K=n<R<^<\\=m<^<\\<P<Y<P=o<N<\\<V<X<^<\\<Q<\\<P=a=n<T=a=n=o<~<\\<P=n<Y=i<S=l<R=n=o=n<Q<\\<X<X<Q=c<~<R=n=n=l<T<Q<Y<U<~<\\=m<Q<T<P=m<\\<P=n<R=n=l=o<]<r<Q<T<P<T=l<Q<Y<Y<r<r<r<W<T=j=a=n<\\<r<Q<\\<Q<Y<P<X<R<P<P<R<U<X<^<Y<R<Q<R=m=o<X\fHy\fIk\fHU\fId\fHy\fIl\fHT\fIk\fHy\fHR\fHy\fIg\fHx\fH\\\fHF\fH\\\fHD\fIk\fHc\fHy\fHy\fHS\fHA\fIl\fHk\fHT\fHy\fH\\\fHH\fIg\fHU\fIg\fHj\fHF\fHU\fIl\fHC\fHU\fHC\fHR\fHH\fHy\fHI\fHRibdqbm\fHj\fHp\fHp\fIg\fHi\fH@\fHJ\fIg\fH{\fHd\fHp\fHR\fH{\fHc\fHU\fHB\fHk\fHD\fHY\fHU\fHC\fIk\fHI\fIk\fHI\fIl\fHt\fH\\\fHp\fH@\fHJ\fIl\fHy\fHd\fHp\fIl\fHY\fIk\fHD\fHd\fHD\fHc\fHU\fH\\\fHe\fHT\fHB\fIk\fHy\fHB\fHY\fIg\fH^\fIk\fHT\fH@\fHB\fHd\fHJ\fIk\fH\fH\\\fHj\fHB\fH@\fHT\fHA\fH\\\fH@\fHD\fHv\fH^\fHB\fHD\fHj\fH{\fHT\fIl\fH^\fIl4U5h5e4I5h5e5k4\\4K4N4B4]4U4C4C4K5h5e5k4\\5k4Y5d4]4V5f4]5o4K5j5d5h4K4D5f5j4U4]4Z4\\5h5o5k5j4K5f5d5i5n4K5h4U5h5f4K5j4K5h5o5j4A4F5e5n4D5h5d4A4E4K4B4]5m5n4[4U4D4C4]5o5j4I4\\4K5o5i4K4K4A4C4I5h4K5m5f5k4D4U4Z5o5f5m4D4A4G5d5i5j5d5k5d4O5j4K4@4C4K5h5k4K4_5h5i4U5j4C5h5f4_4U4D4]4Y5h5e5i5j4\\4D5k4K4O5j5k5i4G5h5o5j4F4K5h4K4A5f4G5i4Y4]4X4]4A4A5d5h5d5m5f4K4\\4K5h5o5h5i4]4E4K5j4F4K5h5m4O4D5d4B4K4Y4O5j4F4K5j5k4K5h5f4U4Z5d5d5n4C4K4D5j4B5f4]4D5j4F5h5o5i4X4K4M5d5k5f4K4D5d5n4Y4Y5d5i4K4]5n5i4O4A4C5j4A5j4U4C5i4]4O5f4K4A4E5o4F4D4C5d5j5f4@4D5i5j5k4F4A4F4@5k4E4_5j4E5f4F5i5o4]4E4V4^4E5j5m4_4D5f4F5h5h5k5h5j4K4F5h5o5n5h4D5h5i4K4U5j5k4O5d5h4X5f4M5j5d4]4O5i4K5m5f5o4D5o5h4\\4K4F4]4F4D4D4O5j5k5i4_4K5j5o4D5f4U5m5n4C4A4_5j5h5k5i4X4U4]4O5k5h4X5k4]5n4[4]4[5h4Dsqlejofpfquj`fgfebvowkjnpfoegfwbjop`lmwfmwpvsslqwpwbqwfgnfppbdfpv``fppebpkjlm?wjwof=`lvmwqzb``lvmw`qfbwfgpwlqjfpqfpvowpqvmmjmdsql`fpptqjwjmdlaif`wpujpjaoftfo`lnfbqwj`ofvmhmltmmfwtlqh`lnsbmzgzmbnj`aqltpfqsqjub`zsqlaofnPfquj`fqfpsf`wgjpsobzqfrvfpwqfpfquftfapjwfkjpwlqzeqjfmgplswjlmptlqhjmdufqpjlmnjoojlm`kbmmfotjmglt-bggqfppujpjwfgtfbwkfq`lqqf`wsqlgv`wfgjqf`welqtbqgzlv#`bmqfnlufgpvaif`w`lmwqlobq`kjuf`vqqfmwqfbgjmdojaqbqzojnjwfgnbmbdfqevqwkfqpvnnbqznb`kjmfnjmvwfpsqjubwf`lmwf{wsqldqbnpl`jfwzmvnafqptqjwwfmfmbaofgwqjddfqplvq`fpolbgjmdfofnfmwsbqwmfqejmboozsfqef`wnfbmjmdpzpwfnphffsjmd`vowvqf%rvlw8/ilvqmbosqlif`wpvqeb`fp%rvlw8f{sjqfpqfujftpabobm`fFmdojpk@lmwfmwwkqlvdkSofbpf#lsjmjlm`lmwb`wbufqbdfsqjnbqzujoobdfPsbmjpkdboofqzgf`ojmfnffwjmdnjppjlmslsvobqrvbojwznfbpvqfdfmfqbopsf`jfppfppjlmpf`wjlmtqjwfqp`lvmwfqjmjwjboqfslqwpejdvqfpnfnafqpklogjmdgjpsvwffbqojfqf{sqfppgjdjwbosj`wvqfBmlwkfqnbqqjfgwqbeej`ofbgjmd`kbmdfg`fmwqbouj`wlqzjnbdfp,qfbplmppwvgjfpefbwvqfojpwjmdnvpw#afp`kllopUfqpjlmvpvboozfsjplgfsobzjmddqltjmdlaujlvplufqobzsqfpfmwb`wjlmp?,vo=\ttqbssfqboqfbgz`fqwbjmqfbojwzpwlqbdfbmlwkfqgfphwlsleefqfgsbwwfqmvmvpvboGjdjwbo`bsjwboTfapjwfebjovqf`lmmf`wqfgv`fgBmgqljggf`bgfpqfdvobq#%bns8#bmjnbopqfofbpfBvwlnbwdfwwjmdnfwklgpmlwkjmdSlsvobq`bswjlmofwwfqp`bswvqfp`jfm`foj`fmpf`kbmdfpFmdobmg>2%bns8Kjpwlqz#>#mft#@fmwqbovsgbwfgPsf`jboMfwtlqhqfrvjqf`lnnfmwtbqmjmd@loofdfwlloabqqfnbjmpaf`bvpffof`wfgGfvwp`kejmbm`ftlqhfqprvj`hozafwtffmf{b`wozpfwwjmdgjpfbpfPl`jfwztfbslmpf{kjajw%ow8"..@lmwqlo`obppfp`lufqfglvwojmfbwwb`hpgfuj`fp+tjmgltsvqslpfwjwof>!Nlajof#hjoojmdpkltjmdJwbojbmgqlssfgkfbujozfeef`wp.2$^*8\t`lmejqn@vqqfmwbgubm`fpkbqjmdlsfmjmdgqbtjmdajoojlmlqgfqfgDfqnbmzqfobwfg?,elqn=jm`ovgftkfwkfqgfejmfgP`jfm`f`bwboldBqwj`ofavwwlmpobqdfpwvmjelqnilvqmfzpjgfabq@kj`bdlklojgbzDfmfqbosbppbdf/%rvlw8bmjnbwfeffojmdbqqjufgsbppjmdmbwvqboqlvdkoz-\t\tWkf#avw#mlwgfmpjwzAqjwbjm@kjmfpfob`h#lewqjavwfJqfobmg!#gbwb.eb`wlqpqf`fjufwkbw#jpOjaqbqzkvpabmgjm#eb`wbeebjqp@kbqofpqbgj`boaqlvdkwejmgjmdobmgjmd9obmd>!qfwvqm#ofbgfqpsobmmfgsqfnjvnsb`hbdfBnfqj`bFgjwjlm^%rvlw8Nfppbdfmffg#wlubovf>!`lnsof{ollhjmdpwbwjlmafojfufpnboofq.nlajofqf`lqgptbmw#wlhjmg#leEjqfel{zlv#bqfpjnjobqpwvgjfgnb{jnvnkfbgjmdqbsjgoz`ojnbwfhjmdglnfnfqdfgbnlvmwpelvmgfgsjlmffqelqnvobgzmbpwzklt#wl#Pvsslqwqfufmvff`lmlnzQfpvowpaqlwkfqplogjfqobqdfoz`boojmd-%rvlw8B``lvmwFgtbqg#pfdnfmwQlafqw#feelqwpSb`jej`ofbqmfgvs#tjwkkfjdkw9tf#kbufBmdfofpmbwjlmp\\pfbq`kbssojfgb`rvjqfnbppjufdqbmwfg9#ebopfwqfbwfgajddfpwafmfejwgqjujmdPwvgjfpnjmjnvnsfqkbspnlqmjmdpfoojmdjp#vpfgqfufqpfubqjbmw#qlof>!njppjmdb`kjfufsqlnlwfpwvgfmwplnflmff{wqfnfqfpwlqfalwwln9fuloufgboo#wkfpjwfnbsfmdojpktbz#wl##Bvdvpwpznalop@lnsbmznbwwfqpnvpj`bobdbjmpwpfqujmd~*+*8\tsbznfmwwqlvaof`lm`fsw`lnsbqfsbqfmwpsobzfqpqfdjlmpnlmjwlq#$$Wkf#tjmmjmdf{solqfbgbswfgDboofqzsqlgv`fbajojwzfmkbm`f`bqffqp*-#Wkf#`loof`wPfbq`k#bm`jfmwf{jpwfgellwfq#kbmgofqsqjmwfg`lmplofFbpwfqmf{slqwptjmgltp@kbmmfojoofdbomfvwqbopvddfpw\\kfbgfqpjdmjmd-kwno!=pfwwofgtfpwfqm`bvpjmd.tfahjw`objnfgIvpwj`f`kbswfquj`wjnpWklnbp#nlyjoobsqlnjpfsbqwjfpfgjwjlmlvwpjgf9ebopf/kvmgqfgLoznsj`\\avwwlmbvwklqpqfb`kfg`kqlmj`gfnbmgppf`lmgpsqlwf`wbglswfgsqfsbqfmfjwkfqdqfbwozdqfbwfqlufqboojnsqluf`lnnbmgpsf`jbopfbq`k-tlqpkjsevmgjmdwklvdkwkjdkfpwjmpwfbgvwjojwzrvbqwfq@vowvqfwfpwjmd`ofbqozf{slpfgAqltpfqojafqbo~#`bw`kSqlif`wf{bnsofkjgf+*8EolqjgbbmptfqpbooltfgFnsfqlqgfefmpfpfqjlvpeqffglnPfufqbo.avwwlmEvqwkfqlvw#le#">#mvoowqbjmfgGfmnbqhuljg+3*,boo-ipsqfufmwQfrvfpwPwfskfm\t\tTkfm#lapfquf?,k1=\tNlgfqm#sqlujgf!#bow>!alqgfqp-\t\tElq#\t\tNbmz#bqwjpwpsltfqfgsfqelqnej`wjlmwzsf#lenfgj`bowj`hfwplsslpfg@lvm`jotjwmfppivpwj`fDflqdf#Afodjvn---?,b=wtjwwfqmlwbaoztbjwjmdtbqebqf#Lwkfq#qbmhjmdskqbpfpnfmwjlmpvqujufp`klobq?,s=\t#@lvmwqzjdmlqfgolpp#leivpw#bpDflqdjbpwqbmdf?kfbg=?pwlssfg2$^*8\tjpobmgpmlwbaofalqgfq9ojpw#le`bqqjfg233/333?,k0=\t#pfufqboaf`lnfppfof`w#tfggjmd33-kwnonlmbq`klee#wkfwfb`kfqkjdkoz#ajloldzojef#lelq#fufmqjpf#le%qbrvl8sovplmfkvmwjmd+wklvdkGlvdobpiljmjmd`jq`ofpElq#wkfBm`jfmwUjfwmbnufkj`ofpv`k#bp`qzpwboubovf#>Tjmgltpfmilzfgb#pnboobppvnfg?b#jg>!elqfjdm#Boo#qjklt#wkfGjpsobzqfwjqfgkltfufqkjggfm8abwwofppffhjmd`bajmfwtbp#mlwollh#bw`lmgv`wdfw#wkfIbmvbqzkbssfmpwvqmjmdb9klufqLmojmf#Eqfm`k#ob`hjmdwzsj`bof{wqb`wfmfnjfpfufm#jedfmfqbwgf`jgfgbqf#mlw,pfbq`kafojfep.jnbdf9ol`bwfgpwbwj`-oldjm!=`lmufqwujlofmwfmwfqfgejqpw!=`jq`vjwEjmobmg`kfnjpwpkf#tbp23s{8!=bp#pv`kgjujgfg?,psbm=tjoo#afojmf#leb#dqfbwnzpwfqz,jmgf{-eboojmdgvf#wl#qbjotbz`loofdfnlmpwfqgfp`fmwjw#tjwkmv`ofbqIftjpk#sqlwfpwAqjwjpkeoltfqpsqfgj`wqfelqnpavwwlm#tkl#tbpof`wvqfjmpwbmwpvj`jgfdfmfqj`sfqjlgpnbqhfwpPl`jbo#ejpkjmd`lnajmfdqbskj`tjmmfqp?aq#,=?az#wkf#MbwvqboSqjub`z`llhjfplvw`lnfqfploufPtfgjpkaqjfeozSfqpjbmpl#nv`k@fmwvqzgfsj`wp`lovnmpklvpjmdp`qjswpmf{w#wlafbqjmdnbssjmdqfujpfgiRvfqz+.tjgwk9wjwof!=wllowjsPf`wjlmgfpjdmpWvqhjpkzlvmdfq-nbw`k+~*+*8\t\tavqmjmdlsfqbwfgfdqffpplvq`f>Qj`kbqg`olpfozsobpwj`fmwqjfp?,wq=\t`lolq9 vo#jg>!slppfppqloojmdskzpj`pebjojmdf{f`vwf`lmwfpwojmh#wlGfebvow?aq#,=\t9#wqvf/`kbqwfqwlvqjpn`obppj`sql`ffgf{sobjm?,k2=\tlmojmf-<{no#ufkfosjmdgjbnlmgvpf#wkfbjqojmffmg#..=*-bwwq+qfbgfqpklpwjmd eeeeeeqfbojyfUjm`fmwpjdmbop#pq`>!,Sqlgv`wgfpsjwfgjufqpfwfoojmdSvaoj`#kfog#jmIlpfsk#wkfbwqfbeef`wp?pwzof=b#obqdfglfpm$wobwfq/#Fofnfmwebuj`lm`qfbwlqKvmdbqzBjqslqwpff#wkfpl#wkbwNj`kbfoPzpwfnpSqldqbnp/#bmg##tjgwk>f%rvlw8wqbgjmdofew!=\tsfqplmpDlogfm#Beebjqpdqbnnbqelqnjmdgfpwqlzjgfb#le`bpf#lelogfpw#wkjp#jp-pq`#>#`bqwllmqfdjpwq@lnnlmpNvpojnpTkbw#jpjm#nbmznbqhjmdqfufbopJmgffg/frvbooz,pklt\\blvwgllqfp`bsf+Bvpwqjbdfmfwj`pzpwfn/Jm#wkf#pjwwjmdKf#boplJpobmgpB`bgfnz\t\n\n?"..Gbmjfo#ajmgjmdaol`h!=jnslpfgvwjojyfBaqbkbn+f{`fswxtjgwk9svwwjmd*-kwno+#X^8\tGBWBX#)hjw`kfmnlvmwfgb`wvbo#gjbof`wnbjmoz#\\aobmh$jmpwboof{sfqwpje+wzsfJw#bopl%`lsz8#!=Wfqnpalqm#jmLswjlmpfbpwfqmwbohjmd`lm`fqmdbjmfg#lmdljmdivpwjez`qjwj`peb`wlqzjwp#ltmbppbvowjmujwfgobpwjmdkjp#ltmkqfe>!,!#qfo>!gfufols`lm`fqwgjbdqbngloobqp`ovpwfqsks<jg>bo`lklo*8~*+*8vpjmd#b=?psbm=ufppfopqfujuboBggqfppbnbwfvqbmgqljgboofdfgjoomfpptbohjmd`fmwfqprvbojeznbw`kfpvmjejfgf{wjm`wGfefmpfgjfg#jm\t\n?"..#`vpwlnpojmhjmdOjwwof#Allh#lefufmjmdnjm-ip<bqf#wkfhlmwbhwwlgbz$p-kwno!#wbqdfw>tfbqjmdBoo#Qjd8\t~*+*8qbjpjmd#Bopl/#`qv`jbobalvw!=gf`obqf..=\t?p`ejqfel{bp#nv`kbssojfpjmgf{/#p/#avw#wzsf#>#\t\t?"..wltbqgpQf`lqgpSqjubwfElqfjdmSqfnjfq`klj`fpUjqwvboqfwvqmp@lnnfmwSltfqfgjmojmf8slufqwz`kbnafqOjujmd#ulovnfpBmwklmzoldjm!#QfobwfgF`lmlnzqfb`kfp`vwwjmddqbujwzojef#jm@kbswfq.pkbgltMlwbaof?,wg=\t#qfwvqmpwbgjvntjgdfwpubqzjmdwqbufopkfog#aztkl#bqftlqh#jmeb`vowzbmdvobqtkl#kbgbjqslqwwltm#le\t\tPlnf#$`oj`h$`kbqdfphfztlqgjw#tjoo`jwz#le+wkjp*8Bmgqft#vmjrvf#`kf`hfglq#nlqf033s{8#qfwvqm8qpjlm>!sovdjmptjwkjm#kfqpfoePwbwjlmEfgfqboufmwvqfsvaojpkpfmw#wlwfmpjlmb`wqfpp`lnf#wlejmdfqpGvhf#lesflsof/f{soljwtkbw#jpkbqnlmzb#nbilq!9!kwwsjm#kjp#nfmv!=\tnlmwkozleej`fq`lvm`jodbjmjmdfufm#jmPvnnbqzgbwf#leolzbowzejwmfppbmg#tbpfnsfqlqpvsqfnfPf`lmg#kfbqjmdQvppjbmolmdfpwBoafqwbobwfqbopfw#le#pnboo!=-bssfmggl#tjwkefgfqboabmh#leafmfbwkGfpsjwf@bsjwbodqlvmgp*/#bmg#sfq`fmwjw#eqln`olpjmd`lmwbjmJmpwfbgejewffmbp#tfoo-zbkll-qfpslmgejdkwfqlap`vqfqfeof`wlqdbmj`>#Nbwk-fgjwjmdlmojmf#sbggjmdb#tkloflmfqqlqzfbq#lefmg#le#abqqjfqtkfm#jwkfbgfq#klnf#leqfpvnfgqfmbnfgpwqlmd=kfbwjmdqfwbjmp`olvgeqtbz#le#Nbq`k#2hmltjmdjm#sbqwAfwtffmofpplmp`olpfpwujqwvboojmhp!=`qlppfgFMG#..=ebnlvp#btbqgfgOj`fmpfKfbowk#ebjqoz#tfbowkznjmjnboBeqj`bm`lnsfwfobafo!=pjmdjmdebqnfqpAqbpjo*gjp`vppqfsob`fDqfdlqzelmw#`lsvqpvfgbssfbqpnbhf#vsqlvmgfgalwk#leaol`hfgpbt#wkfleej`fp`lolvqpje+gl`vtkfm#kffmelq`fsvpk+evBvdvpw#VWE.;!=Ebmwbpzjm#nlpwjmivqfgVpvboozebqnjmd`olpvqflaif`w#gfefm`fvpf#le#Nfgj`bo?algz=\tfujgfmwaf#vpfghfz@lgfpj{wffmJpobnj` 333333fmwjqf#tjgfoz#b`wjuf#+wzsflelmf#`bm`lolq#>psfbhfqf{wfmgpSkzpj`pwfqqbjm?walgz=evmfqboujftjmdnjggof#`qj`hfwsqlskfwpkjewfggl`wlqpQvppfoo#wbqdfw`lnsb`wbodfaqbpl`jbo.avoh#lenbm#bmg?,wg=\t#kf#ofew*-ubo+*ebopf*8oldj`boabmhjmdklnf#wlmbnjmd#Bqjylmb`qfgjwp*8\t~*8\telvmgfqjm#wvqm@loojmpafelqf#Avw#wkf`kbqdfgWjwof!=@bswbjmpsfoofgdlggfppWbd#..=Bggjmd9avw#tbpQf`fmw#sbwjfmwab`h#jm>ebopf%Ojm`lomtf#hmlt@lvmwfqIvgbjpnp`qjsw#bowfqfg$^*8\t##kbp#wkfvm`ofbqFufmw$/alwk#jmmlw#boo\t\t?"..#sob`jmdkbqg#wl#`fmwfqplqw#le`ojfmwppwqffwpAfqmbqgbppfqwpwfmg#wlebmwbpzgltm#jmkbqalvqEqffglniftfoqz,balvw--pfbq`kofdfmgpjp#nbgfnlgfqm#lmoz#lmlmoz#wljnbdf!#ojmfbq#sbjmwfqbmg#mlwqbqfoz#b`qlmzngfojufqpklqwfq33%bns8bp#nbmztjgwk>!,)#?"X@wjwof#>le#wkf#oltfpw#sj`hfg#fp`bsfgvpfp#lesflsofp#Svaoj`Nbwwkftwb`wj`pgbnbdfgtbz#elqobtp#lefbpz#wl#tjmgltpwqlmd##pjnsof~`bw`k+pfufmwkjmelal{tfmw#wlsbjmwfg`jwjyfmJ#glm$wqfwqfbw-#Plnf#tt-!*8\talnajmdnbjowl9nbgf#jm-#Nbmz#`bqqjfpx~8tjtlqh#lepzmlmzngfefbwpebulqfglswj`bosbdfWqbvmofpp#pfmgjmdofew!=?`lnP`lqBoo#wkfiRvfqz-wlvqjpw@obppj`ebopf!#Tjokfonpvavqapdfmvjmfajpklsp-psojw+dolabo#elooltpalgz#lemlnjmbo@lmwb`wpf`vobqofew#wl`kjfeoz.kjggfm.abmmfq?,oj=\t\t-#Tkfm#jm#alwkgjpnjppF{solqfbotbzp#ujb#wkfpsb/]lotfoebqfqvojmd#bqqbmdf`bswbjmkjp#plmqvof#lekf#wllhjwpfoe/>3%bns8+`boofgpbnsofpwl#nbhf`ln,sbdNbqwjm#Hfmmfgzb``fswpevoo#lekbmgofgAfpjgfp,,..=?,baof#wlwbqdfwpfppfm`fkjn#wl#jwp#az#`lnnlm-njmfqbowl#wbhftbzp#wlp-lqd,obgujpfgsfmbowzpjnsof9je#wkfzOfwwfqpb#pklqwKfqafqwpwqjhfp#dqlvsp-ofmdwkeojdkwplufqobspoltoz#ofppfq#pl`jbo#?,s=\t\n\njw#jmwlqbmhfg#qbwf#levo=\t##bwwfnswsbjq#lenbhf#jwHlmwbhwBmwlmjlkbujmd#qbwjmdp#b`wjufpwqfbnpwqbssfg!*-`pp+klpwjofofbg#wlojwwof#dqlvsp/Sj`wvqf..=\t\t#qltp>!#laif`wjmufqpf?ellwfq@vpwlnU=?_,p`qploujmd@kbnafqpobufqztlvmgfgtkfqfbp">#$vmgelq#boosbqwoz#.qjdkw9Bqbajbmab`hfg#`fmwvqzvmjw#lenlajof.Fvqlsf/jp#klnfqjph#legfpjqfg@ojmwlm`lpw#lebdf#le#af`lnf#mlmf#les%rvlw8Njggof#fbg$*X3@qjwj`ppwvgjlp=%`lsz8dqlvs!=bppfnaonbhjmd#sqfppfgtjgdfw-sp9!#<#qfavjowaz#plnfElqnfq#fgjwlqpgfobzfg@bmlmj`kbg#wkfsvpkjmd`obpp>!avw#bqfsbqwjboAbazolmalwwln#`bqqjfq@lnnbmgjwp#vpfBp#tjwk`lvqpfpb#wkjqggfmlwfpbopl#jmKlvpwlm13s{8!=b``vpfgglvaof#dlbo#leEbnlvp#*-ajmg+sqjfpwp#Lmojmfjm#Ivozpw#(#!d`lmpvowgf`jnbokfosevoqfujufgjp#ufqzq$($jswolpjmd#efnbofpjp#boplpwqjmdpgbzp#lebqqjuboevwvqf#?laif`welq`jmdPwqjmd+!#,=\t\n\nkfqf#jpfm`lgfg-##Wkf#aboollmglmf#az,`lnnlmad`lolqobt#le#Jmgjbmbbuljgfgavw#wkf1s{#0s{irvfqz-bewfq#bsloj`z-nfm#bmgellwfq.>#wqvf8elq#vpfp`qffm-Jmgjbm#jnbdf#>ebnjoz/kwws9,,#%maps8gqjufqpfwfqmbopbnf#bpmlwj`fgujftfqp~*+*8\t#jp#nlqfpfbplmpelqnfq#wkf#mftjp#ivpw`lmpfmw#Pfbq`ktbp#wkftkz#wkfpkjssfgaq=?aq=tjgwk9#kfjdkw>nbgf#le`vjpjmfjp#wkbwb#ufqz#Bgnjqbo#ej{fg8mlqnbo#NjppjlmSqfpp/#lmwbqjl`kbqpfwwqz#wl#jmubgfg>!wqvf!psb`jmdjp#nlpwb#nlqf#wlwboozeboo#le~*8\t##jnnfmpfwjnf#jmpfw#lvwpbwjpezwl#ejmggltm#wlolw#le#Sobzfqpjm#Ivmfrvbmwvnmlw#wkfwjnf#wlgjpwbmwEjmmjpkpq`#>#+pjmdof#kfos#leDfqnbm#obt#bmgobafofgelqfpwp`llhjmdpsb`f!=kfbgfq.tfoo#bpPwbmofzaqjgdfp,dolabo@qlbwjb#Balvw#X3^8\t##jw/#bmgdqlvsfgafjmd#b*xwkqltkf#nbgfojdkwfqfwkj`boEEEEEE!alwwln!ojhf#b#fnsolzpojuf#jmbp#pffmsqjmwfqnlpw#leva.ojmhqfif`wpbmg#vpfjnbdf!=pv``ffgeffgjmdMv`ofbqjmelqnbwl#kfosTlnfm$pMfjwkfqNf{j`bmsqlwfjm?wbaof#az#nbmzkfbowkzobtpvjwgfujpfg-svpk+xpfoofqppjnsoz#Wkqlvdk-`llhjf#Jnbdf+logfq!=vp-ip!=#Pjm`f#vmjufqpobqdfq#lsfm#wl"..#fmgojfp#jm$^*8\t##nbqhfwtkl#jp#+!GLN@lnbmbdfglmf#elqwzsfle#Hjmdglnsqlejwpsqlslpfwl#pklt`fmwfq8nbgf#jwgqfppfgtfqf#jmnj{wvqfsqf`jpfbqjpjmdpq`#>#$nbhf#b#pf`vqfgAbswjpwulwjmd#\t\n\nubq#Nbq`k#1dqft#vs@ojnbwf-qfnlufphjoofgtbz#wkf?,kfbg=eb`f#leb`wjmd#qjdkw!=wl#tlqhqfgv`fpkbp#kbgfqf`wfgpklt+*8b`wjlm>allh#lebm#bqfb>>#!kww?kfbgfq\t?kwno=`lmelqneb`jmd#`llhjf-qfoz#lmklpwfg#-`vpwlnkf#tfmwavw#elqpsqfbg#Ebnjoz#b#nfbmplvw#wkfelqvnp-ellwbdf!=Nlajo@ofnfmwp!#jg>!bp#kjdkjmwfmpf..=?"..efnbof#jp#pffmjnsojfgpfw#wkfb#pwbwfbmg#kjpebpwfpwafpjgfpavwwlm\\alvmgfg!=?jnd#Jmelal{fufmwp/b#zlvmdbmg#bqfMbwjuf#`kfbsfqWjnflvwbmg#kbpfmdjmfptlm#wkf+nlpwozqjdkw9#ejmg#b#.alwwlnSqjm`f#bqfb#lenlqf#lepfbq`k\\mbwvqf/ofdboozsfqjlg/obmg#lelq#tjwkjmgv`fgsqlujmdnjppjofol`boozBdbjmpwwkf#tbzh%rvlw8s{8!=\tsvpkfg#babmglmmvnfqbo@fqwbjmJm#wkjpnlqf#jmlq#plnfmbnf#jpbmg/#jm`qltmfgJPAM#3.`qfbwfpL`wlafqnbz#mlw`fmwfq#obwf#jmGfefm`ffmb`wfgtjpk#wlaqlbgoz`llojmdlmolbg>jw-#Wkfqf`lufqNfnafqpkfjdkw#bppvnfp?kwno=\tsflsof-jm#lmf#>tjmgltellwfq\\b#dllg#qfhobnblwkfqp/wl#wkjp\\`llhjfsbmfo!=Olmglm/gfejmfp`qvpkfgabswjpn`lbpwbopwbwvp#wjwof!#nluf#wlolpw#jmafwwfq#jnsojfpqjuboqzpfqufqp#PzpwfnSfqkbspfp#bmg#`lmwfmgeoltjmdobpwfg#qjpf#jmDfmfpjpujft#leqjpjmd#pffn#wlavw#jm#ab`hjmdkf#tjoodjufm#bdjujmd#`jwjfp-eolt#le#Obwfq#boo#avwKjdktbzlmoz#azpjdm#lekf#glfpgjeefqpabwwfqz%bns8obpjmdofpwkqfbwpjmwfdfqwbhf#lmqfevpfg`boofg#>VP%bnsPff#wkfmbwjufpaz#wkjppzpwfn-kfbg#le9klufq/ofpajbmpvqmbnfbmg#boo`lnnlm,kfbgfq\\\\sbqbnpKbqubqg,sj{fo-qfnlubopl#olmdqlof#leiljmwozphzp`qbVmj`lgfaq#,=\tBwobmwbmv`ofvp@lvmwz/svqfoz#`lvmw!=fbpjoz#avjog#blm`oj`hb#djufmsljmwfqk%rvlw8fufmwp#fopf#x\tgjwjlmpmlt#wkf/#tjwk#nbm#tkllqd,Tfalmf#bmg`buboqzKf#gjfgpfbwwof33/333#xtjmgltkbuf#wlje+tjmgbmg#jwpplofoz#n%rvlw8qfmftfgGfwqljwbnlmdpwfjwkfq#wkfn#jmPfmbwlqVp?,b=?Hjmd#leEqbm`jp.sqlgv`kf#vpfgbqw#bmgkjn#bmgvpfg#azp`lqjmdbw#klnfwl#kbufqfobwfpjajojwzeb`wjlmAveebolojmh!=?tkbw#kfeqff#wl@jwz#le`lnf#jmpf`wlqp`lvmwfglmf#gbzmfqulvpprvbqf#~8je+dljm#tkbwjnd!#bojp#lmozpfbq`k,wvfpgbzollpfozPlolnlmpf{vbo#.#?b#kqnfgjvn!GL#MLW#Eqbm`f/tjwk#b#tbq#bmgpf`lmg#wbhf#b#=\t\t\tnbqhfw-kjdktbzglmf#jm`wjujwz!obpw!=laojdfgqjpf#wl!vmgfejnbgf#wl#Fbqoz#sqbjpfgjm#jwp#elq#kjpbwkofwfIvsjwfqZbkll"#wfqnfg#pl#nbmzqfbooz#p-#Wkf#b#tlnbm<ubovf>gjqf`w#qjdkw!#aj`z`ofb`jmd>!gbz#bmgpwbwjmdQbwkfq/kjdkfq#Leej`f#bqf#mltwjnfp/#tkfm#b#sbz#elqlm#wkjp.ojmh!=8alqgfqbqlvmg#bmmvbo#wkf#Mftsvw#wkf-`ln!#wbhjm#wlb#aqjfe+jm#wkfdqlvsp-8#tjgwkfmyznfppjnsof#jm#obwfxqfwvqmwkfqbszb#sljmwabmmjmdjmhp!=\t+*8!#qfb#sob`f_v330@bbalvw#bwq=\t\n\n``lvmw#djufp#b?P@QJSWQbjotbzwkfnfp,wlloal{AzJg+!{kvnbmp/tbw`kfpjm#plnf#je#+tj`lnjmd#elqnbwp#Vmgfq#avw#kbpkbmgfg#nbgf#azwkbm#jmefbq#legfmlwfg,jeqbnfofew#jmulowbdfjm#fb`kb%rvlw8abpf#leJm#nbmzvmgfqdlqfdjnfpb`wjlm#?,s=\t?vpwlnUb8%dw8?,jnslqwplq#wkbwnlpwoz#%bns8qf#pjyf>!?,b=?,kb#`obppsbppjufKlpw#>#TkfwkfqefqwjofUbqjlvp>X^8+ev`bnfqbp,=?,wg=b`wp#bpJm#plnf=\t\t?"lqdbmjp#?aq#,=Afjijmd`bwbo/Lgfvwp`kfvqlsfvfvphbqbdbfjodfpufmphbfpsb/]bnfmpbifvpvbqjlwqbabiln/E{j`ls/Mdjmbpjfnsqfpjpwfnbl`wvaqfgvqbmwfb/]bgjqfnsqfpbnlnfmwlmvfpwqlsqjnfqbwqbu/Epdqb`jbpmvfpwqbsql`fplfpwbglp`bojgbgsfqplmbm/Vnfqlb`vfqgln/Vpj`bnjfnaqllefqwbpbodvmlpsb/Apfpfifnsolgfqf`klbgfn/Mpsqjubglbdqfdbqfmob`fpslpjaofklwfofppfujoobsqjnfql/Vowjnlfufmwlpbq`kjul`vowvqbnvifqfpfmwqbgbbmvm`jlfnabqdlnfq`bgldqbmgfpfpwvgjlnfilqfpefaqfqlgjpf/]lwvqjpnl`/_gjdlslqwbgbfpsb`jlebnjojbbmwlmjlsfqnjwfdvbqgbqbodvmbpsqf`jlpbodvjfmpfmwjglujpjwbpw/Awvol`lml`fqpfdvmgl`lmpfileqbm`jbnjmvwlppfdvmgbwfmfnlpfef`wlpn/Mobdbpfpj/_mqfujpwbdqbmbgb`lnsqbqjmdqfpldbq`/Abb``j/_mf`vbglqrvjfmfpjm`ovplgfafq/Mnbwfqjbklnaqfpnvfpwqbslgq/Abnb/]bmb/Vowjnbfpwbnlplej`jbowbnajfmmjmd/Vmpbovglpslgfnlpnfilqbqslpjwjlmavpjmfppklnfsbdfpf`vqjwzobmdvbdfpwbmgbqg`bnsbjdmefbwvqfp`bwfdlqzf{wfqmbo`kjogqfmqfpfqufgqfpfbq`kf{`kbmdfebulqjwfwfnsobwfnjojwbqzjmgvpwqzpfquj`fpnbwfqjbosqlgv`wpy.jmgf{9`lnnfmwpplewtbqf`lnsofwf`bofmgbqsobwelqnbqwj`ofpqfrvjqfgnlufnfmwrvfpwjlmavjogjmdslojwj`pslppjaofqfojdjlmskzpj`boeffgab`hqfdjpwfqsj`wvqfpgjpbaofgsqlwl`lobvgjfm`fpfwwjmdpb`wjujwzfofnfmwpofbqmjmdbmzwkjmdbapwqb`wsqldqfpplufqujftnbdbyjmff`lmlnj`wqbjmjmdsqfppvqfubqjlvp#?pwqlmd=sqlsfqwzpklssjmdwldfwkfqbgubm`fgafkbujlqgltmolbgefbwvqfgellwaboopfof`wfgObmdvbdfgjpwbm`fqfnfnafqwqb`hjmdsbpptlqgnlgjejfgpwvgfmwpgjqf`wozejdkwjmdmlqwkfqmgbwbabpfefpwjuboaqfbhjmdol`bwjlmjmwfqmfwgqlsgltmsqb`wj`ffujgfm`fevm`wjlmnbqqjbdfqfpslmpfsqlaofnpmfdbwjufsqldqbnpbmbozpjpqfofbpfgabmmfq!=svq`kbpfsloj`jfpqfdjlmbo`qfbwjufbqdvnfmwallhnbqhqfefqqfq`kfnj`bogjujpjlm`booab`hpfsbqbwfsqlif`wp`lmeoj`wkbqgtbqfjmwfqfpwgfojufqznlvmwbjmlawbjmfg>#ebopf8elq+ubq#b``fswfg`bsb`jwz`lnsvwfqjgfmwjwzbjq`qbewfnsolzfgsqlslpfgglnfpwj`jm`ovgfpsqlujgfgklpsjwboufqwj`bo`loobspfbssqlb`ksbqwmfqpoldl!=?bgbvdkwfqbvwklq!#`vowvqboebnjojfp,jnbdfp,bppfnaozsltfqevowfb`kjmdejmjpkfggjpwqj`w`qjwj`bo`dj.ajm,svqslpfpqfrvjqfpfof`wjlmaf`lnjmdsqlujgfpb`bgfnj`f{fq`jpfb`wvbooznfgj`jmf`lmpwbmwb``jgfmwNbdbyjmfgl`vnfmwpwbqwjmdalwwln!=lapfqufg9#%rvlw8f{wfmgfgsqfujlvpPlewtbqf`vpwlnfqgf`jpjlmpwqfmdwkgfwbjofgpojdkwozsobmmjmdwf{wbqfb`vqqfm`zfufqzlmfpwqbjdkwwqbmpefqslpjwjufsqlgv`fgkfqjwbdfpkjssjmdbaplovwfqf`fjufgqfofubmwavwwlm!#ujlofm`fbmztkfqfafmfejwpobvm`kfgqf`fmwozboojbm`felooltfgnvowjsofavoofwjmjm`ovgfgl``vqqfgjmwfqmbo\'+wkjp*-qfsvaoj`=?wq=?wg`lmdqfppqf`lqgfgvowjnbwfplovwjlm?vo#jg>!gjp`lufqKlnf?,b=tfapjwfpmfwtlqhpbowklvdkfmwjqfoznfnlqjbonfppbdfp`lmwjmvfb`wjuf!=plnftkbwuj`wlqjbTfpwfqm##wjwof>!Ol`bwjlm`lmwqb`wujpjwlqpGltmolbgtjwklvw#qjdkw!=\tnfbpvqfptjgwk#>#ubqjbaofjmuloufgujqdjmjbmlqnboozkbssfmfgb``lvmwppwbmgjmdmbwjlmboQfdjpwfqsqfsbqfg`lmwqlopb``vqbwfajqwkgbzpwqbwfdzleej`jbodqbskj`p`qjnjmboslppjaoz`lmpvnfqSfqplmbopsfbhjmdubojgbwfb`kjfufg-isd!#,=nb`kjmfp?,k1=\t##hfztlqgpeqjfmgozaqlwkfqp`lnajmfglqjdjmbo`lnslpfgf{sf`wfgbgfrvbwfsbhjpwbmeloolt!#ubovbaof?,obafo=qfobwjufaqjmdjmdjm`qfbpfdlufqmlqsovdjmp,Ojpw#le#Kfbgfq!=!#mbnf>!#+%rvlw8dqbgvbwf?,kfbg=\t`lnnfq`fnbobzpjbgjqf`wlqnbjmwbjm8kfjdkw9p`kfgvof`kbmdjmdab`h#wl#`bwkloj`sbwwfqmp`lolq9# dqfbwfpwpvssojfpqfojbaof?,vo=\t\n\n?pfof`w#`jwjyfmp`olwkjmdtbw`kjmd?oj#jg>!psf`jej``bqqzjmdpfmwfm`f?`fmwfq=`lmwqbpwwkjmhjmd`bw`k+f*plvwkfqmNj`kbfo#nfq`kbmw`bqlvpfosbggjmd9jmwfqjlq-psojw+!ojybwjlmL`wlafq#*xqfwvqmjnsqlufg..%dw8\t\t`lufqbdf`kbjqnbm-smd!#,=pvaif`wpQj`kbqg#tkbwfufqsqlabaozqf`lufqzabpfabooivgdnfmw`lmmf`w--`pp!#,=#tfapjwfqfslqwfggfebvow!,=?,b=\tfof`wqj`p`lwobmg`qfbwjlmrvbmwjwz-#JPAM#3gjg#mlw#jmpwbm`f.pfbq`k.!#obmd>!psfbhfqp@lnsvwfq`lmwbjmpbq`kjufpnjmjpwfqqfb`wjlmgjp`lvmwJwbojbml`qjwfqjbpwqlmdoz9#$kwws9$p`qjsw$`lufqjmdleefqjmdbssfbqfgAqjwjpk#jgfmwjezEb`fallhmvnfqlvpufkj`ofp`lm`fqmpBnfqj`bmkbmgojmdgju#jg>!Tjoojbn#sqlujgfq\\`lmwfmwb``vqb`zpf`wjlm#bmgfqplmeof{jaof@bwfdlqzobtqfm`f?p`qjsw=obzlvw>!bssqlufg#nb{jnvnkfbgfq!=?,wbaof=Pfquj`fpkbnjowlm`vqqfmw#`bmbgjbm`kbmmfop,wkfnfp,,bqwj`oflswjlmboslqwvdboubovf>!!jmwfqubotjqfofppfmwjwofgbdfm`jfpPfbq`k!#nfbpvqfgwklvpbmgpsfmgjmd%kfoojs8mft#Gbwf!#pjyf>!sbdfMbnfnjggof!#!#,=?,b=kjggfm!=pfrvfm`fsfqplmbolufqeoltlsjmjlmpjoojmljpojmhp!=\t\n?wjwof=ufqpjlmppbwvqgbzwfqnjmbojwfnsqlsfmdjmffqpf`wjlmpgfpjdmfqsqlslpbo>!ebopf!Fpsb/]loqfofbpfppvanjw!#fq%rvlw8bggjwjlmpznswlnplqjfmwfgqfplvq`fqjdkw!=?sofbpvqfpwbwjlmpkjpwlqz-ofbujmd##alqgfq>`lmwfmwp`fmwfq!=-\t\tPlnf#gjqf`wfgpvjwbaofavodbqjb-pklt+*8gfpjdmfgDfmfqbo#`lm`fswpF{bnsofptjoojbnpLqjdjmbo!=?psbm=pfbq`k!=lsfqbwlqqfrvfpwpb#%rvlw8booltjmdGl`vnfmwqfujpjlm-#\t\tWkf#zlvqpfoe@lmwb`w#nj`kjdbmFmdojpk#`lovnajbsqjlqjwzsqjmwjmdgqjmhjmdeb`jojwzqfwvqmfg@lmwfmw#leej`fqpQvppjbm#dfmfqbwf.;;6:.2!jmgj`bwfebnjojbq#rvbojwznbqdjm93#`lmwfmwujftslqw`lmwb`wp.wjwof!=slqwbaof-ofmdwk#fojdjaofjmuloufpbwobmwj`lmolbg>!gfebvow-pvssojfgsbznfmwpdolppbqz\t\tBewfq#dvjgbm`f?,wg=?wgfm`lgjmdnjggof!=`bnf#wl#gjpsobzpp`lwwjpkilmbwkbmnbilqjwztjgdfwp-`ojmj`bowkbjobmgwfb`kfqp?kfbg=\t\nbeef`wfgpvsslqwpsljmwfq8wlPwqjmd?,pnboo=lhobklnbtjoo#af#jmufpwlq3!#bow>!klojgbzpQfplvq`foj`fmpfg#+tkj`k#-#Bewfq#`lmpjgfqujpjwjmdf{solqfqsqjnbqz#pfbq`k!#bmgqljg!rvj`hoz#nffwjmdpfpwjnbwf8qfwvqm#8`lolq9 #kfjdkw>bssqlubo/#%rvlw8#`kf`hfg-njm-ip!nbdmfwj`=?,b=?,kelqf`bpw-#Tkjof#wkvqpgbzgufqwjpf%fb`vwf8kbp@obppfubovbwflqgfqjmdf{jpwjmdsbwjfmwp#Lmojmf#`lolqbglLswjlmp!`bnsafoo?"..#fmg?,psbm=??aq#,=\t\\slsvspp`jfm`fp/%rvlw8#rvbojwz#Tjmgltp#bppjdmfgkfjdkw9#?a#`obppof%rvlw8#ubovf>!#@lnsbmzf{bnsofp?jeqbnf#afojfufpsqfpfmwpnbqpkboosbqw#le#sqlsfqoz*-\t\tWkf#wb{lmlnznv`k#le#?,psbm=\t!#gbwb.pqwvdv/Fpp`qlooWl#sqlif`w?kfbg=\tbwwlqmfzfnskbpjppslmplqpebm`zal{tlqog$p#tjogojef`kf`hfg>pfppjlmpsqldqbnns{8elmw.#Sqlif`wilvqmbopafojfufgub`bwjlmwklnsplmojdkwjmdbmg#wkf#psf`jbo#alqgfq>3`kf`hjmd?,walgz=?avwwlm#@lnsofwf`ofbqej{\t?kfbg=\tbqwj`of#?pf`wjlmejmgjmdpqlof#jm#slsvobq##L`wlafqtfapjwf#f{slpvqfvpfg#wl##`kbmdfplsfqbwfg`oj`hjmdfmwfqjmd`lnnbmgpjmelqnfg#mvnafqp##?,gju=`qfbwjmdlmPvanjwnbqzobmg`loofdfpbmbozwj`ojpwjmdp`lmwb`w-olddfgJmbgujplqzpjaojmdp`lmwfmw!p%rvlw8*p-#Wkjp#sb`hbdfp`kf`hal{pvddfpwpsqfdmbmwwlnlqqltpsb`jmd>j`lm-smdibsbmfpf`lgfabpfavwwlm!=dbnaojmdpv`k#bp#/#tkjof#?,psbm=#njpplvqjpslqwjmdwls92s{#-?,psbm=wfmpjlmptjgwk>!1obyzolbgmlufnafqvpfg#jm#kfjdkw>!`qjsw!=\t%maps8?,?wq=?wg#kfjdkw91,sqlgv`w`lvmwqz#jm`ovgf#ellwfq!#%ow8"..#wjwof!=?,irvfqz-?,elqn=\t+\vBl\bQ*+\vUmGx*kqubwphjjwbojbmlqln/Nm(ow/Pqh/Kf4K4]4C5dwbnaj/Emmlwj`jbpnfmpbifpsfqplmbpgfqf`klpmb`jlmbopfquj`jl`lmwb`wlvpvbqjlpsqldqbnbdlajfqmlfnsqfpbpbmvm`jlpubofm`jb`lolnajbgfpsv/Epgfslqwfpsqlzf`wlsqlgv`wls/Vaoj`lmlplwqlpkjpwlqjbsqfpfmwfnjoolmfpnfgjbmwfsqfdvmwbbmwfqjlqqf`vqplpsqlaofnbpbmwjbdlmvfpwqlplsjmj/_mjnsqjnjqnjfmwqbpbn/Eqj`bufmgfglqpl`jfgbgqfpsf`wlqfbojybqqfdjpwqlsbobaqbpjmwfq/Epfmwlm`fpfpsf`jbonjfnaqlpqfbojgbg`/_qglabybqbdlybs/Mdjmbppl`jbofpaolrvfbqdfpwj/_mborvjofqpjpwfnbp`jfm`jbp`lnsofwlufqpj/_m`lnsofwbfpwvgjlps/Vaoj`blaifwjulboj`bmwfavp`bglq`bmwjgbgfmwqbgbpb``jlmfpbq`kjulppvsfqjlqnbzlq/Abbofnbmjbevm`j/_m/Vowjnlpkb`jfmglbrvfoolpfgj`j/_mefqmbmglbnajfmwfeb`fallhmvfpwqbp`ojfmwfpsql`fplpabpwbmwfsqfpfmwbqfslqwbq`lmdqfplsvaoj`bq`lnfq`jl`lmwqbwli/_ufmfpgjpwqjwlw/E`mj`b`lmivmwlfmfqd/Abwqbabibqbpwvqjbpqf`jfmwfvwjojybqalofw/Ampboubglq`lqqf`wbwqbabilpsqjnfqlpmfdl`jlpojafqwbggfwboofpsbmwboobsq/_{jnlbonfq/Abbmjnbofprvj/Emfp`lqby/_mpf``j/_mavp`bmglls`jlmfpf{wfqjlq`lm`fswlwlgbu/Abdbofq/Abfp`qjajqnfgj`jmboj`fm`jb`lmpvowbbpsf`wlp`q/Awj`bg/_obqfpivpwj`jbgfafq/Mmsfq/Alglmf`fpjwbnbmwfmfqsfrvf/]lqf`jajgbwqjavmbowfmfqjef`bm`j/_m`bmbqjbpgfp`bqdbgjufqplpnboolq`bqfrvjfqfw/E`mj`lgfafq/Abujujfmgbejmbmybpbgfobmwfevm`jlmb`lmpfilpgje/A`jo`jvgbgfpbmwjdvbpbubmybgbw/Eqnjmlvmjgbgfpp/Mm`kfy`bnsb/]bplewlmj`qfujpwbp`lmwjfmfpf`wlqfpnlnfmwlpeb`vowbg`q/Egjwlgjufqpbppvsvfpwleb`wlqfppfdvmglpsfrvf/]b<_<R<X<\\<Y=m<W<T<Y=m=n=`<]=g<W<R<]=g=n=`=a=n<R<P<y=m<W<T=n<R<_<R<P<Y<Q=c<^=m<Y=i=a=n<R<U<X<\\<Z<Y<]=g<W<T<_<R<X=o<X<Y<Q=`=a=n<R=n<]=g<W<\\=m<Y<]=c<R<X<T<Q=m<Y<]<Y<Q<\\<X<R=m<\\<U=n=h<R=n<R<Q<Y<_<R=m<^<R<T=m<^<R<U<T<_=l=g=n<R<Z<Y<^=m<Y<P=m<^<R=b<W<T=d=`=a=n<T=i<S<R<V<\\<X<Q<Y<U<X<R<P<\\<P<T=l<\\<W<T<]<R=n<Y<P=o=i<R=n=c<X<^=o=i=m<Y=n<T<W=b<X<T<X<Y<W<R<P<T=l<Y=n<Y<]=c=m<^<R<Y<^<T<X<Y=k<Y<_<R=a=n<T<P=m=k<Y=n=n<Y<P=g=j<Y<Q=g=m=n<\\<W<^<Y<X=`=n<Y<P<Y<^<R<X=g=n<Y<]<Y<^=g=d<Y<Q<\\<P<T=n<T<S<\\=n<R<P=o<S=l<\\<^<W<T=j<\\<R<X<Q<\\<_<R<X=g<[<Q<\\=b<P<R<_=o<X=l=o<_<^=m<Y<U<T<X<Y=n<V<T<Q<R<R<X<Q<R<X<Y<W<\\<X<Y<W<Y=m=l<R<V<T=b<Q=c<^<Y=m=`<y=m=n=`=l<\\<[<\\<Q<\\=d<T4K5h5h5k4K5h4F5f4@5i5f4U4B4K4Y4E4K5h4\\5f4U5h5f5k4@4C5f4C4K5h4N5j4K5h4]4C4F4A5o5i4Y5m4A4E5o4K5j4F4K5h5h5f5f5o5d5j4X4D5o4E5m5f5k4K4D5j4K4F4A5d4K4M4O5o4G4]4B5h4K5h4K5h4A4D4C5h5f5h4C4]5d4_4K4Z4V4[4F5o5d5j5k5j4K5o4_4K4A4E5j4K4C5f4K5h4[4D4U5h5f5o4X5o4]4K5f5i5o5j5i5j5k4K4X4]5o4E4]4J5f4_5j4X5f4[5i4K4\\4K4K5h5m5j4X4D4K4D4F4U4D4]4]4A5i4E5o4K5m4E5f5n5d5h5i4]5o4^5o5h5i4E4O4A5i4C5n5h4D5f5f4U5j5f4Y5d4]4E4[4]5f5n4X4K4]5o4@5d4K5h4O4B4]5e5i4U5j4K4K4D4A4G4U4]5d4Z4D4X5o5h5i4_4@5h4D5j4K5j4B4K5h4C5o4F4K4D5o5h5f4E4D4C5d5j4O5f4Z4K5f5d4@4C5m4]5f5n5o4F4D4F4O5m4Z5h5i4[4D4B4K5o4G4]4D4K4]5o4K5m4Z5h4K4A5h5e5j5m4_5k4O5f4K5i4]4C5d4C4O5j5k4K4C5f5j4K4K5h4K5j5i4U4]4Z4F4U5h5i4C4K4B5h5i5i5o5j\0\0\v\n\t\b\r\f\f\r\b\t\n\v\0\v\v\v\v\0qfplvq`fp`lvmwqjfprvfpwjlmpfrvjsnfmw`lnnvmjwzbubjobaofkjdkojdkwGWG,{kwnonbqhfwjmdhmltofgdfplnfwkjmd`lmwbjmfqgjqf`wjlmpvap`qjafbgufqwjpf`kbqb`wfq!#ubovf>!?,pfof`w=Bvpwqbojb!#`obpp>!pjwvbwjlmbvwklqjwzelooltjmdsqjnbqjozlsfqbwjlm`kboofmdfgfufolsfgbmlmznlvpevm`wjlm#evm`wjlmp`lnsbmjfppwqv`wvqfbdqffnfmw!#wjwof>!slwfmwjbofgv`bwjlmbqdvnfmwppf`lmgbqz`lszqjdkwobmdvbdfpf{`ovpjuf`lmgjwjlm?,elqn=\tpwbwfnfmwbwwfmwjlmAjldqbskz~#fopf#x\tplovwjlmptkfm#wkf#Bmbozwj`pwfnsobwfpgbmdfqlvppbwfoojwfgl`vnfmwpsvaojpkfqjnslqwbmwsqlwlwzsfjmeovfm`f%qbrvl8?,feef`wjufdfmfqboozwqbmpelqnafbvwjevowqbmpslqwlqdbmjyfgsvaojpkfgsqlnjmfmwvmwjo#wkfwkvnambjoMbwjlmbo#-el`vp+*8lufq#wkf#njdqbwjlmbmmlvm`fgellwfq!=\tf{`fswjlmofpp#wkbmf{sfmpjufelqnbwjlmeqbnftlqhwfqqjwlqzmgj`bwjlm`vqqfmwoz`obppMbnf`qjwj`jpnwqbgjwjlmfopftkfqfBof{bmgfqbssljmwfgnbwfqjbopaqlbg`bpwnfmwjlmfgbeejojbwf?,lswjlm=wqfbwnfmwgjeefqfmw,gfebvow-Sqfpjgfmwlm`oj`h>!ajldqbskzlwkfqtjpfsfqnbmfmwEqbm/KbjpKlooztllgf{sbmpjlmpwbmgbqgp?,pwzof=\tqfgv`wjlmGf`fnafq#sqfefqqfg@bnaqjgdflsslmfmwpAvpjmfpp#`lmevpjlm=\t?wjwof=sqfpfmwfgf{sobjmfgglfp#mlw#tlqogtjgfjmwfqeb`fslpjwjlmpmftpsbsfq?,wbaof=\tnlvmwbjmpojhf#wkf#fppfmwjboejmbm`jbopfof`wjlmb`wjlm>!,babmglmfgFgv`bwjlmsbqpfJmw+pwbajojwzvmbaof#wl?,wjwof=\tqfobwjlmpMlwf#wkbwfeej`jfmwsfqelqnfgwtl#zfbqpPjm`f#wkfwkfqfelqftqbssfq!=bowfqmbwfjm`qfbpfgAbwwof#lesfq`fjufgwqzjmd#wlmf`fppbqzslqwqbzfgfof`wjlmpFojybafwk?,jeqbnf=gjp`lufqzjmpvqbm`fp-ofmdwk8ofdfmgbqzDfldqbskz`bmgjgbwf`lqslqbwfplnfwjnfppfquj`fp-jmkfqjwfg?,pwqlmd=@lnnvmjwzqfojdjlvpol`bwjlmp@lnnjwwffavjogjmdpwkf#tlqogml#olmdfqafdjmmjmdqfefqfm`f`bmmlw#afeqfrvfm`zwzsj`boozjmwl#wkf#qfobwjuf8qf`lqgjmdsqfpjgfmwjmjwjboozwf`kmjrvfwkf#lwkfqjw#`bm#aff{jpwfm`fvmgfqojmfwkjp#wjnfwfofsklmfjwfnp`lsfsqb`wj`fpbgubmwbdf*8qfwvqm#Elq#lwkfqsqlujgjmdgfnl`qb`zalwk#wkf#f{wfmpjufpveefqjmdpvsslqwfg`lnsvwfqp#evm`wjlmsqb`wj`bopbjg#wkbwjw#nbz#afFmdojpk?,eqln#wkf#p`kfgvofggltmolbgp?,obafo=\tpvpsf`wfgnbqdjm9#3psjqjwvbo?,kfbg=\t\tnj`qlplewdqbgvboozgjp`vppfgkf#af`bnff{f`vwjufirvfqz-ipklvpfklog`lmejqnfgsvq`kbpfgojwfqboozgfpwqlzfgvs#wl#wkfubqjbwjlmqfnbjmjmdjw#jp#mlw`fmwvqjfpIbsbmfpf#bnlmd#wkf`lnsofwfgbodlqjwknjmwfqfpwpqfafoojlmvmgfejmfgfm`lvqbdfqfpjybaofjmuloujmdpfmpjwjufvmjufqpbosqlujpjlm+bowklvdkefbwvqjmd`lmgv`wfg*/#tkj`k#`lmwjmvfg.kfbgfq!=Efaqvbqz#mvnfqlvp#lufqeolt9`lnslmfmweqbdnfmwpf{`foofmw`lopsbm>!wf`kmj`bomfbq#wkf#Bgubm`fg#plvq`f#lef{sqfppfgKlmd#Hlmd#Eb`fallhnvowjsof#nf`kbmjpnfofubwjlmleefmpjuf?,elqn=\t\npslmplqfggl`vnfmw-lq#%rvlw8wkfqf#bqfwklpf#tklnlufnfmwpsql`fppfpgjeej`vowpvanjwwfgqf`lnnfmg`lmujm`fgsqlnlwjmd!#tjgwk>!-qfsob`f+`obppj`bo`lbojwjlmkjp#ejqpwgf`jpjlmpbppjpwbmwjmgj`bwfgfulovwjlm.tqbssfq!fmlvdk#wlbolmd#wkfgfojufqfg..=\t?"..Bnfqj`bm#sqlwf`wfgMlufnafq#?,pwzof=?evqmjwvqfJmwfqmfw##lmaovq>!pvpsfmgfgqf`jsjfmwabpfg#lm#Nlqflufq/balojpkfg`loof`wfgtfqf#nbgffnlwjlmbofnfqdfm`zmbqqbwjufbgul`bwfps{8alqgfq`lnnjwwfggjq>!owq!fnsolzffpqfpfbq`k-#pfof`wfgpv``fpplq`vpwlnfqpgjpsobzfgPfswfnafqbgg@obpp+Eb`fallh#pvddfpwfgbmg#obwfqlsfqbwjmdfobalqbwfPlnfwjnfpJmpwjwvwf`fqwbjmozjmpwboofgelooltfqpIfqvpbofnwkfz#kbuf`lnsvwjmddfmfqbwfgsqlujm`fpdvbqbmwffbqajwqbqzqf`ldmjyftbmwfg#wls{8tjgwk9wkflqz#leafkbujlvqTkjof#wkffpwjnbwfgafdbm#wl#jw#af`bnfnbdmjwvgfnvpw#kbufnlqf#wkbmGjqf`wlqzf{wfmpjlmpf`qfwbqzmbwvqboozl``vqqjmdubqjbaofpdjufm#wkfsobwelqn-?,obafo=?ebjofg#wl`lnslvmgphjmgp#le#pl`jfwjfpbolmdpjgf#..%dw8\t\tplvwktfpwwkf#qjdkwqbgjbwjlmnbz#kbuf#vmfp`bsf+pslhfm#jm!#kqfe>!,sqldqbnnflmoz#wkf#`lnf#eqlngjqf`wlqzavqjfg#jmb#pjnjobqwkfz#tfqf?,elmw=?,Mlqtfdjbmpsf`jejfgsqlgv`jmdsbppfmdfq+mft#Gbwfwfnslqbqzej`wjlmboBewfq#wkffrvbwjlmpgltmolbg-qfdvobqozgfufolsfqbaluf#wkfojmhfg#wlskfmlnfmbsfqjlg#lewllowjs!=pvapwbm`fbvwlnbwj`bpsf`w#leBnlmd#wkf`lmmf`wfgfpwjnbwfpBjq#Elq`fpzpwfn#lelaif`wjufjnnfgjbwfnbhjmd#jwsbjmwjmdp`lmrvfqfgbqf#pwjoosql`fgvqfdqltwk#lekfbgfg#azFvqlsfbm#gjujpjlmpnlof`vofpeqbm`kjpfjmwfmwjlmbwwqb`wfg`kjogkllgbopl#vpfggfgj`bwfgpjmdbslqfgfdqff#leebwkfq#le`lmeoj`wp?,b=?,s=\t`bnf#eqlntfqf#vpfgmlwf#wkbwqf`fjujmdF{f`vwjuffufm#nlqfb``fpp#wl`lnnbmgfqSlojwj`bonvpj`jbmpgfoj`jlvpsqjplmfqpbgufmw#leVWE.;!#,=?"X@GBWBX!=@lmwb`wPlvwkfqm#ad`lolq>!pfqjfp#le-#Jw#tbp#jm#Fvqlsfsfqnjwwfgubojgbwf-bssfbqjmdleej`jboppfqjlvpoz.obmdvbdfjmjwjbwfgf{wfmgjmdolmd.wfqnjmeobwjlmpv`k#wkbwdfw@llhjfnbqhfg#az?,avwwlm=jnsofnfmwavw#jw#jpjm`qfbpfpgltm#wkf#qfrvjqjmdgfsfmgfmw..=\t?"..#jmwfqujftTjwk#wkf#`lsjfp#le`lmpfmpvptbp#avjowUfmfyvfob+elqnfqozwkf#pwbwfsfqplmmfopwqbwfdj`ebulvq#lejmufmwjlmTjhjsfgjb`lmwjmfmwujqwvbooztkj`k#tbpsqjm`jsof@lnsofwf#jgfmwj`bopklt#wkbwsqjnjwjufbtbz#eqlnnlof`vobqsqf`jpfozgjpploufgVmgfq#wkfufqpjlm>!=%maps8?,Jw#jp#wkf#Wkjp#jp#tjoo#kbuflqdbmjpnpplnf#wjnfEqjfgqj`ktbp#ejqpwwkf#lmoz#eb`w#wkbwelqn#jg>!sqf`fgjmdWf`kmj`boskzpj`jpwl``vqp#jmmbujdbwlqpf`wjlm!=psbm#jg>!plvdkw#wlafolt#wkfpvqujujmd~?,pwzof=kjp#gfbwkbp#jm#wkf`bvpfg#azsbqwjboozf{jpwjmd#vpjmd#wkftbp#djufmb#ojpw#leofufop#lemlwjlm#leLeej`jbo#gjpnjppfgp`jfmwjpwqfpfnaofpgvsoj`bwff{solpjufqf`lufqfgboo#lwkfqdboofqjfpxsbggjmd9sflsof#leqfdjlm#lebggqfppfpbppl`jbwfjnd#bow>!jm#nlgfqmpklvog#afnfwklg#leqfslqwjmdwjnfpwbnsmffgfg#wlwkf#Dqfbwqfdbqgjmdpffnfg#wlujftfg#bpjnsb`w#lmjgfb#wkbwwkf#Tlqogkfjdkw#lef{sbmgjmdWkfpf#bqf`vqqfmw!=`bqfevooznbjmwbjmp`kbqdf#le@obppj`bobggqfppfgsqfgj`wfgltmfqpkjs?gju#jg>!qjdkw!=\tqfpjgfm`fofbuf#wkf`lmwfmw!=bqf#lewfm##~*+*8\tsqlabaoz#Sqlefpplq.avwwlm!#qfpslmgfgpbzp#wkbwkbg#wl#afsob`fg#jmKvmdbqjbmpwbwvp#lepfqufp#bpVmjufqpbof{f`vwjlmbddqfdbwfelq#tkj`kjmef`wjlmbdqffg#wlkltfufq/#slsvobq!=sob`fg#lm`lmpwqv`wfof`wlqbopznalo#lejm`ovgjmdqfwvqm#wlbq`kjwf`w@kqjpwjbmsqfujlvp#ojujmd#jmfbpjfq#wlsqlefpplq\t%ow8"..#feef`w#lebmbozwj`ptbp#wbhfmtkfqf#wkfwllh#lufqafojfe#jmBeqjhbbmpbp#ebq#bpsqfufmwfgtlqh#tjwkb#psf`jbo?ejfogpfw@kqjpwnbpQfwqjfufg\t\tJm#wkf#ab`h#jmwlmlqwkfbpwnbdbyjmfp=?pwqlmd=`lnnjwwffdlufqmjmddqlvsp#lepwlqfg#jmfpwbaojpkb#dfmfqbojwp#ejqpwwkfjq#ltmslsvobwfgbm#laif`w@bqjaafbmboolt#wkfgjpwqj`wptjp`lmpjmol`bwjlm-8#tjgwk9#jmkbajwfgPl`jbojpwIbmvbqz#2?,ellwfq=pjnjobqoz`klj`f#lewkf#pbnf#psf`jej`#avpjmfpp#Wkf#ejqpw-ofmdwk8#gfpjqf#wlgfbo#tjwkpjm`f#wkfvpfqBdfmw`lm`fjufgjmgf{-sksbp#%rvlw8fmdbdf#jmqf`fmwoz/eft#zfbqptfqf#bopl\t?kfbg=\t?fgjwfg#azbqf#hmltm`jwjfp#jmb``fpphfz`lmgfnmfgbopl#kbufpfquj`fp/ebnjoz#leP`kllo#le`lmufqwfgmbwvqf#le#obmdvbdfnjmjpwfqp?,laif`w=wkfqf#jp#b#slsvobqpfrvfm`fpbgul`bwfgWkfz#tfqfbmz#lwkfqol`bwjlm>fmwfq#wkfnv`k#nlqfqfeof`wfgtbp#mbnfglqjdjmbo#b#wzsj`botkfm#wkfzfmdjmffqp`lvog#mlwqfpjgfmwptfgmfpgbzwkf#wkjqg#sqlgv`wpIbmvbqz#1tkbw#wkfzb#`fqwbjmqfb`wjlmpsql`fpplqbewfq#kjpwkf#obpw#`lmwbjmfg!=?,gju=\t?,b=?,wg=gfsfmg#lmpfbq`k!=\tsjf`fp#le`lnsfwjmdQfefqfm`fwfmmfppfftkj`k#kbp#ufqpjlm>?,psbm=#??,kfbgfq=djufp#wkfkjpwlqjbmubovf>!!=sbggjmd93ujft#wkbwwldfwkfq/wkf#nlpw#tbp#elvmgpvapfw#lebwwb`h#lm`kjogqfm/sljmwp#lesfqplmbo#slpjwjlm9boofdfgoz@ofufobmgtbp#obwfqbmg#bewfqbqf#djufmtbp#pwjoop`qloojmdgfpjdm#lenbhfp#wkfnv`k#ofppBnfqj`bmp-\t\tBewfq#/#avw#wkfNvpfvn#leolvjpjbmb+eqln#wkfnjmmfplwbsbqwj`ofpb#sql`fppGlnjmj`bmulovnf#leqfwvqmjmdgfefmpjuf33s{qjdknbgf#eqlnnlvpflufq!#pwzof>!pwbwfp#le+tkj`k#jp`lmwjmvfpEqbm`jp`lavjogjmd#tjwklvw#btjwk#plnftkl#tlvogb#elqn#leb#sbqw#leafelqf#jwhmltm#bp##Pfquj`fpol`bwjlm#bmg#lewfmnfbpvqjmdbmg#jw#jpsbsfqab`hubovfp#le\t?wjwof=>#tjmglt-gfwfqnjmffq%rvlw8#sobzfg#azbmg#fbqoz?,`fmwfq=eqln#wkjpwkf#wkqffsltfq#bmgle#%rvlw8jmmfqKWNO?b#kqfe>!z9jmojmf8@kvq`k#lewkf#fufmwufqz#kjdkleej`jbo#.kfjdkw9#`lmwfmw>!,`dj.ajm,wl#`qfbwfbeqjhbbmpfpsfqbmwleqbm/Kbjpobwujf)Mvojfwvuj)_(`f)Mwjmb(af)Mwjmb\fUh\fT{\fTN\n{I\np@Fr\vBl\bQ\tA{\vUmGx\tA{ypYA\0zX\bTV\bWl\bUdBM\vB{\npV\v@xB\\\np@DbGz\tal\npa\tfM\tuD\bV~mx\vQ}\ndS\tp\\\bVK\bS]\bU|oD\tkV\ved\vHR\nb~M`\nJpoD|Q\nLPSw\bTl\nAI\nxC\bWt\tBqF`Cm\vLm\tKx\t}t\bPv\ny\\\naB\tV\nZdXUli\tfr\ti@\tBHBDBV\t`V\n[]\tp_\tTn\n~A\nxR\tuD\t`{\bV@\tTn\tHK\tAJ\vxsZf\nqIZf\vBM\v|j\t}t\bSM\nmC\vQ}pfquj`jlpbqw/A`volbqdfmwjmbabq`folmb`vborvjfqsvaoj`bglsqlgv`wlpslo/Awj`bqfpsvfpwbtjhjsfgjbpjdvjfmwfa/Vprvfgb`lnvmjgbgpfdvqjgbgsqjm`jsbosqfdvmwbp`lmwfmjglqfpslmgfqufmfyvfobsqlaofnbpgj`jfnaqfqfob`j/_mmlujfnaqfpjnjobqfpsqlzf`wlpsqldqbnbpjmpwjwvwlb`wjujgbgfm`vfmwqbf`lmln/Abjn/Mdfmfp`lmwb`wbqgfp`bqdbqmf`fpbqjlbwfm`j/_mwfo/Eelml`lnjpj/_m`bm`jlmfp`bsb`jgbgfm`lmwqbqbm/Mojpjpebulqjwlpw/Eqnjmlpsqlujm`jbfwjrvfwbpfofnfmwlpevm`jlmfpqfpvowbgl`bq/M`wfqsqlsjfgbgsqjm`jsjlmf`fpjgbgnvmj`jsbo`qfb`j/_mgfp`bqdbpsqfpfm`jb`lnfq`jbolsjmjlmfpfifq`j`jlfgjwlqjbopbobnbm`bdlmy/Mofygl`vnfmwlsfo/A`vobqf`jfmwfpdfmfqbofpwbqqbdlmbsq/M`wj`bmlufgbgfpsqlsvfpwbsb`jfmwfpw/E`mj`bplaifwjulp`lmwb`wlp\fHB\fIk\fHn\fH^\fHS\fHc\fHU\fId\fHn\fH{\fHC\fHR\fHT\fHR\fHI\fHc\fHY\fHn\fH\\\fHU\fIk\fHy\fIg\fHd\fHy\fIm\fHw\fH\\\fHU\fHR\fH@\fHR\fHJ\fHy\fHU\fHR\fHT\fHA\fIl\fHU\fIm\fHc\fH\\\fHU\fIl\fHB\fId\fHn\fHJ\fHS\fHD\fH@\fHR\fHHgjsolgl`p\fHT\fHB\fHC\fH\\\fIn\fHF\fHD\fHR\fHB\fHF\fHH\fHR\fHG\fHS\fH\\\fHx\fHT\fHH\fHH\fH\\\fHU\fH^\fIg\fH{\fHU\fIm\fHj\fH@\fHR\fH\\\fHJ\fIk\fHZ\fHU\fIm\fHd\fHz\fIk\fH^\fHC\fHJ\fHS\fHy\fHR\fHB\fHY\fIk\fH@\fHH\fIl\fHD\fH@\fIl\fHv\fHB\fI`\fHH\fHT\fHR\fH^\fH^\fIk\fHz\fHp\fIe\fH@\fHB\fHJ\fHJ\fHH\fHI\fHR\fHD\fHU\fIl\fHZ\fHU\fH\\\fHi\fH^\fH{\fHy\fHA\fIl\fHD\fH{\fH\\\fHF\fHR\fHT\fH\\\fHR\fHH\fHy\fHS\fHc\fHe\fHT\fIk\fH{\fHC\fIl\fHU\fIn\fHm\fHj\fH{\fIk\fHs\fIl\fHB\fHz\fIg\fHp\fHy\fHR\fH\\\fHi\fHA\fIl\fH{\fHC\fIk\fHH\fIm\fHB\fHY\fIg\fHs\fHJ\fIk\fHn\fHi\fH{\fH\\\fH|\fHT\fIk\fHB\fIk\fH^\fH^\fH{\fHR\fHU\fHR\fH^\fHf\fHF\fH\\\fHv\fHR\fH\\\fH|\fHT\fHR\fHJ\fIk\fH\\\fHp\fHS\fHT\fHJ\fHS\fH^\fH@\fHn\fHJ\fH@\fHD\fHR\fHU\fIn\fHn\fH^\fHR\fHz\fHp\fIl\fHH\fH@\fHs\fHD\fHB\fHS\fH^\fHk\fHT\fIk\fHj\fHD\fIk\fHD\fHC\fHR\fHy\fIm\fH^\fH^\fIe\fH{\fHA\fHR\fH{\fH\\\fIk\fH^\fHp\fH{\fHU\fH\\\fHR\fHB\fH^\fH{\fIk\fHF\fIk\fHp\fHU\fHR\fHI\fHk\fHT\fIl\fHT\fHU\fIl\fHy\fH^\fHR\fHL\fIl\fHy\fHU\fHR\fHm\fHJ\fIn\fH\\\fHH\fHU\fHH\fHT\fHR\fHH\fHC\fHR\fHJ\fHj\fHC\fHR\fHF\fHR\fHy\fHy\fI`\fHD\fHZ\fHR\fHB\fHJ\fIk\fHz\fHC\fHU\fIl\fH\\\fHR\fHC\fHz\fIm\fHJ\fH^\fH{\fIl`bwfdlqjfpf{sfqjfm`f?,wjwof=\t@lszqjdkw#ibubp`qjsw`lmgjwjlmpfufqzwkjmd?s#`obpp>!wf`kmloldzab`hdqlvmg?b#`obpp>!nbmbdfnfmw%`lsz8#132ibubP`qjsw`kbqb`wfqpaqfbg`qvnawkfnpfoufpklqjylmwbodlufqmnfmw@bojelqmjbb`wjujwjfpgjp`lufqfgMbujdbwjlmwqbmpjwjlm`lmmf`wjlmmbujdbwjlmbssfbqbm`f?,wjwof=?n`kf`hal{!#wf`kmjrvfpsqlwf`wjlmbssbqfmwozbp#tfoo#bpvmw$/#$VB.qfplovwjlmlsfqbwjlmpwfofujpjlmwqbmpobwfgTbpkjmdwlmmbujdbwlq-#>#tjmglt-jnsqfppjlm%ow8aq%dw8ojwfqbwvqfslsvobwjlmad`lolq>! fpsf`jbooz#`lmwfmw>!sqlgv`wjlmmftpofwwfqsqlsfqwjfpgfejmjwjlmofbgfqpkjsWf`kmloldzSbqojbnfmw`lnsbqjplmvo#`obpp>!-jmgf{Le+!`lm`ovpjlmgjp`vppjlm`lnslmfmwpajloldj`boQfulovwjlm\\`lmwbjmfqvmgfqpwllgmlp`qjsw=?sfqnjppjlmfb`k#lwkfqbwnlpskfqf#lmel`vp>!?elqn#jg>!sql`fppjmdwkjp-ubovfdfmfqbwjlm@lmefqfm`fpvapfrvfmwtfoo.hmltmubqjbwjlmpqfsvwbwjlmskfmlnfmlmgjp`jsojmfoldl-smd!#+gl`vnfmw/alvmgbqjfpf{sqfppjlmpfwwofnfmwAb`hdqlvmglvw#le#wkffmwfqsqjpf+!kwwsp9!#vmfp`bsf+!sbpptlqg!#gfnl`qbwj`?b#kqfe>!,tqbssfq!=\tnfnafqpkjsojmdvjpwj`s{8sbggjmdskjolplskzbppjpwbm`fvmjufqpjwzeb`jojwjfpqf`ldmjyfgsqfefqfm`fje#+wzsflenbjmwbjmfgul`bavobqzkzslwkfpjp-pvanjw+*8%bns8maps8bmmlwbwjlmafkjmg#wkfElvmgbwjlmsvaojpkfq!bppvnswjlmjmwqlgv`fg`lqqvswjlmp`jfmwjpwpf{soj`jwozjmpwfbg#legjnfmpjlmp#lm@oj`h>!`lmpjgfqfggfsbqwnfmwl``vsbwjlmpllm#bewfqjmufpwnfmwsqlmlvm`fgjgfmwjejfgf{sfqjnfmwNbmbdfnfmwdfldqbskj`!#kfjdkw>!ojmh#qfo>!-qfsob`f+,gfsqfppjlm`lmefqfm`fsvmjpknfmwfojnjmbwfgqfpjpwbm`fbgbswbwjlmlsslpjwjlmtfoo#hmltmpvssofnfmwgfwfqnjmfgk2#`obpp>!3s{8nbqdjmnf`kbmj`bopwbwjpwj`p`fofaqbwfgDlufqmnfmw\t\tGvqjmd#wgfufolsfqpbqwjej`jbofrvjubofmwlqjdjmbwfg@lnnjppjlmbwwb`knfmw?psbm#jg>!wkfqf#tfqfMfgfqobmgpafzlmg#wkfqfdjpwfqfgilvqmbojpweqfrvfmwozboo#le#wkfobmd>!fm!#?,pwzof=\tbaplovwf8#pvsslqwjmdf{wqfnfoz#nbjmpwqfbn?,pwqlmd=#slsvobqjwzfnsolznfmw?,wbaof=\t#`lopsbm>!?,elqn=\t##`lmufqpjlmbalvw#wkf#?,s=?,gju=jmwfdqbwfg!#obmd>!fmSlqwvdvfpfpvapwjwvwfjmgjujgvbojnslppjaofnvowjnfgjbbonlpw#boos{#plojg# bsbqw#eqlnpvaif`w#wljm#Fmdojpk`qjwj`jyfgf{`fsw#elqdvjgfojmfplqjdjmboozqfnbqhbaofwkf#pf`lmgk1#`obpp>!?b#wjwof>!+jm`ovgjmdsbqbnfwfqpsqlkjajwfg>#!kwws9,,gj`wjlmbqzsfq`fswjlmqfulovwjlmelvmgbwjlms{8kfjdkw9pv``fppevopvsslqwfqpnjoofmmjvnkjp#ebwkfqwkf#%rvlw8ml.qfsfbw8`lnnfq`jbojmgvpwqjbofm`lvqbdfgbnlvmw#le#vmleej`jbofeej`jfm`zQfefqfm`fp`llqgjmbwfgjp`objnfqf{sfgjwjlmgfufolsjmd`bo`vobwfgpjnsojejfgofdjwjnbwfpvapwqjmd+3!#`obpp>!`lnsofwfozjoovpwqbwfejuf#zfbqpjmpwqvnfmwSvaojpkjmd2!#`obpp>!spz`kloldz`lmejgfm`fmvnafq#le#bapfm`f#leel`vpfg#lmiljmfg#wkfpwqv`wvqfpsqfujlvpoz=?,jeqbnf=lm`f#bdbjmavw#qbwkfqjnnjdqbmwple#`lvqpf/b#dqlvs#leOjwfqbwvqfVmojhf#wkf?,b=%maps8\tevm`wjlm#jw#tbp#wkf@lmufmwjlmbvwlnlajofSqlwfpwbmwbddqfppjufbewfq#wkf#Pjnjobqoz/!#,=?,gju=`loof`wjlm\tevm`wjlmujpjajojwzwkf#vpf#leulovmwffqpbwwqb`wjlmvmgfq#wkf#wkqfbwfmfg)?"X@GBWBXjnslqwbm`fjm#dfmfqbowkf#obwwfq?,elqn=\t?,-jmgf{Le+$j#>#38#j#?gjeefqfm`fgfulwfg#wlwqbgjwjlmppfbq`k#elqvowjnbwfozwlvqmbnfmwbwwqjavwfppl.`boofg#~\t?,pwzof=fubovbwjlmfnskbpjyfgb``fppjaof?,pf`wjlm=pv``fppjlmbolmd#tjwkNfbmtkjof/jmgvpwqjfp?,b=?aq#,=kbp#af`lnfbpsf`wp#leWfofujpjlmpveej`jfmwabphfwabooalwk#pjgfp`lmwjmvjmdbm#bqwj`of?jnd#bow>!bgufmwvqfpkjp#nlwkfqnbm`kfpwfqsqjm`jsofpsbqwj`vobq`lnnfmwbqzfeef`wp#legf`jgfg#wl!=?pwqlmd=svaojpkfqpIlvqmbo#legjeej`vowzeb`jojwbwfb``fswbaofpwzof-`pp!\nevm`wjlm#jmmlubwjlm=@lszqjdkwpjwvbwjlmptlvog#kbufavpjmfppfpGj`wjlmbqzpwbwfnfmwplewfm#vpfgsfqpjpwfmwjm#Ibmvbqz`lnsqjpjmd?,wjwof=\t\ngjsolnbwj``lmwbjmjmdsfqelqnjmdf{wfmpjlmpnbz#mlw#af`lm`fsw#le#lm`oj`h>!Jw#jp#boplejmbm`jbo#nbhjmd#wkfOv{fnalvqdbggjwjlmbobqf#`boofgfmdbdfg#jm!p`qjsw!*8avw#jw#tbpfof`wqlmj`lmpvanjw>!\t?"..#Fmg#fof`wqj`boleej`jboozpvddfpwjlmwls#le#wkfvmojhf#wkfBvpwqbojbmLqjdjmboozqfefqfm`fp\t?,kfbg=\tqf`ldmjpfgjmjwjbojyfojnjwfg#wlBof{bmgqjbqfwjqfnfmwBgufmwvqfpelvq#zfbqp\t\t%ow8"..#jm`qfbpjmdgf`lqbwjlmk0#`obpp>!lqjdjmp#lelaojdbwjlmqfdvobwjlm`obppjejfg+evm`wjlm+bgubmwbdfpafjmd#wkf#kjpwlqjbmp?abpf#kqfeqfsfbwfgoztjoojmd#wl`lnsbqbaofgfpjdmbwfgmlnjmbwjlmevm`wjlmbojmpjgf#wkfqfufobwjlmfmg#le#wkfp#elq#wkf#bvwklqjyfgqfevpfg#wlwbhf#sob`fbvwlmlnlvp`lnsqlnjpfslojwj`bo#qfpwbvqbmwwtl#le#wkfEfaqvbqz#1rvbojwz#leptelaif`w-vmgfqpwbmgmfbqoz#bootqjwwfm#azjmwfqujftp!#tjgwk>!2tjwkgqbtboeolbw9ofewjp#vpvbooz`bmgjgbwfpmftpsbsfqpnzpwfqjlvpGfsbqwnfmwafpw#hmltmsbqojbnfmwpvssqfppfg`lmufmjfmwqfnfnafqfggjeefqfmw#pzpwfnbwj`kbp#ofg#wlsqlsbdbmgb`lmwqloofgjmeovfm`fp`fqfnlmjbosql`objnfgSqlwf`wjlmoj#`obpp>!P`jfmwjej``obpp>!ml.wqbgfnbqhpnlqf#wkbm#tjgfpsqfbgOjafqbwjlmwllh#sob`fgbz#le#wkfbp#olmd#bpjnsqjplmfgBggjwjlmbo\t?kfbg=\t?nObalqbwlqzMlufnafq#1f{`fswjlmpJmgvpwqjboubqjfwz#leeolbw9#ofeGvqjmd#wkfbppfppnfmwkbuf#affm#gfbop#tjwkPwbwjpwj`pl``vqqfm`f,vo=?,gju=`ofbqej{!=wkf#svaoj`nbmz#zfbqptkj`k#tfqflufq#wjnf/pzmlmznlvp`lmwfmw!=\tsqfpvnbaozkjp#ebnjozvpfqBdfmw-vmf{sf`wfgjm`ovgjmd#`kboofmdfgb#njmlqjwzvmgfejmfg!afolmdp#wlwbhfm#eqlnjm#L`wlafqslpjwjlm9#pbjg#wl#afqfojdjlvp#Efgfqbwjlm#qltpsbm>!lmoz#b#eftnfbmw#wkbwofg#wl#wkf..=\t?gju#?ejfogpfw=Bq`kajpkls#`obpp>!mlafjmd#vpfgbssqlb`kfpsqjujofdfpmlp`qjsw=\tqfpvowp#jmnbz#af#wkfFbpwfq#fddnf`kbmjpnpqfbplmbaofSlsvobwjlm@loof`wjlmpfof`wfg!=mlp`qjsw=,jmgf{-sksbqqjubo#le.ippgh$**8nbmbdfg#wljm`lnsofwf`bpvbowjfp`lnsofwjlm@kqjpwjbmpPfswfnafq#bqjwknfwj`sql`fgvqfpnjdkw#kbufSqlgv`wjlmjw#bssfbqpSkjolplskzeqjfmgpkjsofbgjmd#wldjujmd#wkfwltbqg#wkfdvbqbmwffggl`vnfmwfg`lolq9 333ujgfl#dbnf`lnnjppjlmqfeof`wjmd`kbmdf#wkfbppl`jbwfgpbmp.pfqjelmhfzsqfpp8#sbggjmd9Kf#tbp#wkfvmgfqozjmdwzsj`booz#/#bmg#wkf#pq`Fofnfmwpv``fppjufpjm`f#wkf#pklvog#af#mfwtlqhjmdb``lvmwjmdvpf#le#wkfoltfq#wkbmpkltp#wkbw?,psbm=\t\n\n`lnsobjmwp`lmwjmvlvprvbmwjwjfpbpwqlmlnfqkf#gjg#mlwgvf#wl#jwpbssojfg#wlbm#bufqbdffeelqwp#wlwkf#evwvqfbwwfnsw#wlWkfqfelqf/`bsbajojwzQfsvaoj`bmtbp#elqnfgFof`wqlmj`hjolnfwfqp`kboofmdfpsvaojpkjmdwkf#elqnfqjmgjdfmlvpgjqf`wjlmppvapjgjbqz`lmpsjqb`zgfwbjop#lebmg#jm#wkfbeelqgbaofpvapwbm`fpqfbplm#elq`lmufmwjlmjwfnwzsf>!baplovwfozpvsslpfgozqfnbjmfg#bbwwqb`wjufwqbufoojmdpfsbqbwfozel`vpfp#lmfofnfmwbqzbssoj`baofelvmg#wkbwpwzofpkffwnbmvp`qjswpwbmgp#elq#ml.qfsfbw+plnfwjnfp@lnnfq`jbojm#Bnfqj`bvmgfqwbhfmrvbqwfq#lebm#f{bnsofsfqplmboozjmgf{-sks<?,avwwlm=\tsfq`fmwbdfafpw.hmltm`qfbwjmd#b!#gjq>!owqOjfvwfmbmw\t?gju#jg>!wkfz#tlvogbajojwz#lenbgf#vs#lemlwfg#wkbw`ofbq#wkbwbqdvf#wkbwwl#bmlwkfq`kjogqfm$psvqslpf#leelqnvobwfgabpfg#vslmwkf#qfdjlmpvaif`w#lesbppfmdfqpslppfppjlm-\t\tJm#wkf#Afelqf#wkfbewfqtbqgp`vqqfmwoz#b`qlpp#wkfp`jfmwjej``lnnvmjwz-`bsjwbojpnjm#Dfqnbmzqjdkw.tjmdwkf#pzpwfnPl`jfwz#leslojwj`jbmgjqf`wjlm9tfmw#lm#wlqfnlubo#le#Mft#Zlqh#bsbqwnfmwpjmgj`bwjlmgvqjmd#wkfvmofpp#wkfkjpwlqj`bokbg#affm#bgfejmjwjufjmdqfgjfmwbwwfmgbm`f@fmwfq#elqsqlnjmfm`fqfbgzPwbwfpwqbwfdjfpavw#jm#wkfbp#sbqw#le`lmpwjwvwf`objn#wkbwobalqbwlqz`lnsbwjaofebjovqf#le/#pv`k#bp#afdbm#tjwkvpjmd#wkf#wl#sqlujgfefbwvqf#leeqln#tkj`k,!#`obpp>!dfloldj`bopfufqbo#legfojafqbwfjnslqwbmw#klogp#wkbwjmd%rvlw8#ubojdm>wlswkf#Dfqnbmlvwpjgf#lemfdlwjbwfgkjp#`bqffqpfsbqbwjlmjg>!pfbq`ktbp#`boofgwkf#elvqwkqf`qfbwjlmlwkfq#wkbmsqfufmwjlmtkjof#wkf#fgv`bwjlm/`lmmf`wjmdb``vqbwfoztfqf#avjowtbp#hjoofgbdqffnfmwpnv`k#nlqf#Gvf#wl#wkftjgwk9#233plnf#lwkfqHjmdgln#lewkf#fmwjqfebnlvp#elqwl#`lmmf`wlaif`wjufpwkf#Eqfm`ksflsof#bmgefbwvqfg!=jp#pbjg#wlpwqv`wvqboqfefqfmgvnnlpw#lewfmb#pfsbqbwf.=\t?gju#jg#Leej`jbo#tlqogtjgf-bqjb.obafowkf#sobmfwbmg#jw#tbpg!#ubovf>!ollhjmd#bwafmfej`jbobqf#jm#wkfnlmjwlqjmdqfslqwfgozwkf#nlgfqmtlqhjmd#lmbooltfg#wltkfqf#wkf#jmmlubwjuf?,b=?,gju=plvmgwqb`hpfbq`kElqnwfmg#wl#afjmsvw#jg>!lsfmjmd#leqfpwqj`wfgbglswfg#azbggqfppjmdwkfloldjbmnfwklgp#leubqjbmw#le@kqjpwjbm#ufqz#obqdfbvwlnlwjufaz#ebq#wkfqbmdf#eqlnsvqpvjw#leeloolt#wkfaqlvdkw#wljm#Fmdobmgbdqff#wkbwb``vpfg#le`lnfp#eqlnsqfufmwjmdgju#pwzof>kjp#lq#kfqwqfnfmglvpeqffgln#le`lm`fqmjmd3#2fn#2fn8Abphfwaboo,pwzof-`ppbm#fbqojfqfufm#bewfq,!#wjwof>!-`ln,jmgf{wbhjmd#wkfsjwwpavqdk`lmwfmw!=?p`qjsw=+ewvqmfg#lvwkbujmd#wkf?,psbm=\t#l``bpjlmboaf`bvpf#jwpwbqwfg#wlskzpj`booz=?,gju=\t##`qfbwfg#az@vqqfmwoz/#ad`lolq>!wbajmgf{>!gjpbpwqlvpBmbozwj`p#bopl#kbp#b=?gju#jg>!?,pwzof=\t?`boofg#elqpjmdfq#bmg-pq`#>#!,,ujlobwjlmpwkjp#sljmw`lmpwbmwozjp#ol`bwfgqf`lqgjmdpg#eqln#wkfmfgfqobmgpslqwvdv/Fp;N;};D;u;F5m4K4]4_7`gfpbqqlool`lnfmwbqjlfgv`b`j/_mpfswjfnaqfqfdjpwqbglgjqf``j/_mvaj`b`j/_msvaoj`jgbgqfpsvfpwbpqfpvowbglpjnslqwbmwfqfpfqubglpbqw/A`volpgjefqfmwfppjdvjfmwfpqfs/Vaoj`bpjwvb`j/_mnjmjpwfqjlsqjub`jgbggjqf`wlqjlelqnb`j/_mslaob`j/_msqfpjgfmwf`lmw','fmjglpb``fplqjlpwf`kmlqbwjsfqplmbofp`bwfdlq/Abfpsf`jbofpgjpslmjaofb`wvbojgbgqfefqfm`jbuboobglojgajaojlwf`bqfob`jlmfp`bofmgbqjlslo/Awj`bpbmwfqjlqfpgl`vnfmwlpmbwvqbofybnbwfqjbofpgjefqfm`jbf`lm/_nj`bwqbmpslqwfqlgq/Advfysbqwj`jsbqfm`vfmwqbmgjp`vpj/_mfpwqv`wvqbevmgb`j/_meqf`vfmwfpsfqnbmfmwfwlwbonfmwf<P<R<Z<Q<R<]=o<X<Y=n<P<R<Z<Y=n<^=l<Y<P=c=n<\\<V<Z<Y=k=n<R<]=g<]<R<W<Y<Y<R=k<Y<Q=`=a=n<R<_<R<V<R<_<X<\\<S<R=m<W<Y<^=m<Y<_<R=m<\\<U=n<Y=k<Y=l<Y<[<P<R<_=o=n=m<\\<U=n<\\<Z<T<[<Q<T<P<Y<Z<X=o<]=o<X=o=n<s<R<T=m<V<[<X<Y=m=`<^<T<X<Y<R=m<^=c<[<T<Q=o<Z<Q<R=m<^<R<Y<U<W=b<X<Y<U<S<R=l<Q<R<P<Q<R<_<R<X<Y=n<Y<U=m<^<R<T=i<S=l<\\<^<\\=n<\\<V<R<U<P<Y=m=n<R<T<P<Y<Y=n<Z<T<[<Q=`<R<X<Q<R<U<W=o=k=d<Y<S<Y=l<Y<X=k<\\=m=n<T=k<\\=m=n=`=l<\\<]<R=n<Q<R<^=g=i<S=l<\\<^<R=m<R<]<R<U<S<R=n<R<P<P<Y<Q<Y<Y=k<T=m<W<Y<Q<R<^=g<Y=o=m<W=o<_<R<V<R<W<R<Q<\\<[<\\<X=n<\\<V<R<Y=n<R<_<X<\\<S<R=k=n<T<s<R=m<W<Y=n<\\<V<T<Y<Q<R<^=g<U=m=n<R<T=n=n<\\<V<T=i=m=l<\\<[=o<M<\\<Q<V=n=h<R=l=o<P<v<R<_<X<\\<V<Q<T<_<T=m<W<R<^<\\<Q<\\=d<Y<U<Q<\\<U=n<T=m<^<R<T<P=m<^=c<[=`<W=b<]<R<U=k<\\=m=n<R=m=l<Y<X<T<v=l<R<P<Y<H<R=l=o<P=l=g<Q<V<Y=m=n<\\<W<T<S<R<T=m<V=n=g=m=c=k<P<Y=m=c=j=j<Y<Q=n=l=n=l=o<X<\\=m<\\<P=g=i=l=g<Q<V<\\<q<R<^=g<U=k<\\=m<R<^<P<Y=m=n<\\=h<T<W=`<P<P<\\=l=n<\\=m=n=l<\\<Q<P<Y=m=n<Y=n<Y<V=m=n<Q<\\=d<T=i<P<T<Q=o=n<T<P<Y<Q<T<T<P<Y=b=n<Q<R<P<Y=l<_<R=l<R<X=m<\\<P<R<P=a=n<R<P=o<V<R<Q=j<Y=m<^<R<Y<P<V<\\<V<R<U<|=l=i<T<^5i5j4F4C5e4I4]4_4K5h4]4_4K5h4E4K5h4U4K5i5o4F4D5k4K4D4]4K5i4@4K5h5f5d5i4K5h4Y5d4]4@4C5f4C4E4K5h4U4Z5d4I4Z4K5m4E4K5h5n4_5i4K5h4U4K4D4F4A5i5f5h5i5h5m4K4F5i5h4F5n5e4F4U4C5f5h4K5h4X4U4]4O4B4D4K4]4F4[5d5f4]4U5h5f5o5i4I4]5m4K5n4[5h4D4K4F4K5h5h4V4E4F4]4F5f4D4K5h5j4K4_4K5h4X5f4B5i5j4F4C5f4K5h4U4]4D4K5h5n4Y4Y4K5m5h4K5i4U5h5f5k4K4F4A4C5f4G4K5h5h5k5i4K5h4U5i5h5i5o4F4D4E5f5i5o5j5o4K5h4[5m5h5m5f4C5f5d4I4C4K4]4E4F4K4]5f4B4K5h4Y4A4E4F4_4@5f5h4K5h5d5n4F4U5j4C5i4K5i4C5f5j4E4F4Y5i5f5i4O4]4X5f5m4K5h4\\5f5j4U4]4D5f4E4D5d4K4D4E4O5h4U4K4D4K5h4_5m4]5i4X4K5o5h4F4U4K5h5e4K5h4O5d5h4K5h4_5j4E4@4K5i4U4E4K5h4Y4A5m4K5h4C5f5j5o5h5i4K4F4K5h4B4K4Y4K5h5i5h5m4O4U4Z4K4M5o4F4K4D4E4K5h4B5f4]4]4_4K4J5h4K5h5n5h4D4K5h4O4C4D5i5n4K4[4U5i4]4K4_5h5i5j4[5n4E4K5h5o4F4D4K5h4]4@5h4K4X4F4]5o4K5h5n4C5i5f4U4[5f5opAzWbdMbnf+-isd!#bow>!2s{#plojg# -dje!#bow>!wqbmpsbqfmwjmelqnbwjlmbssoj`bwjlm!#lm`oj`h>!fpwbaojpkfgbgufqwjpjmd-smd!#bow>!fmujqlmnfmwsfqelqnbm`fbssqlsqjbwf%bns8ngbpk8jnnfgjbwfoz?,pwqlmd=?,qbwkfq#wkbmwfnsfqbwvqfgfufolsnfmw`lnsfwjwjlmsob`fklogfqujpjajojwz9`lszqjdkw!=3!#kfjdkw>!fufm#wklvdkqfsob`fnfmwgfpwjmbwjlm@lqslqbwjlm?vo#`obpp>!Bppl`jbwjlmjmgjujgvbopsfqpsf`wjufpfwWjnflvw+vqo+kwws9,,nbwkfnbwj`pnbqdjm.wls9fufmwvbooz#gfp`qjswjlm*#ml.qfsfbw`loof`wjlmp-ISDwkvnasbqwj`jsbwf,kfbg=?algzeolbw9ofew8?oj#`obpp>!kvmgqfgp#le\t\tKltfufq/#`lnslpjwjlm`ofbq9alwk8`llsfqbwjlmtjwkjm#wkf#obafo#elq>!alqgfq.wls9Mft#Yfbobmgqf`lnnfmgfgsklwldqbskzjmwfqfpwjmd%ow8pvs%dw8`lmwqlufqpzMfwkfqobmgpbowfqmbwjufnb{ofmdwk>!ptjwyfqobmgGfufolsnfmwfppfmwjbooz\t\tBowklvdk#?,wf{wbqfb=wkvmgfqajqgqfsqfpfmwfg%bns8mgbpk8psf`vobwjlm`lnnvmjwjfpofdjpobwjlmfof`wqlmj`p\t\n?gju#jg>!joovpwqbwfgfmdjmffqjmdwfqqjwlqjfpbvwklqjwjfpgjpwqjavwfg5!#kfjdkw>!pbmp.pfqje8`bsbaof#le#gjpbssfbqfgjmwfqb`wjufollhjmd#elqjw#tlvog#afBedkbmjpwbmtbp#`qfbwfgNbwk-eollq+pvqqlvmgjmd`bm#bopl#aflapfqubwjlmnbjmwfmbm`ffm`lvmwfqfg?k1#`obpp>!nlqf#qf`fmwjw#kbp#affmjmubpjlm#le*-dfwWjnf+*evmgbnfmwboGfpsjwf#wkf!=?gju#jg>!jmpsjqbwjlmf{bnjmbwjlmsqfsbqbwjlmf{sobmbwjlm?jmsvw#jg>!?,b=?,psbm=ufqpjlmp#lejmpwqvnfmwpafelqf#wkf##>#$kwws9,,Gfp`qjswjlmqfobwjufoz#-pvapwqjmd+fb`k#le#wkff{sfqjnfmwpjmeovfmwjbojmwfdqbwjlmnbmz#sflsofgvf#wl#wkf#`lnajmbwjlmgl#mlw#kbufNjggof#Fbpw?mlp`qjsw=?`lszqjdkw!#sfqkbsp#wkfjmpwjwvwjlmjm#Gf`fnafqbqqbmdfnfmwnlpw#ebnlvpsfqplmbojwz`qfbwjlm#leojnjwbwjlmpf{`ovpjufozplufqfjdmwz.`lmwfmw!=\t?wg#`obpp>!vmgfqdqlvmgsbqboofo#wlgl`wqjmf#lel``vsjfg#azwfqnjmloldzQfmbjppbm`fb#mvnafq#lepvsslqw#elqf{solqbwjlmqf`ldmjwjlmsqfgf`fpplq?jnd#pq`>!,?k2#`obpp>!svaoj`bwjlmnbz#bopl#afpsf`jbojyfg?,ejfogpfw=sqldqfppjufnjoojlmp#lepwbwfp#wkbwfmelq`fnfmwbqlvmg#wkf#lmf#bmlwkfq-sbqfmwMlgfbdqj`vowvqfBowfqmbwjufqfpfbq`kfqpwltbqgp#wkfNlpw#le#wkfnbmz#lwkfq#+fpsf`jbooz?wg#tjgwk>!8tjgwk9233&jmgfsfmgfmw?k0#`obpp>!#lm`kbmdf>!*-bgg@obpp+jmwfqb`wjlmLmf#le#wkf#gbvdkwfq#leb``fpplqjfpaqbm`kfp#le\t?gju#jg>!wkf#obqdfpwgf`obqbwjlmqfdvobwjlmpJmelqnbwjlmwqbmpobwjlmgl`vnfmwbqzjm#lqgfq#wl!=\t?kfbg=\t?!#kfjdkw>!2b`qlpp#wkf#lqjfmwbwjlm*8?,p`qjsw=jnsofnfmwfg`bm#af#pffmwkfqf#tbp#bgfnlmpwqbwf`lmwbjmfq!=`lmmf`wjlmpwkf#Aqjwjpktbp#tqjwwfm"jnslqwbmw8s{8#nbqdjm.elooltfg#azbajojwz#wl#`lnsoj`bwfggvqjmd#wkf#jnnjdqbwjlmbopl#`boofg?k7#`obpp>!gjpwjm`wjlmqfsob`fg#azdlufqmnfmwpol`bwjlm#lejm#Mlufnafqtkfwkfq#wkf?,s=\t?,gju=b`rvjpjwjlm`boofg#wkf#sfqpf`vwjlmgfpjdmbwjlmxelmw.pjyf9bssfbqfg#jmjmufpwjdbwff{sfqjfm`fgnlpw#ojhfoztjgfoz#vpfggjp`vppjlmpsqfpfm`f#le#+gl`vnfmw-f{wfmpjufozJw#kbp#affmjw#glfp#mlw`lmwqbqz#wljmkbajwbmwpjnsqlufnfmwp`klobqpkjs`lmpvnswjlmjmpwqv`wjlmelq#f{bnsoflmf#lq#nlqfs{8#sbggjmdwkf#`vqqfmwb#pfqjfp#lebqf#vpvboozqlof#jm#wkfsqfujlvpoz#gfqjubwjufpfujgfm`f#lef{sfqjfm`fp`lolqp`kfnfpwbwfg#wkbw`fqwjej`bwf?,b=?,gju=\t#pfof`wfg>!kjdk#p`klloqfpslmpf#wl`lnelqwbaofbglswjlm#lewkqff#zfbqpwkf#`lvmwqzjm#Efaqvbqzpl#wkbw#wkfsflsof#tkl#sqlujgfg#az?sbqbn#mbnfbeef`wfg#azjm#wfqnp#lebssljmwnfmwJPL.;;6:.2!tbp#alqm#jmkjpwlqj`bo#qfdbqgfg#bpnfbpvqfnfmwjp#abpfg#lm#bmg#lwkfq#9#evm`wjlm+pjdmjej`bmw`fofaqbwjlmwqbmpnjwwfg,ip,irvfqz-jp#hmltm#bpwkflqfwj`bo#wbajmgf{>!jw#`lvog#af?mlp`qjsw=\tkbujmd#affm\t?kfbg=\t?#%rvlw8Wkf#`lnsjobwjlmkf#kbg#affmsqlgv`fg#azskjolplskfq`lmpwqv`wfgjmwfmgfg#wlbnlmd#lwkfq`lnsbqfg#wlwl#pbz#wkbwFmdjmffqjmdb#gjeefqfmwqfefqqfg#wlgjeefqfm`fpafojfe#wkbwsklwldqbskpjgfmwjezjmdKjpwlqz#le#Qfsvaoj`#lemf`fppbqjozsqlabajojwzwf`kmj`boozofbujmd#wkfpsf`wb`vobqeqb`wjlm#lefof`wqj`jwzkfbg#le#wkfqfpwbvqbmwpsbqwmfqpkjsfnskbpjp#lmnlpw#qf`fmwpkbqf#tjwk#pbzjmd#wkbwejoofg#tjwkgfpjdmfg#wljw#jp#lewfm!=?,jeqbnf=bp#elooltp9nfqdfg#tjwkwkqlvdk#wkf`lnnfq`jbo#sljmwfg#lvwlsslqwvmjwzujft#le#wkfqfrvjqfnfmwgjujpjlm#lesqldqbnnjmdkf#qf`fjufgpfwJmwfqubo!=?,psbm=?,jm#Mft#Zlqhbggjwjlmbo#`lnsqfppjlm\t\t?gju#jg>!jm`lqslqbwf8?,p`qjsw=?bwwb`kFufmwaf`bnf#wkf#!#wbqdfw>!\\`bqqjfg#lvwPlnf#le#wkfp`jfm`f#bmgwkf#wjnf#le@lmwbjmfq!=nbjmwbjmjmd@kqjpwlskfqNv`k#le#wkftqjwjmdp#le!#kfjdkw>!1pjyf#le#wkfufqpjlm#le#nj{wvqf#le#afwtffm#wkfF{bnsofp#lefgv`bwjlmbo`lnsfwjwjuf#lmpvanjw>!gjqf`wlq#legjpwjm`wjuf,GWG#[KWNO#qfobwjmd#wlwfmgfm`z#wlsqlujm`f#letkj`k#tlvoggfpsjwf#wkfp`jfmwjej`#ofdjpobwvqf-jmmfqKWNO#boofdbwjlmpBdqj`vowvqftbp#vpfg#jmbssqlb`k#wljmwfoojdfmwzfbqp#obwfq/pbmp.pfqjegfwfqnjmjmdSfqelqnbm`fbssfbqbm`fp/#tkj`k#jp#elvmgbwjlmpbaaqfujbwfgkjdkfq#wkbmp#eqln#wkf#jmgjujgvbo#`lnslpfg#lepvsslpfg#wl`objnp#wkbwbwwqjavwjlmelmw.pjyf92fofnfmwp#leKjpwlqj`bo#kjp#aqlwkfqbw#wkf#wjnfbmmjufqpbqzdlufqmfg#azqfobwfg#wl#vowjnbwfoz#jmmlubwjlmpjw#jp#pwjoo`bm#lmoz#afgfejmjwjlmpwlDNWPwqjmdB#mvnafq#lejnd#`obpp>!Fufmwvbooz/tbp#`kbmdfgl``vqqfg#jmmfjdkalqjmdgjpwjmdvjpktkfm#kf#tbpjmwqlgv`jmdwfqqfpwqjboNbmz#le#wkfbqdvfp#wkbwbm#Bnfqj`bm`lmrvfpw#letjgfpsqfbg#tfqf#hjoofgp`qffm#bmg#Jm#lqgfq#wlf{sf`wfg#wlgfp`fmgbmwpbqf#ol`bwfgofdjpobwjufdfmfqbwjlmp#ab`hdqlvmgnlpw#sflsofzfbqp#bewfqwkfqf#jp#mlwkf#kjdkfpweqfrvfmwoz#wkfz#gl#mlwbqdvfg#wkbwpkltfg#wkbwsqfglnjmbmwwkfloldj`boaz#wkf#wjnf`lmpjgfqjmdpklqw.ojufg?,psbm=?,b=`bm#af#vpfgufqz#ojwwoflmf#le#wkf#kbg#boqfbgzjmwfqsqfwfg`lnnvmj`bwfefbwvqfp#ledlufqmnfmw/?,mlp`qjsw=fmwfqfg#wkf!#kfjdkw>!0Jmgfsfmgfmwslsvobwjlmpobqdf.p`bof-#Bowklvdk#vpfg#jm#wkfgfpwqv`wjlmslppjajojwzpwbqwjmd#jmwtl#lq#nlqff{sqfppjlmppvalqgjmbwfobqdfq#wkbmkjpwlqz#bmg?,lswjlm=\t@lmwjmfmwbofojnjmbwjmdtjoo#mlw#afsqb`wj`f#lejm#eqlmw#lepjwf#le#wkffmpvqf#wkbwwl#`qfbwf#bnjppjppjssjslwfmwjboozlvwpwbmgjmdafwwfq#wkbmtkbw#jp#mltpjwvbwfg#jmnfwb#mbnf>!WqbgjwjlmbopvddfpwjlmpWqbmpobwjlmwkf#elqn#lebwnlpskfqj`jgfloldj`bofmwfqsqjpfp`bo`vobwjmdfbpw#le#wkfqfnmbmwp#lesovdjmpsbdf,jmgf{-sks<qfnbjmfg#jmwqbmpelqnfgKf#tbp#bopltbp#boqfbgzpwbwjpwj`bojm#ebulq#leNjmjpwqz#lenlufnfmw#leelqnvobwjlmjp#qfrvjqfg?ojmh#qfo>!Wkjp#jp#wkf#?b#kqfe>!,slsvobqjyfgjmuloufg#jmbqf#vpfg#wlbmg#pfufqbonbgf#az#wkfpffnp#wl#afojhfoz#wkbwSbofpwjmjbmmbnfg#bewfqjw#kbg#affmnlpw#`lnnlmwl#qfefq#wlavw#wkjp#jp`lmpf`vwjufwfnslqbqjozJm#dfmfqbo/`lmufmwjlmpwbhfp#sob`fpvagjujpjlmwfqqjwlqjbolsfqbwjlmbosfqnbmfmwoztbp#obqdfozlvwaqfbh#lejm#wkf#sbpwelooltjmd#b#{nomp9ld>!=?b#`obpp>!`obpp>!wf{w@lmufqpjlm#nbz#af#vpfgnbmveb`wvqfbewfq#afjmd`ofbqej{!=\trvfpwjlm#letbp#fof`wfgwl#af`lnf#baf`bvpf#le#plnf#sflsofjmpsjqfg#azpv``fppevo#b#wjnf#tkfmnlqf#`lnnlmbnlmdpw#wkfbm#leej`jbotjgwk9233&8wf`kmloldz/tbp#bglswfgwl#hffs#wkfpfwwofnfmwpojuf#ajqwkpjmgf{-kwno!@lmmf`wj`vwbppjdmfg#wl%bns8wjnfp8b``lvmw#elqbojdm>qjdkwwkf#`lnsbmzbotbzp#affmqfwvqmfg#wljmuloufnfmwAf`bvpf#wkfwkjp#sfqjlg!#mbnf>!r!#`lmejmfg#wlb#qfpvow#leubovf>!!#,=jp#b`wvboozFmujqlmnfmw\t?,kfbg=\t@lmufqpfoz/=\t?gju#jg>!3!#tjgwk>!2jp#sqlabaozkbuf#af`lnf`lmwqloojmdwkf#sqlaofn`jwjyfmp#leslojwj`jbmpqfb`kfg#wkfbp#fbqoz#bp9mlmf8#lufq?wbaof#`fooubojgjwz#legjqf`woz#wllmnlvpfgltmtkfqf#jw#jptkfm#jw#tbpnfnafqp#le#qfobwjlm#wlb``lnnlgbwfbolmd#tjwk#Jm#wkf#obwfwkf#Fmdojpkgfoj`jlvp!=wkjp#jp#mlwwkf#sqfpfmwje#wkfz#bqfbmg#ejmboozb#nbwwfq#le\t\n?,gju=\t\t?,p`qjsw=ebpwfq#wkbmnbilqjwz#lebewfq#tkj`k`lnsbqbwjufwl#nbjmwbjmjnsqluf#wkfbtbqgfg#wkffq!#`obpp>!eqbnfalqgfqqfpwlqbwjlmjm#wkf#pbnfbmbozpjp#lewkfjq#ejqpwGvqjmd#wkf#`lmwjmfmwbopfrvfm`f#leevm`wjlm+*xelmw.pjyf9#tlqh#lm#wkf?,p`qjsw=\t?afdjmp#tjwkibubp`qjsw9`lmpwjwvfmwtbp#elvmgfgfrvjojaqjvnbppvnf#wkbwjp#djufm#azmffgp#wl#af`llqgjmbwfpwkf#ubqjlvpbqf#sbqw#lelmoz#jm#wkfpf`wjlmp#lejp#b#`lnnlmwkflqjfp#legjp`lufqjfpbppl`jbwjlmfgdf#le#wkfpwqfmdwk#leslpjwjlm#jmsqfpfmw.gbzvmjufqpboozwl#elqn#wkfavw#jmpwfbg`lqslqbwjlmbwwb`kfg#wljp#`lnnlmozqfbplmp#elq#%rvlw8wkf#`bm#af#nbgftbp#baof#wltkj`k#nfbmpavw#gjg#mlwlmNlvpfLufqbp#slppjaoflsfqbwfg#az`lnjmd#eqlnwkf#sqjnbqzbggjwjlm#leelq#pfufqbowqbmpefqqfgb#sfqjlg#lebqf#baof#wlkltfufq/#jwpklvog#kbufnv`k#obqdfq\t\n?,p`qjsw=bglswfg#wkfsqlsfqwz#legjqf`wfg#azfeef`wjufoztbp#aqlvdkw`kjogqfm#leSqldqbnnjmdolmdfq#wkbmnbmvp`qjswptbq#bdbjmpwaz#nfbmp#lebmg#nlpw#lepjnjobq#wl#sqlsqjfwbqzlqjdjmbwjmdsqfpwjdjlvpdqbnnbwj`bof{sfqjfm`f-wl#nbhf#wkfJw#tbp#bopljp#elvmg#jm`lnsfwjwlqpjm#wkf#V-P-qfsob`f#wkfaqlvdkw#wkf`bo`vobwjlmeboo#le#wkfwkf#dfmfqbosqb`wj`boozjm#klmlq#leqfofbpfg#jmqfpjgfmwjbobmg#plnf#lehjmd#le#wkfqfb`wjlm#wl2pw#Fbqo#le`vowvqf#bmgsqjm`jsbooz?,wjwof=\t##wkfz#`bm#afab`h#wl#wkfplnf#le#kjpf{slpvqf#wlbqf#pjnjobqelqn#le#wkfbggEbulqjwf`jwjyfmpkjssbqw#jm#wkfsflsof#tjwkjm#sqb`wj`fwl#`lmwjmvf%bns8njmvp8bssqlufg#az#wkf#ejqpw#booltfg#wkfbmg#elq#wkfevm`wjlmjmdsobzjmd#wkfplovwjlm#wlkfjdkw>!3!#jm#kjp#allhnlqf#wkbm#belooltp#wkf`qfbwfg#wkfsqfpfm`f#jm%maps8?,wg=mbwjlmbojpwwkf#jgfb#leb#`kbqb`wfqtfqf#elq`fg#`obpp>!awmgbzp#le#wkfefbwvqfg#jmpkltjmd#wkfjmwfqfpw#jmjm#sob`f#lewvqm#le#wkfwkf#kfbg#leOlqg#le#wkfslojwj`boozkbp#jwp#ltmFgv`bwjlmbobssqlubo#leplnf#le#wkffb`k#lwkfq/afkbujlq#lebmg#af`bvpfbmg#bmlwkfqbssfbqfg#lmqf`lqgfg#jmaob`h%rvlw8nbz#jm`ovgfwkf#tlqog$p`bm#ofbg#wlqfefqp#wl#balqgfq>!3!#dlufqmnfmw#tjmmjmd#wkfqfpvowfg#jm#tkjof#wkf#Tbpkjmdwlm/wkf#pvaif`w`jwz#jm#wkf=?,gju=\t\n\nqfeof`w#wkfwl#`lnsofwfaf`bnf#nlqfqbgjlb`wjufqfif`wfg#aztjwklvw#bmzkjp#ebwkfq/tkj`k#`lvog`lsz#le#wkfwl#jmgj`bwfb#slojwj`bob``lvmwp#le`lmpwjwvwfptlqhfg#tjwkfq?,b=?,oj=le#kjp#ojefb``lnsbmjfg`ojfmwTjgwksqfufmw#wkfOfdjpobwjufgjeefqfmwozwldfwkfq#jmkbp#pfufqboelq#bmlwkfqwf{w#le#wkfelvmgfg#wkff#tjwk#wkf#jp#vpfg#elq`kbmdfg#wkfvpvbooz#wkfsob`f#tkfqftkfqfbp#wkf=#?b#kqfe>!!=?b#kqfe>!wkfnpfoufp/bowklvdk#kfwkbw#`bm#afwqbgjwjlmboqlof#le#wkfbp#b#qfpvowqfnluf@kjoggfpjdmfg#aztfpw#le#wkfPlnf#sflsofsqlgv`wjlm/pjgf#le#wkfmftpofwwfqpvpfg#az#wkfgltm#wl#wkfb``fswfg#azojuf#jm#wkfbwwfnswp#wllvwpjgf#wkfeqfrvfm`jfpKltfufq/#jmsqldqbnnfqpbw#ofbpw#jmbssql{jnbwfbowklvdk#jwtbp#sbqw#lebmg#ubqjlvpDlufqmlq#lewkf#bqwj`ofwvqmfg#jmwl=?b#kqfe>!,wkf#f`lmlnzjp#wkf#nlpwnlpw#tjgfoztlvog#obwfqbmg#sfqkbspqjpf#wl#wkfl``vqp#tkfmvmgfq#tkj`k`lmgjwjlmp-wkf#tfpwfqmwkflqz#wkbwjp#sqlgv`fgwkf#`jwz#lejm#tkj`k#kfpffm#jm#wkfwkf#`fmwqboavjogjmd#lenbmz#le#kjpbqfb#le#wkfjp#wkf#lmoznlpw#le#wkfnbmz#le#wkfwkf#TfpwfqmWkfqf#jp#mlf{wfmgfg#wlPwbwjpwj`bo`lopsbm>1#pklqw#pwlqzslppjaof#wlwlsloldj`bo`qjwj`bo#leqfslqwfg#wlb#@kqjpwjbmgf`jpjlm#wljp#frvbo#wlsqlaofnp#leWkjp#`bm#afnfq`kbmgjpfelq#nlpw#leml#fujgfm`ffgjwjlmp#lefofnfmwp#jm%rvlw8-#Wkf`ln,jnbdfp,tkj`k#nbhfpwkf#sql`fppqfnbjmp#wkfojwfqbwvqf/jp#b#nfnafqwkf#slsvobqwkf#bm`jfmwsqlaofnp#jmwjnf#le#wkfgfefbwfg#azalgz#le#wkfb#eft#zfbqpnv`k#le#wkfwkf#tlqh#le@bojelqmjb/pfqufg#bp#bdlufqmnfmw-`lm`fswp#lenlufnfmw#jm\n\n?gju#jg>!jw!#ubovf>!obmdvbdf#lebp#wkfz#bqfsqlgv`fg#jmjp#wkbw#wkff{sobjm#wkfgju=?,gju=\tKltfufq#wkfofbg#wl#wkf\n?b#kqfe>!,tbp#dqbmwfgsflsof#kbuf`lmwjmvbooztbp#pffm#bpbmg#qfobwfgwkf#qlof#lesqlslpfg#azle#wkf#afpwfb`k#lwkfq-@lmpwbmwjmfsflsof#eqlngjbof`wp#lewl#qfujpjlmtbp#qfmbnfgb#plvq`f#lewkf#jmjwjboobvm`kfg#jmsqlujgf#wkfwl#wkf#tfpwtkfqf#wkfqfbmg#pjnjobqafwtffm#wtljp#bopl#wkfFmdojpk#bmg`lmgjwjlmp/wkbw#jw#tbpfmwjwofg#wlwkfnpfoufp-rvbmwjwz#leqbmpsbqfm`zwkf#pbnf#bpwl#iljm#wkf`lvmwqz#bmgwkjp#jp#wkfWkjp#ofg#wlb#pwbwfnfmw`lmwqbpw#wlobpwJmgf{Lewkqlvdk#kjpjp#gfpjdmfgwkf#wfqn#jpjp#sqlujgfgsqlwf`w#wkfmd?,b=?,oj=Wkf#`vqqfmwwkf#pjwf#lepvapwbmwjbof{sfqjfm`f/jm#wkf#Tfpwwkfz#pklvogpolufm(ajmb`lnfmwbqjlpvmjufqpjgbg`lmgj`jlmfpb`wjujgbgfpf{sfqjfm`jbwf`mlold/Absqlgv``j/_msvmwvb`j/_mbsoj`b`j/_m`lmwqbpf/]b`bwfdlq/Abpqfdjpwqbqpfsqlefpjlmbowqbwbnjfmwlqfd/Apwqbwfpf`qfwbq/Absqjm`jsbofpsqlwf``j/_mjnslqwbmwfpjnslqwbm`jbslpjajojgbgjmwfqfpbmwf`qf`jnjfmwlmf`fpjgbgfppvp`qjajqpfbpl`jb`j/_mgjpslmjaofpfubovb`j/_mfpwvgjbmwfpqfpslmpbaofqfplov`j/_mdvbgbobibqbqfdjpwqbglplslqwvmjgbg`lnfq`jbofpelwldqbe/Abbvwlqjgbgfpjmdfmjfq/Abwfofujpj/_m`lnsfwfm`jblsfqb`jlmfpfpwbaof`jglpjnsofnfmwfb`wvbonfmwfmbufdb`j/_m`lmelqnjgbgojmf.kfjdkw9elmw.ebnjoz9!#9#!kwws9,,bssoj`bwjlmpojmh!#kqfe>!psf`jej`booz,,?"X@GBWBX\tLqdbmjybwjlmgjpwqjavwjlm3s{8#kfjdkw9qfobwjlmpkjsgfuj`f.tjgwk?gju#`obpp>!?obafo#elq>!qfdjpwqbwjlm?,mlp`qjsw=\t,jmgf{-kwno!tjmglt-lsfm+#"jnslqwbmw8bssoj`bwjlm,jmgfsfmgfm`f,,ttt-dlldoflqdbmjybwjlmbvwl`lnsofwfqfrvjqfnfmwp`lmpfqubwjuf?elqn#mbnf>!jmwfoof`wvbonbqdjm.ofew92;wk#`fmwvqzbm#jnslqwbmwjmpwjwvwjlmpbaaqfujbwjlm?jnd#`obpp>!lqdbmjpbwjlm`jujojybwjlm2:wk#`fmwvqzbq`kjwf`wvqfjm`lqslqbwfg13wk#`fmwvqz.`lmwbjmfq!=nlpw#mlwbaoz,=?,b=?,gju=mlwjej`bwjlm$vmgfejmfg$*Evqwkfqnlqf/afojfuf#wkbwjmmfqKWNO#>#sqjlq#wl#wkfgqbnbwj`boozqfefqqjmd#wlmfdlwjbwjlmpkfbgrvbqwfqpPlvwk#Beqj`bvmpv``fppevoSfmmpzoubmjbBp#b#qfpvow/?kwno#obmd>!%ow8,pvs%dw8gfbojmd#tjwkskjobgfoskjbkjpwlqj`booz*8?,p`qjsw=\tsbggjmd.wls9f{sfqjnfmwbodfwBwwqjavwfjmpwqv`wjlmpwf`kmloldjfpsbqw#le#wkf#>evm`wjlm+*xpvap`qjswjlmo-gwg!=\t?kwdfldqbskj`bo@lmpwjwvwjlm$/#evm`wjlm+pvsslqwfg#azbdqj`vowvqbo`lmpwqv`wjlmsvaoj`bwjlmpelmw.pjyf9#2b#ubqjfwz#le?gju#pwzof>!Fm`z`olsfgjbjeqbnf#pq`>!gfnlmpwqbwfgb``lnsojpkfgvmjufqpjwjfpGfnldqbskj`p*8?,p`qjsw=?gfgj`bwfg#wlhmltofgdf#lepbwjpeb`wjlmsbqwj`vobqoz?,gju=?,gju=Fmdojpk#+VP*bssfmg@kjog+wqbmpnjppjlmp-#Kltfufq/#jmwfoojdfm`f!#wbajmgf{>!eolbw9qjdkw8@lnnlmtfbowkqbmdjmd#eqlnjm#tkj`k#wkfbw#ofbpw#lmfqfsqlgv`wjlmfm`z`olsfgjb8elmw.pjyf92ivqjpgj`wjlmbw#wkbw#wjnf!=?b#`obpp>!Jm#bggjwjlm/gfp`qjswjlm(`lmufqpbwjlm`lmwb`w#tjwkjp#dfmfqboozq!#`lmwfmw>!qfsqfpfmwjmd%ow8nbwk%dw8sqfpfmwbwjlml``bpjlmbooz?jnd#tjgwk>!mbujdbwjlm!=`lnsfmpbwjlm`kbnsjlmpkjsnfgjb>!boo!#ujlobwjlm#leqfefqfm`f#wlqfwvqm#wqvf8Pwqj`w,,FM!#wqbmpb`wjlmpjmwfqufmwjlmufqjej`bwjlmJmelqnbwjlm#gjeej`vowjfp@kbnsjlmpkjs`bsbajojwjfp?"Xfmgje^..=~\t?,p`qjsw=\t@kqjpwjbmjwzelq#f{bnsof/Sqlefppjlmboqfpwqj`wjlmppvddfpw#wkbwtbp#qfofbpfg+pv`k#bp#wkfqfnluf@obpp+vmfnsolznfmwwkf#Bnfqj`bmpwqv`wvqf#le,jmgf{-kwno#svaojpkfg#jmpsbm#`obpp>!!=?b#kqfe>!,jmwqlgv`wjlmafolmdjmd#wl`objnfg#wkbw`lmpfrvfm`fp?nfwb#mbnf>!Dvjgf#wl#wkflufqtkfonjmdbdbjmpw#wkf#`lm`fmwqbwfg/\t-mlmwlv`k#lapfqubwjlmp?,b=\t?,gju=\te#+gl`vnfmw-alqgfq9#2s{#xelmw.pjyf92wqfbwnfmw#le3!#kfjdkw>!2nlgjej`bwjlmJmgfsfmgfm`fgjujgfg#jmwldqfbwfq#wkbmb`kjfufnfmwpfpwbaojpkjmdIbubP`qjsw!#mfufqwkfofpppjdmjej`bm`fAqlbg`bpwjmd=%maps8?,wg=`lmwbjmfq!=\tpv`k#bp#wkf#jmeovfm`f#leb#sbqwj`vobqpq`>$kwws9,,mbujdbwjlm!#kboe#le#wkf#pvapwbmwjbo#%maps8?,gju=bgubmwbdf#legjp`lufqz#leevmgbnfmwbo#nfwqlslojwbmwkf#lsslpjwf!#{no9obmd>!gfojafqbwfozbojdm>`fmwfqfulovwjlm#lesqfpfqubwjlmjnsqlufnfmwpafdjmmjmd#jmIfpvp#@kqjpwSvaoj`bwjlmpgjpbdqffnfmwwf{w.bojdm9q/#evm`wjlm+*pjnjobqjwjfpalgz=?,kwno=jp#`vqqfmwozboskbafwj`bojp#plnfwjnfpwzsf>!jnbdf,nbmz#le#wkf#eolt9kjggfm8bubjobaof#jmgfp`qjaf#wkff{jpwfm`f#leboo#lufq#wkfwkf#Jmwfqmfw\n?vo#`obpp>!jmpwboobwjlmmfjdkalqkllgbqnfg#elq`fpqfgv`jmd#wkf`lmwjmvfp#wlMlmfwkfofpp/wfnsfqbwvqfp\t\n\n?b#kqfe>!`olpf#wl#wkff{bnsofp#le#jp#balvw#wkf+pff#afolt*-!#jg>!pfbq`ksqlefppjlmbojp#bubjobaofwkf#leej`jbo\n\n?,p`qjsw=\t\t\n\n?gju#jg>!b``fofqbwjlmwkqlvdk#wkf#Kboo#le#Ebnfgfp`qjswjlmpwqbmpobwjlmpjmwfqefqfm`f#wzsf>$wf{w,qf`fmw#zfbqpjm#wkf#tlqogufqz#slsvobqxab`hdqlvmg9wqbgjwjlmbo#plnf#le#wkf#`lmmf`wfg#wlf{soljwbwjlmfnfqdfm`f#le`lmpwjwvwjlmB#Kjpwlqz#lepjdmjej`bmw#nbmveb`wvqfgf{sf`wbwjlmp=?mlp`qjsw=?`bm#af#elvmgaf`bvpf#wkf#kbp#mlw#affmmfjdkalvqjmdtjwklvw#wkf#bggfg#wl#wkf\n?oj#`obpp>!jmpwqvnfmwboPlujfw#Vmjlmb`hmltofgdfgtkj`k#`bm#afmbnf#elq#wkfbwwfmwjlm#wlbwwfnswp#wl#gfufolsnfmwpJm#eb`w/#wkf?oj#`obpp>!bjnsoj`bwjlmppvjwbaof#elqnv`k#le#wkf#`lolmjybwjlmsqfpjgfmwjbo`bm`foAvaaof#Jmelqnbwjlmnlpw#le#wkf#jp#gfp`qjafgqfpw#le#wkf#nlqf#lq#ofppjm#PfswfnafqJmwfoojdfm`fpq`>!kwws9,,s{8#kfjdkw9#bubjobaof#wlnbmveb`wvqfqkvnbm#qjdkwpojmh#kqfe>!,bubjobajojwzsqlslqwjlmbolvwpjgf#wkf#bpwqlmlnj`bokvnbm#afjmdpmbnf#le#wkf#bqf#elvmg#jmbqf#abpfg#lmpnboofq#wkbmb#sfqplm#tklf{sbmpjlm#lebqdvjmd#wkbwmlt#hmltm#bpJm#wkf#fbqozjmwfqnfgjbwfgfqjufg#eqlnP`bmgjmbujbm?,b=?,gju=\t`lmpjgfq#wkfbm#fpwjnbwfgwkf#Mbwjlmbo?gju#jg>!sbdqfpvowjmd#jm`lnnjppjlmfgbmboldlvp#wlbqf#qfrvjqfg,vo=\t?,gju=\ttbp#abpfg#lmbmg#af`bnf#b%maps8%maps8w!#ubovf>!!#tbp#`bswvqfgml#nlqf#wkbmqfpsf`wjufoz`lmwjmvf#wl#=\t?kfbg=\t?tfqf#`qfbwfgnlqf#dfmfqbojmelqnbwjlm#vpfg#elq#wkfjmgfsfmgfmw#wkf#Jnsfqjbo`lnslmfmw#lewl#wkf#mlqwkjm`ovgf#wkf#@lmpwqv`wjlmpjgf#le#wkf#tlvog#mlw#afelq#jmpwbm`fjmufmwjlm#lenlqf#`lnsof{`loof`wjufozab`hdqlvmg9#wf{w.bojdm9#jwp#lqjdjmbojmwl#b``lvmwwkjp#sql`fppbm#f{wfmpjufkltfufq/#wkfwkfz#bqf#mlwqfif`wfg#wkf`qjwj`jpn#legvqjmd#tkj`ksqlabaoz#wkfwkjp#bqwj`of+evm`wjlm+*xJw#pklvog#afbm#bdqffnfmwb``jgfmwboozgjeefqp#eqlnBq`kjwf`wvqfafwwfq#hmltmbqqbmdfnfmwpjmeovfm`f#lmbwwfmgfg#wkfjgfmwj`bo#wlplvwk#le#wkfsbpp#wkqlvdk{no!#wjwof>!tfjdkw9alog8`qfbwjmd#wkfgjpsobz9mlmfqfsob`fg#wkf?jnd#pq`>!,jkwwsp9,,ttt-Tlqog#Tbq#JJwfpwjnlmjbopelvmg#jm#wkfqfrvjqfg#wl#bmg#wkbw#wkfafwtffm#wkf#tbp#gfpjdmfg`lmpjpwp#le#`lmpjgfqbaozsvaojpkfg#azwkf#obmdvbdf@lmpfqubwjlm`lmpjpwfg#leqfefq#wl#wkfab`h#wl#wkf#`pp!#nfgjb>!Sflsof#eqln#bubjobaof#lmsqlufg#wl#afpvddfpwjlmp!tbp#hmltm#bpubqjfwjfp#leojhfoz#wl#af`lnsqjpfg#lepvsslqw#wkf#kbmgp#le#wkf`lvsofg#tjwk`lmmf`w#bmg#alqgfq9mlmf8sfqelqnbm`fpafelqf#afjmdobwfq#af`bnf`bo`vobwjlmplewfm#`boofgqfpjgfmwp#lenfbmjmd#wkbw=?oj#`obpp>!fujgfm`f#elqf{sobmbwjlmpfmujqlmnfmwp!=?,b=?,gju=tkj`k#booltpJmwqlgv`wjlmgfufolsfg#azb#tjgf#qbmdflm#afkboe#leubojdm>!wls!sqjm`jsof#lebw#wkf#wjnf/?,mlp`qjsw=pbjg#wl#kbufjm#wkf#ejqpwtkjof#lwkfqpkzslwkfwj`boskjolplskfqpsltfq#le#wkf`lmwbjmfg#jmsfqelqnfg#azjmbajojwz#wltfqf#tqjwwfmpsbm#pwzof>!jmsvw#mbnf>!wkf#rvfpwjlmjmwfmgfg#elqqfif`wjlm#lejnsojfp#wkbwjmufmwfg#wkfwkf#pwbmgbqgtbp#sqlabaozojmh#afwtffmsqlefpplq#lejmwfqb`wjlmp`kbmdjmd#wkfJmgjbm#L`fbm#`obpp>!obpwtlqhjmd#tjwk$kwws9,,ttt-zfbqp#afelqfWkjp#tbp#wkfqf`qfbwjlmbofmwfqjmd#wkfnfbpvqfnfmwpbm#f{wqfnfozubovf#le#wkfpwbqw#le#wkf\t?,p`qjsw=\t\tbm#feelqw#wljm`qfbpf#wkfwl#wkf#plvwkpsb`jmd>!3!=pveej`jfmwozwkf#Fvqlsfbm`lmufqwfg#wl`ofbqWjnflvwgjg#mlw#kbuf`lmpfrvfmwozelq#wkf#mf{wf{wfmpjlm#lef`lmlnj`#bmgbowklvdk#wkfbqf#sqlgv`fgbmg#tjwk#wkfjmpveej`jfmwdjufm#az#wkfpwbwjmd#wkbwf{sfmgjwvqfp?,psbm=?,b=\twklvdkw#wkbwlm#wkf#abpjp`foosbggjmd>jnbdf#le#wkfqfwvqmjmd#wljmelqnbwjlm/pfsbqbwfg#azbppbppjmbwfgp!#`lmwfmw>!bvwklqjwz#lemlqwktfpwfqm?,gju=\t?gju#!=?,gju=\t##`lmpvowbwjlm`lnnvmjwz#lewkf#mbwjlmbojw#pklvog#afsbqwj`jsbmwp#bojdm>!ofewwkf#dqfbwfpwpfof`wjlm#lepvsfqmbwvqbogfsfmgfmw#lmjp#nfmwjlmfgbooltjmd#wkftbp#jmufmwfgb``lnsbmzjmdkjp#sfqplmbobubjobaof#bwpwvgz#le#wkflm#wkf#lwkfqf{f`vwjlm#leKvnbm#Qjdkwpwfqnp#le#wkfbppl`jbwjlmpqfpfbq`k#bmgpv``ffgfg#azgfefbwfg#wkfbmg#eqln#wkfavw#wkfz#bqf`lnnbmgfq#lepwbwf#le#wkfzfbqp#le#bdfwkf#pwvgz#le?vo#`obpp>!psob`f#jm#wkftkfqf#kf#tbp?oj#`obpp>!ewkfqf#bqf#mltkj`k#af`bnfkf#svaojpkfgf{sqfppfg#jmwl#tkj`k#wkf`lnnjppjlmfqelmw.tfjdkw9wfqqjwlqz#lef{wfmpjlmp!=Qlnbm#Fnsjqffrvbo#wl#wkfJm#`lmwqbpw/kltfufq/#bmgjp#wzsj`boozbmg#kjp#tjef+bopl#`boofg=?vo#`obpp>!feef`wjufoz#fuloufg#jmwlpffn#wl#kbuftkj`k#jp#wkfwkfqf#tbp#mlbm#f{`foofmwboo#le#wkfpfgfp`qjafg#azJm#sqb`wj`f/aqlbg`bpwjmd`kbqdfg#tjwkqfeof`wfg#jmpvaif`wfg#wlnjojwbqz#bmgwl#wkf#sljmwf`lmlnj`boozpfwWbqdfwjmdbqf#b`wvboozuj`wlqz#lufq+*8?,p`qjsw=`lmwjmvlvpozqfrvjqfg#elqfulovwjlmbqzbm#feef`wjufmlqwk#le#wkf/#tkj`k#tbp#eqlmw#le#wkflq#lwkfqtjpfplnf#elqn#lekbg#mlw#affmdfmfqbwfg#azjmelqnbwjlm-sfqnjwwfg#wljm`ovgfp#wkfgfufolsnfmw/fmwfqfg#jmwlwkf#sqfujlvp`lmpjpwfmwozbqf#hmltm#bpwkf#ejfog#lewkjp#wzsf#ledjufm#wl#wkfwkf#wjwof#le`lmwbjmp#wkfjmpwbm`fp#lejm#wkf#mlqwkgvf#wl#wkfjqbqf#gfpjdmfg`lqslqbwjlmptbp#wkbw#wkflmf#le#wkfpfnlqf#slsvobqpv``ffgfg#jmpvsslqw#eqlnjm#gjeefqfmwglnjmbwfg#azgfpjdmfg#elqltmfqpkjs#lebmg#slppjaozpwbmgbqgjyfgqfpslmpfWf{wtbp#jmwfmgfgqf`fjufg#wkfbppvnfg#wkbwbqfbp#le#wkfsqjnbqjoz#jmwkf#abpjp#lejm#wkf#pfmpfb``lvmwp#elqgfpwqlzfg#azbw#ofbpw#wtltbp#gf`obqfg`lvog#mlw#afPf`qfwbqz#lebssfbq#wl#afnbqdjm.wls92,]_p(_p(\',df*xwkqlt#f~8wkf#pwbqw#lewtl#pfsbqbwfobmdvbdf#bmgtkl#kbg#affmlsfqbwjlm#legfbwk#le#wkfqfbo#mvnafqp\n?ojmh#qfo>!sqlujgfg#wkfwkf#pwlqz#le`lnsfwjwjlmpfmdojpk#+VH*fmdojpk#+VP*<p<R<Q<_<R<W<M=l<S=m<V<T=m=l<S=m<V<T=m=l<S=m<V<R5h4U4]4D5f4E\nAOGx\bTA\nzk\vBl\bQ\bTA\nzk\vUm\bQ\bTA\nzk\npeu|\ti@\tcT\bVV\n\\}\nxS\tVptSk`\t[X\t[X\vHR\bPv\bTW\bUe\na\bQp\v_W\vWs\nxS\vAz\n_yKhjmelqnb`j/_mkfqqbnjfmwbpfof`wq/_mj`lgfp`qjs`j/_m`obpjej`bglp`lml`jnjfmwlsvaoj`b`j/_mqfob`jlmbgbpjmelqn/Mwj`bqfob`jlmbglpgfsbqwbnfmwlwqbabibglqfpgjqf`wbnfmwfbzvmwbnjfmwlnfq`bglOjaqf`lmw/M`wfmlpkbajwb`jlmfp`vnsojnjfmwlqfpwbvqbmwfpgjpslpj`j/_m`lmpf`vfm`jbfof`wq/_mj`bbsoj`b`jlmfpgfp`lmf`wbgljmpwbob`j/_mqfbojyb`j/_mvwjojyb`j/_mfm`j`olsfgjbfmefqnfgbgfpjmpwqvnfmwlpf{sfqjfm`jbpjmpwjwv`j/_msbqwj`vobqfppva`bwfdlqjb=n<R<W=`<V<R<L<R=m=m<T<T=l<\\<]<R=n=g<]<R<W=`=d<Y<S=l<R=m=n<R<P<R<Z<Y=n<Y<X=l=o<_<T=i=m<W=o=k<\\<Y=m<Y<U=k<\\=m<^=m<Y<_<X<\\<L<R=m=m<T=c<p<R=m<V<^<Y<X=l=o<_<T<Y<_<R=l<R<X<\\<^<R<S=l<R=m<X<\\<Q<Q=g=i<X<R<W<Z<Q=g<T<P<Y<Q<Q<R<p<R=m<V<^=g=l=o<]<W<Y<U<p<R=m<V<^<\\=m=n=l<\\<Q=g<Q<T=k<Y<_<R=l<\\<]<R=n<Y<X<R<W<Z<Y<Q=o=m<W=o<_<T=n<Y<S<Y=l=`<r<X<Q<\\<V<R<S<R=n<R<P=o=l<\\<]<R=n=o<\\<S=l<Y<W=c<^<R<R<]=e<Y<R<X<Q<R<_<R=m<^<R<Y<_<R=m=n<\\=n=`<T<X=l=o<_<R<U=h<R=l=o<P<Y=i<R=l<R=d<R<S=l<R=n<T<^=m=m=g<W<V<\\<V<\\<Z<X=g<U<^<W<\\=m=n<T<_=l=o<S<S=g<^<P<Y=m=n<Y=l<\\<]<R=n<\\=m<V<\\<[<\\<W<S<Y=l<^=g<U<X<Y<W<\\=n=`<X<Y<Q=`<_<T<S<Y=l<T<R<X<]<T<[<Q<Y=m<R=m<Q<R<^<Y<P<R<P<Y<Q=n<V=o<S<T=n=`<X<R<W<Z<Q<\\=l<\\<P<V<\\=i<Q<\\=k<\\<W<R<L<\\<]<R=n<\\<N<R<W=`<V<R=m<R<^=m<Y<P<^=n<R=l<R<U<Q<\\=k<\\<W<\\=m<S<T=m<R<V=m<W=o<Z<]=g=m<T=m=n<Y<P<S<Y=k<\\=n<T<Q<R<^<R<_<R<S<R<P<R=e<T=m<\\<U=n<R<^<S<R=k<Y<P=o<S<R<P<R=e=`<X<R<W<Z<Q<R=m=m=g<W<V<T<]=g=m=n=l<R<X<\\<Q<Q=g<Y<P<Q<R<_<T<Y<S=l<R<Y<V=n<M<Y<U=k<\\=m<P<R<X<Y<W<T=n<\\<V<R<_<R<R<Q<W<\\<U<Q<_<R=l<R<X<Y<^<Y=l=m<T=c=m=n=l<\\<Q<Y=h<T<W=`<P=g=o=l<R<^<Q=c=l<\\<[<Q=g=i<T=m<V<\\=n=`<Q<Y<X<Y<W=b=c<Q<^<\\=l=c<P<Y<Q=`=d<Y<P<Q<R<_<T=i<X<\\<Q<Q<R<U<[<Q<\\=k<T=n<Q<Y<W=`<[=c=h<R=l=o<P<\\<N<Y<S<Y=l=`<P<Y=m=c=j<\\<[<\\=e<T=n=g<w=o=k=d<T<Y\fHD\fHU\fIl\fHn\fHy\fH\\\fHD\fIk\fHi\fHF\fHD\fIk\fHy\fHS\fHC\fHR\fHy\fH\\\fIk\fHn\fHi\fHD\fIa\fHC\fHy\fIa\fHC\fHR\fH{\fHR\fHk\fHM\fH@\fHR\fH\\\fIk\fHy\fHS\fHT\fIl\fHJ\fHS\fHC\fHR\fHF\fHU\fH^\fIk\fHT\fHS\fHn\fHU\fHA\fHR\fH\\\fHH\fHi\fHF\fHD\fIl\fHY\fHR\fH^\fIk\fHT\fIk\fHY\fHR\fHy\fH\\\fHH\fIk\fHB\fIk\fH\\\fIk\fHU\fIg\fHD\fIk\fHT\fHy\fHH\fIk\fH@\fHU\fIm\fHH\fHT\fHR\fHk\fHs\fHU\fIg\fH{\fHR\fHp\fHR\fHD\fIk\fHB\fHS\fHD\fHs\fHy\fH\\\fHH\fHR\fHy\fH\\\fHD\fHR\fHe\fHD\fHy\fIk\fHC\fHU\fHR\fHm\fHT\fH@\fHT\fIk\fHA\fHR\fH[\fHR\fHj\fHF\fHy\fIk\fH^\fHS\fHC\fIk\fHZ\fIm\fH\\\fIn\fHk\fHT\fHy\fIk\fHt\fHn\fHs\fIk\fHB\fIk\fH\\\fIl\fHT\fHy\fHH\fHR\fHB\fIk\fH\\\fHR\fH^\fIk\fHy\fH\\\fHi\fHK\fHS\fHy\fHi\fHF\fHD\fHR\fHT\fHB\fHR\fHp\fHB\fIm\fHq\fIk\fHy\fHR\fH\\\fHO\fHU\fIg\fHH\fHR\fHy\fHM\fHP\fIl\fHC\fHU\fHR\fHn\fHU\fIg\fHs\fH^\fHZ\fH@\fIa\fHJ\fH^\fHS\fHC\fHR\fHp\fIl\fHY\fHD\fHp\fHR\fHH\fHR\fHy\fId\fHT\fIk\fHj\fHF\fHy\fHR\fHY\fHR\fH^\fIl\fHJ\fIk\fHD\fIk\fHF\fIn\fH\\\fIl\fHF\fHR\fHD\fIl\fHe\fHT\fHy\fIk\fHU\fIg\fH{\fIl\fH@\fId\fHL\fHy\fHj\fHF\fHy\fIl\fHY\fH\\\fIa\fH[\fH{\fHR\fHn\fHY\fHj\fHF\fHy\fIg\fHp\fHS\fH^\fHR\fHp\fHR\fHD\fHR\fHT\fHU\fHB\fHH\fHU\fHB\fIk\fHn\fHe\fHD\fHy\fIl\fHC\fHR\fHU\fIn\fHJ\fH\\\fIa\fHp\fHT\fIn\fHv\fIl\fHF\fHT\fHn\fHJ\fHT\fHY\fHR\fH^\fHU\fIg\fHD\fHR\fHU\fIg\fHH\fIl\fHp\fId\fHT\fIk\fHY\fHR\fHF\fHT\fHp\fHD\fHH\fHR\fHD\fIk\fHH\fHR\fHp\fHR\fH\\\fIl\fHt\fHR\fHC\fH^\fHp\fHS\fH^\fIk\fHD\fIl\fHv\fIk\fHp\fHR\fHn\fHv\fHF\fHH\fIa\fH\\\fH{\fIn\fH{\fH^\fHp\fHR\fHH\fIk\fH@\fHR\fHU\fH\\\fHj\fHF\fHD\fIk\fHY\fHR\fHU\fHD\fHk\fHT\fHy\fHR\fHT\fIm\fH@\fHU\fH\\\fHU\fHD\fIk\fHk\fHT\fHT\fIk\fHT\fHU\fHS\fHH\fH@\fHM\fHP\fIk\fHt\fHs\fHD\fHR\fHH\fH^\fHR\fHZ\fHF\fHR\fHn\fHv\fHZ\fIa\fH\\\fIl\fH@\fHM\fHP\fIl\fHU\fIg\fHH\fIk\fHT\fHR\fHd\fHs\fHZ\fHR\fHC\fHJ\fHT\fHy\fHH\fIl\fHp\fHR\fHH\fIl\fHY\fHR\fH^\fHR\fHU\fHp\fHR\fH\\\fHF\fHs\fHD\fHR\fH\\\fHz\fHD\fIk\fHT\fHM\fHP\fHy\fHB\fHS\fH^\fHR\fHe\fHT\fHy\fIl\fHy\fIk\fHY\fH^\fH^\fH{\fHH\fHR\fHz\fHR\fHD\fHR\fHi\fH\\\fIa\fHI\fHp\fHU\fHR\fHn\fHJ\fIk\fHz\fHR\fHF\fHU\fH^\fIl\fHD\fHS\fHC\fHB\fH@\fHS\fHD\fHR\fH@\fId\fHn\fHy\fHy\fHU\fIl\fHn\fHy\fHU\fHD\fHR\fHJ\fIk\fHH\fHR\fHU\fHB\fH^\fIk\fHy\fHR\fHG\fIl\fHp\fH@\fHy\fHS\fHH\fIm\fH\\\fHH\fHB\fHR\fHn\fH{\fHY\fHU\fIl\fHn\fH\\\fIg\fHp\fHP\fHB\fHS\fH^\fIl\fHj\fH\\\fIg\fHF\fHT\fIk\fHD\fHR\fHC\fHR\fHJ\fHY\fH^\fIk\fHD\fIk\fHz\fHR\fHH\fHR\fHy\fH\\\fIl\fH@\fHe\fHD\fHy\fHR\fHp\fHY\fHR\fH@\fHF\fIn\fH\\\fHR\fH@\fHM\fHP\fHR\fHT\fI`\fHJ\fHR\fHZ\fIk\fHC\fH\\\fHy\fHS\fHC\fIk\fHy\fHU\fHR\fHn\fHi\fHy\fHT\fH\\\fH@\fHD\fHR\fHc\fHY\fHU\fHR\fHn\fHT\fIa\fHI\fH^\fHB\fHS\fH^\fIk\fH^\fIk\fHz\fHy\fHY\fHS\fH[\fHC\fHy\fIa\fH\\\fHn\fHT\fHB\fIn\fHU\fHI\fHR\fHD\fHR4F4_4F4[5f4U5i4X4K4]5o4E4D5d4K4_4[4E4K5h4Y5m4A4E5i5d4K4Z5f4U4K5h4B4K4Y4E4K5h5i4^5f4C4K5h4U4K5i4E4K5h5o4K4F4D4K5h4]4C5d4C4D4]5j4K5i4@4K5h4C5d5h4E4K5h4U4K5h5i4K5h5i5d5n4U4K5h4U4]4D5f4K5h4_4]5f4U4K5h4@5d4K5h4K5h4\\5k4K4D4K5h4A5f4K4E4K5h4A5n5d5n4K5h5o4]5f5i4K5h4U4]4K5n5i4A5m5d4T4E4K5h4G4K5j5f5i4X4K5k4C4E4K5h5i4]4O4E4K5h5n4]4N5j4K5h4X4D4K4D4K5h4A5d4K4]4K5h4@4C5f4C4K5h4O4_4]4E4K5h4U5h5d5i5i4@5i5d4U4E4K5h4]4A5i5j4K5h5j5n4K4[5m5h4_4[5f5j4K5h5o5d5f4F4K5h4C5j5f4K4D4]5o4K4F5k4K5h4]5f4K4Z4F4A5f4K4F5f4D4F5d5n5f4F4K5h4O5d5h5e4K5h4D4]5f4C4K5h5o5h4K5i4K5h4]4K4D4[4K5h4X4B4Y5f4_5f4K4]4K4F4K5h4G4K5h4G4K5h4Y5h4K4E4K5h4A4C5f4G4K5h4^5d4K4]4K5h4B5h5f4@4K5h4@5i5f4U4K5h4U4K5i5k4K5h4@5i4K5h4K5h4_4K4U4E5i4X4K5k4C5k4K5h4]4J5f4_4K5h4C4B5d5h4K5h5m5j5f4E4K5h5o4F4K4D4K5h4C5d4]5f4K5h4C4]5d4_4K4_4F4V4]5n4F4Y4K5i5f5i4K5h4D5j4K4F4K5h4U4T5f5ifmwfqwbjmnfmwvmgfqpwbmgjmd#>#evm`wjlm+*-isd!#tjgwk>!`lmejdvqbwjlm-smd!#tjgwk>!?algz#`obpp>!Nbwk-qbmgln+*`lmwfnslqbqz#Vmjwfg#Pwbwfp`jq`vnpwbm`fp-bssfmg@kjog+lqdbmjybwjlmp?psbm#`obpp>!!=?jnd#pq`>!,gjpwjmdvjpkfgwklvpbmgp#le#`lnnvmj`bwjlm`ofbq!=?,gju=jmufpwjdbwjlmebuj`lm-j`l!#nbqdjm.qjdkw9abpfg#lm#wkf#Nbppb`kvpfwwpwbaof#alqgfq>jmwfqmbwjlmbobopl#hmltm#bpsqlmvm`jbwjlmab`hdqlvmg9 esbggjmd.ofew9Elq#f{bnsof/#njp`foobmflvp%ow8,nbwk%dw8spz`kloldj`bojm#sbqwj`vobqfbq`k!#wzsf>!elqn#nfwklg>!bp#lsslpfg#wlPvsqfnf#@lvqwl``bpjlmbooz#Bggjwjlmbooz/Mlqwk#Bnfqj`bs{8ab`hdqlvmglsslqwvmjwjfpFmwfqwbjmnfmw-wlOltfq@bpf+nbmveb`wvqjmdsqlefppjlmbo#`lnajmfg#tjwkElq#jmpwbm`f/`lmpjpwjmd#le!#nb{ofmdwk>!qfwvqm#ebopf8`lmp`jlvpmfppNfgjwfqqbmfbmf{wqblqgjmbqzbppbppjmbwjlmpvapfrvfmwoz#avwwlm#wzsf>!wkf#mvnafq#lewkf#lqjdjmbo#`lnsqfkfmpjufqfefqp#wl#wkf?,vo=\t?,gju=\tskjolplskj`bool`bwjlm-kqfetbp#svaojpkfgPbm#Eqbm`jp`l+evm`wjlm+*x\t?gju#jg>!nbjmplskjpwj`bwfgnbwkfnbwj`bo#,kfbg=\t?algzpvddfpwp#wkbwgl`vnfmwbwjlm`lm`fmwqbwjlmqfobwjlmpkjspnbz#kbuf#affm+elq#f{bnsof/Wkjp#bqwj`of#jm#plnf#`bpfpsbqwp#le#wkf#gfejmjwjlm#leDqfbw#Aqjwbjm#`foosbggjmd>frvjubofmw#wlsob`fklogfq>!8#elmw.pjyf9#ivpwjej`bwjlmafojfufg#wkbwpveefqfg#eqlnbwwfnswfg#wl#ofbgfq#le#wkf`qjsw!#pq`>!,+evm`wjlm+*#xbqf#bubjobaof\t\n?ojmh#qfo>!#pq`>$kwws9,,jmwfqfpwfg#jm`lmufmwjlmbo#!#bow>!!#,=?,bqf#dfmfqboozkbp#bopl#affmnlpw#slsvobq#`lqqfpslmgjmd`qfgjwfg#tjwkwzof>!alqgfq9?,b=?,psbm=?,-dje!#tjgwk>!?jeqbnf#pq`>!wbaof#`obpp>!jmojmf.aol`h8b``lqgjmd#wl#wldfwkfq#tjwkbssql{jnbwfozsbqojbnfmwbqznlqf#bmg#nlqfgjpsobz9mlmf8wqbgjwjlmboozsqfglnjmbmwoz%maps8%maps8%maps8?,psbm=#`foopsb`jmd>?jmsvw#mbnf>!lq!#`lmwfmw>!`lmwqlufqpjbosqlsfqwz>!ld9,{.pkl`htbuf.gfnlmpwqbwjlmpvqqlvmgfg#azMfufqwkfofpp/tbp#wkf#ejqpw`lmpjgfqbaof#Bowklvdk#wkf#`loobalqbwjlmpklvog#mlw#afsqlslqwjlm#le?psbm#pwzof>!hmltm#bp#wkf#pklqwoz#bewfqelq#jmpwbm`f/gfp`qjafg#bp#,kfbg=\t?algz#pwbqwjmd#tjwkjm`qfbpjmdoz#wkf#eb`w#wkbwgjp`vppjlm#lenjggof#le#wkfbm#jmgjujgvbogjeej`vow#wl#sljmw#le#ujftklnlpf{vbojwzb``fswbm`f#le?,psbm=?,gju=nbmveb`wvqfqplqjdjm#le#wkf`lnnlmoz#vpfgjnslqwbm`f#legfmlnjmbwjlmpab`hdqlvmg9# ofmdwk#le#wkfgfwfqnjmbwjlmb#pjdmjej`bmw!#alqgfq>!3!=qfulovwjlmbqzsqjm`jsofp#lejp#`lmpjgfqfgtbp#gfufolsfgJmgl.Fvqlsfbmuvomfqbaof#wlsqlslmfmwp#lebqf#plnfwjnfp`olpfq#wl#wkfMft#Zlqh#@jwz#mbnf>!pfbq`kbwwqjavwfg#wl`lvqpf#le#wkfnbwkfnbwj`jbmaz#wkf#fmg#lebw#wkf#fmg#le!#alqgfq>!3!#wf`kmloldj`bo-qfnluf@obpp+aqbm`k#le#wkffujgfm`f#wkbw"Xfmgje^..=\tJmpwjwvwf#le#jmwl#b#pjmdofqfpsf`wjufoz-bmg#wkfqfelqfsqlsfqwjfp#lejp#ol`bwfg#jmplnf#le#tkj`kWkfqf#jp#bopl`lmwjmvfg#wl#bssfbqbm`f#le#%bns8mgbpk8#gfp`qjafp#wkf`lmpjgfqbwjlmbvwklq#le#wkfjmgfsfmgfmwozfrvjssfg#tjwkglfp#mlw#kbuf?,b=?b#kqfe>!`lmevpfg#tjwk?ojmh#kqfe>!,bw#wkf#bdf#lebssfbq#jm#wkfWkfpf#jm`ovgfqfdbqgofpp#le`lvog#af#vpfg#pwzof>%rvlw8pfufqbo#wjnfpqfsqfpfmw#wkfalgz=\t?,kwno=wklvdkw#wl#afslsvobwjlm#leslppjajojwjfpsfq`fmwbdf#leb``fpp#wl#wkfbm#bwwfnsw#wlsqlgv`wjlm#leirvfqz,irvfqzwtl#gjeefqfmwafolmd#wl#wkffpwbaojpknfmwqfsob`jmd#wkfgfp`qjswjlm!#gfwfqnjmf#wkfbubjobaof#elqB``lqgjmd#wl#tjgf#qbmdf#le\n?gju#`obpp>!nlqf#`lnnlmozlqdbmjpbwjlmpevm`wjlmbojwztbp#`lnsofwfg#%bns8ngbpk8#sbqwj`jsbwjlmwkf#`kbqb`wfqbm#bggjwjlmbobssfbqp#wl#afeb`w#wkbw#wkfbm#f{bnsof#lepjdmjej`bmwozlmnlvpflufq>!af`bvpf#wkfz#bpzm`#>#wqvf8sqlaofnp#tjwkpffnp#wl#kbufwkf#qfpvow#le#pq`>!kwws9,,ebnjojbq#tjwkslppfppjlm#leevm`wjlm#+*#xwllh#sob`f#jmbmg#plnfwjnfppvapwbmwjbooz?psbm=?,psbm=jp#lewfm#vpfgjm#bm#bwwfnswdqfbw#gfbo#leFmujqlmnfmwbopv``fppevooz#ujqwvbooz#boo13wk#`fmwvqz/sqlefppjlmbopmf`fppbqz#wl#gfwfqnjmfg#az`lnsbwjajojwzaf`bvpf#jw#jpGj`wjlmbqz#lenlgjej`bwjlmpWkf#elooltjmdnbz#qfefq#wl9@lmpfrvfmwoz/Jmwfqmbwjlmbobowklvdk#plnfwkbw#tlvog#aftlqog$p#ejqpw`obppjejfg#bpalwwln#le#wkf+sbqwj`vobqozbojdm>!ofew!#nlpw#`lnnlmozabpjp#elq#wkfelvmgbwjlm#le`lmwqjavwjlmpslsvobqjwz#le`fmwfq#le#wkfwl#qfgv`f#wkfivqjpgj`wjlmpbssql{jnbwjlm#lmnlvpflvw>!Mft#Wfpwbnfmw`loof`wjlm#le?,psbm=?,b=?,jm#wkf#Vmjwfgejon#gjqf`wlq.pwqj`w-gwg!=kbp#affm#vpfgqfwvqm#wl#wkfbowklvdk#wkjp`kbmdf#jm#wkfpfufqbo#lwkfqavw#wkfqf#bqfvmsqf`fgfmwfgjp#pjnjobq#wlfpsf`jbooz#jmtfjdkw9#alog8jp#`boofg#wkf`lnsvwbwjlmbojmgj`bwf#wkbwqfpwqj`wfg#wl\n?nfwb#mbnf>!bqf#wzsj`booz`lmeoj`w#tjwkKltfufq/#wkf#Bm#f{bnsof#le`lnsbqfg#tjwkrvbmwjwjfp#leqbwkfq#wkbm#b`lmpwfoobwjlmmf`fppbqz#elqqfslqwfg#wkbwpsf`jej`bwjlmslojwj`bo#bmg%maps8%maps8?qfefqfm`fp#wlwkf#pbnf#zfbqDlufqmnfmw#ledfmfqbwjlm#lekbuf#mlw#affmpfufqbo#zfbqp`lnnjwnfmw#wl\n\n?vo#`obpp>!ujpvbojybwjlm2:wk#`fmwvqz/sqb`wjwjlmfqpwkbw#kf#tlvogbmg#`lmwjmvfgl``vsbwjlm#lejp#gfejmfg#bp`fmwqf#le#wkfwkf#bnlvmw#le=?gju#pwzof>!frvjubofmw#legjeefqfmwjbwfaqlvdkw#balvwnbqdjm.ofew9#bvwlnbwj`boozwklvdkw#le#bpPlnf#le#wkfpf\t?gju#`obpp>!jmsvw#`obpp>!qfsob`fg#tjwkjp#lmf#le#wkffgv`bwjlm#bmgjmeovfm`fg#azqfsvwbwjlm#bp\t?nfwb#mbnf>!b``lnnlgbwjlm?,gju=\t?,gju=obqdf#sbqw#leJmpwjwvwf#elqwkf#pl.`boofg#bdbjmpw#wkf#Jm#wkjp#`bpf/tbp#bssljmwfg`objnfg#wl#afKltfufq/#wkjpGfsbqwnfmw#lewkf#qfnbjmjmdfeef`w#lm#wkfsbqwj`vobqoz#gfbo#tjwk#wkf\t?gju#pwzof>!bonlpw#botbzpbqf#`vqqfmwozf{sqfppjlm#leskjolplskz#leelq#nlqf#wkbm`jujojybwjlmplm#wkf#jpobmgpfof`wfgJmgf{`bm#qfpvow#jm!#ubovf>!!#,=wkf#pwqv`wvqf#,=?,b=?,gju=Nbmz#le#wkfpf`bvpfg#az#wkfle#wkf#Vmjwfgpsbm#`obpp>!n`bm#af#wqb`fgjp#qfobwfg#wlaf`bnf#lmf#lejp#eqfrvfmwozojujmd#jm#wkfwkflqfwj`boozElooltjmd#wkfQfulovwjlmbqzdlufqmnfmw#jmjp#gfwfqnjmfgwkf#slojwj`bojmwqlgv`fg#jmpveej`jfmw#wlgfp`qjswjlm!=pklqw#pwlqjfppfsbqbwjlm#lebp#wl#tkfwkfqhmltm#elq#jwptbp#jmjwjboozgjpsobz9aol`hjp#bm#f{bnsofwkf#sqjm`jsbo`lmpjpwp#le#bqf`ldmjyfg#bp,algz=?,kwno=b#pvapwbmwjboqf`lmpwqv`wfgkfbg#le#pwbwfqfpjpwbm`f#wlvmgfqdqbgvbwfWkfqf#bqf#wtldqbujwbwjlmbobqf#gfp`qjafgjmwfmwjlmboozpfqufg#bp#wkf`obpp>!kfbgfqlsslpjwjlm#wlevmgbnfmwboozglnjmbwfg#wkfbmg#wkf#lwkfqboojbm`f#tjwktbp#elq`fg#wlqfpsf`wjufoz/bmg#slojwj`bojm#pvsslqw#lesflsof#jm#wkf13wk#`fmwvqz-bmg#svaojpkfgolbg@kbqwafbwwl#vmgfqpwbmgnfnafq#pwbwfpfmujqlmnfmwboejqpw#kboe#le`lvmwqjfp#bmgbq`kjwf`wvqboaf#`lmpjgfqfg`kbqb`wfqjyfg`ofbqJmwfqubobvwklqjwbwjufEfgfqbwjlm#letbp#pv``ffgfgbmg#wkfqf#bqfb#`lmpfrvfm`fwkf#Sqfpjgfmwbopl#jm`ovgfgeqff#plewtbqfpv``fppjlm#legfufolsfg#wkftbp#gfpwqlzfgbtbz#eqln#wkf8\t?,p`qjsw=\t?bowklvdk#wkfzelooltfg#az#bnlqf#sltfqevoqfpvowfg#jm#bVmjufqpjwz#leKltfufq/#nbmzwkf#sqfpjgfmwKltfufq/#plnfjp#wklvdkw#wlvmwjo#wkf#fmgtbp#bmmlvm`fgbqf#jnslqwbmwbopl#jm`ovgfp=?jmsvw#wzsf>wkf#`fmwfq#le#GL#MLW#BOWFQvpfg#wl#qfefqwkfnfp,<plqw>wkbw#kbg#affmwkf#abpjp#elqkbp#gfufolsfgjm#wkf#pvnnfq`lnsbqbwjufozgfp`qjafg#wkfpv`k#bp#wklpfwkf#qfpvowjmdjp#jnslppjaofubqjlvp#lwkfqPlvwk#Beqj`bmkbuf#wkf#pbnffeef`wjufmfppjm#tkj`k#`bpf8#wf{w.bojdm9pwqv`wvqf#bmg8#ab`hdqlvmg9qfdbqgjmd#wkfpvsslqwfg#wkfjp#bopl#hmltmpwzof>!nbqdjmjm`ovgjmd#wkfabkbpb#Nfobzvmlqph#alhn/Iomlqph#mzmlqphpolufm)M(ajmbjmwfqmb`jlmbo`bojej`b`j/_m`lnvmj`b`j/_m`lmpwqv``j/_m!=?gju#`obpp>!gjpbnajdvbwjlmGlnbjmMbnf$/#$bgnjmjpwqbwjlmpjnvowbmflvpozwqbmpslqwbwjlmJmwfqmbwjlmbo#nbqdjm.alwwln9qfpslmpjajojwz?"Xfmgje^..=\t?,=?nfwb#mbnf>!jnsofnfmwbwjlmjmeqbpwqv`wvqfqfsqfpfmwbwjlmalqgfq.alwwln9?,kfbg=\t?algz=>kwws&0B&1E&1E?elqn#nfwklg>!nfwklg>!slpw!#,ebuj`lm-j`l!#~*8\t?,p`qjsw=\t-pfwBwwqjavwf+Bgnjmjpwqbwjlm>#mft#Bqqbz+*8?"Xfmgje^..=\tgjpsobz9aol`h8Vmelqwvmbwfoz/!=%maps8?,gju=,ebuj`lm-j`l!=>$pwzofpkffw$#jgfmwjej`bwjlm/#elq#f{bnsof/?oj=?b#kqfe>!,bm#bowfqmbwjufbp#b#qfpvow#lesw!=?,p`qjsw=\twzsf>!pvanjw!#\t+evm`wjlm+*#xqf`lnnfmgbwjlmelqn#b`wjlm>!,wqbmpelqnbwjlmqf`lmpwqv`wjlm-pwzof-gjpsobz#B``lqgjmd#wl#kjggfm!#mbnf>!bolmd#tjwk#wkfgl`vnfmw-algz-bssql{jnbwfoz#@lnnvmj`bwjlmpslpw!#b`wjlm>!nfbmjmd#%rvlw8..?"Xfmgje^..=Sqjnf#Njmjpwfq`kbqb`wfqjpwj`?,b=#?b#`obpp>wkf#kjpwlqz#le#lmnlvpflufq>!wkf#dlufqmnfmwkqfe>!kwwsp9,,tbp#lqjdjmbooztbp#jmwqlgv`fg`obppjej`bwjlmqfsqfpfmwbwjufbqf#`lmpjgfqfg?"Xfmgje^..=\t\tgfsfmgp#lm#wkfVmjufqpjwz#le#jm#`lmwqbpw#wl#sob`fklogfq>!jm#wkf#`bpf#lejmwfqmbwjlmbo#`lmpwjwvwjlmbopwzof>!alqgfq.9#evm`wjlm+*#xAf`bvpf#le#wkf.pwqj`w-gwg!=\t?wbaof#`obpp>!b``lnsbmjfg#azb``lvmw#le#wkf?p`qjsw#pq`>!,mbwvqf#le#wkf#wkf#sflsof#jm#jm#bggjwjlm#wlp*8#ip-jg#>#jg!#tjgwk>!233&!qfdbqgjmd#wkf#Qlnbm#@bwkloj`bm#jmgfsfmgfmwelooltjmd#wkf#-dje!#tjgwk>!2wkf#elooltjmd#gjp`qjnjmbwjlmbq`kbfloldj`bosqjnf#njmjpwfq-ip!=?,p`qjsw=`lnajmbwjlm#le#nbqdjmtjgwk>!`qfbwfFofnfmw+t-bwwb`kFufmw+?,b=?,wg=?,wq=pq`>!kwwsp9,,bJm#sbqwj`vobq/#bojdm>!ofew!#@yf`k#Qfsvaoj`Vmjwfg#Hjmdgln`lqqfpslmgfm`f`lm`ovgfg#wkbw-kwno!#wjwof>!+evm`wjlm#+*#x`lnfp#eqln#wkfbssoj`bwjlm#le?psbm#`obpp>!pafojfufg#wl#affnfmw+$p`qjsw$?,b=\t?,oj=\t?ojufqz#gjeefqfmw=?psbm#`obpp>!lswjlm#ubovf>!+bopl#hmltm#bp\n?oj=?b#kqfe>!=?jmsvw#mbnf>!pfsbqbwfg#eqlnqfefqqfg#wl#bp#ubojdm>!wls!=elvmgfq#le#wkfbwwfnswjmd#wl#`bqalm#gjl{jgf\t\t?gju#`obpp>!`obpp>!pfbq`k.,algz=\t?,kwno=lsslqwvmjwz#wl`lnnvmj`bwjlmp?,kfbg=\t?algz#pwzof>!tjgwk9Wj\rVSmd#Uj\rWkw`kbmdfp#jm#wkfalqgfq.`lolq9 3!#alqgfq>!3!#?,psbm=?,gju=?tbp#gjp`lufqfg!#wzsf>!wf{w!#*8\t?,p`qjsw=\t\tGfsbqwnfmw#le#f``ofpjbpwj`bowkfqf#kbp#affmqfpvowjmd#eqln?,algz=?,kwno=kbp#mfufq#affmwkf#ejqpw#wjnfjm#qfpslmpf#wlbvwlnbwj`booz#?,gju=\t\t?gju#jtbp#`lmpjgfqfgsfq`fmw#le#wkf!#,=?,b=?,gju=`loof`wjlm#le#gfp`fmgfg#eqlnpf`wjlm#le#wkfb``fsw.`kbqpfwwl#af#`lmevpfgnfnafq#le#wkf#sbggjmd.qjdkw9wqbmpobwjlm#lejmwfqsqfwbwjlm#kqfe>$kwws9,,tkfwkfq#lq#mlwWkfqf#bqf#boplwkfqf#bqf#nbmzb#pnboo#mvnafqlwkfq#sbqwp#lejnslppjaof#wl##`obpp>!avwwlmol`bwfg#jm#wkf-#Kltfufq/#wkfbmg#fufmwvboozBw#wkf#fmg#le#af`bvpf#le#jwpqfsqfpfmwp#wkf?elqn#b`wjlm>!#nfwklg>!slpw!jw#jp#slppjaofnlqf#ojhfoz#wlbm#jm`qfbpf#jmkbuf#bopl#affm`lqqfpslmgp#wlbmmlvm`fg#wkbwbojdm>!qjdkw!=nbmz#`lvmwqjfpelq#nbmz#zfbqpfbqojfpw#hmltmaf`bvpf#jw#tbpsw!=?,p`qjsw=#ubojdm>!wls!#jmkbajwbmwp#leelooltjmd#zfbq\t?gju#`obpp>!njoojlm#sflsof`lmwqlufqpjbo#`lm`fqmjmd#wkfbqdvf#wkbw#wkfdlufqmnfmw#bmgb#qfefqfm`f#wlwqbmpefqqfg#wlgfp`qjajmd#wkf#pwzof>!`lolq9bowklvdk#wkfqfafpw#hmltm#elqpvanjw!#mbnf>!nvowjsoj`bwjlmnlqf#wkbm#lmf#qf`ldmjwjlm#le@lvm`jo#le#wkffgjwjlm#le#wkf##?nfwb#mbnf>!Fmwfqwbjmnfmw#btbz#eqln#wkf#8nbqdjm.qjdkw9bw#wkf#wjnf#lejmufpwjdbwjlmp`lmmf`wfg#tjwkbmg#nbmz#lwkfqbowklvdk#jw#jpafdjmmjmd#tjwk#?psbm#`obpp>!gfp`fmgbmwp#le?psbm#`obpp>!j#bojdm>!qjdkw!?,kfbg=\t?algz#bpsf`wp#le#wkfkbp#pjm`f#affmFvqlsfbm#Vmjlmqfnjmjp`fmw#lenlqf#gjeej`vowUj`f#Sqfpjgfmw`lnslpjwjlm#lesbppfg#wkqlvdknlqf#jnslqwbmwelmw.pjyf922s{f{sobmbwjlm#lewkf#`lm`fsw#letqjwwfm#jm#wkf\n?psbm#`obpp>!jp#lmf#le#wkf#qfpfnaobm`f#wllm#wkf#dqlvmgptkj`k#`lmwbjmpjm`ovgjmd#wkf#gfejmfg#az#wkfsvaoj`bwjlm#lenfbmp#wkbw#wkflvwpjgf#le#wkfpvsslqw#le#wkf?jmsvw#`obpp>!?psbm#`obpp>!w+Nbwk-qbmgln+*nlpw#sqlnjmfmwgfp`qjswjlm#le@lmpwbmwjmlsoftfqf#svaojpkfg?gju#`obpp>!pfbssfbqp#jm#wkf2!#kfjdkw>!2!#nlpw#jnslqwbmwtkj`k#jm`ovgfptkj`k#kbg#affmgfpwqv`wjlm#lewkf#slsvobwjlm\t\n?gju#`obpp>!slppjajojwz#leplnfwjnfp#vpfgbssfbq#wl#kbufpv``fpp#le#wkfjmwfmgfg#wl#afsqfpfmw#jm#wkfpwzof>!`ofbq9a\t?,p`qjsw=\t?tbp#elvmgfg#jmjmwfqujft#tjwk\\jg!#`lmwfmw>!`bsjwbo#le#wkf\t?ojmh#qfo>!pqfofbpf#le#wkfsljmw#lvw#wkbw{NOKwwsQfrvfpwbmg#pvapfrvfmwpf`lmg#obqdfpwufqz#jnslqwbmwpsf`jej`bwjlmppvqeb`f#le#wkfbssojfg#wl#wkfelqfjdm#sloj`z\\pfwGlnbjmMbnffpwbaojpkfg#jmjp#afojfufg#wlJm#bggjwjlm#wlnfbmjmd#le#wkfjp#mbnfg#bewfqwl#sqlwf`w#wkfjp#qfsqfpfmwfgGf`obqbwjlm#lenlqf#feej`jfmw@obppjej`bwjlmlwkfq#elqnp#lekf#qfwvqmfg#wl?psbm#`obpp>!`sfqelqnbm`f#le+evm`wjlm+*#xje#bmg#lmoz#jeqfdjlmp#le#wkfofbgjmd#wl#wkfqfobwjlmp#tjwkVmjwfg#Mbwjlmppwzof>!kfjdkw9lwkfq#wkbm#wkfzsf!#`lmwfmw>!Bppl`jbwjlm#le\t?,kfbg=\t?algzol`bwfg#lm#wkfjp#qfefqqfg#wl+jm`ovgjmd#wkf`lm`fmwqbwjlmpwkf#jmgjujgvbobnlmd#wkf#nlpwwkbm#bmz#lwkfq,=\t?ojmh#qfo>!#qfwvqm#ebopf8wkf#svqslpf#lewkf#bajojwz#wl8`lolq9 eee~\t-\t?psbm#`obpp>!wkf#pvaif`w#legfejmjwjlmp#le=\t?ojmh#qfo>!`objn#wkbw#wkfkbuf#gfufolsfg?wbaof#tjgwk>!`fofaqbwjlm#leElooltjmd#wkf#wl#gjpwjmdvjpk?psbm#`obpp>!awbhfp#sob`f#jmvmgfq#wkf#mbnfmlwfg#wkbw#wkf=?"Xfmgje^..=\tpwzof>!nbqdjm.jmpwfbg#le#wkfjmwqlgv`fg#wkfwkf#sql`fpp#lejm`qfbpjmd#wkfgjeefqfm`fp#jmfpwjnbwfg#wkbwfpsf`jbooz#wkf,gju=?gju#jg>!tbp#fufmwvboozwkqlvdklvw#kjpwkf#gjeefqfm`fplnfwkjmd#wkbwpsbm=?,psbm=?,pjdmjej`bmwoz#=?,p`qjsw=\t\tfmujqlmnfmwbo#wl#sqfufmw#wkfkbuf#affm#vpfgfpsf`jbooz#elqvmgfqpwbmg#wkfjp#fppfmwjbooztfqf#wkf#ejqpwjp#wkf#obqdfpwkbuf#affm#nbgf!#pq`>!kwws9,,jmwfqsqfwfg#bppf`lmg#kboe#le`qloojmd>!ml!#jp#`lnslpfg#leJJ/#Kloz#Qlnbmjp#f{sf`wfg#wlkbuf#wkfjq#ltmgfejmfg#bp#wkfwqbgjwjlmbooz#kbuf#gjeefqfmwbqf#lewfm#vpfgwl#fmpvqf#wkbwbdqffnfmw#tjwk`lmwbjmjmd#wkfbqf#eqfrvfmwozjmelqnbwjlm#lmf{bnsof#jp#wkfqfpvowjmd#jm#b?,b=?,oj=?,vo=#`obpp>!ellwfqbmg#fpsf`jboozwzsf>!avwwlm!#?,psbm=?,psbm=tkj`k#jm`ovgfg=\t?nfwb#mbnf>!`lmpjgfqfg#wkf`bqqjfg#lvw#azKltfufq/#jw#jpaf`bnf#sbqw#lejm#qfobwjlm#wlslsvobq#jm#wkfwkf#`bsjwbo#letbp#leej`jbooztkj`k#kbp#affmwkf#Kjpwlqz#lebowfqmbwjuf#wlgjeefqfmw#eqlnwl#pvsslqw#wkfpvddfpwfg#wkbwjm#wkf#sql`fpp##?gju#`obpp>!wkf#elvmgbwjlmaf`bvpf#le#kjp`lm`fqmfg#tjwkwkf#vmjufqpjwzlsslpfg#wl#wkfwkf#`lmwf{w#le?psbm#`obpp>!swf{w!#mbnf>!r!\n\n?gju#`obpp>!wkf#p`jfmwjej`qfsqfpfmwfg#aznbwkfnbwj`jbmpfof`wfg#az#wkfwkbw#kbuf#affm=?gju#`obpp>!`gju#jg>!kfbgfqjm#sbqwj`vobq/`lmufqwfg#jmwl*8\t?,p`qjsw=\t?skjolplskj`bo#pqsphlkqubwphjwj\rVSmd#Uj\rWkw<L=o=m=m<V<T<U=l=o=m=m<V<T<Ujmufpwjdb`j/_msbqwj`jsb`j/_m<V<R=n<R=l=g<Y<R<]<W<\\=m=n<T<V<R=n<R=l=g<U=k<Y<W<R<^<Y<V=m<T=m=n<Y<P=g<q<R<^<R=m=n<T<V<R=n<R=l=g=i<R<]<W<\\=m=n=`<^=l<Y<P<Y<Q<T<V<R=n<R=l<\\=c=m<Y<_<R<X<Q=c=m<V<\\=k<\\=n=`<Q<R<^<R=m=n<T<O<V=l<\\<T<Q=g<^<R<S=l<R=m=g<V<R=n<R=l<R<U=m<X<Y<W<\\=n=`<S<R<P<R=e=`=b=m=l<Y<X=m=n<^<R<]=l<\\<[<R<P=m=n<R=l<R<Q=g=o=k<\\=m=n<T<Y=n<Y=k<Y<Q<T<Y<<W<\\<^<Q<\\=c<T=m=n<R=l<T<T=m<T=m=n<Y<P<\\=l<Y=d<Y<Q<T=c<M<V<\\=k<\\=n=`<S<R=a=n<R<P=o=m<W<Y<X=o<Y=n=m<V<\\<[<\\=n=`=n<R<^<\\=l<R<^<V<R<Q<Y=k<Q<R=l<Y=d<Y<Q<T<Y<V<R=n<R=l<R<Y<R=l<_<\\<Q<R<^<V<R=n<R=l<R<P<L<Y<V<W<\\<P<\\4K5h5i5j4F4C5e5i5j4F4C5f4K4F4K5h5i5d4Z5d4U4K5h4D4]4K5i4@4K5h5i5d4K5n4U4K5h4]4_4K4J5h5i4X4K4]5o4K4F4K5h4O4U4Z4K4M4K5h4]5f4K4Z4E4K5h4F4Y5i5f5i4K5h4K4U4Z4K4M4K5h5j4F4K4J4@4K5h4O5h4U4K4D4K5h4F4_4@5f5h4K5h4O5n4_4K5i4K5h4Z4V4[4K4F4K5h5m5f4C5f5d4K5h4F4]4A5f4D4K5h4@4C5f4C4E4K5h4F4U5h5f5i4K5h4O4B4D4K4]4K5h4K5m5h4K5i4K5h4O5m5h4K5i4K5h4F4K4]5f4B4K5h4F5n5j5f4E4K5h4K5h4U4K4D4K5h4B5d4K4[4]4K5h5i4@4F5i4U4K5h4C5f5o5d4]4K5h4_5f4K4A4E4U4D4C4K5h5h5k4K5h4F4]4D5f4E4K5h4]5d4K4D4[4K5h4O4C4D5f4E4K5h4K4B4D4K4]4K5h5i4F4A4C4E4K5h4K4V4K5j5f`vqplq9sljmwfq8?,wjwof=\t?nfwb#!#kqfe>!kwws9,,!=?psbm#`obpp>!nfnafqp#le#wkf#tjmglt-ol`bwjlmufqwj`bo.bojdm9,b=##?b#kqfe>!?"gl`wzsf#kwno=nfgjb>!p`qffm!#?lswjlm#ubovf>!ebuj`lm-j`l!#,=\t\n\n?gju#`obpp>!`kbqb`wfqjpwj`p!#nfwklg>!dfw!#,algz=\t?,kwno=\tpklqw`vw#j`lm!#gl`vnfmw-tqjwf+sbggjmd.alwwln9qfsqfpfmwbwjufppvanjw!#ubovf>!bojdm>!`fmwfq!#wkqlvdklvw#wkf#p`jfm`f#ej`wjlm\t##?gju#`obpp>!pvanjw!#`obpp>!lmf#le#wkf#nlpw#ubojdm>!wls!=?tbp#fpwbaojpkfg*8\t?,p`qjsw=\tqfwvqm#ebopf8!=*-pwzof-gjpsobzaf`bvpf#le#wkf#gl`vnfmw-`llhjf?elqn#b`wjlm>!,~algzxnbqdjm938Fm`z`olsfgjb#leufqpjlm#le#wkf#-`qfbwfFofnfmw+mbnf!#`lmwfmw>!?,gju=\t?,gju=\t\tbgnjmjpwqbwjuf#?,algz=\t?,kwno=kjpwlqz#le#wkf#!=?jmsvw#wzsf>!slqwjlm#le#wkf#bp#sbqw#le#wkf#%maps8?b#kqfe>!lwkfq#`lvmwqjfp!=\t?gju#`obpp>!?,psbm=?,psbm=?Jm#lwkfq#tlqgp/gjpsobz9#aol`h8`lmwqlo#le#wkf#jmwqlgv`wjlm#le,=\t?nfwb#mbnf>!bp#tfoo#bp#wkf#jm#qf`fmw#zfbqp\t\n?gju#`obpp>!?,gju=\t\n?,gju=\tjmpsjqfg#az#wkfwkf#fmg#le#wkf#`lnsbwjaof#tjwkaf`bnf#hmltm#bp#pwzof>!nbqdjm9-ip!=?,p`qjsw=?#Jmwfqmbwjlmbo#wkfqf#kbuf#affmDfqnbm#obmdvbdf#pwzof>!`lolq9 @lnnvmjpw#Sbqwz`lmpjpwfmw#tjwkalqgfq>!3!#`foo#nbqdjmkfjdkw>!wkf#nbilqjwz#le!#bojdm>!`fmwfqqfobwfg#wl#wkf#nbmz#gjeefqfmw#Lqwklgl{#@kvq`kpjnjobq#wl#wkf#,=\t?ojmh#qfo>!ptbp#lmf#le#wkf#vmwjo#kjp#gfbwk~*+*8\t?,p`qjsw=lwkfq#obmdvbdfp`lnsbqfg#wl#wkfslqwjlmp#le#wkfwkf#Mfwkfqobmgpwkf#nlpw#`lnnlmab`hdqlvmg9vqo+bqdvfg#wkbw#wkfp`qloojmd>!ml!#jm`ovgfg#jm#wkfMlqwk#Bnfqj`bm#wkf#mbnf#le#wkfjmwfqsqfwbwjlmpwkf#wqbgjwjlmbogfufolsnfmw#le#eqfrvfmwoz#vpfgb#`loof`wjlm#leufqz#pjnjobq#wlpvqqlvmgjmd#wkff{bnsof#le#wkjpbojdm>!`fmwfq!=tlvog#kbuf#affmjnbdf\\`bswjlm#>bwwb`kfg#wl#wkfpvddfpwjmd#wkbwjm#wkf#elqn#le#jmuloufg#jm#wkfjp#gfqjufg#eqlnmbnfg#bewfq#wkfJmwqlgv`wjlm#wlqfpwqj`wjlmp#lm#pwzof>!tjgwk9#`bm#af#vpfg#wl#wkf#`qfbwjlm#lenlpw#jnslqwbmw#jmelqnbwjlm#bmgqfpvowfg#jm#wkf`loobspf#le#wkfWkjp#nfbmp#wkbwfofnfmwp#le#wkftbp#qfsob`fg#azbmbozpjp#le#wkfjmpsjqbwjlm#elqqfdbqgfg#bp#wkfnlpw#pv``fppevohmltm#bp#%rvlw8b#`lnsqfkfmpjufKjpwlqz#le#wkf#tfqf#`lmpjgfqfgqfwvqmfg#wl#wkfbqf#qfefqqfg#wlVmplvq`fg#jnbdf=\t\n?gju#`obpp>!`lmpjpwp#le#wkfpwlsSqlsbdbwjlmjmwfqfpw#jm#wkfbubjobajojwz#lebssfbqp#wl#kbuffof`wqlnbdmfwj`fmbaofPfquj`fp+evm`wjlm#le#wkfJw#jp#jnslqwbmw?,p`qjsw=?,gju=evm`wjlm+*xubq#qfobwjuf#wl#wkfbp#b#qfpvow#le#wkf#slpjwjlm#leElq#f{bnsof/#jm#nfwklg>!slpw!#tbp#elooltfg#az%bns8ngbpk8#wkfwkf#bssoj`bwjlmip!=?,p`qjsw=\tvo=?,gju=?,gju=bewfq#wkf#gfbwktjwk#qfpsf`w#wlpwzof>!sbggjmd9jp#sbqwj`vobqozgjpsobz9jmojmf8#wzsf>!pvanjw!#jp#gjujgfg#jmwl\bTA\nzk#+\vBl\bQ*qfpslmpbajojgbgbgnjmjpwqb`j/_mjmwfqmb`jlmbofp`lqqfpslmgjfmwf\fHe\fHF\fHC\fIg\fH{\fHF\fIn\fH\\\fIa\fHY\fHU\fHB\fHR\fH\\\fIk\fH^\fIg\fH{\fIg\fHn\fHv\fIm\fHD\fHR\fHY\fH^\fIk\fHy\fHS\fHD\fHT\fH\\\fHy\fHR\fH\\\fHF\fIm\fH^\fHS\fHT\fHz\fIg\fHp\fIk\fHn\fHv\fHR\fHU\fHS\fHc\fHA\fIk\fHp\fIk\fHn\fHZ\fHR\fHB\fHS\fH^\fHU\fHB\fHR\fH\\\fIl\fHp\fHR\fH{\fH\\\fHO\fH@\fHD\fHR\fHD\fIk\fHy\fIm\fHB\fHR\fH\\\fH@\fIa\fH^\fIe\fH{\fHB\fHR\fH^\fHS\fHy\fHB\fHU\fHS\fH^\fHR\fHF\fIo\fH[\fIa\fHL\fH@\fHN\fHP\fHH\fIk\fHA\fHR\fHp\fHF\fHR\fHy\fIa\fH^\fHS\fHy\fHs\fIa\fH\\\fIk\fHD\fHz\fHS\fH^\fHR\fHG\fHJ\fI`\fH\\\fHR\fHD\fHB\fHR\fHB\fH^\fIk\fHB\fHH\fHJ\fHR\fHD\fH@\fHR\fHp\fHR\fH\\\fHY\fHS\fHy\fHR\fHT\fHy\fIa\fHC\fIg\fHn\fHv\fHR\fHU\fHH\fIk\fHF\fHU\fIm\fHm\fHv\fH@\fHH\fHR\fHC\fHR\fHT\fHn\fHY\fHR\fHJ\fHJ\fIk\fHz\fHD\fIk\fHF\fHS\fHw\fH^\fIk\fHY\fHS\fHZ\fIk\fH[\fH\\\fHR\fHp\fIa\fHC\fHe\fHH\fIa\fHH\fH\\\fHB\fIm\fHn\fH@\fHd\fHJ\fIg\fHD\fIg\fHn\fHe\fHF\fHy\fH\\\fHO\fHF\fHN\fHP\fIk\fHn\fHT\fIa\fHI\fHS\fHH\fHG\fHS\fH^\fIa\fHB\fHB\fIm\fHz\fIa\fHC\fHi\fHv\fIa\fHw\fHR\fHw\fIn\fHs\fHH\fIl\fHT\fHn\fH{\fIl\fHH\fHp\fHR\fHc\fH{\fHR\fHY\fHS\fHA\fHR\fH{\fHt\fHO\fIa\fHs\fIk\fHJ\fIn\fHT\fH\\\fIk\fHJ\fHS\fHD\fIg\fHn\fHU\fHH\fIa\fHC\fHR\fHT\fIk\fHy\fIa\fHT\fH{\fHR\fHn\fHK\fIl\fHY\fHS\fHZ\fIa\fHY\fH\\\fHR\fHH\fIk\fHn\fHJ\fId\fHs\fIa\fHT\fHD\fHy\fIa\fHZ\fHR\fHT\fHR\fHB\fHD\fIk\fHi\fHJ\fHR\fH^\fHH\fH@\fHS\fHp\fH^\fIl\fHF\fIm\fH\\\fIn\fH[\fHU\fHS\fHn\fHJ\fIl\fHB\fHS\fHH\fIa\fH\\\fHy\fHY\fHS\fHH\fHR\fH\\\fIm\fHF\fHC\fIk\fHT\fIa\fHI\fHR\fHD\fHy\fH\\\fIg\fHM\fHP\fHB\fIm\fHy\fIa\fHH\fHC\fIg\fHp\fHD\fHR\fHy\fIo\fHF\fHC\fHR\fHF\fIg\fHT\fIa\fHs\fHt\fH\\\fIk\fH^\fIn\fHy\fHR\fH\\\fIa\fHC\fHY\fHS\fHv\fHR\fH\\\fHT\fIn\fHv\fHD\fHR\fHB\fIn\fH^\fIa\fHC\fHJ\fIk\fHz\fIk\fHn\fHU\fHB\fIk\fHZ\fHR\fHT\fIa\fHy\fIn\fH^\fHB\fId\fHn\fHD\fIk\fHH\fId\fHC\fHR\fH\\\fHp\fHS\fHT\fHy\fIkqpp({no!#wjwof>!.wzsf!#`lmwfmw>!wjwof!#`lmwfmw>!bw#wkf#pbnf#wjnf-ip!=?,p`qjsw=\t?!#nfwklg>!slpw!#?,psbm=?,b=?,oj=ufqwj`bo.bojdm9w,irvfqz-njm-ip!=-`oj`h+evm`wjlm+#pwzof>!sbggjmd.~*+*8\t?,p`qjsw=\t?,psbm=?b#kqfe>!?b#kqfe>!kwws9,,*8#qfwvqm#ebopf8wf{w.gf`lqbwjlm9#p`qloojmd>!ml!#alqgfq.`loobspf9bppl`jbwfg#tjwk#Abkbpb#JmglmfpjbFmdojpk#obmdvbdf?wf{w#{no9psb`f>-dje!#alqgfq>!3!?,algz=\t?,kwno=\tlufqeolt9kjggfm8jnd#pq`>!kwws9,,bggFufmwOjpwfmfqqfpslmpjaof#elq#p-ip!=?,p`qjsw=\t,ebuj`lm-j`l!#,=lsfqbwjmd#pzpwfn!#pwzof>!tjgwk92wbqdfw>!\\aobmh!=Pwbwf#Vmjufqpjwzwf{w.bojdm9ofew8\tgl`vnfmw-tqjwf+/#jm`ovgjmd#wkf#bqlvmg#wkf#tlqog*8\t?,p`qjsw=\t?!#pwzof>!kfjdkw98lufqeolt9kjggfmnlqf#jmelqnbwjlmbm#jmwfqmbwjlmbob#nfnafq#le#wkf#lmf#le#wkf#ejqpw`bm#af#elvmg#jm#?,gju=\t\n\n?,gju=\tgjpsobz9#mlmf8!=!#,=\t?ojmh#qfo>!\t##+evm`wjlm+*#xwkf#26wk#`fmwvqz-sqfufmwGfebvow+obqdf#mvnafq#le#Azybmwjmf#Fnsjqf-isdwkvnaofewubpw#nbilqjwz#lenbilqjwz#le#wkf##bojdm>!`fmwfq!=Vmjufqpjwz#Sqfppglnjmbwfg#az#wkfPf`lmg#Tlqog#Tbqgjpwqjavwjlm#le#pwzof>!slpjwjlm9wkf#qfpw#le#wkf#`kbqb`wfqjyfg#az#qfo>!mleloolt!=gfqjufp#eqln#wkfqbwkfq#wkbm#wkf#b#`lnajmbwjlm#lepwzof>!tjgwk9233Fmdojpk.psfbhjmd`lnsvwfq#p`jfm`falqgfq>!3!#bow>!wkf#f{jpwfm`f#leGfnl`qbwj`#Sbqwz!#pwzof>!nbqdjm.Elq#wkjp#qfbplm/-ip!=?,p`qjsw=\t\npAzWbdMbnf+p*X3^ip!=?,p`qjsw=\t?-ip!=?,p`qjsw=\tojmh#qfo>!j`lm!#$#bow>$$#`obpp>$elqnbwjlm#le#wkfufqpjlmp#le#wkf#?,b=?,gju=?,gju=,sbdf=\t##?sbdf=\t?gju#`obpp>!`lmwaf`bnf#wkf#ejqpwabkbpb#Jmglmfpjbfmdojpk#+pjnsof*"y"W"W"["Q"U"V"@=i=l<^<\\=n=m<V<T<V<R<P<S<\\<Q<T<T=c<^<W=c<Y=n=m=c<x<R<]<\\<^<T=n=`=k<Y<W<R<^<Y<V<\\=l<\\<[<^<T=n<T=c<t<Q=n<Y=l<Q<Y=n<r=n<^<Y=n<T=n=`<Q<\\<S=l<T<P<Y=l<T<Q=n<Y=l<Q<Y=n<V<R=n<R=l<R<_<R=m=n=l<\\<Q<T=j=g<V<\\=k<Y=m=n<^<Y=o=m<W<R<^<T=c=i<S=l<R<]<W<Y<P=g<S<R<W=o=k<T=n=`=c<^<W=c=b=n=m=c<Q<\\<T<]<R<W<Y<Y<V<R<P<S<\\<Q<T=c<^<Q<T<P<\\<Q<T<Y=m=l<Y<X=m=n<^<\\4K5h5i5d4K4Z5f4U4K5h4]4J5f4_5f4E4K5h4K5j4F5n4K5h5i4X4K4]5o4K4F5o4K5h4_5f4K4]4K4F4K5h5i5o4F5d4D4E4K5h4_4U5d4C5f4E4K4A4Y4K4J5f4K4F4K5h4U4K5h5i5f4E4K5h4Y5d4F5f4K4F4K5h4K5j4F4]5j4F4K5h4F4Y4K5i5f5i4K5h4I4_5h4K5i5f4K5h5i4X4K4]5o4E4K5h5i4]4J5f4K4Fqlalwp!#`lmwfmw>!?gju#jg>!ellwfq!=wkf#Vmjwfg#Pwbwfp?jnd#pq`>!kwws9,,-isdqjdkwwkvna-ip!=?,p`qjsw=\t?ol`bwjlm-sqlwl`loeqbnfalqgfq>!3!#p!#,=\t?nfwb#mbnf>!?,b=?,gju=?,gju=?elmw.tfjdkw9alog8%rvlw8#bmg#%rvlw8gfsfmgjmd#lm#wkf#nbqdjm938sbggjmd9!#qfo>!mleloolt!#Sqfpjgfmw#le#wkf#wtfmwjfwk#`fmwvqzfujpjlm=\t##?,sbdfJmwfqmfw#F{solqfqb-bpzm`#>#wqvf8\tjmelqnbwjlm#balvw?gju#jg>!kfbgfq!=!#b`wjlm>!kwws9,,?b#kqfe>!kwwsp9,,?gju#jg>!`lmwfmw!?,gju=\t?,gju=\t?gfqjufg#eqln#wkf#?jnd#pq`>$kwws9,,b``lqgjmd#wl#wkf#\t?,algz=\t?,kwno=\tpwzof>!elmw.pjyf9p`qjsw#obmdvbdf>!Bqjbo/#Kfoufwj`b/?,b=?psbm#`obpp>!?,p`qjsw=?p`qjsw#slojwj`bo#sbqwjfpwg=?,wq=?,wbaof=?kqfe>!kwws9,,ttt-jmwfqsqfwbwjlm#leqfo>!pwzofpkffw!#gl`vnfmw-tqjwf+$?`kbqpfw>!vwe.;!=\tafdjmmjmd#le#wkf#qfufbofg#wkbw#wkfwfofujpjlm#pfqjfp!#qfo>!mleloolt!=#wbqdfw>!\\aobmh!=`objnjmd#wkbw#wkfkwws&0B&1E&1Ettt-nbmjefpwbwjlmp#leSqjnf#Njmjpwfq#lejmeovfm`fg#az#wkf`obpp>!`ofbqej{!=,gju=\t?,gju=\t\twkqff.gjnfmpjlmbo@kvq`k#le#Fmdobmgle#Mlqwk#@bqlojmbprvbqf#hjolnfwqfp-bggFufmwOjpwfmfqgjpwjm`w#eqln#wkf`lnnlmoz#hmltm#bpSklmfwj`#Boskbafwgf`obqfg#wkbw#wkf`lmwqloofg#az#wkfAfmibnjm#Eqbmhojmqlof.sobzjmd#dbnfwkf#Vmjufqpjwz#lejm#Tfpwfqm#Fvqlsfsfqplmbo#`lnsvwfqSqlif`w#Dvwfmafqdqfdbqgofpp#le#wkfkbp#affm#sqlslpfgwldfwkfq#tjwk#wkf=?,oj=?oj#`obpp>!jm#plnf#`lvmwqjfpnjm-ip!=?,p`qjsw=le#wkf#slsvobwjlmleej`jbo#obmdvbdf?jnd#pq`>!jnbdfp,jgfmwjejfg#az#wkfmbwvqbo#qfplvq`fp`obppjej`bwjlm#le`bm#af#`lmpjgfqfgrvbmwvn#nf`kbmj`pMfufqwkfofpp/#wkfnjoojlm#zfbqp#bdl?,algz=\t?,kwno="y"W"W"["Q"U"V"@\twbhf#bgubmwbdf#lebmg/#b``lqgjmd#wlbwwqjavwfg#wl#wkfNj`qlplew#Tjmgltpwkf#ejqpw#`fmwvqzvmgfq#wkf#`lmwqlogju#`obpp>!kfbgfqpklqwoz#bewfq#wkfmlwbaof#f{`fswjlmwfmp#le#wklvpbmgppfufqbo#gjeefqfmwbqlvmg#wkf#tlqog-qfb`kjmd#njojwbqzjplobwfg#eqln#wkflsslpjwjlm#wl#wkfwkf#Log#WfpwbnfmwBeqj`bm#Bnfqj`bmpjmpfqwfg#jmwl#wkfpfsbqbwf#eqln#wkfnfwqlslojwbm#bqfbnbhfp#jw#slppjaofb`hmltofgdfg#wkbwbqdvbaoz#wkf#nlpwwzsf>!wf{w,`pp!=\twkf#JmwfqmbwjlmboB``lqgjmd#wl#wkf#sf>!wf{w,`pp!#,=\t`ljm`jgf#tjwk#wkfwtl.wkjqgp#le#wkfGvqjmd#wkjp#wjnf/gvqjmd#wkf#sfqjlgbmmlvm`fg#wkbw#kfwkf#jmwfqmbwjlmbobmg#nlqf#qf`fmwozafojfufg#wkbw#wkf`lmp`jlvpmfpp#bmgelqnfqoz#hmltm#bppvqqlvmgfg#az#wkfejqpw#bssfbqfg#jml``bpjlmbooz#vpfgslpjwjlm9baplovwf8!#wbqdfw>!\\aobmh!#slpjwjlm9qfobwjuf8wf{w.bojdm9`fmwfq8ib{,ojap,irvfqz,2-ab`hdqlvmg.`lolq9 wzsf>!bssoj`bwjlm,bmdvbdf!#`lmwfmw>!?nfwb#kwws.frvju>!Sqjub`z#Sloj`z?,b=f+!&0@p`qjsw#pq`>$!#wbqdfw>!\\aobmh!=Lm#wkf#lwkfq#kbmg/-isdwkvnaqjdkw1?,gju=?gju#`obpp>!?gju#pwzof>!eolbw9mjmfwffmwk#`fmwvqz?,algz=\t?,kwno=\t?jnd#pq`>!kwws9,,p8wf{w.bojdm9`fmwfqelmw.tfjdkw9#alog8#B``lqgjmd#wl#wkf#gjeefqfm`f#afwtffm!#eqbnfalqgfq>!3!#!#pwzof>!slpjwjlm9ojmh#kqfe>!kwws9,,kwno7,ollpf-gwg!=\tgvqjmd#wkjp#sfqjlg?,wg=?,wq=?,wbaof=`olpfoz#qfobwfg#wlelq#wkf#ejqpw#wjnf8elmw.tfjdkw9alog8jmsvw#wzsf>!wf{w!#?psbm#pwzof>!elmw.lmqfbgzpwbwf`kbmdf\n?gju#`obpp>!`ofbqgl`vnfmw-ol`bwjlm-#Elq#f{bnsof/#wkf#b#tjgf#ubqjfwz#le#?"GL@WZSF#kwno=\t?%maps8%maps8%maps8!=?b#kqfe>!kwws9,,pwzof>!eolbw9ofew8`lm`fqmfg#tjwk#wkf>kwws&0B&1E&1Ettt-jm#slsvobq#`vowvqfwzsf>!wf{w,`pp!#,=jw#jp#slppjaof#wl#Kbqubqg#Vmjufqpjwzwzofpkffw!#kqfe>!,wkf#nbjm#`kbqb`wfqL{elqg#Vmjufqpjwz##mbnf>!hfztlqgp!#`pwzof>!wf{w.bojdm9wkf#Vmjwfg#Hjmdglnefgfqbo#dlufqmnfmw?gju#pwzof>!nbqdjm#gfsfmgjmd#lm#wkf#gfp`qjswjlm#le#wkf?gju#`obpp>!kfbgfq-njm-ip!=?,p`qjsw=gfpwqv`wjlm#le#wkfpojdkwoz#gjeefqfmwjm#b``lqgbm`f#tjwkwfof`lnnvmj`bwjlmpjmgj`bwfp#wkbw#wkfpklqwoz#wkfqfbewfqfpsf`jbooz#jm#wkf#Fvqlsfbm#`lvmwqjfpKltfufq/#wkfqf#bqfpq`>!kwws9,,pwbwj`pvddfpwfg#wkbw#wkf!#pq`>!kwws9,,ttt-b#obqdf#mvnafq#le#Wfof`lnnvmj`bwjlmp!#qfo>!mleloolt!#wKloz#Qlnbm#Fnsfqlqbonlpw#f{`ovpjufoz!#alqgfq>!3!#bow>!Pf`qfwbqz#le#Pwbwf`vonjmbwjmd#jm#wkf@JB#Tlqog#Eb`wallhwkf#nlpw#jnslqwbmwbmmjufqpbqz#le#wkfpwzof>!ab`hdqlvmg.?oj=?fn=?b#kqfe>!,wkf#Bwobmwj`#L`fbmpwqj`woz#psfbhjmd/pklqwoz#afelqf#wkfgjeefqfmw#wzsfp#lewkf#Lwwlnbm#Fnsjqf=?jnd#pq`>!kwws9,,Bm#Jmwqlgv`wjlm#wl`lmpfrvfm`f#le#wkfgfsbqwvqf#eqln#wkf@lmefgfqbwf#Pwbwfpjmgjdfmlvp#sflsofpSql`ffgjmdp#le#wkfjmelqnbwjlm#lm#wkfwkflqjfp#kbuf#affmjmuloufnfmw#jm#wkfgjujgfg#jmwl#wkqffbgib`fmw#`lvmwqjfpjp#qfpslmpjaof#elqgjpplovwjlm#le#wkf`loobalqbwjlm#tjwktjgfoz#qfdbqgfg#bpkjp#`lmwfnslqbqjfpelvmgjmd#nfnafq#leGlnjmj`bm#Qfsvaoj`dfmfqbooz#b``fswfgwkf#slppjajojwz#lebqf#bopl#bubjobaofvmgfq#`lmpwqv`wjlmqfpwlqbwjlm#le#wkfwkf#dfmfqbo#svaoj`jp#bonlpw#fmwjqfozsbppfp#wkqlvdk#wkfkbp#affm#pvddfpwfg`lnsvwfq#bmg#ujgflDfqnbmj`#obmdvbdfp#b``lqgjmd#wl#wkf#gjeefqfmw#eqln#wkfpklqwoz#bewfqtbqgpkqfe>!kwwsp9,,ttt-qf`fmw#gfufolsnfmwAlbqg#le#Gjqf`wlqp?gju#`obpp>!pfbq`k#?b#kqfe>!kwws9,,Jm#sbqwj`vobq/#wkfNvowjsof#ellwmlwfplq#lwkfq#pvapwbm`fwklvpbmgp#le#zfbqpwqbmpobwjlm#le#wkf?,gju=\t?,gju=\t\t?b#kqfe>!jmgf{-skstbp#fpwbaojpkfg#jmnjm-ip!=?,p`qjsw=\tsbqwj`jsbwf#jm#wkfb#pwqlmd#jmeovfm`fpwzof>!nbqdjm.wls9qfsqfpfmwfg#az#wkfdqbgvbwfg#eqln#wkfWqbgjwjlmbooz/#wkfFofnfmw+!p`qjsw!*8Kltfufq/#pjm`f#wkf,gju=\t?,gju=\t?gju#ofew8#nbqdjm.ofew9sqlwf`wjlm#bdbjmpw38#ufqwj`bo.bojdm9Vmelqwvmbwfoz/#wkfwzsf>!jnbdf,{.j`lm,gju=\t?gju#`obpp>!#`obpp>!`ofbqej{!=?gju#`obpp>!ellwfq\n\n?,gju=\t\n\n?,gju=\twkf#nlwjlm#sj`wvqf<}=f<W<_<\\=l=m<V<T<]=f<W<_<\\=l=m<V<T<H<Y<X<Y=l<\\=j<T<T<Q<Y=m<V<R<W=`<V<R=m<R<R<]=e<Y<Q<T<Y=m<R<R<]=e<Y<Q<T=c<S=l<R<_=l<\\<P<P=g<r=n<S=l<\\<^<T=n=`<]<Y=m<S<W<\\=n<Q<R<P<\\=n<Y=l<T<\\<W=g<S<R<[<^<R<W=c<Y=n<S<R=m<W<Y<X<Q<T<Y=l<\\<[<W<T=k<Q=g=i<S=l<R<X=o<V=j<T<T<S=l<R<_=l<\\<P<P<\\<S<R<W<Q<R=m=n=`=b<Q<\\=i<R<X<T=n=m=c<T<[<]=l<\\<Q<Q<R<Y<Q<\\=m<Y<W<Y<Q<T=c<T<[<P<Y<Q<Y<Q<T=c<V<\\=n<Y<_<R=l<T<T<|<W<Y<V=m<\\<Q<X=l\fHJ\fIa\fHY\fHR\fH\\\fHR\fHB\fId\fHD\fIm\fHi\fH^\fHF\fIa\fH\\\fHJ\fHR\fHD\fHA\fHR\fH\\\fHH\fIl\fHC\fHi\fHD\fIm\fHJ\fIk\fHZ\fHU\fHS\fHD\fIa\fHJ\fIl\fHk\fHn\fHM\fHS\fHC\fHR\fHJ\fHS\fH^\fIa\fH^\fIl\fHi\fHK\fHS\fHy\fHR\fH\\\fHY\fIl\fHM\fHS\fHC\fIg\fHv\fHS\fHs\fIa\fHL\fIk\fHT\fHB\fHR\fHv\fHR\fH\\\fHp\fHn\fHy\fIa\fHZ\fHD\fHJ\fIm\fHD\fHS\fHC\fHR\fHF\fIa\fH\\\fHC\fIg\fH{\fHi\fHD\fIm\fHT\fHR\fH\\\fH}\fHD\fH^\fHR\fHk\fHD\fHF\fHR\fH\\\fIa\fHs\fIl\fHZ\fH\\\fIa\fHH\fIg\fHn\fH^\fIg\fHy\fHT\fHA\fHR\fHG\fHP\fIa\fH^\fId\fHZ\fHZ\fH\\\fIa\fHH\fIk\fHn\fHF\fIa\fH\\\fHJ\fIk\fHZ\fHF\fIa\fH^\fIk\fHC\fH\\\fHy\fIk\fHn\fHJ\fIa\fH\\\fHT\fIa\fHI\fHS\fHH\fHS\fHe\fHH\fIa\fHF\fHR\fHJ\fHe\fHD\fIa\fHU\fIk\fHn\fHv\fHS\fHs\fIa\fHL\fHR\fHC\fHR\fHH\fIa\fH\\\fHR\fHp\fIa\fHC\fHR\fHJ\fHR\fHF\fIm\fH\\\fHR\fHD\fIk\fHp\fIg\fHM\fHP\fIk\fHn\fHi\fHD\fIm\fHY\fHR\fHJ\fHZ\fIa\fH\\\fIk\fHO\fIl\fHZ\fHS\fHy\fIa\fH[\fHR\fHT\fH\\\fHy\fHR\fH\\\fIl\fHT\fHn\fH{\fIa\fH\\\fHU\fHF\fH\\\fHS\fHO\fHR\fHB\fH@\fIa\fH\\\fHR\fHn\fHM\fH@\fHv\fIa\fHv\fIg\fHn\fHe\fHF\fH^\fH@\fIa\fHK\fHB\fHn\fHH\fIa\fH\\\fIl\fHT\fHn\fHF\fH\\\fIa\fHy\fHe\fHB\fIa\fHB\fIl\fHJ\fHB\fHR\fHK\fIa\fHC\fHB\fHT\fHU\fHR\fHC\fHH\fHR\fHZ\fH@\fIa\fHJ\fIg\fHn\fHB\fIl\fHM\fHS\fHC\fHR\fHj\fHd\fHF\fIl\fHc\fH^\fHB\fIg\fH@\fHR\fHk\fH^\fHT\fHn\fHz\fIa\fHC\fHR\fHj\fHF\fH\\\fIk\fHZ\fHD\fHi\fHD\fIm\fH@\fHn\fHK\fH@\fHR\fHp\fHP\fHR\fH\\\fHD\fHY\fIl\fHD\fHH\fHB\fHF\fIa\fH\\\fHB\fIm\fHz\fHF\fIa\fH\\\fHZ\fIa\fHD\fHF\fH\\\fHS\fHY\fHR\fH\\\fHD\fIm\fHy\fHT\fHR\fHD\fHT\fHB\fH\\\fIa\fHI\fHD\fHj\fHC\fIg\fHp\fHS\fHH\fHT\fIg\fHB\fHY\fHR\fH\\4K5h5i4X4K4]5o4K4F4K5h5i5j4F4C5f4K4F4K5h5o5i4D5f5d4F4]4K5h5i4X4K5k4C4K4F4U4C4C4K5h4^5d4K4]4U4C4C4K5h4]4C5d4C4K5h4I4_5h4K5i5f4E4K5h5m5d4F5d4X5d4D4K5h5i4_4K4D5n4K4F4K5h5i4U5h5d5i4K4F4K5h5i4_5h4_5h4K4F4K5h4@4]4K5m5f5o4_4K5h4K4_5h4K5i5f4E4K5h4K4F4Y4K5h4K4Fhfztlqgp!#`lmwfmw>!t0-lqd,2:::,{kwno!=?b#wbqdfw>!\\aobmh!#wf{w,kwno8#`kbqpfw>!#wbqdfw>!\\aobmh!=?wbaof#`foosbggjmd>!bvwl`lnsofwf>!lee!#wf{w.bojdm9#`fmwfq8wl#obpw#ufqpjlm#az#ab`hdqlvmg.`lolq9# !#kqfe>!kwws9,,ttt-,gju=?,gju=?gju#jg>?b#kqfe>! !#`obpp>!!=?jnd#pq`>!kwws9,,`qjsw!#pq`>!kwws9,,\t?p`qjsw#obmdvbdf>!,,FM!#!kwws9,,ttt-tfm`lgfVQJ@lnslmfmw+!#kqfe>!ibubp`qjsw9?gju#`obpp>!`lmwfmwgl`vnfmw-tqjwf+$?p`slpjwjlm9#baplovwf8p`qjsw#pq`>!kwws9,,#pwzof>!nbqdjm.wls9-njm-ip!=?,p`qjsw=\t?,gju=\t?gju#`obpp>!t0-lqd,2:::,{kwno!#\t\t?,algz=\t?,kwno=gjpwjm`wjlm#afwtffm,!#wbqdfw>!\\aobmh!=?ojmh#kqfe>!kwws9,,fm`lgjmd>!vwe.;!<=\tt-bggFufmwOjpwfmfq<b`wjlm>!kwws9,,ttt-j`lm!#kqfe>!kwws9,,#pwzof>!ab`hdqlvmg9wzsf>!wf{w,`pp!#,=\tnfwb#sqlsfqwz>!ld9w?jmsvw#wzsf>!wf{w!##pwzof>!wf{w.bojdm9wkf#gfufolsnfmw#le#wzofpkffw!#wzsf>!wfkwno8#`kbqpfw>vwe.;jp#`lmpjgfqfg#wl#afwbaof#tjgwk>!233&!#Jm#bggjwjlm#wl#wkf#`lmwqjavwfg#wl#wkf#gjeefqfm`fp#afwtffmgfufolsnfmw#le#wkf#Jw#jp#jnslqwbmw#wl#?,p`qjsw=\t\t?p`qjsw##pwzof>!elmw.pjyf92=?,psbm=?psbm#jg>daOjaqbqz#le#@lmdqfpp?jnd#pq`>!kwws9,,jnFmdojpk#wqbmpobwjlmB`bgfnz#le#P`jfm`fpgju#pwzof>!gjpsobz9`lmpwqv`wjlm#le#wkf-dfwFofnfmwAzJg+jg*jm#`lmivm`wjlm#tjwkFofnfmw+$p`qjsw$*8#?nfwb#sqlsfqwz>!ld9<}=f<W<_<\\=l=m<V<T\t#wzsf>!wf{w!#mbnf>!=Sqjub`z#Sloj`z?,b=bgnjmjpwfqfg#az#wkffmbaofPjmdofQfrvfpwpwzof>%rvlw8nbqdjm9?,gju=?,gju=?,gju=?=?jnd#pq`>!kwws9,,j#pwzof>%rvlw8eolbw9qfefqqfg#wl#bp#wkf#wlwbo#slsvobwjlm#lejm#Tbpkjmdwlm/#G-@-#pwzof>!ab`hdqlvmg.bnlmd#lwkfq#wkjmdp/lqdbmjybwjlm#le#wkfsbqwj`jsbwfg#jm#wkfwkf#jmwqlgv`wjlm#lejgfmwjejfg#tjwk#wkfej`wjlmbo#`kbqb`wfq#L{elqg#Vmjufqpjwz#njpvmgfqpwbmgjmd#leWkfqf#bqf/#kltfufq/pwzofpkffw!#kqfe>!,@lovnajb#Vmjufqpjwzf{sbmgfg#wl#jm`ovgfvpvbooz#qfefqqfg#wljmgj`bwjmd#wkbw#wkfkbuf#pvddfpwfg#wkbwbeejojbwfg#tjwk#wkf`lqqfobwjlm#afwtffmmvnafq#le#gjeefqfmw=?,wg=?,wq=?,wbaof=Qfsvaoj`#le#Jqfobmg\t?,p`qjsw=\t?p`qjsw#vmgfq#wkf#jmeovfm`f`lmwqjavwjlm#wl#wkfLeej`jbo#tfapjwf#lekfbgrvbqwfqp#le#wkf`fmwfqfg#bqlvmg#wkfjnsoj`bwjlmp#le#wkfkbuf#affm#gfufolsfgEfgfqbo#Qfsvaoj`#leaf`bnf#jm`qfbpjmdoz`lmwjmvbwjlm#le#wkfMlwf/#kltfufq/#wkbwpjnjobq#wl#wkbw#le#`bsbajojwjfp#le#wkfb``lqgbm`f#tjwk#wkfsbqwj`jsbmwp#jm#wkfevqwkfq#gfufolsnfmwvmgfq#wkf#gjqf`wjlmjp#lewfm#`lmpjgfqfgkjp#zlvmdfq#aqlwkfq?,wg=?,wq=?,wbaof=?b#kwws.frvju>![.VB.skzpj`bo#sqlsfqwjfple#Aqjwjpk#@lovnajbkbp#affm#`qjwj`jyfg+tjwk#wkf#f{`fswjlmrvfpwjlmp#balvw#wkfsbppjmd#wkqlvdk#wkf3!#`foosbggjmd>!3!#wklvpbmgp#le#sflsofqfgjqf`wp#kfqf-#Elqkbuf#`kjogqfm#vmgfq&0F&0@,p`qjsw&0F!**8?b#kqfe>!kwws9,,ttt-?oj=?b#kqfe>!kwws9,,pjwf\\mbnf!#`lmwfmw>!wf{w.gf`lqbwjlm9mlmfpwzof>!gjpsobz9#mlmf?nfwb#kwws.frvju>![.mft#Gbwf+*-dfwWjnf+*#wzsf>!jnbdf,{.j`lm!?,psbm=?psbm#`obpp>!obmdvbdf>!ibubp`qjswtjmglt-ol`bwjlm-kqfe?b#kqfe>!ibubp`qjsw9..=\t?p`qjsw#wzsf>!w?b#kqfe>$kwws9,,ttt-klqw`vw#j`lm!#kqfe>!?,gju=\t?gju#`obpp>!?p`qjsw#pq`>!kwws9,,!#qfo>!pwzofpkffw!#w?,gju=\t?p`qjsw#wzsf>,b=#?b#kqfe>!kwws9,,#booltWqbmpsbqfm`z>![.VB.@lnsbwjaof!#`lmqfobwjlmpkjs#afwtffm\t?,p`qjsw=\t?p`qjsw#?,b=?,oj=?,vo=?,gju=bppl`jbwfg#tjwk#wkf#sqldqbnnjmd#obmdvbdf?,b=?b#kqfe>!kwws9,,?,b=?,oj=?oj#`obpp>!elqn#b`wjlm>!kwws9,,?gju#pwzof>!gjpsobz9wzsf>!wf{w!#mbnf>!r!?wbaof#tjgwk>!233&!#ab`hdqlvmg.slpjwjlm9!#alqgfq>!3!#tjgwk>!qfo>!pklqw`vw#j`lm!#k5=?vo=?oj=?b#kqfe>!##?nfwb#kwws.frvju>!`pp!#nfgjb>!p`qffm!#qfpslmpjaof#elq#wkf#!#wzsf>!bssoj`bwjlm,!#pwzof>!ab`hdqlvmg.kwno8#`kbqpfw>vwe.;!#booltwqbmpsbqfm`z>!pwzofpkffw!#wzsf>!wf\t?nfwb#kwws.frvju>!=?,psbm=?psbm#`obpp>!3!#`foopsb`jmd>!3!=8\t?,p`qjsw=\t?p`qjsw#plnfwjnfp#`boofg#wkfglfp#mlw#mf`fppbqjozElq#nlqf#jmelqnbwjlmbw#wkf#afdjmmjmd#le#?"GL@WZSF#kwno=?kwnosbqwj`vobqoz#jm#wkf#wzsf>!kjggfm!#mbnf>!ibubp`qjsw9uljg+3*8!feef`wjufmfpp#le#wkf#bvwl`lnsofwf>!lee!#dfmfqbooz#`lmpjgfqfg=?jmsvw#wzsf>!wf{w!#!=?,p`qjsw=\t?p`qjswwkqlvdklvw#wkf#tlqog`lnnlm#njp`lm`fswjlmbppl`jbwjlm#tjwk#wkf?,gju=\t?,gju=\t?gju#`gvqjmd#kjp#ojefwjnf/`lqqfpslmgjmd#wl#wkfwzsf>!jnbdf,{.j`lm!#bm#jm`qfbpjmd#mvnafqgjsolnbwj`#qfobwjlmpbqf#lewfm#`lmpjgfqfgnfwb#`kbqpfw>!vwe.;!#?jmsvw#wzsf>!wf{w!#f{bnsofp#jm`ovgf#wkf!=?jnd#pq`>!kwws9,,jsbqwj`jsbwjlm#jm#wkfwkf#fpwbaojpknfmw#le\t?,gju=\t?gju#`obpp>!%bns8maps8%bns8maps8wl#gfwfqnjmf#tkfwkfqrvjwf#gjeefqfmw#eqlnnbqhfg#wkf#afdjmmjmdgjpwbm`f#afwtffm#wkf`lmwqjavwjlmp#wl#wkf`lmeoj`w#afwtffm#wkftjgfoz#`lmpjgfqfg#wltbp#lmf#le#wkf#ejqpwtjwk#ubqzjmd#gfdqffpkbuf#psf`vobwfg#wkbw+gl`vnfmw-dfwFofnfmwsbqwj`jsbwjmd#jm#wkflqjdjmbooz#gfufolsfgfwb#`kbqpfw>!vwe.;!=#wzsf>!wf{w,`pp!#,=\tjmwfq`kbmdfbaoz#tjwknlqf#`olpfoz#qfobwfgpl`jbo#bmg#slojwj`bowkbw#tlvog#lwkfqtjpfsfqsfmgj`vobq#wl#wkfpwzof#wzsf>!wf{w,`ppwzsf>!pvanjw!#mbnf>!ebnjojfp#qfpjgjmd#jmgfufolsjmd#`lvmwqjfp`lnsvwfq#sqldqbnnjmdf`lmlnj`#gfufolsnfmwgfwfqnjmbwjlm#le#wkfelq#nlqf#jmelqnbwjlmlm#pfufqbo#l``bpjlmpslqwvdv/Fp#+Fvqlsfv*<O<V=l<\\={<Q=m=`<V<\\=o<V=l<\\={<Q=m=`<V<\\<L<R=m=m<T<U=m<V<R<U<P<\\=n<Y=l<T<\\<W<R<^<T<Q=h<R=l<P<\\=j<T<T=o<S=l<\\<^<W<Y<Q<T=c<Q<Y<R<]=i<R<X<T<P<R<T<Q=h<R=l<P<\\=j<T=c<t<Q=h<R=l<P<\\=j<T=c<L<Y=m<S=o<]<W<T<V<T<V<R<W<T=k<Y=m=n<^<R<T<Q=h<R=l<P<\\=j<T=b=n<Y=l=l<T=n<R=l<T<T<X<R=m=n<\\=n<R=k<Q<R4K5h5i4F5d4K4@4C5d5j4K5h4K4X4F4]4K5o4K4F4K5h4K5n4F4]4K4A4K4Fkwno8#`kbqpfw>VWE.;!#pfwWjnflvw+evm`wjlm+*gjpsobz9jmojmf.aol`h8?jmsvw#wzsf>!pvanjw!#wzsf#>#$wf{w,ibubp`qj?jnd#pq`>!kwws9,,ttt-!#!kwws9,,ttt-t0-lqd,pklqw`vw#j`lm!#kqfe>!!#bvwl`lnsofwf>!lee!#?,b=?,gju=?gju#`obpp>?,b=?,oj=\t?oj#`obpp>!`pp!#wzsf>!wf{w,`pp!#?elqn#b`wjlm>!kwws9,,{w,`pp!#kqfe>!kwws9,,ojmh#qfo>!bowfqmbwf!#\t?p`qjsw#wzsf>!wf{w,#lm`oj`h>!ibubp`qjsw9+mft#Gbwf*-dfwWjnf+*~kfjdkw>!2!#tjgwk>!2!#Sflsof$p#Qfsvaoj`#le##?b#kqfe>!kwws9,,ttt-wf{w.gf`lqbwjlm9vmgfqwkf#afdjmmjmd#le#wkf#?,gju=\t?,gju=\t?,gju=\tfpwbaojpknfmw#le#wkf#?,gju=?,gju=?,gju=?,g ujftslqwxnjm.kfjdkw9\t?p`qjsw#pq`>!kwws9,,lswjlm=?lswjlm#ubovf>lewfm#qfefqqfg#wl#bp#,lswjlm=\t?lswjlm#ubov?"GL@WZSF#kwno=\t?"..XJmwfqmbwjlmbo#Bjqslqw=\t?b#kqfe>!kwws9,,ttt?,b=?b#kqfe>!kwws9,,t\fTL\fT^\fTE\fT^\fUh\fT{\fTN\roI\ro|\roL\ro{\roO\rov\rot\nAOGx\bTA\nzk#+\vUmGx*\fHD\fHS\fH\\\fIa\fHJ\fIk\fHZ\fHM\fHR\fHe\fHD\fH^\fIg\fHM\fHy\fIa\fH[\fIk\fHH\fIa\fH\\\fHp\fHR\fHD\fHy\fHR\fH\\\fIl\fHT\fHn\fH@\fHn\fHK\fHS\fHH\fHT\fIa\fHI\fHR\fHF\fHD\fHR\fHT\fIa\fHY\fIl\fHy\fHR\fH\\\fHT\fHn\fHT\fIa\fHy\fH\\\fHO\fHT\fHR\fHB\fH{\fIa\fH\\\fIl\fHv\fHS\fHs\fIa\fHL\fIg\fHn\fHY\fHS\fHp\fIa\fHr\fHR\fHD\fHi\fHB\fIk\fH\\\fHS\fHy\fHR\fHY\fHS\fHA\fHS\fHD\fIa\fHD\fH{\fHR\fHM\fHS\fHC\fHR\fHm\fHy\fIa\fHC\fIg\fHn\fHy\fHS\fHT\fIm\fH\\\fHy\fIa\fH[\fHR\fHF\fHU\fIm\fHm\fHv\fHH\fIl\fHF\fIa\fH\\\fH@\fHn\fHK\fHD\fHs\fHS\fHF\fIa\fHF\fHO\fIl\fHy\fIa\fH\\\fHS\fHy\fIk\fHs\fHF\fIa\fH\\\fHR\fH\\\fHn\fHA\fHF\fIa\fH\\\fHR\fHF\fIa\fHH\fHB\fHR\fH^\fHS\fHy\fIg\fHn\fH\\\fHG\fHP\fIa\fHH\fHR\fH\\\fHD\fHS\fH\\\fIa\fHB\fHR\fHO\fH^\fHS\fHB\fHS\fHs\fIk\fHMgfp`qjswjlm!#`lmwfmw>!gl`vnfmw-ol`bwjlm-sqlw-dfwFofnfmwpAzWbdMbnf+?"GL@WZSF#kwno=\t?kwno#?nfwb#`kbqpfw>!vwe.;!=9vqo!#`lmwfmw>!kwws9,,-`pp!#qfo>!pwzofpkffw!pwzof#wzsf>!wf{w,`pp!=wzsf>!wf{w,`pp!#kqfe>!t0-lqd,2:::,{kwno!#{nowzsf>!wf{w,ibubp`qjsw!#nfwklg>!dfw!#b`wjlm>!ojmh#qfo>!pwzofpkffw!##>#gl`vnfmw-dfwFofnfmwwzsf>!jnbdf,{.j`lm!#,=`foosbggjmd>!3!#`foops-`pp!#wzsf>!wf{w,`pp!#?,b=?,oj=?oj=?b#kqfe>!!#tjgwk>!2!#kfjdkw>!2!!=?b#kqfe>!kwws9,,ttt-pwzof>!gjpsobz9mlmf8!=bowfqmbwf!#wzsf>!bssoj.,,T0@,,GWG#[KWNO#2-3#foopsb`jmd>!3!#`foosbg#wzsf>!kjggfm!#ubovf>!,b=%maps8?psbm#qlof>!p\t?jmsvw#wzsf>!kjggfm!#obmdvbdf>!IbubP`qjsw!##gl`vnfmw-dfwFofnfmwpAd>!3!#`foopsb`jmd>!3!#zsf>!wf{w,`pp!#nfgjb>!wzsf>$wf{w,ibubp`qjsw$tjwk#wkf#f{`fswjlm#le#zsf>!wf{w,`pp!#qfo>!pw#kfjdkw>!2!#tjgwk>!2!#>$(fm`lgfVQJ@lnslmfmw+?ojmh#qfo>!bowfqmbwf!#\talgz/#wq/#jmsvw/#wf{wnfwb#mbnf>!qlalwp!#`lmnfwklg>!slpw!#b`wjlm>!=\t?b#kqfe>!kwws9,,ttt-`pp!#qfo>!pwzofpkffw!#?,gju=?,gju=?gju#`obppobmdvbdf>!ibubp`qjsw!=bqjb.kjggfm>!wqvf!=.[?qjsw!#wzsf>!wf{w,ibubpo>38~*+*8\t+evm`wjlm+*xab`hdqlvmg.jnbdf9#vqo+,b=?,oj=?oj=?b#kqfe>!k\n\n?oj=?b#kqfe>!kwws9,,bwlq!#bqjb.kjggfm>!wqv=#?b#kqfe>!kwws9,,ttt-obmdvbdf>!ibubp`qjsw!#,lswjlm=\t?lswjlm#ubovf,gju=?,gju=?gju#`obpp>qbwlq!#bqjb.kjggfm>!wqf>+mft#Gbwf*-dfwWjnf+*slqwvdv/Fp#+gl#Aqbpjo*<R=l<_<\\<Q<T<[<\\=j<T<T<^<R<[<P<R<Z<Q<R=m=n=`<R<]=l<\\<[<R<^<\\<Q<T=c=l<Y<_<T=m=n=l<\\=j<T<T<^<R<[<P<R<Z<Q<R=m=n<T<R<]=c<[<\\=n<Y<W=`<Q<\\?"GL@WZSF#kwno#SVAOJ@#!mw.Wzsf!#`lmwfmw>!wf{w,?nfwb#kwws.frvju>!@lmwfqbmpjwjlmbo,,FM!#!kwws9?kwno#{nomp>!kwws9,,ttt.,,T0@,,GWG#[KWNO#2-3#WGWG,{kwno2.wqbmpjwjlmbo,,ttt-t0-lqd,WQ,{kwno2,sf#>#$wf{w,ibubp`qjsw$8?nfwb#mbnf>!gfp`qjswjlmsbqfmwMlgf-jmpfqwAfelqf?jmsvw#wzsf>!kjggfm!#mbip!#wzsf>!wf{w,ibubp`qj+gl`vnfmw*-qfbgz+evm`wjp`qjsw#wzsf>!wf{w,ibubpjnbdf!#`lmwfmw>!kwws9,,VB.@lnsbwjaof!#`lmwfmw>wno8#`kbqpfw>vwe.;!#,=\tojmh#qfo>!pklqw`vw#j`lm?ojmh#qfo>!pwzofpkffw!#?,p`qjsw=\t?p`qjsw#wzsf>>#gl`vnfmw-`qfbwfFofnfm?b#wbqdfw>!\\aobmh!#kqfe>#gl`vnfmw-dfwFofnfmwpAjmsvw#wzsf>!wf{w!#mbnf>b-wzsf#>#$wf{w,ibubp`qjmsvw#wzsf>!kjggfm!#mbnfkwno8#`kbqpfw>vwe.;!#,=gwg!=\t?kwno#{nomp>!kwws.,,T0@,,GWG#KWNO#7-32#WfmwpAzWbdMbnf+$p`qjsw$*jmsvw#wzsf>!kjggfm!#mbn?p`qjsw#wzsf>!wf{w,ibubp!#pwzof>!gjpsobz9mlmf8!=gl`vnfmw-dfwFofnfmwAzJg+>gl`vnfmw-`qfbwfFofnfmw+$#wzsf>$wf{w,ibubp`qjsw$jmsvw#wzsf>!wf{w!#mbnf>!g-dfwFofnfmwpAzWbdMbnf+pmj`bo!#kqfe>!kwws9,,ttt-@,,GWG#KWNO#7-32#Wqbmpjw?pwzof#wzsf>!wf{w,`pp!=\t\t?pwzof#wzsf>!wf{w,`pp!=jlmbo-gwg!=\t?kwno#{nomp>kwws.frvju>!@lmwfmw.Wzsfgjmd>!3!#`foopsb`jmd>!3!kwno8#`kbqpfw>vwe.;!#,=\t#pwzof>!gjpsobz9mlmf8!=??oj=?b#kqfe>!kwws9,,ttt-#wzsf>$wf{w,ibubp`qjsw$=<X<Y=c=n<Y<W=`<Q<R=m=n<T=m<R<R=n<^<Y=n=m=n<^<T<T<S=l<R<T<[<^<R<X=m=n<^<\\<]<Y<[<R<S<\\=m<Q<R=m=n<T\fHF\fIm\fHT\fIa\fHH\fHS\fHy\fHR\fHy\fHR\fHn\fH{\fIa\fH\\\fIk\fHT\fHe\fHD\fIa\fHU\fIg\fHn\fHD\fIk\fHY\fHS\fHK\fHR\fHD\fHT\fHA\fHR\fHG\fHS\fHy\fIa\fHT\fHS\fHn\fH{\fHT\fIm\fH\\\fHy\fIa\fH[\fHS\fHH\fHy\fIe\fHF\fIl\fH\\\fHR\fHk\fHs\fHY\fHS\fHp\fIa\fHr\fHR\fHF\fHD\fHy\fHR\fH\\\fIa\fH\\\fHY\fHR\fHd\fHT\fHy\fIa\fH\\\fHS\fHC\fHH\fHR',"۷%ƌ'T%…'W%×%O%g%¦&Ɠ%ǥ&>&*&'&^&ˆŸా&ƭ&ƒ&)&^&%&'&‚&P&1&±&3&]&m&u&E&t&C&Ï&V&V&/&>&6&ྲྀ᝼o&p&@&E&M&P&x&@&F&e&Ì&7&:&(&D&0&C&)&.&F&-&1&(&L&F&1ɞ*Ϫ⇳&፲&K&;&)&E&H&P&0&?&9&V&&-&v&a&,&E&)&?&=&'&'&B&മ&ԃ&̖*&*8&%&%&&&%,)&š&>&†&7&]&F&2&>&J&6&n&2&%&?&Ž&2&6&J&g&-&0&,&*&J&*&O&)&6&(&<&B&N&.&P&@&2&.&W&M&%Լ„(,(<&,&Ϛ&ᣇ&-&,(%&(&%&(Ļ0&X&D&&j&'&J&(&.&B&3&Z&R&h&3&E&E&<Æ-͠ỳ&%8?&@&,&Z&@&0&J&,&^&x&_&6&C&6&Cܬ⨥&f&-&-&-&-&,&J&2&8&z&8&C&Y&8&-&d&ṸÌ-&7&1&F&7&t&W&7&I&.&.&^&=ྜ᧓&8(>&/&/&ݻ')'ၥ')'%@/&0&%оী*&*@&CԽהɴ׫4෗ܚӑ6඄&/Ÿ̃Z&*%ɆϿ&Ĵ&1¨ҴŴ",g,"AAAAKKLLKKKKKJJIHHIHHGGFF");!function setData(e,t){const n=m,a=p;for(let e=0;e<t.length;++e)a[e]=t[e];let s=0;for(let e=0;e<t.length;++e){n[e]=s;const t=a[e];0!==t&&(s+=e<<(31&t))}for(let e=t.length;e<32;++e)n[e]=s;u=e}(d,g);function InputStream(e){this.data=new Int8Array(0);this.offset=0;this.data=e}function readInput(e,t,n,a){if(null===e.input)return-1;const s=e.input,r=Math.min(s.offset+a,s.data.length),i=r-s.offset;t.set(s.data.subarray(s.offset,r),n);s.offset+=i;return i}function toUtf8Runes(e){const t=e.length,n=new Int32Array(t);for(let a=0;a<t;++a)n[a]=e.charCodeAt(a);return n}function makeError(e,t){if(t>=0)return t;e.runningState>=0&&(e.runningState=t);throw new Error("Brotli error code: "+t)}return function decode(e,t){let n=new State;n.input=new InputStream(e);initState(n);if(t){let e=t.customDictionary;e&&function attachDictionaryChunk(e,t){if(1!==e.runningState)return makeError(e,-24);if(0===e.cdNumChunks){e.cdChunks=new Array(16);e.cdChunkOffsets=new Int32Array(16);e.cdBlockBits=-1}if(15===e.cdNumChunks)return makeError(e,-27);e.cdChunks[e.cdNumChunks]=t;e.cdNumChunks++;e.cdTotalSize+=t.length;e.cdChunkOffsets[e.cdNumChunks]=e.cdTotalSize;return 0}(n,e)}let a=0,s=[];for(;;){let e=new Int8Array(16384);s.push(e);n.output=e;n.outputOffset=0;n.outputLength=16384;n.outputUsed=0;decompress(n);a+=n.outputUsed;if(n.outputUsed<16384)break}!function close(e){if(0===e.runningState)return makeError(e,-25);e.runningState>0&&(e.runningState=11);return 0}(n);!function closeInput(e){e.input=new InputStream(new Int8Array(0))}(n);let r=new Int8Array(a),i=0;for(let e=0;e<s.length;++e){let t=s[e],n=Math.min(a,i+16384)-i;n<16384?r.set(t.subarray(0,n),i):r.set(t,i);i+=n}return r}})();class BrotliStream extends DecodeStream{#L=!0;constructor(e,t){super(t);this.stream=e;this.dict=e.dict}readBlock(){const e=this.stream.getBytes(),t=Nn(new Int8Array(e.buffer,e.byteOffset,e.length));this.buffer=new Uint8Array(t.buffer,t.byteOffset,t.length);this.bufferLength=this.buffer.length;this.eof=!0}async getImageData(e,t){const n=await this.asyncGetBytes();return n?n.length<=e?n:n.subarray(0,e):this.getBytes(e)}async asyncGetBytes(){const{decompressed:e,compressed:t}=await this.asyncGetBytesFromDecompressionStream("brotli");if(e)return e;this.#L=!1;this.stream=new Stream(t,0,t.length,this.stream.dict);this.reset();return null}get isAsync(){return this.#L}}const zn=-1,Ln=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],Un=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],_n=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],Xn=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],Wn=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],Kn=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];class CCITTFaxDecoder{constructor(e,t={K:0,EndOfLine:!1,EncodedByteAlign:!1,Columns:1728,Rows:0,EndOfBlock:!0,BlackIs1:!1}){if("function"!=typeof e?.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');this.source=e;this.eof=!1;({K:this.encoding,EndOfLine:this.eoline,EncodedByteAlign:this.byteAlign,Columns:this.columns,Rows:this.rows,EndOfBlock:this.eoblock,BlackIs1:this.black}=t);this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=!1;let n;for(;0===(n=this._lookBits(12));)this._eatBits(1);1===n&&this._eatBits(12);if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,n=this.columns;let a,s,r,i,o;if(0===this.outputBits){this.rowsDone&&(this.eof=!0);if(this.eof)return-1;this.err=!1;let r,o,l;if(this.nextLine2D){for(i=0;t[i]<n;++i)e[i]=t[i];e[i++]=n;e[i]=n;t[0]=0;this.codingPos=0;a=0;s=0;for(;t[this.codingPos]<n;){r=this._getTwoDimCode();switch(r){case 0:this._addPixels(e[a+1],s);e[a+1]<n&&(a+=2);break;case 1:r=o=0;if(s){do{r+=l=this._getBlackCode()}while(l>=64);do{o+=l=this._getWhiteCode()}while(l>=64)}else{do{r+=l=this._getWhiteCode()}while(l>=64);do{o+=l=this._getBlackCode()}while(l>=64)}this._addPixels(t[this.codingPos]+r,s);t[this.codingPos]<n&&this._addPixels(t[this.codingPos]+o,1^s);for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2;break;case 7:this._addPixels(e[a]+3,s);s^=1;if(t[this.codingPos]<n){++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case 5:this._addPixels(e[a]+2,s);s^=1;if(t[this.codingPos]<n){++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case 3:this._addPixels(e[a]+1,s);s^=1;if(t[this.codingPos]<n){++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case 2:this._addPixels(e[a],s);s^=1;if(t[this.codingPos]<n){++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case 8:this._addPixelsNeg(e[a]-3,s);s^=1;if(t[this.codingPos]<n){a>0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case 6:this._addPixelsNeg(e[a]-2,s);s^=1;if(t[this.codingPos]<n){a>0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case 4:this._addPixelsNeg(e[a]-1,s);s^=1;if(t[this.codingPos]<n){a>0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]<n;)a+=2}break;case zn:this._addPixels(n,0);this.eof=!0;break;default:info("bad 2d code");this._addPixels(n,0);this.err=!0}}}else{t[0]=0;this.codingPos=0;s=0;for(;t[this.codingPos]<n;){r=0;if(s)do{r+=l=this._getBlackCode()}while(l>=64);else do{r+=l=this._getWhiteCode()}while(l>=64);this._addPixels(t[this.codingPos]+r,s);s^=1}}let f=!1;this.byteAlign&&(this.inputBits&=-8);if(this.eoblock||this.row!==this.rows-1){r=this._lookBits(12);if(this.eoline)for(;r!==zn&&1!==r;){this._eatBits(1);r=this._lookBits(12)}else for(;0===r;){this._eatBits(1);r=this._lookBits(12)}if(1===r){this._eatBits(12);f=!0}else r===zn&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}if(this.eoblock&&f&&this.byteAlign){r=this._lookBits(12);if(1===r){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}if(this.encoding>=0)for(i=0;i<4;++i){r=this._lookBits(12);1!==r&&info("bad rtc code: "+r);this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}}this.eof=!0}}else if(this.err&&this.eoline){for(;;){r=this._lookBits(13);if(r===zn){this.eof=!0;return-1}if(r>>1==1)break;this._eatBits(1)}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(1&r)}}this.outputBits=t[0]>0?t[this.codingPos=0]:t[this.codingPos=1];this.row++}if(this.outputBits>=8){o=1&this.codingPos?0:255;this.outputBits-=8;if(0===this.outputBits&&t[this.codingPos]<n){this.codingPos++;this.outputBits=t[this.codingPos]-t[this.codingPos-1]}}else{r=8;o=0;do{if("number"!=typeof this.outputBits)throw new FormatError('Invalid /CCITTFaxDecode data, "outputBits" must be a number.');if(this.outputBits>r){o<<=r;1&this.codingPos||(o|=255>>8-r);this.outputBits-=r;r=0}else{o<<=this.outputBits;1&this.codingPos||(o|=255>>8-this.outputBits);r-=this.outputBits;this.outputBits=0;if(t[this.codingPos]<n){this.codingPos++;this.outputBits=t[this.codingPos]-t[this.codingPos-1]}else if(r>0){o<<=r;r=0}}}while(r)}this.black&&(o^=255);return o}_addPixels(e,t){const n=this.codingLine;let a=this.codingPos;if(e>n[a]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&a^t&&++a;n[a]=e}this.codingPos=a}_addPixelsNeg(e,t){const n=this.codingLine;let a=this.codingPos;if(e>n[a]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&a^t&&++a;n[a]=e}else if(e<n[a]){if(e<0){info("invalid code");this.err=!0;e=0}for(;a>0&&e<n[a-1];)--a;n[a]=e}this.codingPos=a}_findTableCode(e,t,n,a){const s=a||0;for(let a=e;a<=t;++a){let e=this._lookBits(a);if(e===zn)return[!0,1,!1];a<t&&(e<<=t-a);if(!s||e>=s){const t=n[e-s];if(t[0]===a){this._eatBits(a);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=Ln[t];if(e?.[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,Ln);if(e[0]&&e[2])return e[1]}info("Bad two dim code");return zn}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===zn)return 1;e=t>>5?_n[t>>3]:Un[t];if(e[0]>0){this._eatBits(e[0]);return e[1]}}else{let e=this._findTableCode(1,9,_n);if(e[0])return e[1];e=this._findTableCode(11,12,Un);if(e[0])return e[1]}info("bad white code");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===zn)return 1;t=e>>7?!(e>>9)&&e>>7?Wn[(e>>1)-64]:Kn[e>>7]:Xn[e];if(t[0]>0){this._eatBits(t[0]);return t[1]}}else{let e=this._findTableCode(2,6,Kn);if(e[0])return e[1];e=this._findTableCode(7,12,Wn,64);if(e[0])return e[1];e=this._findTableCode(10,13,Xn);if(e[0])return e[1]}info("bad black code");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits<e;){if(-1===(t=this.source.next()))return 0===this.inputBits?zn:this.inputBuf<<e-this.inputBits&65535>>16-e;this.inputBuf=this.inputBuf<<8|t;this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}class CCITTFaxStream extends DecodeStream{constructor(e,t,n){super(t);this.stream=e;this.maybeLength=t;this.dict=e.dict;n instanceof Dict||(n=Dict.empty);this.params={K:n.get("K")||0,EndOfLine:!!n.get("EndOfLine"),EncodedByteAlign:!!n.get("EncodedByteAlign"),Columns:n.get("Columns")||1728,Rows:n.get("Rows")||0,EndOfBlock:!!(n.get("EndOfBlock")??1),BlackIs1:!!n.get("BlackIs1")}}get bytes(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))}readBlock(){this.decodeImageFallback()}get isImageStream(){return!0}get isAsyncDecoder(){return!0}async decodeImage(e,t,n){if(this.eof)return this.buffer;e||(e=this.stream.isAsync&&await this.stream.asyncGetBytes()||this.bytes);try{this.buffer=await JBig2CCITTFaxWasmImage.decode(e,this.dict.get("W","Width"),this.dict.get("H","Height"),null,this.params)}catch{warn("CCITTFaxStream: Falling back to JS CCITTFax decoder.");return this.decodeImageFallback(e,t)}this.bufferLength=this.buffer.length;this.eof=!0;return this.buffer}decodeImageFallback(e,t){if(this.eof)return this.buffer;const{params:n}=this;if(!e){this.stream.reset();e=this.bytes}let a=0;const s={next:()=>e[a++]??-1};t&&this.buffer.byteLength<t&&(this.buffer=new Uint8Array(t));this.ccittFaxDecoder=new CCITTFaxDecoder(s,n);let r=0;for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e){this.eof=!0;break}t||this.ensureBuffer(r+1);this.buffer[r++]=e}this.bufferLength=this.buffer.length;return this.buffer.subarray(0,t||this.bufferLength)}}const Gn=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vn=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),$n=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Yn=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Jn=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class FlateStream extends DecodeStream{#L=!0;constructor(e,t){super(t);this.stream=e;this.dict=e.dict;const n=e.getByte(),a=e.getByte();if(-1===n||-1===a)throw new FormatError(`Invalid header in flate stream: ${n}, ${a}`);if(8!=(15&n))throw new FormatError(`Unknown compression method in flate stream: ${n}, ${a}`);if(((n<<8)+a)%31!=0)throw new FormatError(`Bad FCHECK in flate stream: ${n}, ${a}`);if(32&a)throw new FormatError(`FDICT bit set in flate stream: ${n}, ${a}`);this.codeSize=0;this.codeBuf=0}async getImageData(e,t){const n=await this.asyncGetBytes();return n?n.length<=e?n:n.subarray(0,e):this.getBytes(e)}async asyncGetBytes(){const{decompressed:e,compressed:t}=await this.asyncGetBytesFromDecompressionStream("deflate");if(e)return e;this.#L=!1;this.stream=new Stream(t,2,t.length,this.stream.dict);this.reset();return null}get isAsync(){return this.#L}getBits(e){const t=this.stream;let n,a=this.codeSize,s=this.codeBuf;for(;a<e;){if(-1===(n=t.getByte()))throw new FormatError("Bad encoding in flate stream");s|=n<<a;a+=8}n=s&(1<<e)-1;this.codeBuf=s>>e;this.codeSize=a-=e;return n}getCode(e){const t=this.stream,n=e[0],a=e[1];let s,r=this.codeSize,i=this.codeBuf;for(;r<a&&-1!==(s=t.getByte());){i|=s<<r;r+=8}const o=n[i&(1<<a)-1],l=o>>16,f=65535&o;if(l<1||r<l)throw new FormatError("Bad encoding in flate stream");this.codeBuf=i>>l;this.codeSize=r-l;return f}generateHuffmanTable(e){const t=e.length;let n,a=0;for(n=0;n<t;++n)e[n]>a&&(a=e[n]);const s=1<<a,r=new Int32Array(s);for(let i=1,o=0,l=2;i<=a;++i,o<<=1,l<<=1)for(let a=0;a<t;++a)if(e[a]===i){let e=0,t=o;for(n=0;n<i;++n){e=e<<1|1&t;t>>=1}for(n=e;n<s;n+=l)r[n]=i<<16|a;++o}return[r,a]}#U(e){info(e);this.eof=!0}readBlock(){let e,t,n;const a=this.stream;try{t=this.getBits(3)}catch(e){this.#U(e.message);return}1&t&&(this.eof=!0);t>>=1;if(0===t){let t;if(-1===(t=a.getByte())){this.#U("Bad block header in flate stream");return}let n=t;if(-1===(t=a.getByte())){this.#U("Bad block header in flate stream");return}n|=t<<8;if(-1===(t=a.getByte())){this.#U("Bad block header in flate stream");return}let s=t;if(-1===(t=a.getByte())){this.#U("Bad block header in flate stream");return}s|=t<<8;if(s!==(65535&~n)&&(0!==n||0!==s))throw new FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0;this.codeSize=0;const r=this.bufferLength,i=r+n;e=this.ensureBuffer(i);this.bufferLength=i;if(0===n)-1===a.peekByte()&&(this.eof=!0);else{const t=a.getBytes(n);e.set(t,r);t.length<n&&(this.eof=!0)}return}let s,r;if(1===t){s=Yn;r=Jn}else{if(2!==t)throw new FormatError("Unknown block type in flate stream");{const e=this.getBits(5)+257,t=this.getBits(5)+1,a=this.getBits(4)+4,i=new Uint8Array(Gn.length);let o;for(o=0;o<a;++o)i[Gn[o]]=this.getBits(3);const l=this.generateHuffmanTable(i);n=0;o=0;const f=e+t,c=new Uint8Array(f);let h,u,m;for(;o<f;){const e=this.getCode(l);if(16===e){h=2;u=3;m=n}else if(17===e){h=3;u=3;m=n=0}else{if(18!==e){c[o++]=n=e;continue}h=7;u=11;m=n=0}let t=this.getBits(h)+u;for(;t-- >0;)c[o++]=m}s=this.generateHuffmanTable(c.subarray(0,e));r=this.generateHuffmanTable(c.subarray(e,f))}}e=this.buffer;let i=e?e.length:0,o=this.bufferLength;for(;;){let t=this.getCode(s);if(t<256){if(o+1>=i){e=this.ensureBuffer(o+1);i=e.length}e[o++]=t;continue}if(256===t){this.bufferLength=o;return}t-=257;t=Vn[t];let a=t>>16;a>0&&(a=this.getBits(a));n=(65535&t)+a;t=this.getCode(r);t=$n[t];a=t>>16;a>0&&(a=this.getBits(a));const l=(65535&t)+a;if(o+n>=i){e=this.ensureBuffer(o+n);i=e.length}for(let t=0;t<n;++t,++o)e[o]=e[o-l]}}}const Qn=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];class ArithmeticDecoder{constructor(e,t,n){this.data=e;this.bp=t;this.dataEnd=n;this.chigh=e[t];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}byteIn(){const e=this.data;let t=this.bp;if(255===e[t])if(e[t+1]>143){this.clow+=65280;this.ct=8}else{t++;this.clow+=e[t]<<9;this.ct=7;this.bp=t}else{t++;this.clow+=t<this.dataEnd?e[t]<<8:65280;this.ct=8;this.bp=t}if(this.clow>65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let n=e[t]>>1,a=1&e[t];const s=Qn[n],r=s.qe;let i,o=this.a-r;if(this.chigh<r)if(o<r){o=r;i=a;n=s.nmps}else{o=r;i=1^a;1===s.switchFlag&&(a=i);n=s.nlps}else{this.chigh-=r;if(32768&o){this.a=o;return a}if(o<r){i=1^a;1===s.switchFlag&&(a=i);n=s.nlps}else{i=a;n=s.nmps}}do{0===this.ct&&this.byteIn();o<<=1;this.chigh=this.chigh<<1&65535|this.clow>>15&1;this.clow=this.clow<<1&65535;this.ct--}while(!(32768&o));this.a=o;e[t]=n<<1|a;return i}}class Jbig2Error extends en{constructor(e){super(e,"Jbig2Error")}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,n){this.data=e;this.start=t;this.end=n}get decoder(){return shadow(this,"decoder",new ArithmeticDecoder(this.data,this.start,this.end))}get contextCache(){return shadow(this,"contextCache",new ContextCache)}}function decodeInteger(e,t,n){const a=e.getContexts(t);let s=1;function readBits(e){let t=0;for(let r=0;r<e;r++){const e=n.readBit(a,s);s=s<256?s<<1|e:511&(s<<1|e)|256;t=t<<1|e}return t>>>0}const r=readBits(1),i=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);let o;0===r?o=i:i>0&&(o=-i);return o>=-2147483648&&o<=mn?o:null}function decodeIAID(e,t,n){const a=e.getContexts("IAID");let s=1;for(let e=0;e<n;e++){s=s<<1|t.readBit(a,s)}return n<31?s&(1<<n)-1:2147483647&s}const Zn=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"PatternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion",null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],ea=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],ta=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],na=[39717,1941,229,405],aa=[32,8];function decodeBitmap(e,t,n,a,s,r,i,o){if(e){return decodeMMRBitmap(new Reader(o.data,o.start,o.end),t,n,!1)}if(0===a&&!r&&!s&&4===i.length&&3===i[0].x&&-1===i[0].y&&-3===i[1].x&&-1===i[1].y&&2===i[2].x&&-2===i[2].y&&-2===i[3].x&&-2===i[3].y)return function decodeBitmapTemplate0(e,t,n){const a=n.decoder,s=n.contextCache.getContexts("GB"),r=[];let i,o,l,f,c,h,u;for(o=0;o<t;o++){c=r[o]=new Uint8Array(e);h=o<1?c:r[o-1];u=o<2?c:r[o-2];i=u[0]<<13|u[1]<<12|u[2]<<11|h[0]<<7|h[1]<<6|h[2]<<5|h[3]<<4;for(l=0;l<e;l++){c[l]=f=a.readBit(s,i);i=(31735&i)<<1|(l+3<e?u[l+3]<<11:0)|(l+4<e?h[l+4]<<4:0)|f}}return r}(t,n,o);const l=!!r,f=ea[a].concat(i);f.sort((e,t)=>e.y-t.y||e.x-t.x);const c=f.length,h=new Int8Array(c),u=new Int8Array(c),m=[];let p,d,g=0,b=0,w=0,j=0;for(d=0;d<c;d++){h[d]=f[d].x;u[d]=f[d].y;b=Math.min(b,f[d].x);w=Math.max(w,f[d].x);j=Math.min(j,f[d].y);d<c-1&&f[d].y===f[d+1].y&&f[d].x===f[d+1].x-1?g|=1<<c-1-d:m.push(d)}const k=m.length,y=new Int8Array(k),q=new Int8Array(k),v=new Uint16Array(k);for(p=0;p<k;p++){d=m[p];y[p]=f[d].x;q[p]=f[d].y;v[p]=1<<c-1-d}const S=-b,x=-j,C=t-w,F=na[a];let T=new Uint8Array(t);const H=[],O=o.decoder,R=o.contextCache.getContexts("GB");let D,M,E,N,z,L=0,U=0;for(let e=0;e<n;e++){if(s){L^=O.readBit(R,F);if(L){H.push(T);continue}}T=new Uint8Array(T);H.push(T);for(D=0;D<t;D++){if(l&&r[e][D]){T[D]=0;continue}if(D>=S&&D<C&&e>=x){U=U<<1&g;for(d=0;d<k;d++){M=e+q[d];E=D+y[d];N=H[M][E];if(N){N=v[d];U|=N}}}else{U=0;z=c-1;for(d=0;d<c;d++,z--){E=D+h[d];if(E>=0&&E<t){M=e+u[d];if(M>=0){N=H[M][E];N&&(U|=N<<z)}}}}const n=O.readBit(R,U);T[D]=n}}return H}function decodeRefinement(e,t,n,a,s,r,i,o,l){let f=ta[n].coding;0===n&&(f=f.concat([o[0]]));const c=f.length,h=new Int32Array(c),u=new Int32Array(c);let m;for(m=0;m<c;m++){h[m]=f[m].x;u[m]=f[m].y}let p=ta[n].reference;0===n&&(p=p.concat([o[1]]));const d=p.length,g=new Int32Array(d),b=new Int32Array(d);for(m=0;m<d;m++){g[m]=p[m].x;b[m]=p[m].y}const w=a[0].length,j=a.length,k=aa[n],y=[],q=l.decoder,v=l.contextCache.getContexts("GR");let S=0;for(let n=0;n<t;n++){if(i){S^=q.readBit(v,k);if(S)throw new Jbig2Error("prediction is not supported")}const t=new Uint8Array(e);y.push(t);for(let i=0;i<e;i++){let o,l,f=0;for(m=0;m<c;m++){o=n+u[m];l=i+h[m];o<0||l<0||l>=e?f<<=1:f=f<<1|y[o][l]}for(m=0;m<d;m++){o=n+b[m]-r;l=i+g[m]-s;o<0||o>=j||l<0||l>=w?f<<=1:f=f<<1|a[o][l]}const p=q.readBit(v,f);t[i]=p}}return y}function decodeTextRegion(e,t,n,a,s,r,i,o,l,f,c,h,u,m,p,d,g,b,w){if(e&&t)throw new Jbig2Error("refinement with Huffman is not supported");const j=[];let k,y;for(k=0;k<a;k++){y=new Uint8Array(n);s&&y.fill(s);j.push(y)}const q=g.decoder,v=g.contextCache;let S=e?-m.tableDeltaT.decode(w):-decodeInteger(v,"IADT",q),x=0;k=0;for(;k<r;){S+=e?m.tableDeltaT.decode(w):decodeInteger(v,"IADT",q);x+=e?m.tableFirstS.decode(w):decodeInteger(v,"IAFS",q);let a=x;for(;;){let s=0;i>1&&(s=e?w.readBits(b):decodeInteger(v,"IAIT",q));const r=i*S+s,x=e?m.symbolIDTable.decode(w):decodeIAID(v,q,l),C=t&&(e?w.readBit():decodeInteger(v,"IARI",q));let F=o[x],T=F[0].length,H=F.length;if(C){const e=decodeInteger(v,"IARDW",q),t=decodeInteger(v,"IARDH",q);T+=e;H+=t;F=decodeRefinement(T,H,p,F,(e>>1)+decodeInteger(v,"IARDX",q),(t>>1)+decodeInteger(v,"IARDY",q),!1,d,g)}let O=0;f?1&h?O=H-1:a+=H-1:h>1?a+=T-1:O=T-1;const R=r-(1&h?0:H-1),D=a-(2&h?T-1:0);let M,E,N;if(f)for(M=0;M<H;M++){y=j[D+M];if(!y)continue;N=F[M];const e=Math.min(n-R,T);switch(u){case 0:for(E=0;E<e;E++)y[R+E]|=N[E];break;case 2:for(E=0;E<e;E++)y[R+E]^=N[E];break;default:throw new Jbig2Error(`operator ${u} is not supported`)}}else for(E=0;E<H;E++){y=j[R+E];if(y){N=F[E];switch(u){case 0:for(M=0;M<T;M++)y[D+M]|=N[M];break;case 2:for(M=0;M<T;M++)y[D+M]^=N[M];break;default:throw new Jbig2Error(`operator ${u} is not supported`)}}}k++;const z=e?m.tableDeltaS.decode(w):decodeInteger(v,"IADS",q);if(null===z)break;a+=O+z+c}}return j}function readSegmentHeader(e,t){const n={};n.number=readUint32(e,t);const a=e[t+4],s=63&a;if(!Zn[s])throw new Jbig2Error("invalid segment type: "+s);n.type=s;n.typeName=Zn[s];n.deferredNonRetain=!!(128&a);const r=!!(64&a),i=e[t+5];let o=i>>5&7;const l=[31&i];let f=t+6;if(7===o){o=536870911&readUint32(e,f-1);f+=3;let t=o+8>>3;l[0]=e[f++];for(;--t>0;)l.push(e[f++])}else if(5===o||6===o)throw new Jbig2Error("invalid referred-to flags");n.retainBits=l;let c=4;n.number<=256?c=1:n.number<=65536&&(c=2);const h=[];let u,m;for(u=0;u<o;u++){let t;t=1===c?e[f]:2===c?readUint16(e,f):readUint32(e,f);h.push(t);f+=c}n.referredTo=h;if(r){n.pageAssociation=readUint32(e,f);f+=4}else n.pageAssociation=e[f++];n.length=readUint32(e,f);f+=4;if(4294967295===n.length){if(38!==s)throw new Jbig2Error("invalid unknown segment length");{const t=readRegionSegmentInformation(e,f),a=!!(1&e[f+sa]),s=6,r=new Uint8Array(s);if(!a){r[0]=255;r[1]=172}r[2]=t.height>>>24&255;r[3]=t.height>>16&255;r[4]=t.height>>8&255;r[5]=255&t.height;for(u=f,m=e.length;u<m;u++){let t=0;for(;t<s&&r[t]===e[u+t];)t++;if(t===s){n.length=u+s;break}}if(4294967295===n.length)throw new Jbig2Error("segment end was not found")}}n.headerEnd=f;return n}function readSegments(e,t,n,a){const s=[];let r=n;for(;r<a;){const n=readSegmentHeader(t,r);r=n.headerEnd;const a={header:n,data:t};if(!e.randomAccess){a.start=r;r+=n.length;a.end=r}s.push(a);if(51===n.type)break}if(e.randomAccess)for(let e=0,t=s.length;e<t;e++){s[e].start=r;r+=s[e].header.length;s[e].end=r}return s}function readRegionSegmentInformation(e,t){return{width:readUint32(e,t),height:readUint32(e,t+4),x:readUint32(e,t+8),y:readUint32(e,t+12),combinationOperator:7&e[t+16]}}const sa=17;function processSegment(e,t){const n=e.header,a=e.data,s=e.end;let r,i,o,l,f=e.start;switch(n.type){case 0:const e={},t=readUint16(a,f);e.huffman=!!(1&t);e.refinement=!!(2&t);e.huffmanDHSelector=t>>2&3;e.huffmanDWSelector=t>>4&3;e.bitmapSizeSelector=t>>6&1;e.aggregationInstancesSelector=t>>7&1;e.bitmapCodingContextUsed=!!(256&t);e.bitmapCodingContextRetained=!!(512&t);e.template=t>>10&3;e.refinementTemplate=t>>12&1;f+=2;if(!e.huffman){l=0===e.template?4:1;i=[];for(o=0;o<l;o++){i.push({x:readInt8(a,f),y:readInt8(a,f+1)});f+=2}e.at=i}if(e.refinement&&!e.refinementTemplate){i=[];for(o=0;o<2;o++){i.push({x:readInt8(a,f),y:readInt8(a,f+1)});f+=2}e.refinementAt=i}e.numberOfExportedSymbols=readUint32(a,f);f+=4;e.numberOfNewSymbols=readUint32(a,f);f+=4;r=[e,n.number,n.referredTo,a,f,s];break;case 6:case 7:const c={};c.info=readRegionSegmentInformation(a,f);f+=sa;const h=readUint16(a,f);f+=2;c.huffman=!!(1&h);c.refinement=!!(2&h);c.logStripSize=h>>2&3;c.stripSize=1<<c.logStripSize;c.referenceCorner=h>>4&3;c.transposed=!!(64&h);c.combinationOperator=h>>7&3;c.defaultPixelValue=h>>9&1;c.dsOffset=h<<17>>27;c.refinementTemplate=h>>15&1;if(c.huffman){const e=readUint16(a,f);f+=2;c.huffmanFS=3&e;c.huffmanDS=e>>2&3;c.huffmanDT=e>>4&3;c.huffmanRefinementDW=e>>6&3;c.huffmanRefinementDH=e>>8&3;c.huffmanRefinementDX=e>>10&3;c.huffmanRefinementDY=e>>12&3;c.huffmanRefinementSizeSelector=!!(16384&e)}if(c.refinement&&!c.refinementTemplate){i=[];for(o=0;o<2;o++){i.push({x:readInt8(a,f),y:readInt8(a,f+1)});f+=2}c.refinementAt=i}c.numberOfSymbolInstances=readUint32(a,f);f+=4;r=[c,n.referredTo,a,f,s];break;case 16:const u={},m=a[f++];u.mmr=!!(1&m);u.template=m>>1&3;u.patternWidth=a[f++];u.patternHeight=a[f++];u.maxPatternIndex=readUint32(a,f);f+=4;r=[u,n.number,a,f,s];break;case 22:case 23:const p={};p.info=readRegionSegmentInformation(a,f);f+=sa;const d=a[f++];p.mmr=!!(1&d);p.template=d>>1&3;p.enableSkip=!!(8&d);p.combinationOperator=d>>4&7;p.defaultPixelValue=d>>7&1;p.gridWidth=readUint32(a,f);f+=4;p.gridHeight=readUint32(a,f);f+=4;p.gridOffsetX=4294967295&readUint32(a,f);f+=4;p.gridOffsetY=4294967295&readUint32(a,f);f+=4;p.gridVectorX=readUint16(a,f);f+=2;p.gridVectorY=readUint16(a,f);f+=2;r=[p,n.referredTo,a,f,s];break;case 38:case 39:const g={};g.info=readRegionSegmentInformation(a,f);f+=sa;const b=a[f++];g.mmr=!!(1&b);g.template=b>>1&3;g.prediction=!!(8&b);if(!g.mmr){l=0===g.template?4:1;i=[];for(o=0;o<l;o++){i.push({x:readInt8(a,f),y:readInt8(a,f+1)});f+=2}g.at=i}r=[g,a,f,s];break;case 48:const w={width:readUint32(a,f),height:readUint32(a,f+4),resolutionX:readUint32(a,f+8),resolutionY:readUint32(a,f+12)};4294967295===w.height&&delete w.height;const j=a[f+16];readUint16(a,f+17);w.lossless=!!(1&j);w.refinement=!!(2&j);w.defaultPixelValue=j>>2&1;w.combinationOperator=j>>3&3;w.requiresBuffer=!!(32&j);w.combinationOperatorOverride=!!(64&j);r=[w];break;case 49:case 50:case 51:case 62:break;case 53:r=[n.number,a,f,s];break;default:throw new Jbig2Error(`segment type ${n.typeName}(${n.type}) is not implemented`)}const c="on"+n.typeName;c in t&&t[c].apply(t,r)}function processSegments(e,t){for(let n=0,a=e.length;n<a;n++)processSegment(e[n],t)}class SimpleSegmentVisitor{onPageInformation(e){this.currentPageInfo=e;const t=e.width+7>>3,n=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&n.fill(255);this.buffer=n}drawBitmap(e,t){const n=this.currentPageInfo,a=e.width,s=e.height,r=n.width+7>>3,i=n.combinationOperatorOverride?e.combinationOperator:n.combinationOperator,o=this.buffer,l=128>>(7&e.x);let f,c,h,u,m=e.y*r+(e.x>>3);switch(i){case 0:for(f=0;f<s;f++){h=l;u=m;for(c=0;c<a;c++){t[f][c]&&(o[u]|=h);h>>=1;if(!h){h=128;u++}}m+=r}break;case 2:for(f=0;f<s;f++){h=l;u=m;for(c=0;c<a;c++){t[f][c]&&(o[u]^=h);h>>=1;if(!h){h=128;u++}}m+=r}break;default:throw new Jbig2Error(`operator ${i} is not supported`)}}onImmediateGenericRegion(e,t,n,a){const s=e.info,r=new DecodingContext(t,n,a),i=decodeBitmap(e.mmr,s.width,s.height,e.template,e.prediction,null,e.at,r);this.drawBitmap(s,i)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(e,t,n,a,s,r){let i,o;if(e.huffman){i=function getSymbolDictionaryHuffmanTables(e,t,n){let a,s,r,i,o=0;switch(e.huffmanDHSelector){case 0:case 1:a=getStandardTable(e.huffmanDHSelector+4);break;case 3:a=getCustomHuffmanTable(o,t,n);o++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:s=getStandardTable(e.huffmanDWSelector+2);break;case 3:s=getCustomHuffmanTable(o,t,n);o++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}if(e.bitmapSizeSelector){r=getCustomHuffmanTable(o,t,n);o++}else r=getStandardTable(1);i=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,n):getStandardTable(1);return{tableDeltaHeight:a,tableDeltaWidth:s,tableBitmapSize:r,tableAggregateInstances:i}}(e,n,this.customTables);o=new Reader(a,s,r)}let l=this.symbols;l||(this.symbols=l={});const f=[];for(const e of n){const t=l[e];t&&f.push(...t)}const c=new DecodingContext(a,s,r);l[t]=function decodeSymbolDictionary(e,t,n,a,s,r,i,o,l,f,c,h){if(e&&t)throw new Jbig2Error("symbol refinement with Huffman is not supported");const u=[];let m=0,p=log2(n.length+a);const d=c.decoder,g=c.contextCache;let b,w;if(e){b=getStandardTable(1);w=[];p=Math.max(p,1)}for(;u.length<a;){m+=e?r.tableDeltaHeight.decode(h):decodeInteger(g,"IADH",d);let a=0,s=0;const b=e?w.length:0;for(;;){const b=e?r.tableDeltaWidth.decode(h):decodeInteger(g,"IADW",d);if(null===b)break;a+=b;s+=a;let j;if(t){const s=decodeInteger(g,"IAAI",d);if(s>1)j=decodeTextRegion(e,t,a,m,0,s,1,n.concat(u),p,0,0,1,0,r,l,f,c,0,h);else{const e=decodeIAID(g,d,p),t=decodeInteger(g,"IARDX",d),s=decodeInteger(g,"IARDY",d);j=decodeRefinement(a,m,l,e<n.length?n[e]:u[e-n.length],t,s,!1,f,c)}u.push(j)}else if(e)w.push(a);else{j=decodeBitmap(!1,a,m,i,!1,null,o,c);u.push(j)}}if(e&&!t){const e=r.tableBitmapSize.decode(h);h.byteAlign();let t;if(0===e)t=readUncompressedBitmap(h,s,m);else{const n=h.end,a=h.position+e;h.end=a;t=decodeMMRBitmap(h,s,m,!1);h.end=n;h.position=a}const n=w.length;if(b===n-1)u.push(t);else{let e,a,s,r,i,o=0;for(e=b;e<n;e++){r=w[e];s=o+r;i=[];for(a=0;a<m;a++)i.push(t[a].subarray(o,s));u.push(i);o=s}}}}const j=[],k=[];let y,q,v=!1;const S=n.length+a;for(;k.length<S;){let t=e?b.decode(h):decodeInteger(g,"IAEX",d);for(;t--;)k.push(v);v=!v}for(y=0,q=n.length;y<q;y++)k[y]&&j.push(n[y]);for(let e=0;e<a;y++,e++)k[y]&&j.push(u[e]);return j}(e.huffman,e.refinement,f,e.numberOfNewSymbols,e.numberOfExportedSymbols,i,e.template,e.at,e.refinementTemplate,e.refinementAt,c,o)}onImmediateTextRegion(e,t,n,a,s){const r=e.info;let i,o;const l=this.symbols,f=[];for(const e of t){const t=l[e];t&&f.push(...t)}const c=log2(f.length);if(e.huffman){o=new Reader(n,a,s);i=function getTextRegionHuffmanTables(e,t,n,a,s){const r=[];for(let e=0;e<=34;e++){const t=s.readBits(4);r.push(new HuffmanLine([e,t,0,0]))}const i=new HuffmanTable(r,!1);r.length=0;for(let e=0;e<a;){const t=i.decode(s);if(t>=32){let n,a,i;switch(t){case 32:if(0===e)throw new Jbig2Error("no previous value in symbol ID table");a=s.readBits(2)+3;n=r[e-1].prefixLength;break;case 33:a=s.readBits(3)+3;n=0;break;case 34:a=s.readBits(7)+11;n=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(i=0;i<a;i++){r.push(new HuffmanLine([e,n,0,0]));e++}}else{r.push(new HuffmanLine([e,t,0,0]));e++}}s.byteAlign();const o=new HuffmanTable(r,!1);let l,f,c,h=0;switch(e.huffmanFS){case 0:case 1:l=getStandardTable(e.huffmanFS+6);break;case 3:l=getCustomHuffmanTable(h,t,n);h++;break;default:throw new Jbig2Error("invalid Huffman FS selector")}switch(e.huffmanDS){case 0:case 1:case 2:f=getStandardTable(e.huffmanDS+8);break;case 3:f=getCustomHuffmanTable(h,t,n);h++;break;default:throw new Jbig2Error("invalid Huffman DS selector")}switch(e.huffmanDT){case 0:case 1:case 2:c=getStandardTable(e.huffmanDT+11);break;case 3:c=getCustomHuffmanTable(h,t,n);h++;break;default:throw new Jbig2Error("invalid Huffman DT selector")}if(e.refinement)throw new Jbig2Error("refinement with Huffman is not supported");return{symbolIDTable:o,tableFirstS:l,tableDeltaS:f,tableDeltaT:c}}(e,t,this.customTables,f.length,o)}const h=new DecodingContext(n,a,s),u=decodeTextRegion(e.huffman,e.refinement,r.width,r.height,e.defaultPixelValue,e.numberOfSymbolInstances,e.stripSize,f,c,e.transposed,e.dsOffset,e.referenceCorner,e.combinationOperator,i,e.refinementTemplate,e.refinementAt,h,e.logStripSize,o);this.drawBitmap(r,u)}onImmediateLosslessTextRegion(){this.onImmediateTextRegion(...arguments)}onPatternDictionary(e,t,n,a,s){let r=this.patterns;r||(this.patterns=r={});const i=new DecodingContext(n,a,s);r[t]=function decodePatternDictionary(e,t,n,a,s,r){const i=[];if(!e){i.push({x:-t,y:0});0===s&&i.push({x:-3,y:-1},{x:2,y:-2},{x:-2,y:-2})}const o=decodeBitmap(e,(a+1)*t,n,s,!1,null,i,r),l=[];for(let e=0;e<=a;e++){const a=[],s=t*e,r=s+t;for(let e=0;e<n;e++)a.push(o[e].subarray(s,r));l.push(a)}return l}(e.mmr,e.patternWidth,e.patternHeight,e.maxPatternIndex,e.template,i)}onImmediateHalftoneRegion(e,t,n,a,s){const r=this.patterns[t[0]],i=e.info,o=new DecodingContext(n,a,s),l=function decodeHalftoneRegion(e,t,n,a,s,r,i,o,l,f,c,h,u,m,p){if(i)throw new Jbig2Error("skip is not supported");if(0!==o)throw new Jbig2Error(`operator "${o}" is not supported in halftone region`);const d=[];let g,b,w;for(g=0;g<s;g++){w=new Uint8Array(a);r&&w.fill(r);d.push(w)}const j=t.length,k=t[0],y=k[0].length,q=k.length,v=log2(j),S=[];if(!e){S.push({x:n<=1?3:2,y:-1});0===n&&S.push({x:-3,y:-1},{x:2,y:-2},{x:-2,y:-2})}const x=[];let C,F,T,H,O,R,D,M,E,N,z;e&&(C=new Reader(p.data,p.start,p.end));for(g=v-1;g>=0;g--){F=e?decodeMMRBitmap(C,l,f,!0):decodeBitmap(!1,l,f,n,!1,null,S,p);x[g]=F}for(T=0;T<f;T++)for(H=0;H<l;H++){O=0;R=0;for(b=v-1;b>=0;b--){O^=x[b][T][H];R|=O<<b}D=t[R];M=c+T*m+H*u>>8;E=h+T*u-H*m>>8;if(M>=0&&M+y<=a&&E>=0&&E+q<=s)for(g=0;g<q;g++){z=d[E+g];N=D[g];for(b=0;b<y;b++)z[M+b]|=N[b]}else{let e,t;for(g=0;g<q;g++){t=E+g;if(!(t<0||t>=s)){z=d[t];N=D[g];for(b=0;b<y;b++){e=M+b;e>=0&&e<a&&(z[e]|=N[b])}}}}}return d}(e.mmr,r,e.template,i.width,i.height,e.defaultPixelValue,e.enableSkip,e.combinationOperator,e.gridWidth,e.gridHeight,e.gridOffsetX,e.gridOffsetY,e.gridVectorX,e.gridVectorY,o);this.drawBitmap(i,l)}onImmediateLosslessHalftoneRegion(){this.onImmediateHalftoneRegion(...arguments)}onTables(e,t,n,a){let s=this.customTables;s||(this.customTables=s={});s[e]=function decodeTablesSegment(e,t,n){const a=e[t],s=4294967295&readUint32(e,t+1),r=4294967295&readUint32(e,t+5),i=new Reader(e,t+9,n),o=1+(a>>1&7),l=1+(a>>4&7),f=[];let c,h,u=s;do{c=i.readBits(o);h=i.readBits(l);f.push(new HuffmanLine([u,c,h,0]));u+=1<<h}while(u<r);c=i.readBits(o);f.push(new HuffmanLine([s-1,c,32,0,"lower"]));c=i.readBits(o);f.push(new HuffmanLine([r,c,32,0]));if(1&a){c=i.readBits(o);f.push(new HuffmanLine([c,0]))}return new HuffmanTable(f,!1)}(t,n,a)}}class HuffmanLine{constructor(e){if(2===e.length){this.isOOB=!0;this.rangeLow=0;this.prefixLength=e[0];this.rangeLength=0;this.prefixCode=e[1];this.isLowerRange=!1}else{this.isOOB=!1;this.rangeLow=e[0];this.prefixLength=e[1];this.rangeLength=e[2];this.prefixCode=e[3];this.isLowerRange="lower"===e[4]}}}class HuffmanTreeNode{constructor(e){this.children=[];if(e){this.isLeaf=!0;this.rangeLength=e.rangeLength;this.rangeLow=e.rangeLow;this.isLowerRange=e.isLowerRange;this.isOOB=e.isOOB}else this.isLeaf=!1}buildTree(e,t){const n=e.prefixCode>>t&1;if(t<=0)this.children[n]=new HuffmanTreeNode(e);else{let a=this.children[n];a||(this.children[n]=a=new HuffmanTreeNode(null));a.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jbig2Error("invalid Huffman data");return t.decodeNode(e)}}class HuffmanTable{constructor(e,t){t||this.assignPrefixCodes(e);this.rootNode=new HuffmanTreeNode(null);for(let t=0,n=e.length;t<n;t++){const n=e[t];n.prefixLength>0&&this.rootNode.buildTree(n,n.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let n=0;for(let a=0;a<t;a++)n=Math.max(n,e[a].prefixLength);const a=new Uint32Array(n+1);for(let n=0;n<t;n++)a[e[n].prefixLength]++;let s,r,i,o=1,l=0;a[0]=0;for(;o<=n;){l=l+a[o-1]<<1;s=l;r=0;for(;r<t;){i=e[r];if(i.prefixLength===o){i.prefixCode=s;s++}r++}o++}}}const ra={};function getStandardTable(e){let t,n=ra[e];if(n)return n;switch(e){case 1:t=[[0,1,4,0],[16,2,8,2],[272,3,16,6],[65808,3,32,7]];break;case 2:t=[[0,1,0,0],[1,2,0,2],[2,3,0,6],[3,4,3,14],[11,5,6,30],[75,6,32,62],[6,63]];break;case 3:t=[[-256,8,8,254],[0,1,0,0],[1,2,0,2],[2,3,0,6],[3,4,3,14],[11,5,6,30],[-257,8,32,255,"lower"],[75,7,32,126],[6,62]];break;case 4:t=[[1,1,0,0],[2,2,0,2],[3,3,0,6],[4,4,3,14],[12,5,6,30],[76,5,32,31]];break;case 5:t=[[-255,7,8,126],[1,1,0,0],[2,2,0,2],[3,3,0,6],[4,4,3,14],[12,5,6,30],[-256,7,32,127,"lower"],[76,6,32,62]];break;case 6:t=[[-2048,5,10,28],[-1024,4,9,8],[-512,4,8,9],[-256,4,7,10],[-128,5,6,29],[-64,5,5,30],[-32,4,5,11],[0,2,7,0],[128,3,7,2],[256,3,8,3],[512,4,9,12],[1024,4,10,13],[-2049,6,32,62,"lower"],[2048,6,32,63]];break;case 7:t=[[-1024,4,9,8],[-512,3,8,0],[-256,4,7,9],[-128,5,6,26],[-64,5,5,27],[-32,4,5,10],[0,4,5,11],[32,5,5,28],[64,5,6,29],[128,4,7,12],[256,3,8,1],[512,3,9,2],[1024,3,10,3],[-1025,5,32,30,"lower"],[2048,5,32,31]];break;case 8:t=[[-15,8,3,252],[-7,9,1,508],[-5,8,1,253],[-3,9,0,509],[-2,7,0,124],[-1,4,0,10],[0,2,1,0],[2,5,0,26],[3,6,0,58],[4,3,4,4],[20,6,1,59],[22,4,4,11],[38,4,5,12],[70,5,6,27],[134,5,7,28],[262,6,7,60],[390,7,8,125],[646,6,10,61],[-16,9,32,510,"lower"],[1670,9,32,511],[2,1]];break;case 9:t=[[-31,8,4,252],[-15,9,2,508],[-11,8,2,253],[-7,9,1,509],[-5,7,1,124],[-3,4,1,10],[-1,3,1,2],[1,3,1,3],[3,5,1,26],[5,6,1,58],[7,3,5,4],[39,6,2,59],[43,4,5,11],[75,4,6,12],[139,5,7,27],[267,5,8,28],[523,6,8,60],[779,7,9,125],[1291,6,11,61],[-32,9,32,510,"lower"],[3339,9,32,511],[2,0]];break;case 10:t=[[-21,7,4,122],[-5,8,0,252],[-4,7,0,123],[-3,5,0,24],[-2,2,2,0],[2,5,0,25],[3,6,0,54],[4,7,0,124],[5,8,0,253],[6,2,6,1],[70,5,5,26],[102,6,5,55],[134,6,6,56],[198,6,7,57],[326,6,8,58],[582,6,9,59],[1094,6,10,60],[2118,7,11,125],[-22,8,32,254,"lower"],[4166,8,32,255],[2,2]];break;case 11:t=[[1,1,0,0],[2,2,1,2],[4,4,0,12],[5,4,1,13],[7,5,1,28],[9,5,2,29],[13,6,2,60],[17,7,2,122],[21,7,3,123],[29,7,4,124],[45,7,5,125],[77,7,6,126],[141,7,32,127]];break;case 12:t=[[1,1,0,0],[2,2,0,2],[3,3,1,6],[5,5,0,28],[6,5,1,29],[8,6,1,60],[10,7,0,122],[11,7,1,123],[13,7,2,124],[17,7,3,125],[25,7,4,126],[41,8,5,254],[73,8,32,255]];break;case 13:t=[[1,1,0,0],[2,3,0,4],[3,4,0,12],[4,5,0,28],[5,4,1,13],[7,3,3,5],[15,6,1,58],[17,6,2,59],[21,6,3,60],[29,6,4,61],[45,6,5,62],[77,7,6,126],[141,7,32,127]];break;case 14:t=[[-2,3,0,4],[-1,3,0,5],[0,1,0,0],[1,3,0,6],[2,3,0,7]];break;case 15:t=[[-24,7,4,124],[-8,6,2,60],[-4,5,1,28],[-2,4,0,12],[-1,3,0,4],[0,1,0,0],[1,3,0,5],[2,4,0,13],[3,5,1,29],[5,6,2,61],[9,7,4,125],[-25,7,32,126,"lower"],[25,7,32,127]];break;default:throw new Jbig2Error(`standard table B.${e} does not exist`)}for(let e=0,n=t.length;e<n;e++)t[e]=new HuffmanLine(t[e]);n=new HuffmanTable(t,!0);ra[e]=n;return n}class Reader{constructor(e,t,n){this.data=e;this.start=t;this.end=n;this.position=t;this.shift=-1;this.currentByte=0}readBit(){if(this.shift<0){if(this.position>=this.end)throw new Jbig2Error("end of data while reading bit");this.currentByte=this.data[this.position++];this.shift=7}const e=this.currentByte>>this.shift&1;this.shift--;return e}readBits(e){let t,n=0;for(t=e-1;t>=0;t--)n|=this.readBit()<<t;return n}byteAlign(){this.shift=-1}next(){return this.position>=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,n){let a=0;for(let s=0,r=t.length;s<r;s++){const r=n[t[s]];if(r){if(e===a)return r;a++}}throw new Jbig2Error("can't find custom Huffman table")}function readUncompressedBitmap(e,t,n){const a=[];for(let s=0;s<n;s++){const n=new Uint8Array(t);a.push(n);for(let a=0;a<t;a++)n[a]=e.readBit();e.byteAlign()}return a}function decodeMMRBitmap(e,t,n,a){const s=new CCITTFaxDecoder(e,{K:-1,Columns:t,Rows:n,BlackIs1:!0,EndOfBlock:a}),r=[];let i,o=!1;for(let e=0;e<n;e++){const e=new Uint8Array(t);r.push(e);let n=-1;for(let a=0;a<t;a++){if(n<0){i=s.readNextChar();if(-1===i){i=0;o=!0}n=7}e[a]=i>>n&1;n--}}if(a&&!o){const e=5;for(let t=0;t<e&&-1!==s.readNextChar();t++);}return r}class Jbig2Image{parseChunks(e){return function parseJbig2Chunks(e){const t=new SimpleSegmentVisitor;for(let n=0,a=e.length;n<a;n++){const a=e[n];processSegments(readSegments({},a.data,a.start,a.end),t)}return t.buffer}(e)}parse(e){throw new Error("Not implemented: Jbig2Image.parse")}}class Jbig2Stream extends DecodeStream{constructor(e,t,n){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=n}get bytes(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){this.decodeImageFallback()}get isAsyncDecoder(){return!0}get isImageStream(){return!0}async decodeImage(e,t,n){if(this.eof)return this.buffer;e||=this.bytes;try{let t=null;if(this.params instanceof Dict){const e=this.params.get("JBIG2Globals");e instanceof BaseStream&&(t=e.getBytes())}this.buffer=await JBig2CCITTFaxWasmImage.decode(e,this.dict.get("Width"),this.dict.get("Height"),t)}catch{warn("Jbig2Stream: Falling back to JS JBIG2 decoder.");return this.decodeImageFallback(e,t)}this.bufferLength=this.buffer.length;this.eof=!0;return this.buffer}decodeImageFallback(e,t){if(this.eof)return this.buffer;e||=this.bytes;const n=new Jbig2Image,a=[];if(this.params instanceof Dict){const e=this.params.get("JBIG2Globals");if(e instanceof BaseStream){const t=e.getBytes();a.push({data:t,start:0,end:t.length})}}a.push({data:e,start:0,end:e.length});const s=n.parseChunks(a),r=s.length;for(let e=0;e<r;e++)s[e]^=255;this.buffer=s;this.bufferLength=r;this.eof=!0;return this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}}class JpxStream extends DecodeStream{constructor(e,t,n){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=n}get bytes(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(e){unreachable("JpxStream.readBlock")}get isAsyncDecoder(){return!0}async decodeImage(e,t,n){if(this.eof)return this.buffer;e||=this.bytes;this.buffer=await JpxImage.decode(e,n);this.bufferLength=this.buffer.length;this.eof=!0;return this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}get isImageStream(){return!0}}class LZWStream extends DecodeStream{constructor(e,t,n){super(t);this.stream=e;this.dict=e.dict;this.cachedData=0;this.bitsCached=0;const a=4096,s={earlyChange:n,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(a),dictionaryLengths:new Uint16Array(a),dictionaryPrevCodes:new Uint16Array(a),currentSequence:new Uint8Array(a),currentSequenceLength:0};for(let e=0;e<256;++e){s.dictionaryValues[e]=e;s.dictionaryLengths[e]=1}this.lzwState=s}readBits(e){let t=this.bitsCached,n=this.cachedData;for(;t<e;){const e=this.stream.getByte();if(-1===e){this.eof=!0;return null}n=n<<8|e;t+=8}this.bitsCached=t-=e;this.cachedData=n;return n>>>t&(1<<e)-1}readBlock(){let e,t,n,a=1024;const s=this.lzwState;if(!s)return;const r=s.earlyChange;let i=s.nextCode;const o=s.dictionaryValues,l=s.dictionaryLengths,f=s.dictionaryPrevCodes;let c=s.codeLength,h=s.prevCode;const u=s.currentSequence;let m=s.currentSequenceLength,p=0,d=this.bufferLength,g=this.ensureBuffer(this.bufferLength+a);for(e=0;e<512;e++){const e=this.readBits(c),s=m>0;if(e<256){u[0]=e;m=1}else{if(!(e>=258)){if(256===e){c=9;i=258;m=0;continue}this.eof=!0;delete this.lzwState;break}if(e<i){m=l[e];for(t=m-1,n=e;t>=0;t--){u[t]=o[n];n=f[n]}}else u[m++]=u[0]}if(s){f[i]=h;l[i]=l[h]+1;o[i]=u[0];i++;c=i+r&i+r-1?c:0|Math.min(Math.log(i+r)/.6931471805599453+1,12)}h=e;p+=m;if(a<p){do{a+=512}while(a<p);g=this.ensureBuffer(this.bufferLength+a)}for(t=0;t<m;t++)g[d++]=u[t]}s.nextCode=i;s.codeLength=c;s.prevCode=h;s.currentSequenceLength=m;this.bufferLength=d}}class PredictorStream extends DecodeStream{constructor(e,t,n){super(t);if(!(n instanceof Dict))return e;const a=this.predictor=n.get("Predictor")||1;if(a<=1)return e;if(2!==a&&(a<10||a>15))throw new FormatError(`Unsupported predictor: ${a}`);this.readBlock=2===a?this.readBlockTiff:this.readBlockPng;this.stream=e;this.dict=e.dict;const s=this.colors=n.get("Colors")||1,r=this.bits=n.get("BPC","BitsPerComponent")||8,i=this.columns=n.get("Columns")||1;this.pixBytes=s*r+7>>3;this.rowBytes=i*s*r+7>>3;return this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,n=this.ensureBuffer(t+e),a=this.bits,s=this.colors,r=this.stream.getBytes(e);this.eof=!r.length;if(this.eof)return;let i,o=0,l=0,f=0,c=0,h=t;if(1===a&&1===s)for(i=0;i<e;++i){let e=r[i]^o;e^=e>>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;n[h++]=e}else if(8===a){for(i=0;i<s;++i)n[h++]=r[i];for(;i<e;++i){n[h]=n[h-s]+r[i];h++}}else if(16===a){const t=2*s;for(i=0;i<t;++i)n[h++]=r[i];for(;i<e;i+=2){const e=((255&r[i])<<8)+(255&r[i+1])+((255&n[h-t])<<8)+(255&n[h-t+1]);n[h++]=e>>8&255;n[h++]=255&e}}else{const e=new Uint8Array(s+1),h=(1<<a)-1;let u=0,m=t;const p=this.columns;for(i=0;i<p;++i)for(let t=0;t<s;++t){if(f<a){o=o<<8|255&r[u++];f+=8}e[t]=e[t]+(o>>f-a)&h;f-=a;l=l<<a|e[t];c+=a;if(c>=8){n[m++]=l>>c-8&255;c-=8}}c>0&&(n[m++]=(l<<8-c)+(o&(1<<8-c)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,n=this.stream.getByte(),a=this.stream.getBytes(e);this.eof=!a.length;if(this.eof)return;const s=this.bufferLength,r=this.ensureBuffer(s+e);let i=r.subarray(s-e,s);0===i.length&&(i=new Uint8Array(e));let o,l,f,c=s;switch(n){case 0:for(o=0;o<e;++o)r[c++]=a[o];break;case 1:for(o=0;o<t;++o)r[c++]=a[o];for(;o<e;++o){r[c]=r[c-t]+a[o]&255;c++}break;case 2:for(o=0;o<e;++o)r[c++]=i[o]+a[o]&255;break;case 3:for(o=0;o<t;++o)r[c++]=(i[o]>>1)+a[o];for(;o<e;++o){r[c]=(i[o]+r[c-t]>>1)+a[o]&255;c++}break;case 4:for(o=0;o<t;++o){l=i[o];f=a[o];r[c++]=l+f}for(;o<e;++o){l=i[o];const e=i[o-t],n=r[c-t],s=n+l-e;let h=s-n;h<0&&(h=-h);let u=s-l;u<0&&(u=-u);let m=s-e;m<0&&(m=-m);f=a[o];r[c++]=h<=u&&h<=m?n+f:u<=m?l+f:e+f}break;default:throw new FormatError(`Unsupported predictor: ${n}`)}this.bufferLength+=e}}class RunLengthStream extends DecodeStream{constructor(e,t){super(t);this.stream=e;this.dict=e.dict}readBlock(){const e=this.stream.getBytes(2);if(!e||e.length<2||128===e[0]){this.eof=!0;return}let t,n=this.bufferLength,a=e[0];if(a<128){t=this.ensureBuffer(n+a+1);t[n++]=e[1];if(a>0){const e=this.stream.getBytes(a);t.set(e,n);n+=a}}else{a=257-a;t=this.ensureBuffer(n+a+1);t.fill(e[1],n,n+a);n+=a}this.bufferLength=n}}class Parser{constructor({lexer:e,xref:t,allowStreams:n=!1,recoveryMode:a=!1}){this.lexer=e;this.xref=t;this.allowStreams=n;this.recoveryMode=a;this.imageCache=Object.create(null);this._imageId=0;this.refill()}refill(){this.buf1=this.lexer.getObj();this.buf2=this.lexer.getObj()}shift(){if(this.buf2 instanceof Cmd&&"ID"===this.buf2.cmd){this.buf1=this.buf2;this.buf2=null}else{this.buf1=this.buf2;this.buf2=this.lexer.getObj()}}tryShift(){try{this.shift();return!0}catch(e){if(e instanceof MissingDataException)throw e;return!1}}getObj(e=null){const t=this.buf1;this.shift();if(t instanceof Cmd)switch(t.cmd){case"BI":return this.makeInlineImage(e);case"[":const n=[];for(;!isCmd(this.buf1,"]")&&this.buf1!==on;)n.push(this.getObj(e));if(this.buf1===on){if(this.recoveryMode)return n;throw new ParserEOFException("End of file inside array.")}this.shift();return n;case"<<":const a=new Dict(this.xref);for(;!isCmd(this.buf1,">>")&&this.buf1!==on;){if(!(this.buf1 instanceof Name)){info("Malformed dictionary: key must be a name object");this.shift();continue}const t=this.buf1.name;this.shift();if(this.buf1===on)break;a.set(t,this.getObj(e))}if(this.buf1===on){if(this.recoveryMode)return a;throw new ParserEOFException("End of file inside dictionary.")}if(isCmd(this.buf2,"stream"))return this.allowStreams?this.makeStream(a,e):a;this.shift();return a;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&isCmd(this.buf2,"R")){const e=Ref.get(t,this.buf1);this.shift();this.shift();return e}return t}return"string"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const{knownCommands:t}=this.lexer,n=e.pos;let a,s,r=0;for(;-1!==(a=e.getByte());)if(0===r)r=69===a?1:0;else if(1===r)r=73===a?2:0;else if(32===a||10===a||13===a){s=e.pos;const n=e.peekBytes(15),i=n.length;if(0===i)break;for(let e=0;e<i;e++){a=n[e];if((0!==a||0===n[e+1])&&(10!==a&&13!==a&&(a<32||a>127))){r=0;break}}if(2!==r)continue;if(!t){warn("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const o=new Lexer(new Stream(e.peekBytes(75)),t);o._hexStringWarn=()=>{};let l=0;for(;;){const e=o.getObj();if(e===on){r=0;break}if(e instanceof Cmd){const n=t[e.cmd];if(!n){r=0;break}if(n.variableArgs?l<=n.numArgs:l===n.numArgs)break;l=0;continue}l++}if(2===r)break}else r=0;if(-1===a){warn("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");if(s){warn('... trying to recover by using the last "EI" occurrence.');e.skip(-(e.pos-s))}}let i=4;e.skip(-i);a=e.peekByte();e.skip(i);isWhiteSpace(a)||i--;return e.pos-i-n}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let n,a,s=!1;for(;-1!==(n=e.getByte());)if(255===n){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:s=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:a=e.getUint16();a>2?e.skip(a-2):e.skip(-2)}if(s)break}const r=e.pos-t;if(-1===n){warn("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.");e.skip(-r);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return r}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let n;for(;-1!==(n=e.getByte());)if(126===n){const t=e.pos;n=e.peekByte();for(;isWhiteSpace(n);){e.skip();n=e.peekByte()}if(62===n){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const a=e.pos-t;if(-1===n){warn("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-a);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return a}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let n;for(;-1!==(n=e.getByte())&&62!==n;);const a=e.pos-t;if(-1===n){warn("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-a);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return a}inlineStreamSkipEI(e){let t,n=0;for(;-1!==(t=e.getByte());)if(0===n)n=69===t?1:0;else if(1===n)n=73===t?2:0;else if(2===n)break}makeInlineImage(e){const t=this.lexer,n=t.stream,a=Object.create(null);let s;for(;!isCmd(this.buf1,"ID")&&this.buf1!==on;){if(!(this.buf1 instanceof Name))throw new FormatError("Dictionary key must be a name object");const t=this.buf1.name;this.shift();if(this.buf1===on)break;a[t]=this.getObj(e)}-1!==t.beginInlineImagePos&&(s=n.pos-t.beginInlineImagePos);const r=this.xref.fetchIfRef(a.F||a.Filter);let i;if(r instanceof Name)i=r.name;else if(Array.isArray(r)){const e=this.xref.fetchIfRef(r[0]);e instanceof Name&&(i=e.name)}const o=n.pos;let l,f;switch(i){case"DCT":case"DCTDecode":l=this.findDCTDecodeInlineStreamEnd(n);break;case"A85":case"ASCII85Decode":l=this.findASCII85DecodeInlineStreamEnd(n);break;case"AHx":case"ASCIIHexDecode":l=this.findASCIIHexDecodeInlineStreamEnd(n);break;default:l=this.findDefaultInlineStreamEnd(n)}if(l<1e3&&s>0){const e=n.pos;n.pos=t.beginInlineImagePos;f=function getInlineImageCacheKey(e){const t=[],n=e.length;let a=0;for(;a<n-1;)t.push(e[a++]<<8|e[a++]);a<n&&t.push(e[a]);return n+"_"+String.fromCharCode.apply(null,t)}(n.getBytes(s+l));n.pos=e;const a=this.imageCache[f];if(void 0!==a){this.buf2=Cmd.get("EI");this.shift();a.reset();return a}}const c=new Dict(this.xref);for(const e in a)c.set(e,a[e]);let h=n.makeSubStream(o,l,c);e&&(h=e.createStream(h,l));h=this.filter(h,c,l);h.dict=c;if(void 0!==f){h.cacheKey="inline_img_"+ ++this._imageId;this.imageCache[f]=h}this.buf2=Cmd.get("EI");this.shift();return h}#_(e){const{stream:t}=this.lexer;t.pos=e;const n=new Uint8Array([101,110,100]),a=n.length,s=[new Uint8Array([115,116,114,101,97,109]),new Uint8Array([115,116,101,97,109]),new Uint8Array([115,116,114,101,97])],r=9-a;for(;t.pos<t.end;){const i=t.peekBytes(2048),o=i.length-9;if(o<=0)break;let l=0;for(;l<o;){let o=0;for(;o<a&&i[l+o]===n[o];)o++;if(o>=a){let a=!1;for(const e of s){const t=e.length;let s=0;for(;s<t&&i[l+o+s]===e[s];)s++;if(s>=r){a=!0;break}if(s>=t){if(isWhiteSpace(i[l+o+s])){info(`Found "${bytesToString([...n,...e])}" when searching for endstream command.`);a=!0}break}}if(a){t.pos+=l;return t.pos-e}}l++}t.pos+=o}return-1}makeStream(e,t){const n=this.lexer;let a=n.stream;n.skipToNextLine();const s=a.pos-1;let r=e.get("Length");if(!Number.isInteger(r)){info(`Bad length "${r&&r.toString()}" in stream.`);r=0}a.pos=s+r;n.nextChar();if(this.tryShift()&&isCmd(this.buf2,"endstream"))this.shift();else{r=this.#_(s);if(r<0)throw new FormatError("Missing endstream command.");n.nextChar();this.shift();this.shift()}this.shift();a=a.makeSubStream(s,r,e);t&&(a=t.createStream(a,r));a=this.filter(a,e,r);a.dict=e;return a}filter(e,t,n){let a=t.get("F","Filter"),s=t.get("DP","DecodeParms");if(a instanceof Name){Array.isArray(s)&&warn("/DecodeParms should not be an Array, when /Filter is a Name.");return this.makeFilter(e,a.name,n,s)}let r=n;if(Array.isArray(a)){const t=a,n=s;for(let i=0,o=t.length;i<o;++i){a=this.xref.fetchIfRef(t[i]);if(!(a instanceof Name))throw new FormatError(`Bad filter name "${a}"`);s=null;Array.isArray(n)&&i in n&&(s=this.xref.fetchIfRef(n[i]));e=this.makeFilter(e,a.name,r,s);r=null}}return e}makeFilter(e,t,n,a){if(0===n){warn(`Empty "${t}" stream.`);return new NullStream}try{switch(t){case"Fl":case"FlateDecode":return a?new PredictorStream(new FlateStream(e,n),n,a):new FlateStream(e,n);case"LZW":case"LZWDecode":let t=1;if(a){a.has("EarlyChange")&&(t=a.get("EarlyChange"));return new PredictorStream(new LZWStream(e,n,t),n,a)}return new LZWStream(e,n,t);case"DCT":case"DCTDecode":return new JpegStream(e,n,a);case"JPX":case"JPXDecode":return new JpxStream(e,n,a);case"A85":case"ASCII85Decode":return new Ascii85Stream(e,n);case"AHx":case"ASCIIHexDecode":return new AsciiHexStream(e,n);case"CCF":case"CCITTFaxDecode":return new CCITTFaxStream(e,n,a);case"RL":case"RunLengthDecode":return new RunLengthStream(e,n);case"JBIG2Decode":return new Jbig2Stream(e,n,a);case"BrotliDecode":return new BrotliStream(e,n)}warn(`Filter "${t}" is not supported.`);return e}catch(e){if(e instanceof MissingDataException)throw e;warn(`Invalid stream: "${e}"`);return new NullStream}}}const ia=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function toHexDigit(e){return e>=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Lexer{constructor(e,t=null){this.stream=e;this.nextChar();this.strBuf=[];this.knownCommands=t;this._hexStringNumWarn=0;this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=0,n=1;if(45===e){n=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else 43===e&&(e=this.nextChar());if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){t=10;e=this.nextChar()}if(e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if(isWhiteSpace(e)||40===e||60===e||-1===e){info(`Lexer.getNumber - "${t}".`);return 0}throw new FormatError(t)}let a=e-48;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){0!==t&&(t*=10);a=10*a+(e-48)}else if(46===e){if(0!==t)break;t=1}else{if(45!==e)break;warn("Badly formatted number: minus sign in the middle")}0!==t&&(a/=t);return n*a}getString(){let e=1,t=!1;const n=this.strBuf;n.length=0;let a=this.nextChar();for(;;){let s=!1;switch(0|a){case-1:warn("Unterminated string");t=!0;break;case 40:++e;n.push("(");break;case 41:if(0===--e){this.nextChar();t=!0}else n.push(")");break;case 92:a=this.nextChar();switch(a){case-1:warn("Unterminated string");t=!0;break;case 110:n.push("\n");break;case 114:n.push("\r");break;case 116:n.push("\t");break;case 98:n.push("\b");break;case 102:n.push("\f");break;case 92:case 40:case 41:n.push(String.fromCharCode(a));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&a;a=this.nextChar();s=!0;if(a>=48&&a<=55){e=(e<<3)+(15&a);a=this.nextChar();if(a>=48&&a<=55){s=!1;e=(e<<3)+(15&a)}}n.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:n.push(String.fromCharCode(a))}break;default:n.push(String.fromCharCode(a))}if(t)break;s||(a=this.nextChar())}return n.join("")}getName(){let e,t;const n=this.strBuf;n.length=0;for(;(e=this.nextChar())>=0&&!ia[e];)if(35===e){e=this.nextChar();if(ia[e]){warn("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");n.push("#");break}const a=toHexDigit(e);if(-1!==a){t=e;e=this.nextChar();const s=toHexDigit(e);if(-1===s){warn(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);n.push("#",String.fromCharCode(t));if(ia[e])break;n.push(String.fromCharCode(e));continue}n.push(String.fromCharCode(a<<4|s))}else n.push("#",String.fromCharCode(e))}else n.push(String.fromCharCode(e));n.length>127&&warn(`Name token is longer than allowed by the spec: ${n.length}`);return Name.get(n.join(""))}_hexStringWarn(e){5!==this._hexStringNumWarn++?this._hexStringNumWarn>5||warn(`getHexString - ignoring invalid character: ${e}`):warn("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t=this.currentChar,n=-1,a=-1;this._hexStringNumWarn=0;for(;;){if(t<0){warn("Unterminated hex string");break}if(62===t){this.nextChar();break}if(1!==ia[t]){a=toHexDigit(t);if(-1===a)this._hexStringWarn(t);else if(-1===n)n=a;else{e.push(String.fromCharCode(n<<4|a));n=-1}t=this.nextChar()}else t=this.nextChar()}-1!==n&&e.push(String.fromCharCode(n<<4));return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return on;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==ia[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:this.nextChar();return Cmd.get("[");case 93:this.nextChar();return Cmd.get("]");case 60:t=this.nextChar();if(60===t){this.nextChar();return Cmd.get("<<")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return Cmd.get(">>")}return Cmd.get(">");case 123:this.nextChar();return Cmd.get("{");case 125:this.nextChar();return Cmd.get("}");case 41:this.nextChar();throw new FormatError(`Illegal character: ${t}`)}let n=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127){this.nextChar();return Cmd.get(n)}}const a=this.knownCommands;let s=void 0!==a?.[n];for(;(t=this.nextChar())>=0&&!ia[t];){const e=n+String.fromCharCode(t);if(s&&void 0===a[e])break;if(128===n.length)throw new FormatError(`Command token too long: ${n.length}`);n=e;s=void 0!==a?.[n]}if("true"===n)return!0;if("false"===n)return!1;if("null"===n)return null;"BI"===n&&(this.beginInlineImagePos=this.stream.pos);return Cmd.get(n)}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar();10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}class Linearization{static create(e){function getInt(e,t,n=!1){const a=e.get(t);if(Number.isInteger(a)&&(n?a>=0:a>0))return a;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),n=t.getObj(),a=t.getObj(),s=t.getObj(),r=t.getObj();let i,o;if(!(Number.isInteger(n)&&Number.isInteger(a)&&isCmd(s,"obj")&&r instanceof Dict&&"number"==typeof(i=r.get("Linearized"))&&i>0))return null;if((o=getInt(r,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:o,hints:function getHints(e){const t=e.get("H");let n;if(Array.isArray(t)&&(2===(n=t.length)||4===n)){for(let e=0;e<n;e++){const n=t[e];if(!(Number.isInteger(n)&&n>0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(r),objectNumberFirst:getInt(r,"O"),endFirst:getInt(r,"E"),numPages:getInt(r,"N"),mainXRefEntriesOffset:getInt(r,"T"),pageFirst:r.has("P")?getInt(r,"P",!0):0}}}const oa=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],la=2**24-1;class CMap{constructor(e=!1){this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name="";this.vertical=!1;this.useCMap=null;this.builtInCMap=e}addCodespaceRange(e,t,n){this.codespaceRanges[e-1].push(t,n);this.numCodespaceRanges++}mapCidRange(e,t,n){if(t-e>la)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=n++}mapBfRange(e,t,n){if(t-e>la)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const a=n.length-1;for(;e<=t;){this._map[e++]=n;const t=n.charCodeAt(a)+1;t>255?n=n.substring(0,a-1)+String.fromCharCode(n.charCodeAt(a-1)+1)+"\0":n=n.substring(0,a)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,n){if(t-e>la)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const a=n.length;let s=0;for(;e<=t&&s<a;){this._map[e]=n[s++];++e}}mapOne(e,t){this._map[e]=t}lookup(e){return this._map[e]}contains(e){return void 0!==this._map[e]}forEach(e){const t=this._map,n=t.length;if(n<=65536)for(let a=0;a<n;a++)void 0!==t[a]&&e(a,t[a]);else for(const n in t)e(n,t[n])}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const n in t)if(t[n]===e)return 0|n;return-1}getMap(){return this._map}readCharCode(e,t,n){let a=0;const s=this.codespaceRanges;for(let r=0,i=s.length;r<i;r++){a=(a<<8|e.charCodeAt(t+r))>>>0;const i=s[r];for(let e=0,t=i.length;e<t;){const t=i[e++],s=i[e++];if(a>=t&&a<=s){n.charcode=a;n.length=r+1;return}}}n.charcode=0;n.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let n=0,a=t.length;n<a;n++){const a=t[n];for(let t=0,s=a.length;t<s;){const s=a[t++],r=a[t++];if(e>=s&&e<=r)return n+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}class IdentityCMap extends CMap{constructor(e,t){super();this.vertical=e;this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,n){unreachable("should not call mapCidRange")}mapBfRange(e,t,n){unreachable("should not call mapBfRange")}mapBfRangeToArray(e,t,n){unreachable("should not call mapBfRangeToArray")}mapOne(e,t){unreachable("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){unreachable("should not access .isIdentityCMap")}}function strToInt(e){let t=0;for(let n=0;n<e.length;n++)t=t<<8|e.charCodeAt(n);return t>>>0}function expectString(e){if("string"!=typeof e)throw new FormatError("Malformed CMap: expected string.")}function expectInt(e){if(!Number.isInteger(e))throw new FormatError("Malformed CMap: expected int.")}function parseBfChar(e,t){for(;;){let n=t.getObj();if(n===on)break;if(isCmd(n,"endbfchar"))return;expectString(n);const a=strToInt(n);n=t.getObj();expectString(n);const s=n;e.mapOne(a,s)}}function parseBfRange(e,t){for(;;){let n=t.getObj();if(n===on)break;if(isCmd(n,"endbfrange"))return;expectString(n);const a=strToInt(n);n=t.getObj();expectString(n);const s=strToInt(n);n=t.getObj();if(Number.isInteger(n)||"string"==typeof n){const t=Number.isInteger(n)?String.fromCharCode(n):n;e.mapBfRange(a,s,t)}else{if(!isCmd(n,"["))break;{n=t.getObj();const r=[];for(;!isCmd(n,"]")&&n!==on;){r.push(n);n=t.getObj()}e.mapBfRangeToArray(a,s,r)}}}throw new FormatError("Invalid bf range.")}function parseCidChar(e,t){for(;;){let n=t.getObj();if(n===on)break;if(isCmd(n,"endcidchar"))return;expectString(n);const a=strToInt(n);n=t.getObj();expectInt(n);const s=n;e.mapOne(a,s)}}function parseCidRange(e,t){for(;;){let n=t.getObj();if(n===on)break;if(isCmd(n,"endcidrange"))return;expectString(n);const a=strToInt(n);n=t.getObj();expectString(n);const s=strToInt(n);n=t.getObj();expectInt(n);const r=n;e.mapCidRange(a,s,r)}}function parseCodespaceRange(e,t){for(;;){let n=t.getObj();if(n===on)break;if(isCmd(n,"endcodespacerange"))return;if("string"!=typeof n)break;const a=strToInt(n);n=t.getObj();if("string"!=typeof n)break;const s=strToInt(n);e.addCodespaceRange(n.length,a,s)}throw new FormatError("Invalid codespace range.")}function parseWMode(e,t){const n=t.getObj();Number.isInteger(n)&&(e.vertical=!!n)}function parseCMapName(e,t){const n=t.getObj();n instanceof Name&&(e.name=n.name)}async function parseCMap(e,t,n,a){let s,r;e:for(;;)try{const n=t.getObj();if(n===on)break;if(n instanceof Name){"WMode"===n.name?parseWMode(e,t):"CMapName"===n.name&&parseCMapName(e,t);s=n}else if(n instanceof Cmd)switch(n.cmd){case"endcmap":break e;case"usecmap":s instanceof Name&&(r=s.name);break;case"begincodespacerange":parseCodespaceRange(e,t);break;case"beginbfchar":parseBfChar(e,t);break;case"begincidchar":parseCidChar(e,t);break;case"beginbfrange":parseBfRange(e,t);break;case"begincidrange":parseCidRange(e,t)}}catch(e){if(e instanceof MissingDataException)throw e;warn("Invalid cMap data: "+e);continue}!a&&r&&(a=r);return a?extendCMap(e,n,a):e}async function extendCMap(e,t,n){e.useCMap=await createBuiltInCMap(n,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let n=0;n<t.length;n++)e.codespaceRanges[n]=t[n].slice();e.numCodespaceRanges=e.useCMap.numCodespaceRanges}e.useCMap.forEach(function(t,n){e.contains(t)||e.mapOne(t,n)});return e}async function createBuiltInCMap(e,t){if("Identity-H"===e)return new IdentityCMap(!1,2);if("Identity-V"===e)return new IdentityCMap(!0,2);if(!oa.includes(e))throw new Error("Unknown CMap name: "+e);if(!t)throw new Error("Built-in CMap parameters are not provided.");const{cMapData:n,isCompressed:a}=await t(e),s=new CMap(!0);if(a)return(new BinaryCMapReader).process(n,s,e=>extendCMap(s,t,e));const r=new Lexer(new Stream(n));return parseCMap(s,r,t,null)}class CMapFactory{static async create({encoding:e,fetchBuiltInCMap:t,useCMap:n}){if(e instanceof Name)return createBuiltInCMap(e.name,t);if(e instanceof BaseStream){if(e.isAsync){const t=await e.asyncGetBytes();t&&(e=new Stream(t,0,t.length,e.dict))}const a=await parseCMap(new CMap,new Lexer(e),t,n);return a.isIdentityCMap?createBuiltInCMap(a.name,t):a}throw new Error("Encoding required.")}}const fa=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],ca=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],ha=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],ua=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""],ma=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],pa=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""],da=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];function getEncoding(e){switch(e){case"WinAnsiEncoding":return ma;case"StandardEncoding":return ua;case"MacRomanEncoding":return ha;case"SymbolSetEncoding":return pa;case"ZapfDingbatsEncoding":return da;case"ExpertEncoding":return fa;case"MacExpertEncoding":return ca;default:return null}}const ga=getLookupTableFactory(function(e){e.A=65;e.AE=198;e.AEacute=508;e.AEmacron=482;e.AEsmall=63462;e.Aacute=193;e.Aacutesmall=63457;e.Abreve=258;e.Abreveacute=7854;e.Abrevecyrillic=1232;e.Abrevedotbelow=7862;e.Abrevegrave=7856;e.Abrevehookabove=7858;e.Abrevetilde=7860;e.Acaron=461;e.Acircle=9398;e.Acircumflex=194;e.Acircumflexacute=7844;e.Acircumflexdotbelow=7852;e.Acircumflexgrave=7846;e.Acircumflexhookabove=7848;e.Acircumflexsmall=63458;e.Acircumflextilde=7850;e.Acute=63177;e.Acutesmall=63412;e.Acyrillic=1040;e.Adblgrave=512;e.Adieresis=196;e.Adieresiscyrillic=1234;e.Adieresismacron=478;e.Adieresissmall=63460;e.Adotbelow=7840;e.Adotmacron=480;e.Agrave=192;e.Agravesmall=63456;e.Ahookabove=7842;e.Aiecyrillic=1236;e.Ainvertedbreve=514;e.Alpha=913;e.Alphatonos=902;e.Amacron=256;e.Amonospace=65313;e.Aogonek=260;e.Aring=197;e.Aringacute=506;e.Aringbelow=7680;e.Aringsmall=63461;e.Asmall=63329;e.Atilde=195;e.Atildesmall=63459;e.Aybarmenian=1329;e.B=66;e.Bcircle=9399;e.Bdotaccent=7682;e.Bdotbelow=7684;e.Becyrillic=1041;e.Benarmenian=1330;e.Beta=914;e.Bhook=385;e.Blinebelow=7686;e.Bmonospace=65314;e.Brevesmall=63220;e.Bsmall=63330;e.Btopbar=386;e.C=67;e.Caarmenian=1342;e.Cacute=262;e.Caron=63178;e.Caronsmall=63221;e.Ccaron=268;e.Ccedilla=199;e.Ccedillaacute=7688;e.Ccedillasmall=63463;e.Ccircle=9400;e.Ccircumflex=264;e.Cdot=266;e.Cdotaccent=266;e.Cedillasmall=63416;e.Chaarmenian=1353;e.Cheabkhasiancyrillic=1212;e.Checyrillic=1063;e.Chedescenderabkhasiancyrillic=1214;e.Chedescendercyrillic=1206;e.Chedieresiscyrillic=1268;e.Cheharmenian=1347;e.Chekhakassiancyrillic=1227;e.Cheverticalstrokecyrillic=1208;e.Chi=935;e.Chook=391;e.Circumflexsmall=63222;e.Cmonospace=65315;e.Coarmenian=1361;e.Csmall=63331;e.D=68;e.DZ=497;e.DZcaron=452;e.Daarmenian=1332;e.Dafrican=393;e.Dcaron=270;e.Dcedilla=7696;e.Dcircle=9401;e.Dcircumflexbelow=7698;e.Dcroat=272;e.Ddotaccent=7690;e.Ddotbelow=7692;e.Decyrillic=1044;e.Deicoptic=1006;e.Delta=8710;e.Deltagreek=916;e.Dhook=394;e.Dieresis=63179;e.DieresisAcute=63180;e.DieresisGrave=63181;e.Dieresissmall=63400;e.Digammagreek=988;e.Djecyrillic=1026;e.Dlinebelow=7694;e.Dmonospace=65316;e.Dotaccentsmall=63223;e.Dslash=272;e.Dsmall=63332;e.Dtopbar=395;e.Dz=498;e.Dzcaron=453;e.Dzeabkhasiancyrillic=1248;e.Dzecyrillic=1029;e.Dzhecyrillic=1039;e.E=69;e.Eacute=201;e.Eacutesmall=63465;e.Ebreve=276;e.Ecaron=282;e.Ecedillabreve=7708;e.Echarmenian=1333;e.Ecircle=9402;e.Ecircumflex=202;e.Ecircumflexacute=7870;e.Ecircumflexbelow=7704;e.Ecircumflexdotbelow=7878;e.Ecircumflexgrave=7872;e.Ecircumflexhookabove=7874;e.Ecircumflexsmall=63466;e.Ecircumflextilde=7876;e.Ecyrillic=1028;e.Edblgrave=516;e.Edieresis=203;e.Edieresissmall=63467;e.Edot=278;e.Edotaccent=278;e.Edotbelow=7864;e.Efcyrillic=1060;e.Egrave=200;e.Egravesmall=63464;e.Eharmenian=1335;e.Ehookabove=7866;e.Eightroman=8551;e.Einvertedbreve=518;e.Eiotifiedcyrillic=1124;e.Elcyrillic=1051;e.Elevenroman=8554;e.Emacron=274;e.Emacronacute=7702;e.Emacrongrave=7700;e.Emcyrillic=1052;e.Emonospace=65317;e.Encyrillic=1053;e.Endescendercyrillic=1186;e.Eng=330;e.Enghecyrillic=1188;e.Enhookcyrillic=1223;e.Eogonek=280;e.Eopen=400;e.Epsilon=917;e.Epsilontonos=904;e.Ercyrillic=1056;e.Ereversed=398;e.Ereversedcyrillic=1069;e.Escyrillic=1057;e.Esdescendercyrillic=1194;e.Esh=425;e.Esmall=63333;e.Eta=919;e.Etarmenian=1336;e.Etatonos=905;e.Eth=208;e.Ethsmall=63472;e.Etilde=7868;e.Etildebelow=7706;e.Euro=8364;e.Ezh=439;e.Ezhcaron=494;e.Ezhreversed=440;e.F=70;e.Fcircle=9403;e.Fdotaccent=7710;e.Feharmenian=1366;e.Feicoptic=996;e.Fhook=401;e.Fitacyrillic=1138;e.Fiveroman=8548;e.Fmonospace=65318;e.Fourroman=8547;e.Fsmall=63334;e.G=71;e.GBsquare=13191;e.Gacute=500;e.Gamma=915;e.Gammaafrican=404;e.Gangiacoptic=1002;e.Gbreve=286;e.Gcaron=486;e.Gcedilla=290;e.Gcircle=9404;e.Gcircumflex=284;e.Gcommaaccent=290;e.Gdot=288;e.Gdotaccent=288;e.Gecyrillic=1043;e.Ghadarmenian=1346;e.Ghemiddlehookcyrillic=1172;e.Ghestrokecyrillic=1170;e.Gheupturncyrillic=1168;e.Ghook=403;e.Gimarmenian=1331;e.Gjecyrillic=1027;e.Gmacron=7712;e.Gmonospace=65319;e.Grave=63182;e.Gravesmall=63328;e.Gsmall=63335;e.Gsmallhook=667;e.Gstroke=484;e.H=72;e.H18533=9679;e.H18543=9642;e.H18551=9643;e.H22073=9633;e.HPsquare=13259;e.Haabkhasiancyrillic=1192;e.Hadescendercyrillic=1202;e.Hardsigncyrillic=1066;e.Hbar=294;e.Hbrevebelow=7722;e.Hcedilla=7720;e.Hcircle=9405;e.Hcircumflex=292;e.Hdieresis=7718;e.Hdotaccent=7714;e.Hdotbelow=7716;e.Hmonospace=65320;e.Hoarmenian=1344;e.Horicoptic=1e3;e.Hsmall=63336;e.Hungarumlaut=63183;e.Hungarumlautsmall=63224;e.Hzsquare=13200;e.I=73;e.IAcyrillic=1071;e.IJ=306;e.IUcyrillic=1070;e.Iacute=205;e.Iacutesmall=63469;e.Ibreve=300;e.Icaron=463;e.Icircle=9406;e.Icircumflex=206;e.Icircumflexsmall=63470;e.Icyrillic=1030;e.Idblgrave=520;e.Idieresis=207;e.Idieresisacute=7726;e.Idieresiscyrillic=1252;e.Idieresissmall=63471;e.Idot=304;e.Idotaccent=304;e.Idotbelow=7882;e.Iebrevecyrillic=1238;e.Iecyrillic=1045;e.Ifraktur=8465;e.Igrave=204;e.Igravesmall=63468;e.Ihookabove=7880;e.Iicyrillic=1048;e.Iinvertedbreve=522;e.Iishortcyrillic=1049;e.Imacron=298;e.Imacroncyrillic=1250;e.Imonospace=65321;e.Iniarmenian=1339;e.Iocyrillic=1025;e.Iogonek=302;e.Iota=921;e.Iotaafrican=406;e.Iotadieresis=938;e.Iotatonos=906;e.Ismall=63337;e.Istroke=407;e.Itilde=296;e.Itildebelow=7724;e.Izhitsacyrillic=1140;e.Izhitsadblgravecyrillic=1142;e.J=74;e.Jaarmenian=1345;e.Jcircle=9407;e.Jcircumflex=308;e.Jecyrillic=1032;e.Jheharmenian=1355;e.Jmonospace=65322;e.Jsmall=63338;e.K=75;e.KBsquare=13189;e.KKsquare=13261;e.Kabashkircyrillic=1184;e.Kacute=7728;e.Kacyrillic=1050;e.Kadescendercyrillic=1178;e.Kahookcyrillic=1219;e.Kappa=922;e.Kastrokecyrillic=1182;e.Kaverticalstrokecyrillic=1180;e.Kcaron=488;e.Kcedilla=310;e.Kcircle=9408;e.Kcommaaccent=310;e.Kdotbelow=7730;e.Keharmenian=1364;e.Kenarmenian=1343;e.Khacyrillic=1061;e.Kheicoptic=998;e.Khook=408;e.Kjecyrillic=1036;e.Klinebelow=7732;e.Kmonospace=65323;e.Koppacyrillic=1152;e.Koppagreek=990;e.Ksicyrillic=1134;e.Ksmall=63339;e.L=76;e.LJ=455;e.LL=63167;e.Lacute=313;e.Lambda=923;e.Lcaron=317;e.Lcedilla=315;e.Lcircle=9409;e.Lcircumflexbelow=7740;e.Lcommaaccent=315;e.Ldot=319;e.Ldotaccent=319;e.Ldotbelow=7734;e.Ldotbelowmacron=7736;e.Liwnarmenian=1340;e.Lj=456;e.Ljecyrillic=1033;e.Llinebelow=7738;e.Lmonospace=65324;e.Lslash=321;e.Lslashsmall=63225;e.Lsmall=63340;e.M=77;e.MBsquare=13190;e.Macron=63184;e.Macronsmall=63407;e.Macute=7742;e.Mcircle=9410;e.Mdotaccent=7744;e.Mdotbelow=7746;e.Menarmenian=1348;e.Mmonospace=65325;e.Msmall=63341;e.Mturned=412;e.Mu=924;e.N=78;e.NJ=458;e.Nacute=323;e.Ncaron=327;e.Ncedilla=325;e.Ncircle=9411;e.Ncircumflexbelow=7754;e.Ncommaaccent=325;e.Ndotaccent=7748;e.Ndotbelow=7750;e.Nhookleft=413;e.Nineroman=8552;e.Nj=459;e.Njecyrillic=1034;e.Nlinebelow=7752;e.Nmonospace=65326;e.Nowarmenian=1350;e.Nsmall=63342;e.Ntilde=209;e.Ntildesmall=63473;e.Nu=925;e.O=79;e.OE=338;e.OEsmall=63226;e.Oacute=211;e.Oacutesmall=63475;e.Obarredcyrillic=1256;e.Obarreddieresiscyrillic=1258;e.Obreve=334;e.Ocaron=465;e.Ocenteredtilde=415;e.Ocircle=9412;e.Ocircumflex=212;e.Ocircumflexacute=7888;e.Ocircumflexdotbelow=7896;e.Ocircumflexgrave=7890;e.Ocircumflexhookabove=7892;e.Ocircumflexsmall=63476;e.Ocircumflextilde=7894;e.Ocyrillic=1054;e.Odblacute=336;e.Odblgrave=524;e.Odieresis=214;e.Odieresiscyrillic=1254;e.Odieresissmall=63478;e.Odotbelow=7884;e.Ogoneksmall=63227;e.Ograve=210;e.Ogravesmall=63474;e.Oharmenian=1365;e.Ohm=8486;e.Ohookabove=7886;e.Ohorn=416;e.Ohornacute=7898;e.Ohorndotbelow=7906;e.Ohorngrave=7900;e.Ohornhookabove=7902;e.Ohorntilde=7904;e.Ohungarumlaut=336;e.Oi=418;e.Oinvertedbreve=526;e.Omacron=332;e.Omacronacute=7762;e.Omacrongrave=7760;e.Omega=8486;e.Omegacyrillic=1120;e.Omegagreek=937;e.Omegaroundcyrillic=1146;e.Omegatitlocyrillic=1148;e.Omegatonos=911;e.Omicron=927;e.Omicrontonos=908;e.Omonospace=65327;e.Oneroman=8544;e.Oogonek=490;e.Oogonekmacron=492;e.Oopen=390;e.Oslash=216;e.Oslashacute=510;e.Oslashsmall=63480;e.Osmall=63343;e.Ostrokeacute=510;e.Otcyrillic=1150;e.Otilde=213;e.Otildeacute=7756;e.Otildedieresis=7758;e.Otildesmall=63477;e.P=80;e.Pacute=7764;e.Pcircle=9413;e.Pdotaccent=7766;e.Pecyrillic=1055;e.Peharmenian=1354;e.Pemiddlehookcyrillic=1190;e.Phi=934;e.Phook=420;e.Pi=928;e.Piwrarmenian=1363;e.Pmonospace=65328;e.Psi=936;e.Psicyrillic=1136;e.Psmall=63344;e.Q=81;e.Qcircle=9414;e.Qmonospace=65329;e.Qsmall=63345;e.R=82;e.Raarmenian=1356;e.Racute=340;e.Rcaron=344;e.Rcedilla=342;e.Rcircle=9415;e.Rcommaaccent=342;e.Rdblgrave=528;e.Rdotaccent=7768;e.Rdotbelow=7770;e.Rdotbelowmacron=7772;e.Reharmenian=1360;e.Rfraktur=8476;e.Rho=929;e.Ringsmall=63228;e.Rinvertedbreve=530;e.Rlinebelow=7774;e.Rmonospace=65330;e.Rsmall=63346;e.Rsmallinverted=641;e.Rsmallinvertedsuperior=694;e.S=83;e.SF010000=9484;e.SF020000=9492;e.SF030000=9488;e.SF040000=9496;e.SF050000=9532;e.SF060000=9516;e.SF070000=9524;e.SF080000=9500;e.SF090000=9508;e.SF100000=9472;e.SF110000=9474;e.SF190000=9569;e.SF200000=9570;e.SF210000=9558;e.SF220000=9557;e.SF230000=9571;e.SF240000=9553;e.SF250000=9559;e.SF260000=9565;e.SF270000=9564;e.SF280000=9563;e.SF360000=9566;e.SF370000=9567;e.SF380000=9562;e.SF390000=9556;e.SF400000=9577;e.SF410000=9574;e.SF420000=9568;e.SF430000=9552;e.SF440000=9580;e.SF450000=9575;e.SF460000=9576;e.SF470000=9572;e.SF480000=9573;e.SF490000=9561;e.SF500000=9560;e.SF510000=9554;e.SF520000=9555;e.SF530000=9579;e.SF540000=9578;e.Sacute=346;e.Sacutedotaccent=7780;e.Sampigreek=992;e.Scaron=352;e.Scarondotaccent=7782;e.Scaronsmall=63229;e.Scedilla=350;e.Schwa=399;e.Schwacyrillic=1240;e.Schwadieresiscyrillic=1242;e.Scircle=9416;e.Scircumflex=348;e.Scommaaccent=536;e.Sdotaccent=7776;e.Sdotbelow=7778;e.Sdotbelowdotaccent=7784;e.Seharmenian=1357;e.Sevenroman=8550;e.Shaarmenian=1351;e.Shacyrillic=1064;e.Shchacyrillic=1065;e.Sheicoptic=994;e.Shhacyrillic=1210;e.Shimacoptic=1004;e.Sigma=931;e.Sixroman=8549;e.Smonospace=65331;e.Softsigncyrillic=1068;e.Ssmall=63347;e.Stigmagreek=986;e.T=84;e.Tau=932;e.Tbar=358;e.Tcaron=356;e.Tcedilla=354;e.Tcircle=9417;e.Tcircumflexbelow=7792;e.Tcommaaccent=354;e.Tdotaccent=7786;e.Tdotbelow=7788;e.Tecyrillic=1058;e.Tedescendercyrillic=1196;e.Tenroman=8553;e.Tetsecyrillic=1204;e.Theta=920;e.Thook=428;e.Thorn=222;e.Thornsmall=63486;e.Threeroman=8546;e.Tildesmall=63230;e.Tiwnarmenian=1359;e.Tlinebelow=7790;e.Tmonospace=65332;e.Toarmenian=1337;e.Tonefive=444;e.Tonesix=388;e.Tonetwo=423;e.Tretroflexhook=430;e.Tsecyrillic=1062;e.Tshecyrillic=1035;e.Tsmall=63348;e.Twelveroman=8555;e.Tworoman=8545;e.U=85;e.Uacute=218;e.Uacutesmall=63482;e.Ubreve=364;e.Ucaron=467;e.Ucircle=9418;e.Ucircumflex=219;e.Ucircumflexbelow=7798;e.Ucircumflexsmall=63483;e.Ucyrillic=1059;e.Udblacute=368;e.Udblgrave=532;e.Udieresis=220;e.Udieresisacute=471;e.Udieresisbelow=7794;e.Udieresiscaron=473;e.Udieresiscyrillic=1264;e.Udieresisgrave=475;e.Udieresismacron=469;e.Udieresissmall=63484;e.Udotbelow=7908;e.Ugrave=217;e.Ugravesmall=63481;e.Uhookabove=7910;e.Uhorn=431;e.Uhornacute=7912;e.Uhorndotbelow=7920;e.Uhorngrave=7914;e.Uhornhookabove=7916;e.Uhorntilde=7918;e.Uhungarumlaut=368;e.Uhungarumlautcyrillic=1266;e.Uinvertedbreve=534;e.Ukcyrillic=1144;e.Umacron=362;e.Umacroncyrillic=1262;e.Umacrondieresis=7802;e.Umonospace=65333;e.Uogonek=370;e.Upsilon=933;e.Upsilon1=978;e.Upsilonacutehooksymbolgreek=979;e.Upsilonafrican=433;e.Upsilondieresis=939;e.Upsilondieresishooksymbolgreek=980;e.Upsilonhooksymbol=978;e.Upsilontonos=910;e.Uring=366;e.Ushortcyrillic=1038;e.Usmall=63349;e.Ustraightcyrillic=1198;e.Ustraightstrokecyrillic=1200;e.Utilde=360;e.Utildeacute=7800;e.Utildebelow=7796;e.V=86;e.Vcircle=9419;e.Vdotbelow=7806;e.Vecyrillic=1042;e.Vewarmenian=1358;e.Vhook=434;e.Vmonospace=65334;e.Voarmenian=1352;e.Vsmall=63350;e.Vtilde=7804;e.W=87;e.Wacute=7810;e.Wcircle=9420;e.Wcircumflex=372;e.Wdieresis=7812;e.Wdotaccent=7814;e.Wdotbelow=7816;e.Wgrave=7808;e.Wmonospace=65335;e.Wsmall=63351;e.X=88;e.Xcircle=9421;e.Xdieresis=7820;e.Xdotaccent=7818;e.Xeharmenian=1341;e.Xi=926;e.Xmonospace=65336;e.Xsmall=63352;e.Y=89;e.Yacute=221;e.Yacutesmall=63485;e.Yatcyrillic=1122;e.Ycircle=9422;e.Ycircumflex=374;e.Ydieresis=376;e.Ydieresissmall=63487;e.Ydotaccent=7822;e.Ydotbelow=7924;e.Yericyrillic=1067;e.Yerudieresiscyrillic=1272;e.Ygrave=7922;e.Yhook=435;e.Yhookabove=7926;e.Yiarmenian=1349;e.Yicyrillic=1031;e.Yiwnarmenian=1362;e.Ymonospace=65337;e.Ysmall=63353;e.Ytilde=7928;e.Yusbigcyrillic=1130;e.Yusbigiotifiedcyrillic=1132;e.Yuslittlecyrillic=1126;e.Yuslittleiotifiedcyrillic=1128;e.Z=90;e.Zaarmenian=1334;e.Zacute=377;e.Zcaron=381;e.Zcaronsmall=63231;e.Zcircle=9423;e.Zcircumflex=7824;e.Zdot=379;e.Zdotaccent=379;e.Zdotbelow=7826;e.Zecyrillic=1047;e.Zedescendercyrillic=1176;e.Zedieresiscyrillic=1246;e.Zeta=918;e.Zhearmenian=1338;e.Zhebrevecyrillic=1217;e.Zhecyrillic=1046;e.Zhedescendercyrillic=1174;e.Zhedieresiscyrillic=1244;e.Zlinebelow=7828;e.Zmonospace=65338;e.Zsmall=63354;e.Zstroke=437;e.a=97;e.aabengali=2438;e.aacute=225;e.aadeva=2310;e.aagujarati=2694;e.aagurmukhi=2566;e.aamatragurmukhi=2622;e.aarusquare=13059;e.aavowelsignbengali=2494;e.aavowelsigndeva=2366;e.aavowelsigngujarati=2750;e.abbreviationmarkarmenian=1375;e.abbreviationsigndeva=2416;e.abengali=2437;e.abopomofo=12570;e.abreve=259;e.abreveacute=7855;e.abrevecyrillic=1233;e.abrevedotbelow=7863;e.abrevegrave=7857;e.abrevehookabove=7859;e.abrevetilde=7861;e.acaron=462;e.acircle=9424;e.acircumflex=226;e.acircumflexacute=7845;e.acircumflexdotbelow=7853;e.acircumflexgrave=7847;e.acircumflexhookabove=7849;e.acircumflextilde=7851;e.acute=180;e.acutebelowcmb=791;e.acutecmb=769;e.acutecomb=769;e.acutedeva=2388;e.acutelowmod=719;e.acutetonecmb=833;e.acyrillic=1072;e.adblgrave=513;e.addakgurmukhi=2673;e.adeva=2309;e.adieresis=228;e.adieresiscyrillic=1235;e.adieresismacron=479;e.adotbelow=7841;e.adotmacron=481;e.ae=230;e.aeacute=509;e.aekorean=12624;e.aemacron=483;e.afii00208=8213;e.afii08941=8356;e.afii10017=1040;e.afii10018=1041;e.afii10019=1042;e.afii10020=1043;e.afii10021=1044;e.afii10022=1045;e.afii10023=1025;e.afii10024=1046;e.afii10025=1047;e.afii10026=1048;e.afii10027=1049;e.afii10028=1050;e.afii10029=1051;e.afii10030=1052;e.afii10031=1053;e.afii10032=1054;e.afii10033=1055;e.afii10034=1056;e.afii10035=1057;e.afii10036=1058;e.afii10037=1059;e.afii10038=1060;e.afii10039=1061;e.afii10040=1062;e.afii10041=1063;e.afii10042=1064;e.afii10043=1065;e.afii10044=1066;e.afii10045=1067;e.afii10046=1068;e.afii10047=1069;e.afii10048=1070;e.afii10049=1071;e.afii10050=1168;e.afii10051=1026;e.afii10052=1027;e.afii10053=1028;e.afii10054=1029;e.afii10055=1030;e.afii10056=1031;e.afii10057=1032;e.afii10058=1033;e.afii10059=1034;e.afii10060=1035;e.afii10061=1036;e.afii10062=1038;e.afii10063=63172;e.afii10064=63173;e.afii10065=1072;e.afii10066=1073;e.afii10067=1074;e.afii10068=1075;e.afii10069=1076;e.afii10070=1077;e.afii10071=1105;e.afii10072=1078;e.afii10073=1079;e.afii10074=1080;e.afii10075=1081;e.afii10076=1082;e.afii10077=1083;e.afii10078=1084;e.afii10079=1085;e.afii10080=1086;e.afii10081=1087;e.afii10082=1088;e.afii10083=1089;e.afii10084=1090;e.afii10085=1091;e.afii10086=1092;e.afii10087=1093;e.afii10088=1094;e.afii10089=1095;e.afii10090=1096;e.afii10091=1097;e.afii10092=1098;e.afii10093=1099;e.afii10094=1100;e.afii10095=1101;e.afii10096=1102;e.afii10097=1103;e.afii10098=1169;e.afii10099=1106;e.afii10100=1107;e.afii10101=1108;e.afii10102=1109;e.afii10103=1110;e.afii10104=1111;e.afii10105=1112;e.afii10106=1113;e.afii10107=1114;e.afii10108=1115;e.afii10109=1116;e.afii10110=1118;e.afii10145=1039;e.afii10146=1122;e.afii10147=1138;e.afii10148=1140;e.afii10192=63174;e.afii10193=1119;e.afii10194=1123;e.afii10195=1139;e.afii10196=1141;e.afii10831=63175;e.afii10832=63176;e.afii10846=1241;e.afii299=8206;e.afii300=8207;e.afii301=8205;e.afii57381=1642;e.afii57388=1548;e.afii57392=1632;e.afii57393=1633;e.afii57394=1634;e.afii57395=1635;e.afii57396=1636;e.afii57397=1637;e.afii57398=1638;e.afii57399=1639;e.afii57400=1640;e.afii57401=1641;e.afii57403=1563;e.afii57407=1567;e.afii57409=1569;e.afii57410=1570;e.afii57411=1571;e.afii57412=1572;e.afii57413=1573;e.afii57414=1574;e.afii57415=1575;e.afii57416=1576;e.afii57417=1577;e.afii57418=1578;e.afii57419=1579;e.afii57420=1580;e.afii57421=1581;e.afii57422=1582;e.afii57423=1583;e.afii57424=1584;e.afii57425=1585;e.afii57426=1586;e.afii57427=1587;e.afii57428=1588;e.afii57429=1589;e.afii57430=1590;e.afii57431=1591;e.afii57432=1592;e.afii57433=1593;e.afii57434=1594;e.afii57440=1600;e.afii57441=1601;e.afii57442=1602;e.afii57443=1603;e.afii57444=1604;e.afii57445=1605;e.afii57446=1606;e.afii57448=1608;e.afii57449=1609;e.afii57450=1610;e.afii57451=1611;e.afii57452=1612;e.afii57453=1613;e.afii57454=1614;e.afii57455=1615;e.afii57456=1616;e.afii57457=1617;e.afii57458=1618;e.afii57470=1607;e.afii57505=1700;e.afii57506=1662;e.afii57507=1670;e.afii57508=1688;e.afii57509=1711;e.afii57511=1657;e.afii57512=1672;e.afii57513=1681;e.afii57514=1722;e.afii57519=1746;e.afii57534=1749;e.afii57636=8362;e.afii57645=1470;e.afii57658=1475;e.afii57664=1488;e.afii57665=1489;e.afii57666=1490;e.afii57667=1491;e.afii57668=1492;e.afii57669=1493;e.afii57670=1494;e.afii57671=1495;e.afii57672=1496;e.afii57673=1497;e.afii57674=1498;e.afii57675=1499;e.afii57676=1500;e.afii57677=1501;e.afii57678=1502;e.afii57679=1503;e.afii57680=1504;e.afii57681=1505;e.afii57682=1506;e.afii57683=1507;e.afii57684=1508;e.afii57685=1509;e.afii57686=1510;e.afii57687=1511;e.afii57688=1512;e.afii57689=1513;e.afii57690=1514;e.afii57694=64298;e.afii57695=64299;e.afii57700=64331;e.afii57705=64287;e.afii57716=1520;e.afii57717=1521;e.afii57718=1522;e.afii57723=64309;e.afii57793=1460;e.afii57794=1461;e.afii57795=1462;e.afii57796=1467;e.afii57797=1464;e.afii57798=1463;e.afii57799=1456;e.afii57800=1458;e.afii57801=1457;e.afii57802=1459;e.afii57803=1474;e.afii57804=1473;e.afii57806=1465;e.afii57807=1468;e.afii57839=1469;e.afii57841=1471;e.afii57842=1472;e.afii57929=700;e.afii61248=8453;e.afii61289=8467;e.afii61352=8470;e.afii61573=8236;e.afii61574=8237;e.afii61575=8238;e.afii61664=8204;e.afii63167=1645;e.afii64937=701;e.agrave=224;e.agujarati=2693;e.agurmukhi=2565;e.ahiragana=12354;e.ahookabove=7843;e.aibengali=2448;e.aibopomofo=12574;e.aideva=2320;e.aiecyrillic=1237;e.aigujarati=2704;e.aigurmukhi=2576;e.aimatragurmukhi=2632;e.ainarabic=1593;e.ainfinalarabic=65226;e.aininitialarabic=65227;e.ainmedialarabic=65228;e.ainvertedbreve=515;e.aivowelsignbengali=2504;e.aivowelsigndeva=2376;e.aivowelsigngujarati=2760;e.akatakana=12450;e.akatakanahalfwidth=65393;e.akorean=12623;e.alef=1488;e.alefarabic=1575;e.alefdageshhebrew=64304;e.aleffinalarabic=65166;e.alefhamzaabovearabic=1571;e.alefhamzaabovefinalarabic=65156;e.alefhamzabelowarabic=1573;e.alefhamzabelowfinalarabic=65160;e.alefhebrew=1488;e.aleflamedhebrew=64335;e.alefmaddaabovearabic=1570;e.alefmaddaabovefinalarabic=65154;e.alefmaksuraarabic=1609;e.alefmaksurafinalarabic=65264;e.alefmaksurainitialarabic=65267;e.alefmaksuramedialarabic=65268;e.alefpatahhebrew=64302;e.alefqamatshebrew=64303;e.aleph=8501;e.allequal=8780;e.alpha=945;e.alphatonos=940;e.amacron=257;e.amonospace=65345;e.ampersand=38;e.ampersandmonospace=65286;e.ampersandsmall=63270;e.amsquare=13250;e.anbopomofo=12578;e.angbopomofo=12580;e.angbracketleft=12296;e.angbracketright=12297;e.angkhankhuthai=3674;e.angle=8736;e.anglebracketleft=12296;e.anglebracketleftvertical=65087;e.anglebracketright=12297;e.anglebracketrightvertical=65088;e.angleleft=9001;e.angleright=9002;e.angstrom=8491;e.anoteleia=903;e.anudattadeva=2386;e.anusvarabengali=2434;e.anusvaradeva=2306;e.anusvaragujarati=2690;e.aogonek=261;e.apaatosquare=13056;e.aparen=9372;e.apostrophearmenian=1370;e.apostrophemod=700;e.apple=63743;e.approaches=8784;e.approxequal=8776;e.approxequalorimage=8786;e.approximatelyequal=8773;e.araeaekorean=12686;e.araeakorean=12685;e.arc=8978;e.arighthalfring=7834;e.aring=229;e.aringacute=507;e.aringbelow=7681;e.arrowboth=8596;e.arrowdashdown=8675;e.arrowdashleft=8672;e.arrowdashright=8674;e.arrowdashup=8673;e.arrowdblboth=8660;e.arrowdbldown=8659;e.arrowdblleft=8656;e.arrowdblright=8658;e.arrowdblup=8657;e.arrowdown=8595;e.arrowdownleft=8601;e.arrowdownright=8600;e.arrowdownwhite=8681;e.arrowheaddownmod=709;e.arrowheadleftmod=706;e.arrowheadrightmod=707;e.arrowheadupmod=708;e.arrowhorizex=63719;e.arrowleft=8592;e.arrowleftdbl=8656;e.arrowleftdblstroke=8653;e.arrowleftoverright=8646;e.arrowleftwhite=8678;e.arrowright=8594;e.arrowrightdblstroke=8655;e.arrowrightheavy=10142;e.arrowrightoverleft=8644;e.arrowrightwhite=8680;e.arrowtableft=8676;e.arrowtabright=8677;e.arrowup=8593;e.arrowupdn=8597;e.arrowupdnbse=8616;e.arrowupdownbase=8616;e.arrowupleft=8598;e.arrowupleftofdown=8645;e.arrowupright=8599;e.arrowupwhite=8679;e.arrowvertex=63718;e.asciicircum=94;e.asciicircummonospace=65342;e.asciitilde=126;e.asciitildemonospace=65374;e.ascript=593;e.ascriptturned=594;e.asmallhiragana=12353;e.asmallkatakana=12449;e.asmallkatakanahalfwidth=65383;e.asterisk=42;e.asteriskaltonearabic=1645;e.asteriskarabic=1645;e.asteriskmath=8727;e.asteriskmonospace=65290;e.asterisksmall=65121;e.asterism=8258;e.asuperior=63209;e.asymptoticallyequal=8771;e.at=64;e.atilde=227;e.atmonospace=65312;e.atsmall=65131;e.aturned=592;e.aubengali=2452;e.aubopomofo=12576;e.audeva=2324;e.augujarati=2708;e.augurmukhi=2580;e.aulengthmarkbengali=2519;e.aumatragurmukhi=2636;e.auvowelsignbengali=2508;e.auvowelsigndeva=2380;e.auvowelsigngujarati=2764;e.avagrahadeva=2365;e.aybarmenian=1377;e.ayin=1506;e.ayinaltonehebrew=64288;e.ayinhebrew=1506;e.b=98;e.babengali=2476;e.backslash=92;e.backslashmonospace=65340;e.badeva=2348;e.bagujarati=2732;e.bagurmukhi=2604;e.bahiragana=12400;e.bahtthai=3647;e.bakatakana=12496;e.bar=124;e.barmonospace=65372;e.bbopomofo=12549;e.bcircle=9425;e.bdotaccent=7683;e.bdotbelow=7685;e.beamedsixteenthnotes=9836;e.because=8757;e.becyrillic=1073;e.beharabic=1576;e.behfinalarabic=65168;e.behinitialarabic=65169;e.behiragana=12409;e.behmedialarabic=65170;e.behmeeminitialarabic=64671;e.behmeemisolatedarabic=64520;e.behnoonfinalarabic=64621;e.bekatakana=12505;e.benarmenian=1378;e.bet=1489;e.beta=946;e.betasymbolgreek=976;e.betdagesh=64305;e.betdageshhebrew=64305;e.bethebrew=1489;e.betrafehebrew=64332;e.bhabengali=2477;e.bhadeva=2349;e.bhagujarati=2733;e.bhagurmukhi=2605;e.bhook=595;e.bihiragana=12403;e.bikatakana=12499;e.bilabialclick=664;e.bindigurmukhi=2562;e.birusquare=13105;e.blackcircle=9679;e.blackdiamond=9670;e.blackdownpointingtriangle=9660;e.blackleftpointingpointer=9668;e.blackleftpointingtriangle=9664;e.blacklenticularbracketleft=12304;e.blacklenticularbracketleftvertical=65083;e.blacklenticularbracketright=12305;e.blacklenticularbracketrightvertical=65084;e.blacklowerlefttriangle=9699;e.blacklowerrighttriangle=9698;e.blackrectangle=9644;e.blackrightpointingpointer=9658;e.blackrightpointingtriangle=9654;e.blacksmallsquare=9642;e.blacksmilingface=9787;e.blacksquare=9632;e.blackstar=9733;e.blackupperlefttriangle=9700;e.blackupperrighttriangle=9701;e.blackuppointingsmalltriangle=9652;e.blackuppointingtriangle=9650;e.blank=9251;e.blinebelow=7687;e.block=9608;e.bmonospace=65346;e.bobaimaithai=3610;e.bohiragana=12412;e.bokatakana=12508;e.bparen=9373;e.bqsquare=13251;e.braceex=63732;e.braceleft=123;e.braceleftbt=63731;e.braceleftmid=63730;e.braceleftmonospace=65371;e.braceleftsmall=65115;e.bracelefttp=63729;e.braceleftvertical=65079;e.braceright=125;e.bracerightbt=63742;e.bracerightmid=63741;e.bracerightmonospace=65373;e.bracerightsmall=65116;e.bracerighttp=63740;e.bracerightvertical=65080;e.bracketleft=91;e.bracketleftbt=63728;e.bracketleftex=63727;e.bracketleftmonospace=65339;e.bracketlefttp=63726;e.bracketright=93;e.bracketrightbt=63739;e.bracketrightex=63738;e.bracketrightmonospace=65341;e.bracketrighttp=63737;e.breve=728;e.brevebelowcmb=814;e.brevecmb=774;e.breveinvertedbelowcmb=815;e.breveinvertedcmb=785;e.breveinverteddoublecmb=865;e.bridgebelowcmb=810;e.bridgeinvertedbelowcmb=826;e.brokenbar=166;e.bstroke=384;e.bsuperior=63210;e.btopbar=387;e.buhiragana=12406;e.bukatakana=12502;e.bullet=8226;e.bulletinverse=9688;e.bulletoperator=8729;e.bullseye=9678;e.c=99;e.caarmenian=1390;e.cabengali=2458;e.cacute=263;e.cadeva=2330;e.cagujarati=2714;e.cagurmukhi=2586;e.calsquare=13192;e.candrabindubengali=2433;e.candrabinducmb=784;e.candrabindudeva=2305;e.candrabindugujarati=2689;e.capslock=8682;e.careof=8453;e.caron=711;e.caronbelowcmb=812;e.caroncmb=780;e.carriagereturn=8629;e.cbopomofo=12568;e.ccaron=269;e.ccedilla=231;e.ccedillaacute=7689;e.ccircle=9426;e.ccircumflex=265;e.ccurl=597;e.cdot=267;e.cdotaccent=267;e.cdsquare=13253;e.cedilla=184;e.cedillacmb=807;e.cent=162;e.centigrade=8451;e.centinferior=63199;e.centmonospace=65504;e.centoldstyle=63394;e.centsuperior=63200;e.chaarmenian=1401;e.chabengali=2459;e.chadeva=2331;e.chagujarati=2715;e.chagurmukhi=2587;e.chbopomofo=12564;e.cheabkhasiancyrillic=1213;e.checkmark=10003;e.checyrillic=1095;e.chedescenderabkhasiancyrillic=1215;e.chedescendercyrillic=1207;e.chedieresiscyrillic=1269;e.cheharmenian=1395;e.chekhakassiancyrillic=1228;e.cheverticalstrokecyrillic=1209;e.chi=967;e.chieuchacirclekorean=12919;e.chieuchaparenkorean=12823;e.chieuchcirclekorean=12905;e.chieuchkorean=12618;e.chieuchparenkorean=12809;e.chochangthai=3594;e.chochanthai=3592;e.chochingthai=3593;e.chochoethai=3596;e.chook=392;e.cieucacirclekorean=12918;e.cieucaparenkorean=12822;e.cieuccirclekorean=12904;e.cieuckorean=12616;e.cieucparenkorean=12808;e.cieucuparenkorean=12828;e.circle=9675;e.circlecopyrt=169;e.circlemultiply=8855;e.circleot=8857;e.circleplus=8853;e.circlepostalmark=12342;e.circlewithlefthalfblack=9680;e.circlewithrighthalfblack=9681;e.circumflex=710;e.circumflexbelowcmb=813;e.circumflexcmb=770;e.clear=8999;e.clickalveolar=450;e.clickdental=448;e.clicklateral=449;e.clickretroflex=451;e.club=9827;e.clubsuitblack=9827;e.clubsuitwhite=9831;e.cmcubedsquare=13220;e.cmonospace=65347;e.cmsquaredsquare=13216;e.coarmenian=1409;e.colon=58;e.colonmonetary=8353;e.colonmonospace=65306;e.colonsign=8353;e.colonsmall=65109;e.colontriangularhalfmod=721;e.colontriangularmod=720;e.comma=44;e.commaabovecmb=787;e.commaaboverightcmb=789;e.commaaccent=63171;e.commaarabic=1548;e.commaarmenian=1373;e.commainferior=63201;e.commamonospace=65292;e.commareversedabovecmb=788;e.commareversedmod=701;e.commasmall=65104;e.commasuperior=63202;e.commaturnedabovecmb=786;e.commaturnedmod=699;e.compass=9788;e.congruent=8773;e.contourintegral=8750;e.control=8963;e.controlACK=6;e.controlBEL=7;e.controlBS=8;e.controlCAN=24;e.controlCR=13;e.controlDC1=17;e.controlDC2=18;e.controlDC3=19;e.controlDC4=20;e.controlDEL=127;e.controlDLE=16;e.controlEM=25;e.controlENQ=5;e.controlEOT=4;e.controlESC=27;e.controlETB=23;e.controlETX=3;e.controlFF=12;e.controlFS=28;e.controlGS=29;e.controlHT=9;e.controlLF=10;e.controlNAK=21;e.controlNULL=0;e.controlRS=30;e.controlSI=15;e.controlSO=14;e.controlSOT=2;e.controlSTX=1;e.controlSUB=26;e.controlSYN=22;e.controlUS=31;e.controlVT=11;e.copyright=169;e.copyrightsans=63721;e.copyrightserif=63193;e.cornerbracketleft=12300;e.cornerbracketlefthalfwidth=65378;e.cornerbracketleftvertical=65089;e.cornerbracketright=12301;e.cornerbracketrighthalfwidth=65379;e.cornerbracketrightvertical=65090;e.corporationsquare=13183;e.cosquare=13255;e.coverkgsquare=13254;e.cparen=9374;e.cruzeiro=8354;e.cstretched=663;e.curlyand=8911;e.curlyor=8910;e.currency=164;e.cyrBreve=63185;e.cyrFlex=63186;e.cyrbreve=63188;e.cyrflex=63189;e.d=100;e.daarmenian=1380;e.dabengali=2470;e.dadarabic=1590;e.dadeva=2342;e.dadfinalarabic=65214;e.dadinitialarabic=65215;e.dadmedialarabic=65216;e.dagesh=1468;e.dageshhebrew=1468;e.dagger=8224;e.daggerdbl=8225;e.dagujarati=2726;e.dagurmukhi=2598;e.dahiragana=12384;e.dakatakana=12480;e.dalarabic=1583;e.dalet=1491;e.daletdagesh=64307;e.daletdageshhebrew=64307;e.dalethebrew=1491;e.dalfinalarabic=65194;e.dammaarabic=1615;e.dammalowarabic=1615;e.dammatanaltonearabic=1612;e.dammatanarabic=1612;e.danda=2404;e.dargahebrew=1447;e.dargalefthebrew=1447;e.dasiapneumatacyrilliccmb=1157;e.dblGrave=63187;e.dblanglebracketleft=12298;e.dblanglebracketleftvertical=65085;e.dblanglebracketright=12299;e.dblanglebracketrightvertical=65086;e.dblarchinvertedbelowcmb=811;e.dblarrowleft=8660;e.dblarrowright=8658;e.dbldanda=2405;e.dblgrave=63190;e.dblgravecmb=783;e.dblintegral=8748;e.dbllowline=8215;e.dbllowlinecmb=819;e.dbloverlinecmb=831;e.dblprimemod=698;e.dblverticalbar=8214;e.dblverticallineabovecmb=782;e.dbopomofo=12553;e.dbsquare=13256;e.dcaron=271;e.dcedilla=7697;e.dcircle=9427;e.dcircumflexbelow=7699;e.dcroat=273;e.ddabengali=2465;e.ddadeva=2337;e.ddagujarati=2721;e.ddagurmukhi=2593;e.ddalarabic=1672;e.ddalfinalarabic=64393;e.dddhadeva=2396;e.ddhabengali=2466;e.ddhadeva=2338;e.ddhagujarati=2722;e.ddhagurmukhi=2594;e.ddotaccent=7691;e.ddotbelow=7693;e.decimalseparatorarabic=1643;e.decimalseparatorpersian=1643;e.decyrillic=1076;e.degree=176;e.dehihebrew=1453;e.dehiragana=12391;e.deicoptic=1007;e.dekatakana=12487;e.deleteleft=9003;e.deleteright=8998;e.delta=948;e.deltaturned=397;e.denominatorminusonenumeratorbengali=2552;e.dezh=676;e.dhabengali=2471;e.dhadeva=2343;e.dhagujarati=2727;e.dhagurmukhi=2599;e.dhook=599;e.dialytikatonos=901;e.dialytikatonoscmb=836;e.diamond=9830;e.diamondsuitwhite=9826;e.dieresis=168;e.dieresisacute=63191;e.dieresisbelowcmb=804;e.dieresiscmb=776;e.dieresisgrave=63192;e.dieresistonos=901;e.dihiragana=12386;e.dikatakana=12482;e.dittomark=12291;e.divide=247;e.divides=8739;e.divisionslash=8725;e.djecyrillic=1106;e.dkshade=9619;e.dlinebelow=7695;e.dlsquare=13207;e.dmacron=273;e.dmonospace=65348;e.dnblock=9604;e.dochadathai=3598;e.dodekthai=3604;e.dohiragana=12393;e.dokatakana=12489;e.dollar=36;e.dollarinferior=63203;e.dollarmonospace=65284;e.dollaroldstyle=63268;e.dollarsmall=65129;e.dollarsuperior=63204;e.dong=8363;e.dorusquare=13094;e.dotaccent=729;e.dotaccentcmb=775;e.dotbelowcmb=803;e.dotbelowcomb=803;e.dotkatakana=12539;e.dotlessi=305;e.dotlessj=63166;e.dotlessjstrokehook=644;e.dotmath=8901;e.dottedcircle=9676;e.doubleyodpatah=64287;e.doubleyodpatahhebrew=64287;e.downtackbelowcmb=798;e.downtackmod=725;e.dparen=9375;e.dsuperior=63211;e.dtail=598;e.dtopbar=396;e.duhiragana=12389;e.dukatakana=12485;e.dz=499;e.dzaltone=675;e.dzcaron=454;e.dzcurl=677;e.dzeabkhasiancyrillic=1249;e.dzecyrillic=1109;e.dzhecyrillic=1119;e.e=101;e.eacute=233;e.earth=9793;e.ebengali=2447;e.ebopomofo=12572;e.ebreve=277;e.ecandradeva=2317;e.ecandragujarati=2701;e.ecandravowelsigndeva=2373;e.ecandravowelsigngujarati=2757;e.ecaron=283;e.ecedillabreve=7709;e.echarmenian=1381;e.echyiwnarmenian=1415;e.ecircle=9428;e.ecircumflex=234;e.ecircumflexacute=7871;e.ecircumflexbelow=7705;e.ecircumflexdotbelow=7879;e.ecircumflexgrave=7873;e.ecircumflexhookabove=7875;e.ecircumflextilde=7877;e.ecyrillic=1108;e.edblgrave=517;e.edeva=2319;e.edieresis=235;e.edot=279;e.edotaccent=279;e.edotbelow=7865;e.eegurmukhi=2575;e.eematragurmukhi=2631;e.efcyrillic=1092;e.egrave=232;e.egujarati=2703;e.eharmenian=1383;e.ehbopomofo=12573;e.ehiragana=12360;e.ehookabove=7867;e.eibopomofo=12575;e.eight=56;e.eightarabic=1640;e.eightbengali=2542;e.eightcircle=9319;e.eightcircleinversesansserif=10129;e.eightdeva=2414;e.eighteencircle=9329;e.eighteenparen=9349;e.eighteenperiod=9369;e.eightgujarati=2798;e.eightgurmukhi=2670;e.eighthackarabic=1640;e.eighthangzhou=12328;e.eighthnotebeamed=9835;e.eightideographicparen=12839;e.eightinferior=8328;e.eightmonospace=65304;e.eightoldstyle=63288;e.eightparen=9339;e.eightperiod=9359;e.eightpersian=1784;e.eightroman=8567;e.eightsuperior=8312;e.eightthai=3672;e.einvertedbreve=519;e.eiotifiedcyrillic=1125;e.ekatakana=12456;e.ekatakanahalfwidth=65396;e.ekonkargurmukhi=2676;e.ekorean=12628;e.elcyrillic=1083;e.element=8712;e.elevencircle=9322;e.elevenparen=9342;e.elevenperiod=9362;e.elevenroman=8570;e.ellipsis=8230;e.ellipsisvertical=8942;e.emacron=275;e.emacronacute=7703;e.emacrongrave=7701;e.emcyrillic=1084;e.emdash=8212;e.emdashvertical=65073;e.emonospace=65349;e.emphasismarkarmenian=1371;e.emptyset=8709;e.enbopomofo=12579;e.encyrillic=1085;e.endash=8211;e.endashvertical=65074;e.endescendercyrillic=1187;e.eng=331;e.engbopomofo=12581;e.enghecyrillic=1189;e.enhookcyrillic=1224;e.enspace=8194;e.eogonek=281;e.eokorean=12627;e.eopen=603;e.eopenclosed=666;e.eopenreversed=604;e.eopenreversedclosed=606;e.eopenreversedhook=605;e.eparen=9376;e.epsilon=949;e.epsilontonos=941;e.equal=61;e.equalmonospace=65309;e.equalsmall=65126;e.equalsuperior=8316;e.equivalence=8801;e.erbopomofo=12582;e.ercyrillic=1088;e.ereversed=600;e.ereversedcyrillic=1101;e.escyrillic=1089;e.esdescendercyrillic=1195;e.esh=643;e.eshcurl=646;e.eshortdeva=2318;e.eshortvowelsigndeva=2374;e.eshreversedloop=426;e.eshsquatreversed=645;e.esmallhiragana=12359;e.esmallkatakana=12455;e.esmallkatakanahalfwidth=65386;e.estimated=8494;e.esuperior=63212;e.eta=951;e.etarmenian=1384;e.etatonos=942;e.eth=240;e.etilde=7869;e.etildebelow=7707;e.etnahtafoukhhebrew=1425;e.etnahtafoukhlefthebrew=1425;e.etnahtahebrew=1425;e.etnahtalefthebrew=1425;e.eturned=477;e.eukorean=12641;e.euro=8364;e.evowelsignbengali=2503;e.evowelsigndeva=2375;e.evowelsigngujarati=2759;e.exclam=33;e.exclamarmenian=1372;e.exclamdbl=8252;e.exclamdown=161;e.exclamdownsmall=63393;e.exclammonospace=65281;e.exclamsmall=63265;e.existential=8707;e.ezh=658;e.ezhcaron=495;e.ezhcurl=659;e.ezhreversed=441;e.ezhtail=442;e.f=102;e.fadeva=2398;e.fagurmukhi=2654;e.fahrenheit=8457;e.fathaarabic=1614;e.fathalowarabic=1614;e.fathatanarabic=1611;e.fbopomofo=12552;e.fcircle=9429;e.fdotaccent=7711;e.feharabic=1601;e.feharmenian=1414;e.fehfinalarabic=65234;e.fehinitialarabic=65235;e.fehmedialarabic=65236;e.feicoptic=997;e.female=9792;e.ff=64256;e.f_f=64256;e.ffi=64259;e.f_f_i=64259;e.ffl=64260;e.f_f_l=64260;e.fi=64257;e.f_i=64257;e.fifteencircle=9326;e.fifteenparen=9346;e.fifteenperiod=9366;e.figuredash=8210;e.filledbox=9632;e.filledrect=9644;e.finalkaf=1498;e.finalkafdagesh=64314;e.finalkafdageshhebrew=64314;e.finalkafhebrew=1498;e.finalmem=1501;e.finalmemhebrew=1501;e.finalnun=1503;e.finalnunhebrew=1503;e.finalpe=1507;e.finalpehebrew=1507;e.finaltsadi=1509;e.finaltsadihebrew=1509;e.firsttonechinese=713;e.fisheye=9673;e.fitacyrillic=1139;e.five=53;e.fivearabic=1637;e.fivebengali=2539;e.fivecircle=9316;e.fivecircleinversesansserif=10126;e.fivedeva=2411;e.fiveeighths=8541;e.fivegujarati=2795;e.fivegurmukhi=2667;e.fivehackarabic=1637;e.fivehangzhou=12325;e.fiveideographicparen=12836;e.fiveinferior=8325;e.fivemonospace=65301;e.fiveoldstyle=63285;e.fiveparen=9336;e.fiveperiod=9356;e.fivepersian=1781;e.fiveroman=8564;e.fivesuperior=8309;e.fivethai=3669;e.fl=64258;e.f_l=64258;e.florin=402;e.fmonospace=65350;e.fmsquare=13209;e.fofanthai=3615;e.fofathai=3613;e.fongmanthai=3663;e.forall=8704;e.four=52;e.fourarabic=1636;e.fourbengali=2538;e.fourcircle=9315;e.fourcircleinversesansserif=10125;e.fourdeva=2410;e.fourgujarati=2794;e.fourgurmukhi=2666;e.fourhackarabic=1636;e.fourhangzhou=12324;e.fourideographicparen=12835;e.fourinferior=8324;e.fourmonospace=65300;e.fournumeratorbengali=2551;e.fouroldstyle=63284;e.fourparen=9335;e.fourperiod=9355;e.fourpersian=1780;e.fourroman=8563;e.foursuperior=8308;e.fourteencircle=9325;e.fourteenparen=9345;e.fourteenperiod=9365;e.fourthai=3668;e.fourthtonechinese=715;e.fparen=9377;e.fraction=8260;e.franc=8355;e.g=103;e.gabengali=2455;e.gacute=501;e.gadeva=2327;e.gafarabic=1711;e.gaffinalarabic=64403;e.gafinitialarabic=64404;e.gafmedialarabic=64405;e.gagujarati=2711;e.gagurmukhi=2583;e.gahiragana=12364;e.gakatakana=12460;e.gamma=947;e.gammalatinsmall=611;e.gammasuperior=736;e.gangiacoptic=1003;e.gbopomofo=12557;e.gbreve=287;e.gcaron=487;e.gcedilla=291;e.gcircle=9430;e.gcircumflex=285;e.gcommaaccent=291;e.gdot=289;e.gdotaccent=289;e.gecyrillic=1075;e.gehiragana=12370;e.gekatakana=12466;e.geometricallyequal=8785;e.gereshaccenthebrew=1436;e.gereshhebrew=1523;e.gereshmuqdamhebrew=1437;e.germandbls=223;e.gershayimaccenthebrew=1438;e.gershayimhebrew=1524;e.getamark=12307;e.ghabengali=2456;e.ghadarmenian=1394;e.ghadeva=2328;e.ghagujarati=2712;e.ghagurmukhi=2584;e.ghainarabic=1594;e.ghainfinalarabic=65230;e.ghaininitialarabic=65231;e.ghainmedialarabic=65232;e.ghemiddlehookcyrillic=1173;e.ghestrokecyrillic=1171;e.gheupturncyrillic=1169;e.ghhadeva=2394;e.ghhagurmukhi=2650;e.ghook=608;e.ghzsquare=13203;e.gihiragana=12366;e.gikatakana=12462;e.gimarmenian=1379;e.gimel=1490;e.gimeldagesh=64306;e.gimeldageshhebrew=64306;e.gimelhebrew=1490;e.gjecyrillic=1107;e.glottalinvertedstroke=446;e.glottalstop=660;e.glottalstopinverted=662;e.glottalstopmod=704;e.glottalstopreversed=661;e.glottalstopreversedmod=705;e.glottalstopreversedsuperior=740;e.glottalstopstroke=673;e.glottalstopstrokereversed=674;e.gmacron=7713;e.gmonospace=65351;e.gohiragana=12372;e.gokatakana=12468;e.gparen=9378;e.gpasquare=13228;e.gradient=8711;e.grave=96;e.gravebelowcmb=790;e.gravecmb=768;e.gravecomb=768;e.gravedeva=2387;e.gravelowmod=718;e.gravemonospace=65344;e.gravetonecmb=832;e.greater=62;e.greaterequal=8805;e.greaterequalorless=8923;e.greatermonospace=65310;e.greaterorequivalent=8819;e.greaterorless=8823;e.greateroverequal=8807;e.greatersmall=65125;e.gscript=609;e.gstroke=485;e.guhiragana=12368;e.guillemotleft=171;e.guillemotright=187;e.guilsinglleft=8249;e.guilsinglright=8250;e.gukatakana=12464;e.guramusquare=13080;e.gysquare=13257;e.h=104;e.haabkhasiancyrillic=1193;e.haaltonearabic=1729;e.habengali=2489;e.hadescendercyrillic=1203;e.hadeva=2361;e.hagujarati=2745;e.hagurmukhi=2617;e.haharabic=1581;e.hahfinalarabic=65186;e.hahinitialarabic=65187;e.hahiragana=12399;e.hahmedialarabic=65188;e.haitusquare=13098;e.hakatakana=12495;e.hakatakanahalfwidth=65418;e.halantgurmukhi=2637;e.hamzaarabic=1569;e.hamzalowarabic=1569;e.hangulfiller=12644;e.hardsigncyrillic=1098;e.harpoonleftbarbup=8636;e.harpoonrightbarbup=8640;e.hasquare=13258;e.hatafpatah=1458;e.hatafpatah16=1458;e.hatafpatah23=1458;e.hatafpatah2f=1458;e.hatafpatahhebrew=1458;e.hatafpatahnarrowhebrew=1458;e.hatafpatahquarterhebrew=1458;e.hatafpatahwidehebrew=1458;e.hatafqamats=1459;e.hatafqamats1b=1459;e.hatafqamats28=1459;e.hatafqamats34=1459;e.hatafqamatshebrew=1459;e.hatafqamatsnarrowhebrew=1459;e.hatafqamatsquarterhebrew=1459;e.hatafqamatswidehebrew=1459;e.hatafsegol=1457;e.hatafsegol17=1457;e.hatafsegol24=1457;e.hatafsegol30=1457;e.hatafsegolhebrew=1457;e.hatafsegolnarrowhebrew=1457;e.hatafsegolquarterhebrew=1457;e.hatafsegolwidehebrew=1457;e.hbar=295;e.hbopomofo=12559;e.hbrevebelow=7723;e.hcedilla=7721;e.hcircle=9431;e.hcircumflex=293;e.hdieresis=7719;e.hdotaccent=7715;e.hdotbelow=7717;e.he=1492;e.heart=9829;e.heartsuitblack=9829;e.heartsuitwhite=9825;e.hedagesh=64308;e.hedageshhebrew=64308;e.hehaltonearabic=1729;e.heharabic=1607;e.hehebrew=1492;e.hehfinalaltonearabic=64423;e.hehfinalalttwoarabic=65258;e.hehfinalarabic=65258;e.hehhamzaabovefinalarabic=64421;e.hehhamzaaboveisolatedarabic=64420;e.hehinitialaltonearabic=64424;e.hehinitialarabic=65259;e.hehiragana=12408;e.hehmedialaltonearabic=64425;e.hehmedialarabic=65260;e.heiseierasquare=13179;e.hekatakana=12504;e.hekatakanahalfwidth=65421;e.hekutaarusquare=13110;e.henghook=615;e.herutusquare=13113;e.het=1495;e.hethebrew=1495;e.hhook=614;e.hhooksuperior=689;e.hieuhacirclekorean=12923;e.hieuhaparenkorean=12827;e.hieuhcirclekorean=12909;e.hieuhkorean=12622;e.hieuhparenkorean=12813;e.hihiragana=12402;e.hikatakana=12498;e.hikatakanahalfwidth=65419;e.hiriq=1460;e.hiriq14=1460;e.hiriq21=1460;e.hiriq2d=1460;e.hiriqhebrew=1460;e.hiriqnarrowhebrew=1460;e.hiriqquarterhebrew=1460;e.hiriqwidehebrew=1460;e.hlinebelow=7830;e.hmonospace=65352;e.hoarmenian=1392;e.hohipthai=3627;e.hohiragana=12411;e.hokatakana=12507;e.hokatakanahalfwidth=65422;e.holam=1465;e.holam19=1465;e.holam26=1465;e.holam32=1465;e.holamhebrew=1465;e.holamnarrowhebrew=1465;e.holamquarterhebrew=1465;e.holamwidehebrew=1465;e.honokhukthai=3630;e.hookabovecomb=777;e.hookcmb=777;e.hookpalatalizedbelowcmb=801;e.hookretroflexbelowcmb=802;e.hoonsquare=13122;e.horicoptic=1001;e.horizontalbar=8213;e.horncmb=795;e.hotsprings=9832;e.house=8962;e.hparen=9379;e.hsuperior=688;e.hturned=613;e.huhiragana=12405;e.huiitosquare=13107;e.hukatakana=12501;e.hukatakanahalfwidth=65420;e.hungarumlaut=733;e.hungarumlautcmb=779;e.hv=405;e.hyphen=45;e.hypheninferior=63205;e.hyphenmonospace=65293;e.hyphensmall=65123;e.hyphensuperior=63206;e.hyphentwo=8208;e.i=105;e.iacute=237;e.iacyrillic=1103;e.ibengali=2439;e.ibopomofo=12583;e.ibreve=301;e.icaron=464;e.icircle=9432;e.icircumflex=238;e.icyrillic=1110;e.idblgrave=521;e.ideographearthcircle=12943;e.ideographfirecircle=12939;e.ideographicallianceparen=12863;e.ideographiccallparen=12858;e.ideographiccentrecircle=12965;e.ideographicclose=12294;e.ideographiccomma=12289;e.ideographiccommaleft=65380;e.ideographiccongratulationparen=12855;e.ideographiccorrectcircle=12963;e.ideographicearthparen=12847;e.ideographicenterpriseparen=12861;e.ideographicexcellentcircle=12957;e.ideographicfestivalparen=12864;e.ideographicfinancialcircle=12950;e.ideographicfinancialparen=12854;e.ideographicfireparen=12843;e.ideographichaveparen=12850;e.ideographichighcircle=12964;e.ideographiciterationmark=12293;e.ideographiclaborcircle=12952;e.ideographiclaborparen=12856;e.ideographicleftcircle=12967;e.ideographiclowcircle=12966;e.ideographicmedicinecircle=12969;e.ideographicmetalparen=12846;e.ideographicmoonparen=12842;e.ideographicnameparen=12852;e.ideographicperiod=12290;e.ideographicprintcircle=12958;e.ideographicreachparen=12867;e.ideographicrepresentparen=12857;e.ideographicresourceparen=12862;e.ideographicrightcircle=12968;e.ideographicsecretcircle=12953;e.ideographicselfparen=12866;e.ideographicsocietyparen=12851;e.ideographicspace=12288;e.ideographicspecialparen=12853;e.ideographicstockparen=12849;e.ideographicstudyparen=12859;e.ideographicsunparen=12848;e.ideographicsuperviseparen=12860;e.ideographicwaterparen=12844;e.ideographicwoodparen=12845;e.ideographiczero=12295;e.ideographmetalcircle=12942;e.ideographmooncircle=12938;e.ideographnamecircle=12948;e.ideographsuncircle=12944;e.ideographwatercircle=12940;e.ideographwoodcircle=12941;e.ideva=2311;e.idieresis=239;e.idieresisacute=7727;e.idieresiscyrillic=1253;e.idotbelow=7883;e.iebrevecyrillic=1239;e.iecyrillic=1077;e.ieungacirclekorean=12917;e.ieungaparenkorean=12821;e.ieungcirclekorean=12903;e.ieungkorean=12615;e.ieungparenkorean=12807;e.igrave=236;e.igujarati=2695;e.igurmukhi=2567;e.ihiragana=12356;e.ihookabove=7881;e.iibengali=2440;e.iicyrillic=1080;e.iideva=2312;e.iigujarati=2696;e.iigurmukhi=2568;e.iimatragurmukhi=2624;e.iinvertedbreve=523;e.iishortcyrillic=1081;e.iivowelsignbengali=2496;e.iivowelsigndeva=2368;e.iivowelsigngujarati=2752;e.ij=307;e.ikatakana=12452;e.ikatakanahalfwidth=65394;e.ikorean=12643;e.ilde=732;e.iluyhebrew=1452;e.imacron=299;e.imacroncyrillic=1251;e.imageorapproximatelyequal=8787;e.imatragurmukhi=2623;e.imonospace=65353;e.increment=8710;e.infinity=8734;e.iniarmenian=1387;e.integral=8747;e.integralbottom=8993;e.integralbt=8993;e.integralex=63733;e.integraltop=8992;e.integraltp=8992;e.intersection=8745;e.intisquare=13061;e.invbullet=9688;e.invcircle=9689;e.invsmileface=9787;e.iocyrillic=1105;e.iogonek=303;e.iota=953;e.iotadieresis=970;e.iotadieresistonos=912;e.iotalatin=617;e.iotatonos=943;e.iparen=9380;e.irigurmukhi=2674;e.ismallhiragana=12355;e.ismallkatakana=12451;e.ismallkatakanahalfwidth=65384;e.issharbengali=2554;e.istroke=616;e.isuperior=63213;e.iterationhiragana=12445;e.iterationkatakana=12541;e.itilde=297;e.itildebelow=7725;e.iubopomofo=12585;e.iucyrillic=1102;e.ivowelsignbengali=2495;e.ivowelsigndeva=2367;e.ivowelsigngujarati=2751;e.izhitsacyrillic=1141;e.izhitsadblgravecyrillic=1143;e.j=106;e.jaarmenian=1393;e.jabengali=2460;e.jadeva=2332;e.jagujarati=2716;e.jagurmukhi=2588;e.jbopomofo=12560;e.jcaron=496;e.jcircle=9433;e.jcircumflex=309;e.jcrossedtail=669;e.jdotlessstroke=607;e.jecyrillic=1112;e.jeemarabic=1580;e.jeemfinalarabic=65182;e.jeeminitialarabic=65183;e.jeemmedialarabic=65184;e.jeharabic=1688;e.jehfinalarabic=64395;e.jhabengali=2461;e.jhadeva=2333;e.jhagujarati=2717;e.jhagurmukhi=2589;e.jheharmenian=1403;e.jis=12292;e.jmonospace=65354;e.jparen=9381;e.jsuperior=690;e.k=107;e.kabashkircyrillic=1185;e.kabengali=2453;e.kacute=7729;e.kacyrillic=1082;e.kadescendercyrillic=1179;e.kadeva=2325;e.kaf=1499;e.kafarabic=1603;e.kafdagesh=64315;e.kafdageshhebrew=64315;e.kaffinalarabic=65242;e.kafhebrew=1499;e.kafinitialarabic=65243;e.kafmedialarabic=65244;e.kafrafehebrew=64333;e.kagujarati=2709;e.kagurmukhi=2581;e.kahiragana=12363;e.kahookcyrillic=1220;e.kakatakana=12459;e.kakatakanahalfwidth=65398;e.kappa=954;e.kappasymbolgreek=1008;e.kapyeounmieumkorean=12657;e.kapyeounphieuphkorean=12676;e.kapyeounpieupkorean=12664;e.kapyeounssangpieupkorean=12665;e.karoriisquare=13069;e.kashidaautoarabic=1600;e.kashidaautonosidebearingarabic=1600;e.kasmallkatakana=12533;e.kasquare=13188;e.kasraarabic=1616;e.kasratanarabic=1613;e.kastrokecyrillic=1183;e.katahiraprolongmarkhalfwidth=65392;e.kaverticalstrokecyrillic=1181;e.kbopomofo=12558;e.kcalsquare=13193;e.kcaron=489;e.kcedilla=311;e.kcircle=9434;e.kcommaaccent=311;e.kdotbelow=7731;e.keharmenian=1412;e.kehiragana=12369;e.kekatakana=12465;e.kekatakanahalfwidth=65401;e.kenarmenian=1391;e.kesmallkatakana=12534;e.kgreenlandic=312;e.khabengali=2454;e.khacyrillic=1093;e.khadeva=2326;e.khagujarati=2710;e.khagurmukhi=2582;e.khaharabic=1582;e.khahfinalarabic=65190;e.khahinitialarabic=65191;e.khahmedialarabic=65192;e.kheicoptic=999;e.khhadeva=2393;e.khhagurmukhi=2649;e.khieukhacirclekorean=12920;e.khieukhaparenkorean=12824;e.khieukhcirclekorean=12906;e.khieukhkorean=12619;e.khieukhparenkorean=12810;e.khokhaithai=3586;e.khokhonthai=3589;e.khokhuatthai=3587;e.khokhwaithai=3588;e.khomutthai=3675;e.khook=409;e.khorakhangthai=3590;e.khzsquare=13201;e.kihiragana=12365;e.kikatakana=12461;e.kikatakanahalfwidth=65399;e.kiroguramusquare=13077;e.kiromeetorusquare=13078;e.kirosquare=13076;e.kiyeokacirclekorean=12910;e.kiyeokaparenkorean=12814;e.kiyeokcirclekorean=12896;e.kiyeokkorean=12593;e.kiyeokparenkorean=12800;e.kiyeoksioskorean=12595;e.kjecyrillic=1116;e.klinebelow=7733;e.klsquare=13208;e.kmcubedsquare=13222;e.kmonospace=65355;e.kmsquaredsquare=13218;e.kohiragana=12371;e.kohmsquare=13248;e.kokaithai=3585;e.kokatakana=12467;e.kokatakanahalfwidth=65402;e.kooposquare=13086;e.koppacyrillic=1153;e.koreanstandardsymbol=12927;e.koroniscmb=835;e.kparen=9382;e.kpasquare=13226;e.ksicyrillic=1135;e.ktsquare=13263;e.kturned=670;e.kuhiragana=12367;e.kukatakana=12463;e.kukatakanahalfwidth=65400;e.kvsquare=13240;e.kwsquare=13246;e.l=108;e.labengali=2482;e.lacute=314;e.ladeva=2354;e.lagujarati=2738;e.lagurmukhi=2610;e.lakkhangyaothai=3653;e.lamaleffinalarabic=65276;e.lamalefhamzaabovefinalarabic=65272;e.lamalefhamzaaboveisolatedarabic=65271;e.lamalefhamzabelowfinalarabic=65274;e.lamalefhamzabelowisolatedarabic=65273;e.lamalefisolatedarabic=65275;e.lamalefmaddaabovefinalarabic=65270;e.lamalefmaddaaboveisolatedarabic=65269;e.lamarabic=1604;e.lambda=955;e.lambdastroke=411;e.lamed=1500;e.lameddagesh=64316;e.lameddageshhebrew=64316;e.lamedhebrew=1500;e.lamfinalarabic=65246;e.lamhahinitialarabic=64714;e.laminitialarabic=65247;e.lamjeeminitialarabic=64713;e.lamkhahinitialarabic=64715;e.lamlamhehisolatedarabic=65010;e.lammedialarabic=65248;e.lammeemhahinitialarabic=64904;e.lammeeminitialarabic=64716;e.largecircle=9711;e.lbar=410;e.lbelt=620;e.lbopomofo=12556;e.lcaron=318;e.lcedilla=316;e.lcircle=9435;e.lcircumflexbelow=7741;e.lcommaaccent=316;e.ldot=320;e.ldotaccent=320;e.ldotbelow=7735;e.ldotbelowmacron=7737;e.leftangleabovecmb=794;e.lefttackbelowcmb=792;e.less=60;e.lessequal=8804;e.lessequalorgreater=8922;e.lessmonospace=65308;e.lessorequivalent=8818;e.lessorgreater=8822;e.lessoverequal=8806;e.lesssmall=65124;e.lezh=622;e.lfblock=9612;e.lhookretroflex=621;e.lira=8356;e.liwnarmenian=1388;e.lj=457;e.ljecyrillic=1113;e.ll=63168;e.lladeva=2355;e.llagujarati=2739;e.llinebelow=7739;e.llladeva=2356;e.llvocalicbengali=2529;e.llvocalicdeva=2401;e.llvocalicvowelsignbengali=2531;e.llvocalicvowelsigndeva=2403;e.lmiddletilde=619;e.lmonospace=65356;e.lmsquare=13264;e.lochulathai=3628;e.logicaland=8743;e.logicalnot=172;e.logicalnotreversed=8976;e.logicalor=8744;e.lolingthai=3621;e.longs=383;e.lowlinecenterline=65102;e.lowlinecmb=818;e.lowlinedashed=65101;e.lozenge=9674;e.lparen=9383;e.lslash=322;e.lsquare=8467;e.lsuperior=63214;e.ltshade=9617;e.luthai=3622;e.lvocalicbengali=2444;e.lvocalicdeva=2316;e.lvocalicvowelsignbengali=2530;e.lvocalicvowelsigndeva=2402;e.lxsquare=13267;e.m=109;e.mabengali=2478;e.macron=175;e.macronbelowcmb=817;e.macroncmb=772;e.macronlowmod=717;e.macronmonospace=65507;e.macute=7743;e.madeva=2350;e.magujarati=2734;e.magurmukhi=2606;e.mahapakhhebrew=1444;e.mahapakhlefthebrew=1444;e.mahiragana=12414;e.maichattawalowleftthai=63637;e.maichattawalowrightthai=63636;e.maichattawathai=3659;e.maichattawaupperleftthai=63635;e.maieklowleftthai=63628;e.maieklowrightthai=63627;e.maiekthai=3656;e.maiekupperleftthai=63626;e.maihanakatleftthai=63620;e.maihanakatthai=3633;e.maitaikhuleftthai=63625;e.maitaikhuthai=3655;e.maitholowleftthai=63631;e.maitholowrightthai=63630;e.maithothai=3657;e.maithoupperleftthai=63629;e.maitrilowleftthai=63634;e.maitrilowrightthai=63633;e.maitrithai=3658;e.maitriupperleftthai=63632;e.maiyamokthai=3654;e.makatakana=12510;e.makatakanahalfwidth=65423;e.male=9794;e.mansyonsquare=13127;e.maqafhebrew=1470;e.mars=9794;e.masoracirclehebrew=1455;e.masquare=13187;e.mbopomofo=12551;e.mbsquare=13268;e.mcircle=9436;e.mcubedsquare=13221;e.mdotaccent=7745;e.mdotbelow=7747;e.meemarabic=1605;e.meemfinalarabic=65250;e.meeminitialarabic=65251;e.meemmedialarabic=65252;e.meemmeeminitialarabic=64721;e.meemmeemisolatedarabic=64584;e.meetorusquare=13133;e.mehiragana=12417;e.meizierasquare=13182;e.mekatakana=12513;e.mekatakanahalfwidth=65426;e.mem=1502;e.memdagesh=64318;e.memdageshhebrew=64318;e.memhebrew=1502;e.menarmenian=1396;e.merkhahebrew=1445;e.merkhakefulahebrew=1446;e.merkhakefulalefthebrew=1446;e.merkhalefthebrew=1445;e.mhook=625;e.mhzsquare=13202;e.middledotkatakanahalfwidth=65381;e.middot=183;e.mieumacirclekorean=12914;e.mieumaparenkorean=12818;e.mieumcirclekorean=12900;e.mieumkorean=12609;e.mieumpansioskorean=12656;e.mieumparenkorean=12804;e.mieumpieupkorean=12654;e.mieumsioskorean=12655;e.mihiragana=12415;e.mikatakana=12511;e.mikatakanahalfwidth=65424;e.minus=8722;e.minusbelowcmb=800;e.minuscircle=8854;e.minusmod=727;e.minusplus=8723;e.minute=8242;e.miribaarusquare=13130;e.mirisquare=13129;e.mlonglegturned=624;e.mlsquare=13206;e.mmcubedsquare=13219;e.mmonospace=65357;e.mmsquaredsquare=13215;e.mohiragana=12418;e.mohmsquare=13249;e.mokatakana=12514;e.mokatakanahalfwidth=65427;e.molsquare=13270;e.momathai=3617;e.moverssquare=13223;e.moverssquaredsquare=13224;e.mparen=9384;e.mpasquare=13227;e.mssquare=13235;e.msuperior=63215;e.mturned=623;e.mu=181;e.mu1=181;e.muasquare=13186;e.muchgreater=8811;e.muchless=8810;e.mufsquare=13196;e.mugreek=956;e.mugsquare=13197;e.muhiragana=12416;e.mukatakana=12512;e.mukatakanahalfwidth=65425;e.mulsquare=13205;e.multiply=215;e.mumsquare=13211;e.munahhebrew=1443;e.munahlefthebrew=1443;e.musicalnote=9834;e.musicalnotedbl=9835;e.musicflatsign=9837;e.musicsharpsign=9839;e.mussquare=13234;e.muvsquare=13238;e.muwsquare=13244;e.mvmegasquare=13241;e.mvsquare=13239;e.mwmegasquare=13247;e.mwsquare=13245;e.n=110;e.nabengali=2472;e.nabla=8711;e.nacute=324;e.nadeva=2344;e.nagujarati=2728;e.nagurmukhi=2600;e.nahiragana=12394;e.nakatakana=12490;e.nakatakanahalfwidth=65413;e.napostrophe=329;e.nasquare=13185;e.nbopomofo=12555;e.nbspace=160;e.ncaron=328;e.ncedilla=326;e.ncircle=9437;e.ncircumflexbelow=7755;e.ncommaaccent=326;e.ndotaccent=7749;e.ndotbelow=7751;e.nehiragana=12397;e.nekatakana=12493;e.nekatakanahalfwidth=65416;e.newsheqelsign=8362;e.nfsquare=13195;e.ngabengali=2457;e.ngadeva=2329;e.ngagujarati=2713;e.ngagurmukhi=2585;e.ngonguthai=3591;e.nhiragana=12435;e.nhookleft=626;e.nhookretroflex=627;e.nieunacirclekorean=12911;e.nieunaparenkorean=12815;e.nieuncieuckorean=12597;e.nieuncirclekorean=12897;e.nieunhieuhkorean=12598;e.nieunkorean=12596;e.nieunpansioskorean=12648;e.nieunparenkorean=12801;e.nieunsioskorean=12647;e.nieuntikeutkorean=12646;e.nihiragana=12395;e.nikatakana=12491;e.nikatakanahalfwidth=65414;e.nikhahitleftthai=63641;e.nikhahitthai=3661;e.nine=57;e.ninearabic=1641;e.ninebengali=2543;e.ninecircle=9320;e.ninecircleinversesansserif=10130;e.ninedeva=2415;e.ninegujarati=2799;e.ninegurmukhi=2671;e.ninehackarabic=1641;e.ninehangzhou=12329;e.nineideographicparen=12840;e.nineinferior=8329;e.ninemonospace=65305;e.nineoldstyle=63289;e.nineparen=9340;e.nineperiod=9360;e.ninepersian=1785;e.nineroman=8568;e.ninesuperior=8313;e.nineteencircle=9330;e.nineteenparen=9350;e.nineteenperiod=9370;e.ninethai=3673;e.nj=460;e.njecyrillic=1114;e.nkatakana=12531;e.nkatakanahalfwidth=65437;e.nlegrightlong=414;e.nlinebelow=7753;e.nmonospace=65358;e.nmsquare=13210;e.nnabengali=2467;e.nnadeva=2339;e.nnagujarati=2723;e.nnagurmukhi=2595;e.nnnadeva=2345;e.nohiragana=12398;e.nokatakana=12494;e.nokatakanahalfwidth=65417;e.nonbreakingspace=160;e.nonenthai=3603;e.nonuthai=3609;e.noonarabic=1606;e.noonfinalarabic=65254;e.noonghunnaarabic=1722;e.noonghunnafinalarabic=64415;e.nooninitialarabic=65255;e.noonjeeminitialarabic=64722;e.noonjeemisolatedarabic=64587;e.noonmedialarabic=65256;e.noonmeeminitialarabic=64725;e.noonmeemisolatedarabic=64590;e.noonnoonfinalarabic=64653;e.notcontains=8716;e.notelement=8713;e.notelementof=8713;e.notequal=8800;e.notgreater=8815;e.notgreaternorequal=8817;e.notgreaternorless=8825;e.notidentical=8802;e.notless=8814;e.notlessnorequal=8816;e.notparallel=8742;e.notprecedes=8832;e.notsubset=8836;e.notsucceeds=8833;e.notsuperset=8837;e.nowarmenian=1398;e.nparen=9385;e.nssquare=13233;e.nsuperior=8319;e.ntilde=241;e.nu=957;e.nuhiragana=12396;e.nukatakana=12492;e.nukatakanahalfwidth=65415;e.nuktabengali=2492;e.nuktadeva=2364;e.nuktagujarati=2748;e.nuktagurmukhi=2620;e.numbersign=35;e.numbersignmonospace=65283;e.numbersignsmall=65119;e.numeralsigngreek=884;e.numeralsignlowergreek=885;e.numero=8470;e.nun=1504;e.nundagesh=64320;e.nundageshhebrew=64320;e.nunhebrew=1504;e.nvsquare=13237;e.nwsquare=13243;e.nyabengali=2462;e.nyadeva=2334;e.nyagujarati=2718;e.nyagurmukhi=2590;e.o=111;e.oacute=243;e.oangthai=3629;e.obarred=629;e.obarredcyrillic=1257;e.obarreddieresiscyrillic=1259;e.obengali=2451;e.obopomofo=12571;e.obreve=335;e.ocandradeva=2321;e.ocandragujarati=2705;e.ocandravowelsigndeva=2377;e.ocandravowelsigngujarati=2761;e.ocaron=466;e.ocircle=9438;e.ocircumflex=244;e.ocircumflexacute=7889;e.ocircumflexdotbelow=7897;e.ocircumflexgrave=7891;e.ocircumflexhookabove=7893;e.ocircumflextilde=7895;e.ocyrillic=1086;e.odblacute=337;e.odblgrave=525;e.odeva=2323;e.odieresis=246;e.odieresiscyrillic=1255;e.odotbelow=7885;e.oe=339;e.oekorean=12634;e.ogonek=731;e.ogonekcmb=808;e.ograve=242;e.ogujarati=2707;e.oharmenian=1413;e.ohiragana=12362;e.ohookabove=7887;e.ohorn=417;e.ohornacute=7899;e.ohorndotbelow=7907;e.ohorngrave=7901;e.ohornhookabove=7903;e.ohorntilde=7905;e.ohungarumlaut=337;e.oi=419;e.oinvertedbreve=527;e.okatakana=12458;e.okatakanahalfwidth=65397;e.okorean=12631;e.olehebrew=1451;e.omacron=333;e.omacronacute=7763;e.omacrongrave=7761;e.omdeva=2384;e.omega=969;e.omega1=982;e.omegacyrillic=1121;e.omegalatinclosed=631;e.omegaroundcyrillic=1147;e.omegatitlocyrillic=1149;e.omegatonos=974;e.omgujarati=2768;e.omicron=959;e.omicrontonos=972;e.omonospace=65359;e.one=49;e.onearabic=1633;e.onebengali=2535;e.onecircle=9312;e.onecircleinversesansserif=10122;e.onedeva=2407;e.onedotenleader=8228;e.oneeighth=8539;e.onefitted=63196;e.onegujarati=2791;e.onegurmukhi=2663;e.onehackarabic=1633;e.onehalf=189;e.onehangzhou=12321;e.oneideographicparen=12832;e.oneinferior=8321;e.onemonospace=65297;e.onenumeratorbengali=2548;e.oneoldstyle=63281;e.oneparen=9332;e.oneperiod=9352;e.onepersian=1777;e.onequarter=188;e.oneroman=8560;e.onesuperior=185;e.onethai=3665;e.onethird=8531;e.oogonek=491;e.oogonekmacron=493;e.oogurmukhi=2579;e.oomatragurmukhi=2635;e.oopen=596;e.oparen=9386;e.openbullet=9702;e.option=8997;e.ordfeminine=170;e.ordmasculine=186;e.orthogonal=8735;e.oshortdeva=2322;e.oshortvowelsigndeva=2378;e.oslash=248;e.oslashacute=511;e.osmallhiragana=12361;e.osmallkatakana=12457;e.osmallkatakanahalfwidth=65387;e.ostrokeacute=511;e.osuperior=63216;e.otcyrillic=1151;e.otilde=245;e.otildeacute=7757;e.otildedieresis=7759;e.oubopomofo=12577;e.overline=8254;e.overlinecenterline=65098;e.overlinecmb=773;e.overlinedashed=65097;e.overlinedblwavy=65100;e.overlinewavy=65099;e.overscore=175;e.ovowelsignbengali=2507;e.ovowelsigndeva=2379;e.ovowelsigngujarati=2763;e.p=112;e.paampssquare=13184;e.paasentosquare=13099;e.pabengali=2474;e.pacute=7765;e.padeva=2346;e.pagedown=8671;e.pageup=8670;e.pagujarati=2730;e.pagurmukhi=2602;e.pahiragana=12401;e.paiyannoithai=3631;e.pakatakana=12497;e.palatalizationcyrilliccmb=1156;e.palochkacyrillic=1216;e.pansioskorean=12671;e.paragraph=182;e.parallel=8741;e.parenleft=40;e.parenleftaltonearabic=64830;e.parenleftbt=63725;e.parenleftex=63724;e.parenleftinferior=8333;e.parenleftmonospace=65288;e.parenleftsmall=65113;e.parenleftsuperior=8317;e.parenlefttp=63723;e.parenleftvertical=65077;e.parenright=41;e.parenrightaltonearabic=64831;e.parenrightbt=63736;e.parenrightex=63735;e.parenrightinferior=8334;e.parenrightmonospace=65289;e.parenrightsmall=65114;e.parenrightsuperior=8318;e.parenrighttp=63734;e.parenrightvertical=65078;e.partialdiff=8706;e.paseqhebrew=1472;e.pashtahebrew=1433;e.pasquare=13225;e.patah=1463;e.patah11=1463;e.patah1d=1463;e.patah2a=1463;e.patahhebrew=1463;e.patahnarrowhebrew=1463;e.patahquarterhebrew=1463;e.patahwidehebrew=1463;e.pazerhebrew=1441;e.pbopomofo=12550;e.pcircle=9439;e.pdotaccent=7767;e.pe=1508;e.pecyrillic=1087;e.pedagesh=64324;e.pedageshhebrew=64324;e.peezisquare=13115;e.pefinaldageshhebrew=64323;e.peharabic=1662;e.peharmenian=1402;e.pehebrew=1508;e.pehfinalarabic=64343;e.pehinitialarabic=64344;e.pehiragana=12410;e.pehmedialarabic=64345;e.pekatakana=12506;e.pemiddlehookcyrillic=1191;e.perafehebrew=64334;e.percent=37;e.percentarabic=1642;e.percentmonospace=65285;e.percentsmall=65130;e.period=46;e.periodarmenian=1417;e.periodcentered=183;e.periodhalfwidth=65377;e.periodinferior=63207;e.periodmonospace=65294;e.periodsmall=65106;e.periodsuperior=63208;e.perispomenigreekcmb=834;e.perpendicular=8869;e.perthousand=8240;e.peseta=8359;e.pfsquare=13194;e.phabengali=2475;e.phadeva=2347;e.phagujarati=2731;e.phagurmukhi=2603;e.phi=966;e.phi1=981;e.phieuphacirclekorean=12922;e.phieuphaparenkorean=12826;e.phieuphcirclekorean=12908;e.phieuphkorean=12621;e.phieuphparenkorean=12812;e.philatin=632;e.phinthuthai=3642;e.phisymbolgreek=981;e.phook=421;e.phophanthai=3614;e.phophungthai=3612;e.phosamphaothai=3616;e.pi=960;e.pieupacirclekorean=12915;e.pieupaparenkorean=12819;e.pieupcieuckorean=12662;e.pieupcirclekorean=12901;e.pieupkiyeokkorean=12658;e.pieupkorean=12610;e.pieupparenkorean=12805;e.pieupsioskiyeokkorean=12660;e.pieupsioskorean=12612;e.pieupsiostikeutkorean=12661;e.pieupthieuthkorean=12663;e.pieuptikeutkorean=12659;e.pihiragana=12404;e.pikatakana=12500;e.pisymbolgreek=982;e.piwrarmenian=1411;e.planckover2pi=8463;e.planckover2pi1=8463;e.plus=43;e.plusbelowcmb=799;e.pluscircle=8853;e.plusminus=177;e.plusmod=726;e.plusmonospace=65291;e.plussmall=65122;e.plussuperior=8314;e.pmonospace=65360;e.pmsquare=13272;e.pohiragana=12413;e.pointingindexdownwhite=9759;e.pointingindexleftwhite=9756;e.pointingindexrightwhite=9758;e.pointingindexupwhite=9757;e.pokatakana=12509;e.poplathai=3611;e.postalmark=12306;e.postalmarkface=12320;e.pparen=9387;e.precedes=8826;e.prescription=8478;e.primemod=697;e.primereversed=8245;e.product=8719;e.projective=8965;e.prolongedkana=12540;e.propellor=8984;e.propersubset=8834;e.propersuperset=8835;e.proportion=8759;e.proportional=8733;e.psi=968;e.psicyrillic=1137;e.psilipneumatacyrilliccmb=1158;e.pssquare=13232;e.puhiragana=12407;e.pukatakana=12503;e.pvsquare=13236;e.pwsquare=13242;e.q=113;e.qadeva=2392;e.qadmahebrew=1448;e.qafarabic=1602;e.qaffinalarabic=65238;e.qafinitialarabic=65239;e.qafmedialarabic=65240;e.qamats=1464;e.qamats10=1464;e.qamats1a=1464;e.qamats1c=1464;e.qamats27=1464;e.qamats29=1464;e.qamats33=1464;e.qamatsde=1464;e.qamatshebrew=1464;e.qamatsnarrowhebrew=1464;e.qamatsqatanhebrew=1464;e.qamatsqatannarrowhebrew=1464;e.qamatsqatanquarterhebrew=1464;e.qamatsqatanwidehebrew=1464;e.qamatsquarterhebrew=1464;e.qamatswidehebrew=1464;e.qarneyparahebrew=1439;e.qbopomofo=12561;e.qcircle=9440;e.qhook=672;e.qmonospace=65361;e.qof=1511;e.qofdagesh=64327;e.qofdageshhebrew=64327;e.qofhebrew=1511;e.qparen=9388;e.quarternote=9833;e.qubuts=1467;e.qubuts18=1467;e.qubuts25=1467;e.qubuts31=1467;e.qubutshebrew=1467;e.qubutsnarrowhebrew=1467;e.qubutsquarterhebrew=1467;e.qubutswidehebrew=1467;e.question=63;e.questionarabic=1567;e.questionarmenian=1374;e.questiondown=191;e.questiondownsmall=63423;e.questiongreek=894;e.questionmonospace=65311;e.questionsmall=63295;e.quotedbl=34;e.quotedblbase=8222;e.quotedblleft=8220;e.quotedblmonospace=65282;e.quotedblprime=12318;e.quotedblprimereversed=12317;e.quotedblright=8221;e.quoteleft=8216;e.quoteleftreversed=8219;e.quotereversed=8219;e.quoteright=8217;e.quoterightn=329;e.quotesinglbase=8218;e.quotesingle=39;e.quotesinglemonospace=65287;e.r=114;e.raarmenian=1404;e.rabengali=2480;e.racute=341;e.radeva=2352;e.radical=8730;e.radicalex=63717;e.radoverssquare=13230;e.radoverssquaredsquare=13231;e.radsquare=13229;e.rafe=1471;e.rafehebrew=1471;e.ragujarati=2736;e.ragurmukhi=2608;e.rahiragana=12425;e.rakatakana=12521;e.rakatakanahalfwidth=65431;e.ralowerdiagonalbengali=2545;e.ramiddlediagonalbengali=2544;e.ramshorn=612;e.ratio=8758;e.rbopomofo=12566;e.rcaron=345;e.rcedilla=343;e.rcircle=9441;e.rcommaaccent=343;e.rdblgrave=529;e.rdotaccent=7769;e.rdotbelow=7771;e.rdotbelowmacron=7773;e.referencemark=8251;e.reflexsubset=8838;e.reflexsuperset=8839;e.registered=174;e.registersans=63720;e.registerserif=63194;e.reharabic=1585;e.reharmenian=1408;e.rehfinalarabic=65198;e.rehiragana=12428;e.rekatakana=12524;e.rekatakanahalfwidth=65434;e.resh=1512;e.reshdageshhebrew=64328;e.reshhebrew=1512;e.reversedtilde=8765;e.reviahebrew=1431;e.reviamugrashhebrew=1431;e.revlogicalnot=8976;e.rfishhook=638;e.rfishhookreversed=639;e.rhabengali=2525;e.rhadeva=2397;e.rho=961;e.rhook=637;e.rhookturned=635;e.rhookturnedsuperior=693;e.rhosymbolgreek=1009;e.rhotichookmod=734;e.rieulacirclekorean=12913;e.rieulaparenkorean=12817;e.rieulcirclekorean=12899;e.rieulhieuhkorean=12608;e.rieulkiyeokkorean=12602;e.rieulkiyeoksioskorean=12649;e.rieulkorean=12601;e.rieulmieumkorean=12603;e.rieulpansioskorean=12652;e.rieulparenkorean=12803;e.rieulphieuphkorean=12607;e.rieulpieupkorean=12604;e.rieulpieupsioskorean=12651;e.rieulsioskorean=12605;e.rieulthieuthkorean=12606;e.rieultikeutkorean=12650;e.rieulyeorinhieuhkorean=12653;e.rightangle=8735;e.righttackbelowcmb=793;e.righttriangle=8895;e.rihiragana=12426;e.rikatakana=12522;e.rikatakanahalfwidth=65432;e.ring=730;e.ringbelowcmb=805;e.ringcmb=778;e.ringhalfleft=703;e.ringhalfleftarmenian=1369;e.ringhalfleftbelowcmb=796;e.ringhalfleftcentered=723;e.ringhalfright=702;e.ringhalfrightbelowcmb=825;e.ringhalfrightcentered=722;e.rinvertedbreve=531;e.rittorusquare=13137;e.rlinebelow=7775;e.rlongleg=636;e.rlonglegturned=634;e.rmonospace=65362;e.rohiragana=12429;e.rokatakana=12525;e.rokatakanahalfwidth=65435;e.roruathai=3619;e.rparen=9389;e.rrabengali=2524;e.rradeva=2353;e.rragurmukhi=2652;e.rreharabic=1681;e.rrehfinalarabic=64397;e.rrvocalicbengali=2528;e.rrvocalicdeva=2400;e.rrvocalicgujarati=2784;e.rrvocalicvowelsignbengali=2500;e.rrvocalicvowelsigndeva=2372;e.rrvocalicvowelsigngujarati=2756;e.rsuperior=63217;e.rtblock=9616;e.rturned=633;e.rturnedsuperior=692;e.ruhiragana=12427;e.rukatakana=12523;e.rukatakanahalfwidth=65433;e.rupeemarkbengali=2546;e.rupeesignbengali=2547;e.rupiah=63197;e.ruthai=3620;e.rvocalicbengali=2443;e.rvocalicdeva=2315;e.rvocalicgujarati=2699;e.rvocalicvowelsignbengali=2499;e.rvocalicvowelsigndeva=2371;e.rvocalicvowelsigngujarati=2755;e.s=115;e.sabengali=2488;e.sacute=347;e.sacutedotaccent=7781;e.sadarabic=1589;e.sadeva=2360;e.sadfinalarabic=65210;e.sadinitialarabic=65211;e.sadmedialarabic=65212;e.sagujarati=2744;e.sagurmukhi=2616;e.sahiragana=12373;e.sakatakana=12469;e.sakatakanahalfwidth=65403;e.sallallahoualayhewasallamarabic=65018;e.samekh=1505;e.samekhdagesh=64321;e.samekhdageshhebrew=64321;e.samekhhebrew=1505;e.saraaathai=3634;e.saraaethai=3649;e.saraaimaimalaithai=3652;e.saraaimaimuanthai=3651;e.saraamthai=3635;e.saraathai=3632;e.saraethai=3648;e.saraiileftthai=63622;e.saraiithai=3637;e.saraileftthai=63621;e.saraithai=3636;e.saraothai=3650;e.saraueeleftthai=63624;e.saraueethai=3639;e.saraueleftthai=63623;e.sarauethai=3638;e.sarauthai=3640;e.sarauuthai=3641;e.sbopomofo=12569;e.scaron=353;e.scarondotaccent=7783;e.scedilla=351;e.schwa=601;e.schwacyrillic=1241;e.schwadieresiscyrillic=1243;e.schwahook=602;e.scircle=9442;e.scircumflex=349;e.scommaaccent=537;e.sdotaccent=7777;e.sdotbelow=7779;e.sdotbelowdotaccent=7785;e.seagullbelowcmb=828;e.second=8243;e.secondtonechinese=714;e.section=167;e.seenarabic=1587;e.seenfinalarabic=65202;e.seeninitialarabic=65203;e.seenmedialarabic=65204;e.segol=1462;e.segol13=1462;e.segol1f=1462;e.segol2c=1462;e.segolhebrew=1462;e.segolnarrowhebrew=1462;e.segolquarterhebrew=1462;e.segoltahebrew=1426;e.segolwidehebrew=1462;e.seharmenian=1405;e.sehiragana=12379;e.sekatakana=12475;e.sekatakanahalfwidth=65406;e.semicolon=59;e.semicolonarabic=1563;e.semicolonmonospace=65307;e.semicolonsmall=65108;e.semivoicedmarkkana=12444;e.semivoicedmarkkanahalfwidth=65439;e.sentisquare=13090;e.sentosquare=13091;e.seven=55;e.sevenarabic=1639;e.sevenbengali=2541;e.sevencircle=9318;e.sevencircleinversesansserif=10128;e.sevendeva=2413;e.seveneighths=8542;e.sevengujarati=2797;e.sevengurmukhi=2669;e.sevenhackarabic=1639;e.sevenhangzhou=12327;e.sevenideographicparen=12838;e.seveninferior=8327;e.sevenmonospace=65303;e.sevenoldstyle=63287;e.sevenparen=9338;e.sevenperiod=9358;e.sevenpersian=1783;e.sevenroman=8566;e.sevensuperior=8311;e.seventeencircle=9328;e.seventeenparen=9348;e.seventeenperiod=9368;e.seventhai=3671;e.sfthyphen=173;e.shaarmenian=1399;e.shabengali=2486;e.shacyrillic=1096;e.shaddaarabic=1617;e.shaddadammaarabic=64609;e.shaddadammatanarabic=64606;e.shaddafathaarabic=64608;e.shaddakasraarabic=64610;e.shaddakasratanarabic=64607;e.shade=9618;e.shadedark=9619;e.shadelight=9617;e.shademedium=9618;e.shadeva=2358;e.shagujarati=2742;e.shagurmukhi=2614;e.shalshelethebrew=1427;e.shbopomofo=12565;e.shchacyrillic=1097;e.sheenarabic=1588;e.sheenfinalarabic=65206;e.sheeninitialarabic=65207;e.sheenmedialarabic=65208;e.sheicoptic=995;e.sheqel=8362;e.sheqelhebrew=8362;e.sheva=1456;e.sheva115=1456;e.sheva15=1456;e.sheva22=1456;e.sheva2e=1456;e.shevahebrew=1456;e.shevanarrowhebrew=1456;e.shevaquarterhebrew=1456;e.shevawidehebrew=1456;e.shhacyrillic=1211;e.shimacoptic=1005;e.shin=1513;e.shindagesh=64329;e.shindageshhebrew=64329;e.shindageshshindot=64300;e.shindageshshindothebrew=64300;e.shindageshsindot=64301;e.shindageshsindothebrew=64301;e.shindothebrew=1473;e.shinhebrew=1513;e.shinshindot=64298;e.shinshindothebrew=64298;e.shinsindot=64299;e.shinsindothebrew=64299;e.shook=642;e.sigma=963;e.sigma1=962;e.sigmafinal=962;e.sigmalunatesymbolgreek=1010;e.sihiragana=12375;e.sikatakana=12471;e.sikatakanahalfwidth=65404;e.siluqhebrew=1469;e.siluqlefthebrew=1469;e.similar=8764;e.sindothebrew=1474;e.siosacirclekorean=12916;e.siosaparenkorean=12820;e.sioscieuckorean=12670;e.sioscirclekorean=12902;e.sioskiyeokkorean=12666;e.sioskorean=12613;e.siosnieunkorean=12667;e.siosparenkorean=12806;e.siospieupkorean=12669;e.siostikeutkorean=12668;e.six=54;e.sixarabic=1638;e.sixbengali=2540;e.sixcircle=9317;e.sixcircleinversesansserif=10127;e.sixdeva=2412;e.sixgujarati=2796;e.sixgurmukhi=2668;e.sixhackarabic=1638;e.sixhangzhou=12326;e.sixideographicparen=12837;e.sixinferior=8326;e.sixmonospace=65302;e.sixoldstyle=63286;e.sixparen=9337;e.sixperiod=9357;e.sixpersian=1782;e.sixroman=8565;e.sixsuperior=8310;e.sixteencircle=9327;e.sixteencurrencydenominatorbengali=2553;e.sixteenparen=9347;e.sixteenperiod=9367;e.sixthai=3670;e.slash=47;e.slashmonospace=65295;e.slong=383;e.slongdotaccent=7835;e.smileface=9786;e.smonospace=65363;e.sofpasuqhebrew=1475;e.softhyphen=173;e.softsigncyrillic=1100;e.sohiragana=12381;e.sokatakana=12477;e.sokatakanahalfwidth=65407;e.soliduslongoverlaycmb=824;e.solidusshortoverlaycmb=823;e.sorusithai=3625;e.sosalathai=3624;e.sosothai=3595;e.sosuathai=3626;e.space=32;e.spacehackarabic=32;e.spade=9824;e.spadesuitblack=9824;e.spadesuitwhite=9828;e.sparen=9390;e.squarebelowcmb=827;e.squarecc=13252;e.squarecm=13213;e.squarediagonalcrosshatchfill=9641;e.squarehorizontalfill=9636;e.squarekg=13199;e.squarekm=13214;e.squarekmcapital=13262;e.squareln=13265;e.squarelog=13266;e.squaremg=13198;e.squaremil=13269;e.squaremm=13212;e.squaremsquared=13217;e.squareorthogonalcrosshatchfill=9638;e.squareupperlefttolowerrightfill=9639;e.squareupperrighttolowerleftfill=9640;e.squareverticalfill=9637;e.squarewhitewithsmallblack=9635;e.srsquare=13275;e.ssabengali=2487;e.ssadeva=2359;e.ssagujarati=2743;e.ssangcieuckorean=12617;e.ssanghieuhkorean=12677;e.ssangieungkorean=12672;e.ssangkiyeokkorean=12594;e.ssangnieunkorean=12645;e.ssangpieupkorean=12611;e.ssangsioskorean=12614;e.ssangtikeutkorean=12600;e.ssuperior=63218;e.sterling=163;e.sterlingmonospace=65505;e.strokelongoverlaycmb=822;e.strokeshortoverlaycmb=821;e.subset=8834;e.subsetnotequal=8842;e.subsetorequal=8838;e.succeeds=8827;e.suchthat=8715;e.suhiragana=12377;e.sukatakana=12473;e.sukatakanahalfwidth=65405;e.sukunarabic=1618;e.summation=8721;e.sun=9788;e.superset=8835;e.supersetnotequal=8843;e.supersetorequal=8839;e.svsquare=13276;e.syouwaerasquare=13180;e.t=116;e.tabengali=2468;e.tackdown=8868;e.tackleft=8867;e.tadeva=2340;e.tagujarati=2724;e.tagurmukhi=2596;e.taharabic=1591;e.tahfinalarabic=65218;e.tahinitialarabic=65219;e.tahiragana=12383;e.tahmedialarabic=65220;e.taisyouerasquare=13181;e.takatakana=12479;e.takatakanahalfwidth=65408;e.tatweelarabic=1600;e.tau=964;e.tav=1514;e.tavdages=64330;e.tavdagesh=64330;e.tavdageshhebrew=64330;e.tavhebrew=1514;e.tbar=359;e.tbopomofo=12554;e.tcaron=357;e.tccurl=680;e.tcedilla=355;e.tcheharabic=1670;e.tchehfinalarabic=64379;e.tchehinitialarabic=64380;e.tchehmedialarabic=64381;e.tcircle=9443;e.tcircumflexbelow=7793;e.tcommaaccent=355;e.tdieresis=7831;e.tdotaccent=7787;e.tdotbelow=7789;e.tecyrillic=1090;e.tedescendercyrillic=1197;e.teharabic=1578;e.tehfinalarabic=65174;e.tehhahinitialarabic=64674;e.tehhahisolatedarabic=64524;e.tehinitialarabic=65175;e.tehiragana=12390;e.tehjeeminitialarabic=64673;e.tehjeemisolatedarabic=64523;e.tehmarbutaarabic=1577;e.tehmarbutafinalarabic=65172;e.tehmedialarabic=65176;e.tehmeeminitialarabic=64676;e.tehmeemisolatedarabic=64526;e.tehnoonfinalarabic=64627;e.tekatakana=12486;e.tekatakanahalfwidth=65411;e.telephone=8481;e.telephoneblack=9742;e.telishagedolahebrew=1440;e.telishaqetanahebrew=1449;e.tencircle=9321;e.tenideographicparen=12841;e.tenparen=9341;e.tenperiod=9361;e.tenroman=8569;e.tesh=679;e.tet=1496;e.tetdagesh=64312;e.tetdageshhebrew=64312;e.tethebrew=1496;e.tetsecyrillic=1205;e.tevirhebrew=1435;e.tevirlefthebrew=1435;e.thabengali=2469;e.thadeva=2341;e.thagujarati=2725;e.thagurmukhi=2597;e.thalarabic=1584;e.thalfinalarabic=65196;e.thanthakhatlowleftthai=63640;e.thanthakhatlowrightthai=63639;e.thanthakhatthai=3660;e.thanthakhatupperleftthai=63638;e.theharabic=1579;e.thehfinalarabic=65178;e.thehinitialarabic=65179;e.thehmedialarabic=65180;e.thereexists=8707;e.therefore=8756;e.theta=952;e.theta1=977;e.thetasymbolgreek=977;e.thieuthacirclekorean=12921;e.thieuthaparenkorean=12825;e.thieuthcirclekorean=12907;e.thieuthkorean=12620;e.thieuthparenkorean=12811;e.thirteencircle=9324;e.thirteenparen=9344;e.thirteenperiod=9364;e.thonangmonthothai=3601;e.thook=429;e.thophuthaothai=3602;e.thorn=254;e.thothahanthai=3607;e.thothanthai=3600;e.thothongthai=3608;e.thothungthai=3606;e.thousandcyrillic=1154;e.thousandsseparatorarabic=1644;e.thousandsseparatorpersian=1644;e.three=51;e.threearabic=1635;e.threebengali=2537;e.threecircle=9314;e.threecircleinversesansserif=10124;e.threedeva=2409;e.threeeighths=8540;e.threegujarati=2793;e.threegurmukhi=2665;e.threehackarabic=1635;e.threehangzhou=12323;e.threeideographicparen=12834;e.threeinferior=8323;e.threemonospace=65299;e.threenumeratorbengali=2550;e.threeoldstyle=63283;e.threeparen=9334;e.threeperiod=9354;e.threepersian=1779;e.threequarters=190;e.threequartersemdash=63198;e.threeroman=8562;e.threesuperior=179;e.threethai=3667;e.thzsquare=13204;e.tihiragana=12385;e.tikatakana=12481;e.tikatakanahalfwidth=65409;e.tikeutacirclekorean=12912;e.tikeutaparenkorean=12816;e.tikeutcirclekorean=12898;e.tikeutkorean=12599;e.tikeutparenkorean=12802;e.tilde=732;e.tildebelowcmb=816;e.tildecmb=771;e.tildecomb=771;e.tildedoublecmb=864;e.tildeoperator=8764;e.tildeoverlaycmb=820;e.tildeverticalcmb=830;e.timescircle=8855;e.tipehahebrew=1430;e.tipehalefthebrew=1430;e.tippigurmukhi=2672;e.titlocyrilliccmb=1155;e.tiwnarmenian=1407;e.tlinebelow=7791;e.tmonospace=65364;e.toarmenian=1385;e.tohiragana=12392;e.tokatakana=12488;e.tokatakanahalfwidth=65412;e.tonebarextrahighmod=741;e.tonebarextralowmod=745;e.tonebarhighmod=742;e.tonebarlowmod=744;e.tonebarmidmod=743;e.tonefive=445;e.tonesix=389;e.tonetwo=424;e.tonos=900;e.tonsquare=13095;e.topatakthai=3599;e.tortoiseshellbracketleft=12308;e.tortoiseshellbracketleftsmall=65117;e.tortoiseshellbracketleftvertical=65081;e.tortoiseshellbracketright=12309;e.tortoiseshellbracketrightsmall=65118;e.tortoiseshellbracketrightvertical=65082;e.totaothai=3605;e.tpalatalhook=427;e.tparen=9391;e.trademark=8482;e.trademarksans=63722;e.trademarkserif=63195;e.tretroflexhook=648;e.triagdn=9660;e.triaglf=9668;e.triagrt=9658;e.triagup=9650;e.ts=678;e.tsadi=1510;e.tsadidagesh=64326;e.tsadidageshhebrew=64326;e.tsadihebrew=1510;e.tsecyrillic=1094;e.tsere=1461;e.tsere12=1461;e.tsere1e=1461;e.tsere2b=1461;e.tserehebrew=1461;e.tserenarrowhebrew=1461;e.tserequarterhebrew=1461;e.tserewidehebrew=1461;e.tshecyrillic=1115;e.tsuperior=63219;e.ttabengali=2463;e.ttadeva=2335;e.ttagujarati=2719;e.ttagurmukhi=2591;e.tteharabic=1657;e.ttehfinalarabic=64359;e.ttehinitialarabic=64360;e.ttehmedialarabic=64361;e.tthabengali=2464;e.tthadeva=2336;e.tthagujarati=2720;e.tthagurmukhi=2592;e.tturned=647;e.tuhiragana=12388;e.tukatakana=12484;e.tukatakanahalfwidth=65410;e.tusmallhiragana=12387;e.tusmallkatakana=12483;e.tusmallkatakanahalfwidth=65391;e.twelvecircle=9323;e.twelveparen=9343;e.twelveperiod=9363;e.twelveroman=8571;e.twentycircle=9331;e.twentyhangzhou=21316;e.twentyparen=9351;e.twentyperiod=9371;e.two=50;e.twoarabic=1634;e.twobengali=2536;e.twocircle=9313;e.twocircleinversesansserif=10123;e.twodeva=2408;e.twodotenleader=8229;e.twodotleader=8229;e.twodotleadervertical=65072;e.twogujarati=2792;e.twogurmukhi=2664;e.twohackarabic=1634;e.twohangzhou=12322;e.twoideographicparen=12833;e.twoinferior=8322;e.twomonospace=65298;e.twonumeratorbengali=2549;e.twooldstyle=63282;e.twoparen=9333;e.twoperiod=9353;e.twopersian=1778;e.tworoman=8561;e.twostroke=443;e.twosuperior=178;e.twothai=3666;e.twothirds=8532;e.u=117;e.uacute=250;e.ubar=649;e.ubengali=2441;e.ubopomofo=12584;e.ubreve=365;e.ucaron=468;e.ucircle=9444;e.ucircumflex=251;e.ucircumflexbelow=7799;e.ucyrillic=1091;e.udattadeva=2385;e.udblacute=369;e.udblgrave=533;e.udeva=2313;e.udieresis=252;e.udieresisacute=472;e.udieresisbelow=7795;e.udieresiscaron=474;e.udieresiscyrillic=1265;e.udieresisgrave=476;e.udieresismacron=470;e.udotbelow=7909;e.ugrave=249;e.ugujarati=2697;e.ugurmukhi=2569;e.uhiragana=12358;e.uhookabove=7911;e.uhorn=432;e.uhornacute=7913;e.uhorndotbelow=7921;e.uhorngrave=7915;e.uhornhookabove=7917;e.uhorntilde=7919;e.uhungarumlaut=369;e.uhungarumlautcyrillic=1267;e.uinvertedbreve=535;e.ukatakana=12454;e.ukatakanahalfwidth=65395;e.ukcyrillic=1145;e.ukorean=12636;e.umacron=363;e.umacroncyrillic=1263;e.umacrondieresis=7803;e.umatragurmukhi=2625;e.umonospace=65365;e.underscore=95;e.underscoredbl=8215;e.underscoremonospace=65343;e.underscorevertical=65075;e.underscorewavy=65103;e.union=8746;e.universal=8704;e.uogonek=371;e.uparen=9392;e.upblock=9600;e.upperdothebrew=1476;e.upsilon=965;e.upsilondieresis=971;e.upsilondieresistonos=944;e.upsilonlatin=650;e.upsilontonos=973;e.uptackbelowcmb=797;e.uptackmod=724;e.uragurmukhi=2675;e.uring=367;e.ushortcyrillic=1118;e.usmallhiragana=12357;e.usmallkatakana=12453;e.usmallkatakanahalfwidth=65385;e.ustraightcyrillic=1199;e.ustraightstrokecyrillic=1201;e.utilde=361;e.utildeacute=7801;e.utildebelow=7797;e.uubengali=2442;e.uudeva=2314;e.uugujarati=2698;e.uugurmukhi=2570;e.uumatragurmukhi=2626;e.uuvowelsignbengali=2498;e.uuvowelsigndeva=2370;e.uuvowelsigngujarati=2754;e.uvowelsignbengali=2497;e.uvowelsigndeva=2369;e.uvowelsigngujarati=2753;e.v=118;e.vadeva=2357;e.vagujarati=2741;e.vagurmukhi=2613;e.vakatakana=12535;e.vav=1493;e.vavdagesh=64309;e.vavdagesh65=64309;e.vavdageshhebrew=64309;e.vavhebrew=1493;e.vavholam=64331;e.vavholamhebrew=64331;e.vavvavhebrew=1520;e.vavyodhebrew=1521;e.vcircle=9445;e.vdotbelow=7807;e.vecyrillic=1074;e.veharabic=1700;e.vehfinalarabic=64363;e.vehinitialarabic=64364;e.vehmedialarabic=64365;e.vekatakana=12537;e.venus=9792;e.verticalbar=124;e.verticallineabovecmb=781;e.verticallinebelowcmb=809;e.verticallinelowmod=716;e.verticallinemod=712;e.vewarmenian=1406;e.vhook=651;e.vikatakana=12536;e.viramabengali=2509;e.viramadeva=2381;e.viramagujarati=2765;e.visargabengali=2435;e.visargadeva=2307;e.visargagujarati=2691;e.vmonospace=65366;e.voarmenian=1400;e.voicediterationhiragana=12446;e.voicediterationkatakana=12542;e.voicedmarkkana=12443;e.voicedmarkkanahalfwidth=65438;e.vokatakana=12538;e.vparen=9393;e.vtilde=7805;e.vturned=652;e.vuhiragana=12436;e.vukatakana=12532;e.w=119;e.wacute=7811;e.waekorean=12633;e.wahiragana=12431;e.wakatakana=12527;e.wakatakanahalfwidth=65436;e.wakorean=12632;e.wasmallhiragana=12430;e.wasmallkatakana=12526;e.wattosquare=13143;e.wavedash=12316;e.wavyunderscorevertical=65076;e.wawarabic=1608;e.wawfinalarabic=65262;e.wawhamzaabovearabic=1572;e.wawhamzaabovefinalarabic=65158;e.wbsquare=13277;e.wcircle=9446;e.wcircumflex=373;e.wdieresis=7813;e.wdotaccent=7815;e.wdotbelow=7817;e.wehiragana=12433;e.weierstrass=8472;e.wekatakana=12529;e.wekorean=12638;e.weokorean=12637;e.wgrave=7809;e.whitebullet=9702;e.whitecircle=9675;e.whitecircleinverse=9689;e.whitecornerbracketleft=12302;e.whitecornerbracketleftvertical=65091;e.whitecornerbracketright=12303;e.whitecornerbracketrightvertical=65092;e.whitediamond=9671;e.whitediamondcontainingblacksmalldiamond=9672;e.whitedownpointingsmalltriangle=9663;e.whitedownpointingtriangle=9661;e.whiteleftpointingsmalltriangle=9667;e.whiteleftpointingtriangle=9665;e.whitelenticularbracketleft=12310;e.whitelenticularbracketright=12311;e.whiterightpointingsmalltriangle=9657;e.whiterightpointingtriangle=9655;e.whitesmallsquare=9643;e.whitesmilingface=9786;e.whitesquare=9633;e.whitestar=9734;e.whitetelephone=9743;e.whitetortoiseshellbracketleft=12312;e.whitetortoiseshellbracketright=12313;e.whiteuppointingsmalltriangle=9653;e.whiteuppointingtriangle=9651;e.wihiragana=12432;e.wikatakana=12528;e.wikorean=12639;e.wmonospace=65367;e.wohiragana=12434;e.wokatakana=12530;e.wokatakanahalfwidth=65382;e.won=8361;e.wonmonospace=65510;e.wowaenthai=3623;e.wparen=9394;e.wring=7832;e.wsuperior=695;e.wturned=653;e.wynn=447;e.x=120;e.xabovecmb=829;e.xbopomofo=12562;e.xcircle=9447;e.xdieresis=7821;e.xdotaccent=7819;e.xeharmenian=1389;e.xi=958;e.xmonospace=65368;e.xparen=9395;e.xsuperior=739;e.y=121;e.yaadosquare=13134;e.yabengali=2479;e.yacute=253;e.yadeva=2351;e.yaekorean=12626;e.yagujarati=2735;e.yagurmukhi=2607;e.yahiragana=12420;e.yakatakana=12516;e.yakatakanahalfwidth=65428;e.yakorean=12625;e.yamakkanthai=3662;e.yasmallhiragana=12419;e.yasmallkatakana=12515;e.yasmallkatakanahalfwidth=65388;e.yatcyrillic=1123;e.ycircle=9448;e.ycircumflex=375;e.ydieresis=255;e.ydotaccent=7823;e.ydotbelow=7925;e.yeharabic=1610;e.yehbarreearabic=1746;e.yehbarreefinalarabic=64431;e.yehfinalarabic=65266;e.yehhamzaabovearabic=1574;e.yehhamzaabovefinalarabic=65162;e.yehhamzaaboveinitialarabic=65163;e.yehhamzaabovemedialarabic=65164;e.yehinitialarabic=65267;e.yehmedialarabic=65268;e.yehmeeminitialarabic=64733;e.yehmeemisolatedarabic=64600;e.yehnoonfinalarabic=64660;e.yehthreedotsbelowarabic=1745;e.yekorean=12630;e.yen=165;e.yenmonospace=65509;e.yeokorean=12629;e.yeorinhieuhkorean=12678;e.yerahbenyomohebrew=1450;e.yerahbenyomolefthebrew=1450;e.yericyrillic=1099;e.yerudieresiscyrillic=1273;e.yesieungkorean=12673;e.yesieungpansioskorean=12675;e.yesieungsioskorean=12674;e.yetivhebrew=1434;e.ygrave=7923;e.yhook=436;e.yhookabove=7927;e.yiarmenian=1397;e.yicyrillic=1111;e.yikorean=12642;e.yinyang=9775;e.yiwnarmenian=1410;e.ymonospace=65369;e.yod=1497;e.yoddagesh=64313;e.yoddageshhebrew=64313;e.yodhebrew=1497;e.yodyodhebrew=1522;e.yodyodpatahhebrew=64287;e.yohiragana=12424;e.yoikorean=12681;e.yokatakana=12520;e.yokatakanahalfwidth=65430;e.yokorean=12635;e.yosmallhiragana=12423;e.yosmallkatakana=12519;e.yosmallkatakanahalfwidth=65390;e.yotgreek=1011;e.yoyaekorean=12680;e.yoyakorean=12679;e.yoyakthai=3618;e.yoyingthai=3597;e.yparen=9396;e.ypogegrammeni=890;e.ypogegrammenigreekcmb=837;e.yr=422;e.yring=7833;e.ysuperior=696;e.ytilde=7929;e.yturned=654;e.yuhiragana=12422;e.yuikorean=12684;e.yukatakana=12518;e.yukatakanahalfwidth=65429;e.yukorean=12640;e.yusbigcyrillic=1131;e.yusbigiotifiedcyrillic=1133;e.yuslittlecyrillic=1127;e.yuslittleiotifiedcyrillic=1129;e.yusmallhiragana=12421;e.yusmallkatakana=12517;e.yusmallkatakanahalfwidth=65389;e.yuyekorean=12683;e.yuyeokorean=12682;e.yyabengali=2527;e.yyadeva=2399;e.z=122;e.zaarmenian=1382;e.zacute=378;e.zadeva=2395;e.zagurmukhi=2651;e.zaharabic=1592;e.zahfinalarabic=65222;e.zahinitialarabic=65223;e.zahiragana=12374;e.zahmedialarabic=65224;e.zainarabic=1586;e.zainfinalarabic=65200;e.zakatakana=12470;e.zaqefgadolhebrew=1429;e.zaqefqatanhebrew=1428;e.zarqahebrew=1432;e.zayin=1494;e.zayindagesh=64310;e.zayindageshhebrew=64310;e.zayinhebrew=1494;e.zbopomofo=12567;e.zcaron=382;e.zcircle=9449;e.zcircumflex=7825;e.zcurl=657;e.zdot=380;e.zdotaccent=380;e.zdotbelow=7827;e.zecyrillic=1079;e.zedescendercyrillic=1177;e.zedieresiscyrillic=1247;e.zehiragana=12380;e.zekatakana=12476;e.zero=48;e.zeroarabic=1632;e.zerobengali=2534;e.zerodeva=2406;e.zerogujarati=2790;e.zerogurmukhi=2662;e.zerohackarabic=1632;e.zeroinferior=8320;e.zeromonospace=65296;e.zerooldstyle=63280;e.zeropersian=1776;e.zerosuperior=8304;e.zerothai=3664;e.zerowidthjoiner=65279;e.zerowidthnonjoiner=8204;e.zerowidthspace=8203;e.zeta=950;e.zhbopomofo=12563;e.zhearmenian=1386;e.zhebrevecyrillic=1218;e.zhecyrillic=1078;e.zhedescendercyrillic=1175;e.zhedieresiscyrillic=1245;e.zihiragana=12376;e.zikatakana=12472;e.zinorhebrew=1454;e.zlinebelow=7829;e.zmonospace=65370;e.zohiragana=12382;e.zokatakana=12478;e.zparen=9397;e.zretroflexhook=656;e.zstroke=438;e.zuhiragana=12378;e.zukatakana=12474;e[".notdef"]=0;e.angbracketleftbig=9001;e.angbracketleftBig=9001;e.angbracketleftbigg=9001;e.angbracketleftBigg=9001;e.angbracketrightBig=9002;e.angbracketrightbig=9002;e.angbracketrightBigg=9002;e.angbracketrightbigg=9002;e.arrowhookleft=8618;e.arrowhookright=8617;e.arrowlefttophalf=8636;e.arrowleftbothalf=8637;e.arrownortheast=8599;e.arrownorthwest=8598;e.arrowrighttophalf=8640;e.arrowrightbothalf=8641;e.arrowsoutheast=8600;e.arrowsouthwest=8601;e.backslashbig=8726;e.backslashBig=8726;e.backslashBigg=8726;e.backslashbigg=8726;e.bardbl=8214;e.bracehtipdownleft=65079;e.bracehtipdownright=65079;e.bracehtipupleft=65080;e.bracehtipupright=65080;e.braceleftBig=123;e.braceleftbig=123;e.braceleftbigg=123;e.braceleftBigg=123;e.bracerightBig=125;e.bracerightbig=125;e.bracerightbigg=125;e.bracerightBigg=125;e.bracketleftbig=91;e.bracketleftBig=91;e.bracketleftbigg=91;e.bracketleftBigg=91;e.bracketrightBig=93;e.bracketrightbig=93;e.bracketrightbigg=93;e.bracketrightBigg=93;e.ceilingleftbig=8968;e.ceilingleftBig=8968;e.ceilingleftBigg=8968;e.ceilingleftbigg=8968;e.ceilingrightbig=8969;e.ceilingrightBig=8969;e.ceilingrightbigg=8969;e.ceilingrightBigg=8969;e.circledotdisplay=8857;e.circledottext=8857;e.circlemultiplydisplay=8855;e.circlemultiplytext=8855;e.circleplusdisplay=8853;e.circleplustext=8853;e.contintegraldisplay=8750;e.contintegraltext=8750;e.coproductdisplay=8720;e.coproducttext=8720;e.floorleftBig=8970;e.floorleftbig=8970;e.floorleftbigg=8970;e.floorleftBigg=8970;e.floorrightbig=8971;e.floorrightBig=8971;e.floorrightBigg=8971;e.floorrightbigg=8971;e.hatwide=770;e.hatwider=770;e.hatwidest=770;e.intercal=7488;e.integraldisplay=8747;e.integraltext=8747;e.intersectiondisplay=8898;e.intersectiontext=8898;e.logicalanddisplay=8743;e.logicalandtext=8743;e.logicalordisplay=8744;e.logicalortext=8744;e.parenleftBig=40;e.parenleftbig=40;e.parenleftBigg=40;e.parenleftbigg=40;e.parenrightBig=41;e.parenrightbig=41;e.parenrightBigg=41;e.parenrightbigg=41;e.prime=8242;e.productdisplay=8719;e.producttext=8719;e.radicalbig=8730;e.radicalBig=8730;e.radicalBigg=8730;e.radicalbigg=8730;e.radicalbt=8730;e.radicaltp=8730;e.radicalvertex=8730;e.slashbig=47;e.slashBig=47;e.slashBigg=47;e.slashbigg=47;e.summationdisplay=8721;e.summationtext=8721;e.tildewide=732;e.tildewider=732;e.tildewidest=732;e.uniondisplay=8899;e.unionmultidisplay=8846;e.unionmultitext=8846;e.unionsqdisplay=8852;e.unionsqtext=8852;e.uniontext=8899;e.vextenddouble=8741;e.vextendsingle=8739}),ba=getLookupTableFactory(function(e){e.space=32;e.a1=9985;e.a2=9986;e.a202=9987;e.a3=9988;e.a4=9742;e.a5=9990;e.a119=9991;e.a118=9992;e.a117=9993;e.a11=9755;e.a12=9758;e.a13=9996;e.a14=9997;e.a15=9998;e.a16=9999;e.a105=1e4;e.a17=10001;e.a18=10002;e.a19=10003;e.a20=10004;e.a21=10005;e.a22=10006;e.a23=10007;e.a24=10008;e.a25=10009;e.a26=10010;e.a27=10011;e.a28=10012;e.a6=10013;e.a7=10014;e.a8=10015;e.a9=10016;e.a10=10017;e.a29=10018;e.a30=10019;e.a31=10020;e.a32=10021;e.a33=10022;e.a34=10023;e.a35=9733;e.a36=10025;e.a37=10026;e.a38=10027;e.a39=10028;e.a40=10029;e.a41=10030;e.a42=10031;e.a43=10032;e.a44=10033;e.a45=10034;e.a46=10035;e.a47=10036;e.a48=10037;e.a49=10038;e.a50=10039;e.a51=10040;e.a52=10041;e.a53=10042;e.a54=10043;e.a55=10044;e.a56=10045;e.a57=10046;e.a58=10047;e.a59=10048;e.a60=10049;e.a61=10050;e.a62=10051;e.a63=10052;e.a64=10053;e.a65=10054;e.a66=10055;e.a67=10056;e.a68=10057;e.a69=10058;e.a70=10059;e.a71=9679;e.a72=10061;e.a73=9632;e.a74=10063;e.a203=10064;e.a75=10065;e.a204=10066;e.a76=9650;e.a77=9660;e.a78=9670;e.a79=10070;e.a81=9687;e.a82=10072;e.a83=10073;e.a84=10074;e.a97=10075;e.a98=10076;e.a99=10077;e.a100=10078;e.a101=10081;e.a102=10082;e.a103=10083;e.a104=10084;e.a106=10085;e.a107=10086;e.a108=10087;e.a112=9827;e.a111=9830;e.a110=9829;e.a109=9824;e.a120=9312;e.a121=9313;e.a122=9314;e.a123=9315;e.a124=9316;e.a125=9317;e.a126=9318;e.a127=9319;e.a128=9320;e.a129=9321;e.a130=10102;e.a131=10103;e.a132=10104;e.a133=10105;e.a134=10106;e.a135=10107;e.a136=10108;e.a137=10109;e.a138=10110;e.a139=10111;e.a140=10112;e.a141=10113;e.a142=10114;e.a143=10115;e.a144=10116;e.a145=10117;e.a146=10118;e.a147=10119;e.a148=10120;e.a149=10121;e.a150=10122;e.a151=10123;e.a152=10124;e.a153=10125;e.a154=10126;e.a155=10127;e.a156=10128;e.a157=10129;e.a158=10130;e.a159=10131;e.a160=10132;e.a161=8594;e.a163=8596;e.a164=8597;e.a196=10136;e.a165=10137;e.a192=10138;e.a166=10139;e.a167=10140;e.a168=10141;e.a169=10142;e.a170=10143;e.a171=10144;e.a172=10145;e.a173=10146;e.a162=10147;e.a174=10148;e.a175=10149;e.a176=10150;e.a177=10151;e.a178=10152;e.a179=10153;e.a193=10154;e.a180=10155;e.a199=10156;e.a181=10157;e.a200=10158;e.a182=10159;e.a201=10161;e.a183=10162;e.a184=10163;e.a197=10164;e.a185=10165;e.a194=10166;e.a198=10167;e.a186=10168;e.a195=10169;e.a187=10170;e.a188=10171;e.a189=10172;e.a190=10173;e.a191=10174;e.a89=10088;e.a90=10089;e.a93=10090;e.a94=10091;e.a91=10092;e.a92=10093;e.a205=10094;e.a85=10095;e.a206=10096;e.a86=10097;e.a87=10098;e.a88=10099;e.a95=10100;e.a96=10101;e[".notdef"]=0}),wa=getLookupTableFactory(function(e){e[63721]=169;e[63193]=169;e[63720]=174;e[63194]=174;e[63722]=8482;e[63195]=8482;e[63729]=9127;e[63730]=9128;e[63731]=9129;e[63740]=9131;e[63741]=9132;e[63742]=9133;e[63726]=9121;e[63727]=9122;e[63728]=9123;e[63737]=9124;e[63738]=9125;e[63739]=9126;e[63723]=9115;e[63724]=9116;e[63725]=9117;e[63734]=9118;e[63735]=9119;e[63736]=9120});function getUnicodeForGlyph(e,t){let n=t[e];if(void 0!==n)return n;if(!e)return-1;if("u"===e[0]){const t=e.length;let a;if(7===t&&"n"===e[1]&&"i"===e[2])a=e.substring(3);else{if(!(t>=5&&t<=7))return-1;a=e.substring(1)}if(a===a.toUpperCase()){n=parseInt(a,16);if(n>=0)return n}}return-1}const ja=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function getUnicodeRangeFor(e,t=-1){if(-1!==t){const n=ja[t];for(let a=0,s=n.length;a<s;a+=2)if(e>=n[a]&&e<=n[a+1])return t}for(let t=0,n=ja.length;t<n;t++){const n=ja[t];for(let a=0,s=n.length;a<s;a+=2)if(e>=n[a]&&e<=n[a+1])return t}return-1}const ka=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),ya=new Map;const qa=!0,va=1,Sa=2,xa=4,Aa=32,Ca=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function recoverGlyphName(e,t){if(void 0!==t[e])return e;const n=getUnicodeForGlyph(e,t);if(-1!==n)for(const e in t)if(t[e]===n)return e;info("Unable to recover a standard glyph name for: "+e);return e}function type1FontGlyphMapping(e,t,n){const a=Object.create(null);let s,r,i;const o=!!(e.flags&xa);if(e.isInternalFont){i=t;for(r=0;r<i.length;r++){s=n.indexOf(i[r]);a[r]=s>=0?s:0}}else if(e.baseEncodingName){i=getEncoding(e.baseEncodingName);for(r=0;r<i.length;r++){s=n.indexOf(i[r]);a[r]=s>=0?s:0}}else if(o)for(r in t)a[r]=t[r];else{i=ua;for(r=0;r<i.length;r++){s=n.indexOf(i[r]);a[r]=s>=0?s:0}}const l=e.differences;let f;if(l)for(r in l){const e=l[r];s=n.indexOf(e);if(-1===s){f||(f=ga());const t=recoverGlyphName(e,f);t!==e&&(s=n.indexOf(t))}a[r]=s>=0?s:0}return a}function normalizeFontName(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}const Ia=getLookupTableFactory(e=>{e[8211]=65074;e[8212]=65073;e[8229]=65072;e[8230]=65049;e[12289]=65041;e[12290]=65042;e[12296]=65087;e[12297]=65088;e[12298]=65085;e[12299]=65086;e[12300]=65089;e[12301]=65090;e[12302]=65091;e[12303]=65092;e[12304]=65083;e[12305]=65084;e[12308]=65081;e[12309]=65082;e[12310]=65047;e[12311]=65048;e[65103]=65076;e[65281]=65045;e[65288]=65077;e[65289]=65078;e[65292]=65040;e[65306]=65043;e[65307]=65044;e[65311]=65046;e[65339]=65095;e[65341]=65096;e[65343]=65075;e[65371]=65079;e[65373]=65080});const Fa=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ta=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Ha=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Oa=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Ba=391,Ra=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1},{id:"return",min:0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],Da=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];class CFFParser{constructor(e,t,n){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!n}parse(){const e=this.properties,t=new CFF;this.cff=t;const n=this.parseHeader(),a=this.parseIndex(n.endPos),s=this.parseIndex(a.endPos),r=this.parseIndex(s.endPos),i=this.parseIndex(r.endPos),o=this.parseDict(s.obj.get(0)),l=this.createDict(CFFTopDict,o,t.strings);t.header=n.obj;t.names=this.parseNameIndex(a.obj);t.strings=this.parseStringIndex(r.obj);t.topDict=l;t.globalSubrIndex=i.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=l.hasName("ROS");const f=l.getByName("CharStrings"),c=this.parseIndex(f).obj;t.charStringCount=c.count;const h=l.getByName("FontMatrix");h&&(e.fontMatrix=h);const u=l.getByName("FontBBox");if(u){e.ascent=Math.max(u[3],u[1]);e.descent=Math.min(u[1],u[3]);e.ascentScaled=!0}let m,p;if(t.isCIDFont){const e=this.parseIndex(l.getByName("FDArray")).obj;for(let n=0,a=e.count;n<a;++n){const a=e.get(n),s=this.createDict(CFFTopDict,this.parseDict(a),t.strings);this.parsePrivateDict(s);t.fdArray.push(s)}p=null;m=this.parseCharsets(l.getByName("charset"),c.count,t.strings,!0);t.fdSelect=this.parseFDSelect(l.getByName("FDSelect"),c.count)}else{m=this.parseCharsets(l.getByName("charset"),c.count,t.strings,!1);p=this.parseEncoding(l.getByName("Encoding"),e,t.strings,m.charset)}t.charset=m;t.encoding=p;const d=this.parseCharStrings({charStrings:c,localSubrIndex:l.privateDict.subrsIndex,globalSubrIndex:i.obj,fdSelect:t.fdSelect,fdArray:t.fdArray,privateDict:l.privateDict});t.charStrings=d.charStrings;t.seacs=d.seacs;t.widths=d.widths;return t}parseHeader(){let e=this.bytes;const t=e.length;let n=0;for(;n<t&&1!==e[n];)++n;if(n>=t)throw new FormatError("Invalid CFF header");if(0!==n){info("cff data is shifted");e=e.subarray(n);this.bytes=e}const a=e[0],s=e[1],r=e[2],i=e[3];return{obj:new CFFHeader(a,s,r,i),endPos:r}}parseDict(e){let t=0;function parseOperand(){let n=e[t++];if(30===n)return function parseFloatOperand(){let n="";const a=15,s=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],r=e.length;for(;t<r;){const r=e[t++],i=r>>4,o=15&r;if(i===a)break;n+=s[i];if(o===a)break;n+=s[o]}return parseFloat(n)}();if(28===n){n=readInt16(e,t);t+=2;return n}if(29===n){n=e[t++];n=n<<8|e[t++];n=n<<8|e[t++];n=n<<8|e[t++];return n}if(n>=32&&n<=246)return n-139;if(n>=247&&n<=250)return 256*(n-247)+e[t++]+108;if(n>=251&&n<=254)return-256*(n-251)-e[t++]-108;warn('CFFParser_parseDict: "'+n+'" is a reserved command.');return NaN}let n=[];const a=[];t=0;const s=e.length;for(;t<s;){let s=e[t];if(s<=21){12===s&&(s=s<<8|e[++t]);a.push([s,n]);n=[];++t}else n.push(parseOperand())}return a}parseIndex(e){const t=new CFFIndex,n=this.bytes,a=n[e++]<<8|n[e++],s=[];let r,i,o=e;if(0!==a){const t=n[e++],l=e+(a+1)*t-1;for(r=0,i=a+1;r<i;++r){let a=0;for(let s=0;s<t;++s){a<<=8;a+=n[e++]}s.push(l+a)}o=s[a]}for(r=0,i=s.length-1;r<i;++r){const e=s[r],a=s[r+1];t.add(n.subarray(e,a))}return{obj:t,endPos:o}}parseNameIndex(e){const t=[];for(let n=0,a=e.count;n<a;++n){const a=e.get(n);t.push(bytesToString(a))}return t}parseStringIndex(e){const t=new CFFStrings;for(let n=0,a=e.count;n<a;++n){const a=e.get(n);t.add(bytesToString(a))}return t}createDict(e,t,n){const a=new e(n);for(const[e,n]of t)a.setByKey(e,n);return a}parseCharString(e,t,n,a){if(!t||e.callDepth>10)return!1;let s=e.stackSize;const r=e.stack;let i=t.length;for(let o=0;o<i;){const l=t[o++];let f=null;if(12===l){const e=t[o++];if(0===e){t[o-2]=139;t[o-1]=22;s=0}else f=Da[e]}else if(28===l){r[s]=readInt16(t,o);o+=2;s++}else if(14===l){if(s>=4){s-=4;if(this.seacAnalysisEnabled){e.seac=r.slice(s,s+4);return!1}}f=Ra[l]}else if(l>=32&&l<=246){r[s]=l-139;s++}else if(l>=247&&l<=254){r[s]=l<251?(l-247<<8)+t[o]+108:-(l-251<<8)-t[o]-108;o++;s++}else if(255===l){r[s]=(t[o]<<24|t[o+1]<<16|t[o+2]<<8|t[o+3])/65536;o+=4;s++}else if(19===l||20===l){e.hints+=s>>1;if(0===e.hints){t.copyWithin(o-1,o,-1);o-=1;i-=1;continue}o+=e.hints+7>>3;s%=2;f=Ra[l]}else{if(10===l||29===l){const t=10===l?n:a;if(!t){f=Ra[l];warn("Missing subrsIndex for "+f.id);return!1}let i=32768;t.count<1240?i=107:t.count<33900&&(i=1131);const o=r[--s]+i;if(o<0||o>=t.count||isNaN(o)){f=Ra[l];warn("Out of bounds subrIndex for "+f.id);return!1}e.stackSize=s;e.callDepth++;if(!this.parseCharString(e,t.get(o),n,a))return!1;e.callDepth--;s=e.stackSize;continue}if(11===l){e.stackSize=s;return!0}if(0===l&&o===t.length){t[o-1]=14;f=Ra[14]}else{if(9===l){t.copyWithin(o-1,o,-1);o-=1;i-=1;continue}f=Ra[l]}}if(f){if(f.stem){e.hints+=s>>1;if(3===l||23===l)e.hasVStems=!0;else if(e.hasVStems&&(1===l||18===l)){warn("CFF stem hints are in wrong order");t[o-1]=1===l?3:23}}if(s<f.min){warn("Not enough parameters for "+f.id+"; actual: "+s+", expected: "+f.min);if(0===s){t[o-1]=14;return!0}return!1}if(e.firstStackClearing&&f.stackClearing){e.firstStackClearing=!1;s-=f.min;s>=2&&f.stem?s%=2:s>1&&warn("Found too many parameters for stack-clearing command");s>0&&(e.width=r[s-1])}if("stackDelta"in f){"stackFn"in f&&f.stackFn(r,s);s+=f.stackDelta}else(f.stackClearing||f.resetStack)&&(s=0)}}i<t.length&&t.fill(14,i);e.stackSize=s;return!0}parseCharStrings({charStrings:e,localSubrIndex:t,globalSubrIndex:n,fdSelect:a,fdArray:s,privateDict:r}){const i=[],o=[],l=e.count;for(let f=0;f<l;f++){const l=e.get(f),c={callDepth:0,stackSize:0,stack:[],hints:0,firstStackClearing:!0,seac:null,width:null,hasVStems:!1};let h=!0,u=null,m=r;if(a&&s.length){const e=a.getFDIndex(f);if(-1===e){warn("Glyph index is not in fd select.");h=!1}if(e>=s.length){warn("Invalid fd index for glyph index.");h=!1}if(h){m=s[e].privateDict;u=m.subrsIndex}}else t&&(u=t);h&&(h=this.parseCharString(c,l,u,n));if(null!==c.width){const e=m.getByName("nominalWidthX");o[f]=e+c.width}else{const e=m.getByName("defaultWidthX");o[f]=e}null!==c.seac&&(i[f]=c.seac);h||e.set(f,new Uint8Array([14]))}return{charStrings:e,seacs:i,widths:o}}emptyPrivateDictionary(e){const t=this.createDict(CFFPrivateDict,[],e.strings);e.setByKey(18,[0,0]);e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private")){this.emptyPrivateDictionary(e);return}const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length){e.removeByName("Private");return}const n=t[0],a=t[1];if(0===n||a>=this.bytes.length){this.emptyPrivateDictionary(e);return}const s=a+n,r=this.bytes.subarray(a,s),i=this.parseDict(r),o=this.createDict(CFFPrivateDict,i,e.strings);e.privateDict=o;0===o.getByName("ExpansionFactor")&&o.setByName("ExpansionFactor",.06);if(!o.getByName("Subrs"))return;const l=o.getByName("Subrs"),f=a+l;if(0===l||f>=this.bytes.length){this.emptyPrivateDictionary(e);return}const c=this.parseIndex(f);o.subrsIndex=c.obj}parseCharsets(e,t,n,a){if(0===e)return new CFFCharset(!0,Ea.ISO_ADOBE,Fa);if(1===e)return new CFFCharset(!0,Ea.EXPERT,Ta);if(2===e)return new CFFCharset(!0,Ea.EXPERT_SUBSET,Ha);const s=this.bytes,r=e,i=s[e++],o=[a?0:".notdef"];let l,f,c;t-=1;switch(i){case 0:for(c=0;c<t;c++){l=s[e++]<<8|s[e++];o.push(a?l:n.get(l))}break;case 1:for(;o.length<=t;){l=s[e++]<<8|s[e++];f=s[e++];for(c=0;c<=f;c++)o.push(a?l++:n.get(l++))}break;case 2:for(;o.length<=t;){l=s[e++]<<8|s[e++];f=s[e++]<<8|s[e++];for(c=0;c<=f;c++)o.push(a?l++:n.get(l++))}break;default:throw new FormatError("Unknown charset format")}const h=e,u=s.subarray(r,h);return new CFFCharset(!1,i,o,u)}parseEncoding(e,t,n,a){const s=Object.create(null),r=this.bytes;let i,o,l,f=!1,c=null;if(0===e||1===e){f=!0;i=e;const t=e?fa:ua;for(o=0,l=a.length;o<l;o++){const e=t.indexOf(a[o]);-1!==e&&(s[e]=o)}}else{const t=e;i=r[e++];switch(127&i){case 0:const t=r[e++];for(o=1;o<=t;o++)s[r[e++]]=o;break;case 1:const n=r[e++];let a=1;for(o=0;o<n;o++){const t=r[e++],n=r[e++];for(let e=t;e<=t+n;e++)s[e]=a++}break;default:throw new FormatError(`Unknown encoding format: ${i} in CFF`)}const l=e;if(128&i){r[t]&=127;!function readSupplement(){const t=r[e++];for(o=0;o<t;o++){const t=r[e++],i=(r[e++]<<8)+(255&r[e++]);s[t]=a.indexOf(n.get(i))}}()}c=r.subarray(t,l)}i&=127;return new CFFEncoding(f,i,s,c)}parseFDSelect(e,t){const n=this.bytes,a=n[e++],s=[];let r;switch(a){case 0:for(r=0;r<t;++r){const t=n[e++];s.push(t)}break;case 3:const i=n[e++]<<8|n[e++];for(r=0;r<i;++r){let t=n[e++]<<8|n[e++];if(0===r&&0!==t){warn("parseFDSelect: The first range must have a first GID of 0 -- trying to recover.");t=0}const a=n[e++],i=n[e]<<8|n[e+1];for(let e=t;e<i;++e)s.push(a)}e+=2;break;default:throw new FormatError(`parseFDSelect: Unknown format "${a}".`)}if(s.length!==t)throw new FormatError("parseFDSelect: Invalid font data.");return new CFFFDSelect(a,s)}}class CFF{header=null;names=[];topDict=null;strings=new CFFStrings;globalSubrIndex=null;encoding=null;charset=null;charStrings=null;fdArray=[];fdSelect=null;isCIDFont=!1;charStringCount=0;duplicateFirstGlyph(){if(this.charStrings.count>=65535){warn("Not enough space in charstrings to duplicate first glyph.");return}const e=this.charStrings.get(0);this.charStrings.add(e);this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}class CFFHeader{constructor(e,t,n,a){this.major=e;this.minor=t;this.hdrSize=n;this.offSize=a}}class CFFStrings{strings=[];get(e){return e>=0&&e<=390?Oa[e]:e-Ba<=this.strings.length?this.strings[e-Ba]:Oa[0]}getSID(e){let t=Oa.indexOf(e);if(-1!==t)return t;t=this.strings.indexOf(e);return-1!==t?t+Ba:-1}add(e){this.strings.push(e)}get count(){return this.strings.length}}class CFFIndex{objects=[];length=0;add(e){this.length+=e.length;this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length;this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}class CFFDict{constructor(e,t){this.keyToNameMap=e.keyToNameMap;this.nameToKeyMap=e.nameToKeyMap;this.defaults=e.defaults;this.types=e.types;this.opcodes=e.opcodes;this.order=e.order;this.strings=t;this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const n of t)if(isNaN(n)){warn(`Invalid CFFDict value: "${t}" for key "${e}".`);return!0}const n=this.types[e];"num"!==n&&"sid"!==n&&"offset"!==n||(t=t[0]);this.values[e]=t;return!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const n of e){const e=Array.isArray(n[0])?(n[0][0]<<8)+n[0][1]:n[0];t.keyToNameMap[e]=n[1];t.nameToKeyMap[n[1]]=e;t.types[e]=n[2];t.defaults[e]=n[3];t.opcodes[e]=Array.isArray(n[0])?n[0]:[n[0]];t.order.push(e)}return t}}const Ma=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class CFFTopDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(Ma))}constructor(e){super(CFFTopDict.tables,e);this.privateDict=null}}const Pa=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class CFFPrivateDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(Pa))}constructor(e){super(CFFPrivateDict.tables,e);this.subrsIndex=null}}const Ea={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class CFFCharset{constructor(e,t,n,a){this.predefined=e;this.format=t;this.charset=n;this.raw=a}}class CFFEncoding{constructor(e,t,n,a){this.predefined=e;this.format=t;this.encoding=n;this.raw=a}}class CFFFDSelect{constructor(e,t){this.format=e;this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}class CFFOffsetTracker{offsets=Object.create(null);isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new FormatError(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,n){if(!(e in this.offsets))throw new FormatError(`Not tracking location of ${e}`);const a=n.data,s=this.offsets[e];for(let e=0,n=t.length;e<n;++e){const n=5*e+s,r=n+1,i=n+2,o=n+3,l=n+4;if(29!==a[n]||0!==a[r]||0!==a[i]||0!==a[o]||0!==a[l])throw new FormatError("writing to an offset that is not empty");const f=t[e];a[n]=29;a[r]=f>>24&255;a[i]=f>>16&255;a[o]=f>>8&255;a[l]=255&f}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},n=this.compileHeader(e.header);t.add(n);const a=this.compileNameIndex(e.names);t.add(a);if(e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const n of e.fdArray){let e=t.slice(0);n.hasName("FontMatrix")&&(e=Util.transform(e,n.getByName("FontMatrix")));n.setByName("FontMatrix",e)}}const s=e.topDict.getByName("XUID");s?.length>16&&e.topDict.removeByName("XUID");e.topDict.setByName("charset",0);let r=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(r.output);const i=r.trackers[0],o=this.compileStringIndex(e.strings.strings);t.add(o);const l=this.compileIndex(e.globalSubrIndex);t.add(l);if(e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)i.setEntryLocation("Encoding",[e.encoding.format],t);else{const n=this.compileEncoding(e.encoding);i.setEntryLocation("Encoding",[t.length],t);t.add(n)}const f=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);i.setEntryLocation("charset",[t.length],t);t.add(f);const c=this.compileCharStrings(e.charStrings);i.setEntryLocation("CharStrings",[t.length],t);t.add(c);if(e.isCIDFont){i.setEntryLocation("FDSelect",[t.length],t);const n=this.compileFDSelect(e.fdSelect);t.add(n);r=this.compileTopDicts(e.fdArray,t.length,!0);i.setEntryLocation("FDArray",[t.length],t);t.add(r.output);const a=r.trackers;this.compilePrivateDicts(e.fdArray,a,t)}this.compilePrivateDicts([e.topDict],[i],t);t.add([0]);return t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return shadow(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const n=CFFCompiler.EncodeFloatRegExp.exec(t);if(n){const a=parseFloat("1e"+((n[2]?+n[2]:0)+n[1].length));t=(Math.round(e*a)/a).toString()}let a,s,r="";for(a=0,s=t.length;a<s;++a){const e=t[a];r+="e"===e?"-"===t[++a]?"c":"b":"."===e?"a":"-"===e?"e":e}r+=1&r.length?"f":"ff";const i=[30];for(a=0,s=r.length;a<s;a+=2)i.push(parseInt(r.substring(a,a+2),16));return i}encodeInteger(e){let t;t=e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e];return t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new CFFIndex;for(const n of e){const e=Math.min(n.length,127);let a=new Array(e);for(let t=0;t<e;t++){let e=n[t];(e<"!"||e>"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_");a[t]=e}a=a.join("");""===a&&(a="Bad_Font_Name");t.add(stringToBytes(a))}return this.compileIndex(t)}compileTopDicts(e,t,n){const a=[];let s=new CFFIndex;for(const r of e){if(n){r.removeByName("CIDFontVersion");r.removeByName("CIDFontRevision");r.removeByName("CIDFontType");r.removeByName("CIDCount");r.removeByName("UIDBase")}const e=new CFFOffsetTracker,i=this.compileDict(r,e);a.push(e);s.add(i);e.offset(t)}s=this.compileIndex(s,a);return{trackers:a,output:s}}compilePrivateDicts(e,t,n){for(let a=0,s=e.length;a<s;++a){const s=e[a],r=s.privateDict;if(!r||!s.hasName("Private"))throw new FormatError("There must be a private dictionary.");const i=new CFFOffsetTracker,o=this.compileDict(r,i);let l=n.length;i.offset(l);o.length||(l=0);t[a].setEntryLocation("Private",[o.length,l],n);n.add(o);if(r.subrsIndex&&r.hasName("Subrs")){const e=this.compileIndex(r.subrsIndex);i.setEntryLocation("Subrs",[o.length],n);n.add(e)}}}compileDict(e,t){const n=[];for(const a of e.order){if(!(a in e.values))continue;let s=e.values[a],r=e.types[a];Array.isArray(r)||(r=[r]);Array.isArray(s)||(s=[s]);if(0!==s.length){for(let i=0,o=r.length;i<o;++i){const o=r[i],l=s[i];switch(o){case"num":case"sid":n.push(...this.encodeNumber(l));break;case"offset":const r=e.keyToNameMap[a];t.isTracking(r)||t.track(r,n.length);n.push(29,0,0,0,0);break;case"array":case"delta":n.push(...this.encodeNumber(l));for(let e=1,t=s.length;e<t;++e)n.push(...this.encodeNumber(s[e]));break;default:throw new FormatError(`Unknown data type of ${o}`)}}n.push(...e.opcodes[a])}}return n}compileStringIndex(e){const t=new CFFIndex;for(const n of e)t.add(stringToBytes(n));return this.compileIndex(t)}compileCharStrings(e){const t=new CFFIndex;for(let n=0;n<e.count;n++){const a=e.get(n);0!==a.length?t.add(a):t.add(new Uint8Array([139,14]))}return this.compileIndex(t)}compileCharset(e,t,n,a){let s;const r=t-1;if(a){const e=r-1;s=new Uint8Array([2,0,1,e>>8&255,255&e])}else{s=new Uint8Array(1+2*r);s[0]=0;let t=0;const a=e.charset.length;let i=!1;for(let r=1;r<s.length;r+=2){let o=0;if(t<a){const a=e.charset[t++];o=n.getSID(a);if(-1===o){o=0;if(!i){i=!0;warn(`Couldn't find ${a} in CFF strings`)}}}s[r]=o>>8&255;s[r+1]=255&o}}return this.compileTypedArray(s)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let n,a;switch(t){case 0:n=new Uint8Array(1+e.fdSelect.length);n[0]=t;for(a=0;a<e.fdSelect.length;a++)n[a+1]=e.fdSelect[a];break;case 3:const s=0;let r=e.fdSelect[0];const i=[t,0,0,s>>8&255,255&s,r];for(a=1;a<e.fdSelect.length;a++){const t=e.fdSelect[a];if(t!==r){i.push(a>>8&255,255&a,t);r=t}}const o=(i.length-3)/3;i[1]=o>>8&255;i[2]=255&o;i.push(a>>8&255,255&a);n=new Uint8Array(i)}return this.compileTypedArray(n)}compileTypedArray(e){return Array.from(e)}compileIndex(e,t=[]){const n=e.objects,a=n.length;if(0===a)return[0,0];const s=[a>>8&255,255&a];let r,i,o=1;for(r=0;r<a;++r)o+=n[r].length;i=o<256?1:o<65536?2:o<16777216?3:4;s.push(i);let l=1;for(r=0;r<a+1;r++){1===i?s.push(255&l):2===i?s.push(l>>8&255,255&l):3===i?s.push(l>>16&255,l>>8&255,255&l):s.push(l>>>24&255,l>>16&255,l>>8&255,255&l);n[r]&&(l+=n[r].length)}for(r=0;r<a;r++){t[r]&&t[r].offset(s.length);s.push(...n[r])}return s}}const Na=getLookupTableFactory(function(e){e["Times-Roman"]="Times-Roman";e.Helvetica="Helvetica";e.Courier="Courier";e.Symbol="Symbol";e["Times-Bold"]="Times-Bold";e["Helvetica-Bold"]="Helvetica-Bold";e["Courier-Bold"]="Courier-Bold";e.ZapfDingbats="ZapfDingbats";e["Times-Italic"]="Times-Italic";e["Helvetica-Oblique"]="Helvetica-Oblique";e["Courier-Oblique"]="Courier-Oblique";e["Times-BoldItalic"]="Times-BoldItalic";e["Helvetica-BoldOblique"]="Helvetica-BoldOblique";e["Courier-BoldOblique"]="Courier-BoldOblique";e.ArialNarrow="Helvetica";e["ArialNarrow-Bold"]="Helvetica-Bold";e["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique";e["ArialNarrow-Italic"]="Helvetica-Oblique";e.ArialBlack="Helvetica";e["ArialBlack-Bold"]="Helvetica-Bold";e["ArialBlack-BoldItalic"]="Helvetica-BoldOblique";e["ArialBlack-Italic"]="Helvetica-Oblique";e["Arial-Black"]="Helvetica";e["Arial-Black-Bold"]="Helvetica-Bold";e["Arial-Black-BoldItalic"]="Helvetica-BoldOblique";e["Arial-Black-Italic"]="Helvetica-Oblique";e.Arial="Helvetica";e["Arial-Bold"]="Helvetica-Bold";e["Arial-BoldItalic"]="Helvetica-BoldOblique";e["Arial-Italic"]="Helvetica-Oblique";e.ArialMT="Helvetica";e["Arial-BoldItalicMT"]="Helvetica-BoldOblique";e["Arial-BoldMT"]="Helvetica-Bold";e["Arial-ItalicMT"]="Helvetica-Oblique";e["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique";e["Arial-BoldMT-Bold"]="Helvetica-Bold";e["Arial-ItalicMT-Italic"]="Helvetica-Oblique";e.ArialUnicodeMS="Helvetica";e["ArialUnicodeMS-Bold"]="Helvetica-Bold";e["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique";e["ArialUnicodeMS-Italic"]="Helvetica-Oblique";e["Courier-BoldItalic"]="Courier-BoldOblique";e["Courier-Italic"]="Courier-Oblique";e.CourierNew="Courier";e["CourierNew-Bold"]="Courier-Bold";e["CourierNew-BoldItalic"]="Courier-BoldOblique";e["CourierNew-Italic"]="Courier-Oblique";e["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique";e["CourierNewPS-BoldMT"]="Courier-Bold";e["CourierNewPS-ItalicMT"]="Courier-Oblique";e.CourierNewPSMT="Courier";e["Helvetica-BoldItalic"]="Helvetica-BoldOblique";e["Helvetica-Italic"]="Helvetica-Oblique";e["HelveticaLTStd-Bold"]="Helvetica-Bold";e["Symbol-Bold"]="Symbol";e["Symbol-BoldItalic"]="Symbol";e["Symbol-Italic"]="Symbol";e.TimesNewRoman="Times-Roman";e["TimesNewRoman-Bold"]="Times-Bold";e["TimesNewRoman-BoldItalic"]="Times-BoldItalic";e["TimesNewRoman-Italic"]="Times-Italic";e.TimesNewRomanPS="Times-Roman";e["TimesNewRomanPS-Bold"]="Times-Bold";e["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic";e["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic";e["TimesNewRomanPS-BoldMT"]="Times-Bold";e["TimesNewRomanPS-Italic"]="Times-Italic";e["TimesNewRomanPS-ItalicMT"]="Times-Italic";e.TimesNewRomanPSMT="Times-Roman";e["TimesNewRomanPSMT-Bold"]="Times-Bold";e["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic";e["TimesNewRomanPSMT-Italic"]="Times-Italic"}),za=getLookupTableFactory(function(e){e.Courier="FoxitFixed.pfb";e["Courier-Bold"]="FoxitFixedBold.pfb";e["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb";e["Courier-Oblique"]="FoxitFixedItalic.pfb";e.Helvetica="LiberationSans-Regular.ttf";e["Helvetica-Bold"]="LiberationSans-Bold.ttf";e["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf";e["Helvetica-Oblique"]="LiberationSans-Italic.ttf";e["Times-Roman"]="FoxitSerif.pfb";e["Times-Bold"]="FoxitSerifBold.pfb";e["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb";e["Times-Italic"]="FoxitSerifItalic.pfb";e.Symbol="FoxitSymbol.pfb";e.ZapfDingbats="FoxitDingbats.pfb";e["LiberationSans-Regular"]="LiberationSans-Regular.ttf";e["LiberationSans-Bold"]="LiberationSans-Bold.ttf";e["LiberationSans-Italic"]="LiberationSans-Italic.ttf";e["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"}),La=getLookupTableFactory(function(e){e.Calibri="Helvetica";e["Calibri-Bold"]="Helvetica-Bold";e["Calibri-BoldItalic"]="Helvetica-BoldOblique";e["Calibri-Italic"]="Helvetica-Oblique";e.CenturyGothic="Helvetica";e["CenturyGothic-Bold"]="Helvetica-Bold";e["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique";e["CenturyGothic-Italic"]="Helvetica-Oblique";e.ComicSansMS="Comic Sans MS";e["ComicSansMS-Bold"]="Comic Sans MS-Bold";e["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic";e["ComicSansMS-Italic"]="Comic Sans MS-Italic";e.GillSansMT="Helvetica";e["GillSansMT-Bold"]="Helvetica-Bold";e["GillSansMT-BoldItalic"]="Helvetica-BoldOblique";e["GillSansMT-Italic"]="Helvetica-Oblique";e.Impact="Helvetica";e["ItcSymbol-Bold"]="Helvetica-Bold";e["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique";e["ItcSymbol-Book"]="Helvetica";e["ItcSymbol-BookItalic"]="Helvetica-Oblique";e["ItcSymbol-Medium"]="Helvetica";e["ItcSymbol-MediumItalic"]="Helvetica-Oblique";e.LucidaConsole="Courier";e["LucidaConsole-Bold"]="Courier-Bold";e["LucidaConsole-BoldItalic"]="Courier-BoldOblique";e["LucidaConsole-Italic"]="Courier-Oblique";e["LucidaSans-Demi"]="Helvetica-Bold";e["MS-Gothic"]="MS Gothic";e["MS-Gothic-Bold"]="MS Gothic-Bold";e["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic";e["MS-Gothic-Italic"]="MS Gothic-Italic";e["MS-Mincho"]="MS Mincho";e["MS-Mincho-Bold"]="MS Mincho-Bold";e["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic";e["MS-Mincho-Italic"]="MS Mincho-Italic";e["MS-PGothic"]="MS PGothic";e["MS-PGothic-Bold"]="MS PGothic-Bold";e["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic";e["MS-PGothic-Italic"]="MS PGothic-Italic";e["MS-PMincho"]="MS PMincho";e["MS-PMincho-Bold"]="MS PMincho-Bold";e["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic";e["MS-PMincho-Italic"]="MS PMincho-Italic";e.NuptialScript="Times-Italic";e.SegoeUISymbol="Helvetica"}),Ua=getLookupTableFactory(function(e){e["Adobe Jenson"]=!0;e["Adobe Text"]=!0;e.Albertus=!0;e.Aldus=!0;e.Alexandria=!0;e.Algerian=!0;e["American Typewriter"]=!0;e.Antiqua=!0;e.Apex=!0;e.Arno=!0;e.Aster=!0;e.Aurora=!0;e.Baskerville=!0;e.Bell=!0;e.Bembo=!0;e["Bembo Schoolbook"]=!0;e.Benguiat=!0;e["Berkeley Old Style"]=!0;e["Bernhard Modern"]=!0;e["Berthold City"]=!0;e.Bodoni=!0;e["Bauer Bodoni"]=!0;e["Book Antiqua"]=!0;e.Bookman=!0;e["Bordeaux Roman"]=!0;e["Californian FB"]=!0;e.Calisto=!0;e.Calvert=!0;e.Capitals=!0;e.Cambria=!0;e.Cartier=!0;e.Caslon=!0;e.Catull=!0;e.Centaur=!0;e["Century Old Style"]=!0;e["Century Schoolbook"]=!0;e.Chaparral=!0;e["Charis SIL"]=!0;e.Cheltenham=!0;e["Cholla Slab"]=!0;e.Clarendon=!0;e.Clearface=!0;e.Cochin=!0;e.Colonna=!0;e["Computer Modern"]=!0;e["Concrete Roman"]=!0;e.Constantia=!0;e["Cooper Black"]=!0;e.Corona=!0;e.Ecotype=!0;e.Egyptienne=!0;e.Elephant=!0;e.Excelsior=!0;e.Fairfield=!0;e["FF Scala"]=!0;e.Folkard=!0;e.Footlight=!0;e.FreeSerif=!0;e["Friz Quadrata"]=!0;e.Garamond=!0;e.Gentium=!0;e.Georgia=!0;e.Gloucester=!0;e["Goudy Old Style"]=!0;e["Goudy Schoolbook"]=!0;e["Goudy Pro Font"]=!0;e.Granjon=!0;e["Guardian Egyptian"]=!0;e.Heather=!0;e.Hercules=!0;e["High Tower Text"]=!0;e.Hiroshige=!0;e["Hoefler Text"]=!0;e["Humana Serif"]=!0;e.Imprint=!0;e["Ionic No. 5"]=!0;e.Janson=!0;e.Joanna=!0;e.Korinna=!0;e.Lexicon=!0;e.LiberationSerif=!0;e["Liberation Serif"]=!0;e["Linux Libertine"]=!0;e.Literaturnaya=!0;e.Lucida=!0;e["Lucida Bright"]=!0;e.Melior=!0;e.Memphis=!0;e.Miller=!0;e.Minion=!0;e.Modern=!0;e["Mona Lisa"]=!0;e["Mrs Eaves"]=!0;e["MS Serif"]=!0;e["Museo Slab"]=!0;e["New York"]=!0;e["Nimbus Roman"]=!0;e["NPS Rawlinson Roadway"]=!0;e.NuptialScript=!0;e.Palatino=!0;e.Perpetua=!0;e.Plantin=!0;e["Plantin Schoolbook"]=!0;e.Playbill=!0;e["Poor Richard"]=!0;e["Rawlinson Roadway"]=!0;e.Renault=!0;e.Requiem=!0;e.Rockwell=!0;e.Roman=!0;e["Rotis Serif"]=!0;e.Sabon=!0;e.Scala=!0;e.Seagull=!0;e.Sistina=!0;e.Souvenir=!0;e.STIX=!0;e["Stone Informal"]=!0;e["Stone Serif"]=!0;e.Sylfaen=!0;e.Times=!0;e.Trajan=!0;e["Trinité"]=!0;e["Trump Mediaeval"]=!0;e.Utopia=!0;e["Vale Type"]=!0;e["Bitstream Vera"]=!0;e["Vera Serif"]=!0;e.Versailles=!0;e.Wanted=!0;e.Weiss=!0;e["Wide Latin"]=!0;e.Windsor=!0;e.XITS=!0}),_a=getLookupTableFactory(function(e){e.Dingbats=!0;e.Symbol=!0;e.ZapfDingbats=!0;e.Wingdings=!0;e["Wingdings-Bold"]=!0;e["Wingdings-Regular"]=!0}),Xa=getLookupTableFactory(function(e){e[2]=10;e[3]=32;e[4]=33;e[5]=34;e[6]=35;e[7]=36;e[8]=37;e[9]=38;e[10]=39;e[11]=40;e[12]=41;e[13]=42;e[14]=43;e[15]=44;e[16]=45;e[17]=46;e[18]=47;e[19]=48;e[20]=49;e[21]=50;e[22]=51;e[23]=52;e[24]=53;e[25]=54;e[26]=55;e[27]=56;e[28]=57;e[29]=58;e[30]=894;e[31]=60;e[32]=61;e[33]=62;e[34]=63;e[35]=64;e[36]=65;e[37]=66;e[38]=67;e[39]=68;e[40]=69;e[41]=70;e[42]=71;e[43]=72;e[44]=73;e[45]=74;e[46]=75;e[47]=76;e[48]=77;e[49]=78;e[50]=79;e[51]=80;e[52]=81;e[53]=82;e[54]=83;e[55]=84;e[56]=85;e[57]=86;e[58]=87;e[59]=88;e[60]=89;e[61]=90;e[62]=91;e[63]=92;e[64]=93;e[65]=94;e[66]=95;e[67]=96;e[68]=97;e[69]=98;e[70]=99;e[71]=100;e[72]=101;e[73]=102;e[74]=103;e[75]=104;e[76]=105;e[77]=106;e[78]=107;e[79]=108;e[80]=109;e[81]=110;e[82]=111;e[83]=112;e[84]=113;e[85]=114;e[86]=115;e[87]=116;e[88]=117;e[89]=118;e[90]=119;e[91]=120;e[92]=121;e[93]=122;e[94]=123;e[95]=124;e[96]=125;e[97]=126;e[98]=196;e[99]=197;e[100]=199;e[101]=201;e[102]=209;e[103]=214;e[104]=220;e[105]=225;e[106]=224;e[107]=226;e[108]=228;e[109]=227;e[110]=229;e[111]=231;e[112]=233;e[113]=232;e[114]=234;e[115]=235;e[116]=237;e[117]=236;e[118]=238;e[119]=239;e[120]=241;e[121]=243;e[122]=242;e[123]=244;e[124]=246;e[125]=245;e[126]=250;e[127]=249;e[128]=251;e[129]=252;e[130]=8224;e[131]=176;e[132]=162;e[133]=163;e[134]=167;e[135]=8226;e[136]=182;e[137]=223;e[138]=174;e[139]=169;e[140]=8482;e[141]=180;e[142]=168;e[143]=8800;e[144]=198;e[145]=216;e[146]=8734;e[147]=177;e[148]=8804;e[149]=8805;e[150]=165;e[151]=181;e[152]=8706;e[153]=8721;e[154]=8719;e[156]=8747;e[157]=170;e[158]=186;e[159]=8486;e[160]=230;e[161]=248;e[162]=191;e[163]=161;e[164]=172;e[165]=8730;e[166]=402;e[167]=8776;e[168]=8710;e[169]=171;e[170]=187;e[171]=8230;e[179]=8220;e[180]=8221;e[181]=8216;e[182]=8217;e[200]=193;e[203]=205;e[207]=211;e[210]=218;e[223]=711;e[224]=321;e[225]=322;e[226]=352;e[227]=353;e[228]=381;e[229]=382;e[233]=221;e[234]=253;e[252]=263;e[253]=268;e[254]=269;e[258]=258;e[260]=260;e[261]=261;e[265]=280;e[266]=281;e[267]=282;e[268]=283;e[269]=313;e[275]=323;e[276]=324;e[278]=328;e[283]=344;e[284]=345;e[285]=346;e[286]=347;e[292]=367;e[295]=377;e[296]=378;e[298]=380;e[305]=963;e[306]=964;e[307]=966;e[308]=8215;e[309]=8252;e[310]=8319;e[311]=8359;e[312]=8592;e[313]=8593;e[337]=9552;e[493]=1039;e[494]=1040;e[570]=1040;e[571]=1041;e[572]=1042;e[573]=1043;e[574]=1044;e[575]=1045;e[576]=1046;e[577]=1047;e[578]=1048;e[579]=1049;e[580]=1050;e[581]=1051;e[582]=1052;e[583]=1053;e[584]=1054;e[585]=1055;e[586]=1056;e[587]=1057;e[588]=1058;e[589]=1059;e[590]=1060;e[591]=1061;e[592]=1062;e[593]=1063;e[594]=1064;e[595]=1065;e[596]=1066;e[597]=1067;e[598]=1068;e[599]=1069;e[600]=1070;e[601]=1071;e[602]=1072;e[603]=1073;e[604]=1074;e[605]=1075;e[606]=1076;e[607]=1077;e[608]=1078;e[609]=1079;e[610]=1080;e[611]=1081;e[612]=1082;e[613]=1083;e[614]=1084;e[615]=1085;e[616]=1086;e[617]=1087;e[618]=1088;e[619]=1089;e[620]=1090;e[621]=1091;e[622]=1092;e[623]=1093;e[624]=1094;e[625]=1095;e[626]=1096;e[627]=1097;e[628]=1098;e[629]=1099;e[630]=1100;e[631]=1101;e[632]=1102;e[633]=1103;e[672]=1488;e[673]=1489;e[674]=1490;e[675]=1491;e[676]=1492;e[677]=1493;e[678]=1494;e[679]=1495;e[680]=1496;e[681]=1497;e[682]=1498;e[683]=1499;e[684]=1500;e[685]=1501;e[686]=1502;e[687]=1503;e[688]=1504;e[689]=1505;e[690]=1506;e[691]=1507;e[692]=1508;e[693]=1509;e[694]=1510;e[695]=1511;e[696]=1512;e[697]=1513;e[698]=1514;e[705]=1524;e[706]=8362;e[710]=64288;e[711]=64298;e[759]=1617;e[761]=1776;e[763]=1778;e[775]=1652;e[777]=1764;e[778]=1780;e[779]=1781;e[780]=1782;e[782]=771;e[783]=64726;e[786]=8363;e[788]=8532;e[790]=768;e[791]=769;e[792]=768;e[795]=803;e[797]=64336;e[798]=64337;e[799]=64342;e[800]=64343;e[801]=64344;e[802]=64345;e[803]=64362;e[804]=64363;e[805]=64364;e[2424]=7821;e[2425]=7822;e[2426]=7823;e[2427]=7824;e[2428]=7825;e[2429]=7826;e[2430]=7827;e[2433]=7682;e[2678]=8045;e[2679]=8046;e[2830]=1552;e[2838]=686;e[2840]=751;e[2842]=753;e[2843]=754;e[2844]=755;e[2846]=757;e[2856]=767;e[2857]=848;e[2858]=849;e[2862]=853;e[2863]=854;e[2864]=855;e[2865]=861;e[2866]=862;e[2906]=7460;e[2908]=7462;e[2909]=7463;e[2910]=7464;e[2912]=7466;e[2913]=7467;e[2914]=7468;e[2916]=7470;e[2917]=7471;e[2918]=7472;e[2920]=7474;e[2921]=7475;e[2922]=7476;e[2924]=7478;e[2925]=7479;e[2926]=7480;e[2928]=7482;e[2929]=7483;e[2930]=7484;e[2932]=7486;e[2933]=7487;e[2934]=7488;e[2936]=7490;e[2937]=7491;e[2938]=7492;e[2940]=7494;e[2941]=7495;e[2942]=7496;e[2944]=7498;e[2946]=7500;e[2948]=7502;e[2950]=7504;e[2951]=7505;e[2952]=7506;e[2954]=7508;e[2955]=7509;e[2956]=7510;e[2958]=7512;e[2959]=7513;e[2960]=7514;e[2962]=7516;e[2963]=7517;e[2964]=7518;e[2966]=7520;e[2967]=7521;e[2968]=7522;e[2970]=7524;e[2971]=7525;e[2972]=7526;e[2974]=7528;e[2975]=7529;e[2976]=7530;e[2978]=1537;e[2979]=1538;e[2980]=1539;e[2982]=1549;e[2983]=1551;e[2984]=1552;e[2986]=1554;e[2987]=1555;e[2988]=1556;e[2990]=1623;e[2991]=1624;e[2995]=1775;e[2999]=1791;e[3002]=64290;e[3003]=64291;e[3004]=64292;e[3006]=64294;e[3007]=64295;e[3008]=64296;e[3011]=1900;e[3014]=8223;e[3015]=8244;e[3017]=7532;e[3018]=7533;e[3019]=7534;e[3075]=7590;e[3076]=7591;e[3079]=7594;e[3080]=7595;e[3083]=7598;e[3084]=7599;e[3087]=7602;e[3088]=7603;e[3091]=7606;e[3092]=7607;e[3095]=7610;e[3096]=7611;e[3099]=7614;e[3100]=7615;e[3103]=7618;e[3104]=7619;e[3107]=8337;e[3108]=8338;e[3116]=1884;e[3119]=1885;e[3120]=1885;e[3123]=1886;e[3124]=1886;e[3127]=1887;e[3128]=1887;e[3131]=1888;e[3132]=1888;e[3135]=1889;e[3136]=1889;e[3139]=1890;e[3140]=1890;e[3143]=1891;e[3144]=1891;e[3147]=1892;e[3148]=1892;e[3153]=580;e[3154]=581;e[3157]=584;e[3158]=585;e[3161]=588;e[3162]=589;e[3165]=891;e[3166]=892;e[3169]=1274;e[3170]=1275;e[3173]=1278;e[3174]=1279;e[3181]=7622;e[3182]=7623;e[3282]=11799;e[3316]=578;e[3379]=42785;e[3393]=1159;e[3416]=8377}),Wa=getLookupTableFactory(function(e){e[227]=322;e[264]=261;e[291]=346}),Ka=getLookupTableFactory(function(e){e[1]=32;e[4]=65;e[5]=192;e[6]=193;e[9]=196;e[17]=66;e[18]=67;e[21]=268;e[24]=68;e[28]=69;e[29]=200;e[30]=201;e[32]=282;e[38]=70;e[39]=71;e[44]=72;e[47]=73;e[48]=204;e[49]=205;e[58]=74;e[60]=75;e[62]=76;e[68]=77;e[69]=78;e[75]=79;e[76]=210;e[80]=214;e[87]=80;e[89]=81;e[90]=82;e[92]=344;e[94]=83;e[97]=352;e[100]=84;e[104]=85;e[109]=220;e[115]=86;e[116]=87;e[121]=88;e[122]=89;e[124]=221;e[127]=90;e[129]=381;e[258]=97;e[259]=224;e[260]=225;e[263]=228;e[268]=261;e[271]=98;e[272]=99;e[273]=263;e[275]=269;e[282]=100;e[286]=101;e[287]=232;e[288]=233;e[290]=283;e[295]=281;e[296]=102;e[336]=103;e[346]=104;e[349]=105;e[350]=236;e[351]=237;e[361]=106;e[364]=107;e[367]=108;e[371]=322;e[373]=109;e[374]=110;e[381]=111;e[382]=242;e[383]=243;e[386]=246;e[393]=112;e[395]=113;e[396]=114;e[398]=345;e[400]=115;e[401]=347;e[403]=353;e[410]=116;e[437]=117;e[442]=252;e[448]=118;e[449]=119;e[454]=120;e[455]=121;e[457]=253;e[460]=122;e[462]=382;e[463]=380;e[853]=44;e[855]=58;e[856]=46;e[876]=47;e[878]=45;e[882]=45;e[894]=40;e[895]=41;e[896]=91;e[897]=93;e[923]=64;e[940]=163;e[1004]=48;e[1005]=49;e[1006]=50;e[1007]=51;e[1008]=52;e[1009]=53;e[1010]=54;e[1011]=55;e[1012]=56;e[1013]=57;e[1081]=37;e[1085]=43;e[1086]=45});function getStandardFontName(e){const t=normalizeFontName(e);return Na()[t]}function isKnownFontName(e){const t=normalizeFontName(e);return!!(Na()[t]||La()[t]||Ua()[t]||_a()[t])}class ToUnicodeMap{constructor(e=[]){this._map=e}get length(){return this._map.length}forEach(e){for(const t in this._map)e(t,this._map[t].codePointAt(0))}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const n in t)if(t[n]===e)return 0|n;return-1}amend(e){for(const t in e)this._map[t]=e[t]}}class IdentityToUnicodeMap{constructor(e,t){this.firstChar=e;this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,n=this.lastChar;t<=n;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){unreachable("Should not call amend()")}}class CFFFont{constructor(e,t){this.properties=t;const n=new CFFParser(e,t,qa);this.cff=n.parse();this.cff.duplicateFirstGlyph();const a=new CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=a.compile()}catch{warn("Failed to compile font "+t.loadedName);this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:n,cMap:a}=t,s=e.charset.charset;let r,i;if(t.composite){let t,o;if(n?.length>0){t=Object.create(null);for(let e=0,a=n.length;e<a;e++){const a=n[e];void 0!==a&&(t[a]=e)}}r=Object.create(null);if(e.isCIDFont)for(i=0;i<s.length;i++){const e=s[i];o=a.charCodeOf(e);void 0!==t?.[o]&&(o=t[o]);r[o]=i}else for(i=0;i<e.charStrings.count;i++){o=a.charCodeOf(i);r[o]=i}return r}let o=e.encoding?e.encoding.encoding:null;t.isInternalFont&&(o=t.defaultEncoding);r=type1FontGlyphMapping(t,o,s);return r}hasGlyphId(e){return this.cff.hasGlyphId(e)}_createBuiltInEncoding(){const{charset:e,encoding:t}=this.cff;if(!e||!t)return;const n=e.charset,a=t.encoding,s=[];for(const e in a){const t=a[e];if(t>=0){const a=n[t];a&&(s[e]=a)}}s.length>0&&(this.properties.builtInEncoding=s)}}function getFloat214(e,t){return readInt16(e,t)/16384}function getSubroutineBias(e){const t=e.length;let n=32768;t<1240?n=107:t<33900&&(n=1131);return n}function parseCmap(e,t,n){const a=1===readUint16(e,t+2)?readUint32(e,t+8):readUint32(e,t+16),s=readUint16(e,t+a);let r,i,o;if(4===s){readUint16(e,t+a+2);const n=readUint16(e,t+a+6)>>1;i=t+a+14;r=[];for(o=0;o<n;o++,i+=2)r[o]={end:readUint16(e,i)};i+=2;for(o=0;o<n;o++,i+=2)r[o].start=readUint16(e,i);for(o=0;o<n;o++,i+=2)r[o].idDelta=readUint16(e,i);for(o=0;o<n;o++,i+=2){let t=readUint16(e,i);if(0!==t){r[o].ids=[];for(let n=0,a=r[o].end-r[o].start+1;n<a;n++){r[o].ids[n]=readUint16(e,i+t);t+=2}}}return r}if(12===s){const n=readUint32(e,t+a+12);i=t+a+16;r=[];for(o=0;o<n;o++){t=readUint32(e,i);r.push({start:t,end:readUint32(e,i+4),idDelta:readUint32(e,i+8)-t});i+=12}return r}throw new FormatError(`unsupported cmap: ${s}`)}function parseCff(e,t,n,a){const s=new CFFParser(new Stream(e,t,n-t),{},a).parse();return{glyphs:s.charStrings.objects,subrs:s.topDict.privateDict?.subrsIndex?.objects,gsubrs:s.globalSubrIndex?.objects,isCFFCIDFont:s.isCIDFont,fdSelect:s.fdSelect,fdArray:s.fdArray}}function lookupCmap(e,t){const n=t.codePointAt(0);let a=0,s=0,r=e.length-1;for(;s<r;){const t=s+r+1>>1;n<e[t].start?r=t-1:s=t}e[s].start<=n&&n<=e[s].end&&(a=e[s].idDelta+(e[s].ids?e[s].ids[n-e[s].start]:n)&65535);return{charCode:n,glyphId:a}}function compileGlyf(e,t,n){function moveTo(e,n){i&&t.add(Gt,i);i=[e,n];t.add(Kt,[e,n])}function lineTo(e,n){t.add(Gt,[e,n])}function quadraticCurveTo(e,n,a,s){t.add($t,[e,n,a,s])}let a=0;const s=readInt16(e,a);let r,i=null,o=0,l=0;a+=10;if(s<0)do{r=readUint16(e,a);const s=readUint16(e,a+2);a+=4;let i,f;if(1&r){if(2&r){i=readInt16(e,a);f=readInt16(e,a+2)}else{i=readUint16(e,a);f=readUint16(e,a+2)}a+=4}else if(2&r){i=readInt8(e,a++);f=readInt8(e,a++)}else{i=e[a++];f=e[a++]}if(2&r){o=i;l=f}else{o=0;l=0}let c=1,h=1,u=0,m=0;if(8&r){c=h=getFloat214(e,a);a+=2}else if(64&r){c=getFloat214(e,a);h=getFloat214(e,a+2);a+=4}else if(128&r){c=getFloat214(e,a);u=getFloat214(e,a+2);m=getFloat214(e,a+4);h=getFloat214(e,a+6);a+=8}const p=n.glyphs[s];if(p){t.save();t.transform([c,u,m,h,o,l]);compileGlyf(p,t,n);t.restore()}}while(32&r);else{const t=[];let n,i;for(n=0;n<s;n++){t.push(readUint16(e,a));a+=2}a+=2+readUint16(e,a);const f=t.at(-1)+1,c=[];for(;c.length<f;){r=e[a++];let t=1;8&r&&(t+=e[a++]);for(;t-- >0;)c.push({flags:r})}for(n=0;n<f;n++){switch(18&c[n].flags){case 0:o+=readInt16(e,a);a+=2;break;case 2:o-=e[a++];break;case 18:o+=e[a++]}c[n].x=o}for(n=0;n<f;n++){switch(36&c[n].flags){case 0:l+=readInt16(e,a);a+=2;break;case 4:l-=e[a++];break;case 36:l+=e[a++]}c[n].y=l}let h=0;for(a=0;a<s;a++){const e=t[a],s=c.slice(h,e+1);if(1&s[0].flags)s.push(s[0]);else if(1&s.at(-1).flags)s.unshift(s.at(-1));else{const e={flags:1,x:(s[0].x+s.at(-1).x)/2,y:(s[0].y+s.at(-1).y)/2};s.unshift(e);s.push(e)}moveTo(s[0].x,s[0].y);for(n=1,i=s.length;n<i;n++)if(1&s[n].flags)lineTo(s[n].x,s[n].y);else if(1&s[n+1].flags){quadraticCurveTo(s[n].x,s[n].y,s[n+1].x,s[n+1].y);n++}else quadraticCurveTo(s[n].x,s[n].y,(s[n].x+s[n+1].x)/2,(s[n].y+s[n+1].y)/2);h=e+1}}}function compileCharString(e,t,n,a){function moveTo(e,n){l&&t.add(Gt,l);l=[e,n];t.add(Kt,[e,n])}function lineTo(e,n){t.add(Gt,[e,n])}function bezierCurveTo(e,n,a,s,r,i){t.add(Vt,[e,n,a,s,r,i])}const s=[];let r=0,i=0,o=0,l=null;!function parse(e){let l=0;for(;l<e.length;){let f,c,h,u,m,p,d,g,b,w=!1,j=e[l++];switch(j){case 1:case 3:case 18:case 23:o+=s.length>>1;w=!0;break;case 4:i+=s.pop();moveTo(r,i);w=!0;break;case 5:for(;s.length>0;){r+=s.shift();i+=s.shift();lineTo(r,i)}break;case 6:for(;s.length>0;){r+=s.shift();lineTo(r,i);if(0===s.length)break;i+=s.shift();lineTo(r,i)}break;case 7:for(;s.length>0;){i+=s.shift();lineTo(r,i);if(0===s.length)break;r+=s.shift();lineTo(r,i)}break;case 8:for(;s.length>0;){f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+s.shift();bezierCurveTo(f,h,c,u,r,i)}break;case 10:g=s.pop();b=null;if(n.isCFFCIDFont){const e=n.fdSelect.getFDIndex(a);if(e>=0&&e<n.fdArray.length){const t=n.fdArray[e];let a;t.privateDict?.subrsIndex&&(a=t.privateDict.subrsIndex.objects);if(a){g+=getSubroutineBias(a);b=a[g]}}else warn("Invalid fd index for glyph index.")}else b=n.subrs[g+n.subrsBias];b&&parse(b);break;case 11:return;case 12:j=e[l++];switch(j){case 34:f=r+s.shift();c=f+s.shift();m=i+s.shift();r=c+s.shift();bezierCurveTo(f,i,c,m,r,m);f=r+s.shift();c=f+s.shift();r=c+s.shift();bezierCurveTo(f,m,c,i,r,i);break;case 35:f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+s.shift();bezierCurveTo(f,h,c,u,r,i);f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+s.shift();bezierCurveTo(f,h,c,u,r,i);s.pop();break;case 36:f=r+s.shift();m=i+s.shift();c=f+s.shift();p=m+s.shift();r=c+s.shift();bezierCurveTo(f,m,c,p,r,p);f=r+s.shift();c=f+s.shift();d=p+s.shift();r=c+s.shift();bezierCurveTo(f,p,c,d,r,i);break;case 37:const e=r,t=i;f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+s.shift();bezierCurveTo(f,h,c,u,r,i);f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c;i=u;Math.abs(r-e)>Math.abs(i-t)?r+=s.shift():i+=s.shift();bezierCurveTo(f,h,c,u,r,i);break;default:throw new FormatError(`unknown operator: 12 ${j}`)}break;case 14:if(s.length>=4){const e=s.pop(),a=s.pop();i=s.pop();r=s.pop();t.save();t.translate(r,i);let o=lookupCmap(n.cmap,String.fromCharCode(n.glyphNameMap[ua[e]]));compileCharString(n.glyphs[o.glyphId],t,n,o.glyphId);t.restore();o=lookupCmap(n.cmap,String.fromCharCode(n.glyphNameMap[ua[a]]));compileCharString(n.glyphs[o.glyphId],t,n,o.glyphId)}return;case 19:case 20:o+=s.length>>1;l+=o+7>>3;w=!0;break;case 21:i+=s.pop();r+=s.pop();moveTo(r,i);w=!0;break;case 22:r+=s.pop();moveTo(r,i);w=!0;break;case 24:for(;s.length>2;){f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+s.shift();bezierCurveTo(f,h,c,u,r,i)}r+=s.shift();i+=s.shift();lineTo(r,i);break;case 25:for(;s.length>6;){r+=s.shift();i+=s.shift();lineTo(r,i)}f=r+s.shift();h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+s.shift();bezierCurveTo(f,h,c,u,r,i);break;case 26:s.length%2&&(r+=s.shift());for(;s.length>0;){f=r;h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c;i=u+s.shift();bezierCurveTo(f,h,c,u,r,i)}break;case 27:s.length%2&&(i+=s.shift());for(;s.length>0;){f=r+s.shift();h=i;c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u;bezierCurveTo(f,h,c,u,r,i)}break;case 28:s.push(readInt16(e,l));l+=2;break;case 29:g=s.pop()+n.gsubrsBias;b=n.gsubrs[g];b&&parse(b);break;case 30:for(;s.length>0;){f=r;h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+(1===s.length?s.shift():0);bezierCurveTo(f,h,c,u,r,i);if(0===s.length)break;f=r+s.shift();h=i;c=f+s.shift();u=h+s.shift();i=u+s.shift();r=c+(1===s.length?s.shift():0);bezierCurveTo(f,h,c,u,r,i)}break;case 31:for(;s.length>0;){f=r+s.shift();h=i;c=f+s.shift();u=h+s.shift();i=u+s.shift();r=c+(1===s.length?s.shift():0);bezierCurveTo(f,h,c,u,r,i);if(0===s.length)break;f=r;h=i+s.shift();c=f+s.shift();u=h+s.shift();r=c+s.shift();i=u+(1===s.length?s.shift():0);bezierCurveTo(f,h,c,u,r,i)}break;default:if(j<32)throw new FormatError(`unknown operator: ${j}`);if(j<247)s.push(j-139);else if(j<251)s.push(256*(j-247)+e[l++]+108);else if(j<255)s.push(256*-(j-251)-e[l++]-108);else{s.push((e[l]<<24|e[l+1]<<16|e[l+2]<<8|e[l+3])/65536);l+=4}}w&&(s.length=0)}}(e)}class Commands{cmds=[];transformStack=[];currentTransform=[1,0,0,1,0,0];add(e,t){if(t){const{currentTransform:n}=this;for(let e=0,a=t.length;e<a;e+=2)Util.applyTransform(t,n,e);this.cmds.push(e,...t)}else this.cmds.push(e)}transform(e){this.currentTransform=Util.transform(this.currentTransform,e)}translate(e,t){this.transform([1,0,0,1,e,t])}save(){this.transformStack.push(this.currentTransform.slice())}restore(){this.currentTransform=this.transformStack.pop()||[1,0,0,1,0,0]}getPath(){return new(FeatureTest.isFloat16ArraySupported?Float16Array:Float32Array)(this.cmds)}}class CompiledFont{constructor(e){this.fontMatrix=e;this.compiledGlyphs=Object.create(null);this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(e){const{charCode:t,glyphId:n}=lookupCmap(this.cmap,e);let a,s=this.compiledGlyphs[n];if(void 0===s){try{s=this.compileGlyph(this.glyphs[n],n)}catch(e){s="";a=e}this.compiledGlyphs[n]=s}this.compiledCharCodeToGlyphId[t]??=n;if(a)throw a;return s}compileGlyph(e,n){if(!e?.length||14===e[0])return"";let a=this.fontMatrix;if(this.isCFFCIDFont){const e=this.fdSelect.getFDIndex(n);if(e>=0&&e<this.fdArray.length){a=this.fdArray[e].getByName("FontMatrix")||t}else warn("Invalid fd index for glyph index.")}assert(isNumberArray(a,6),"Expected a valid fontMatrix.");const s=new Commands;s.transform(a.slice());this.compileGlyphImpl(e,s,n);s.add(Yt);return s.getPath()}compileGlyphImpl(){unreachable("Children classes should implement this.")}hasBuiltPath(e){const{charCode:t,glyphId:n}=lookupCmap(this.cmap,e);return void 0!==this.compiledGlyphs[n]&&void 0!==this.compiledCharCodeToGlyphId[t]}}class TrueTypeCompiled extends CompiledFont{constructor(e,t,n){super(n||[488e-6,0,0,488e-6,0,0]);this.glyphs=e;this.cmap=t}compileGlyphImpl(e,t){compileGlyf(e,t,this)}}class Type2Compiled extends CompiledFont{constructor(e,t,n){super(n||[.001,0,0,.001,0,0]);this.glyphs=e.glyphs;this.gsubrs=e.gsubrs||[];this.subrs=e.subrs||[];this.cmap=t;this.glyphNameMap=ga();this.gsubrsBias=getSubroutineBias(this.gsubrs);this.subrsBias=getSubroutineBias(this.subrs);this.isCFFCIDFont=e.isCFFCIDFont;this.fdSelect=e.fdSelect;this.fdArray=e.fdArray}compileGlyphImpl(e,t,n){compileCharString(e,t,this,n)}}class FontRendererFactory{static create(e,t){const n=new Uint8Array(e.data);let a,s,r,i,o,l;const f=readUint16(n,4);for(let e=0,c=12;e<f;e++,c+=16){const e=bytesToString(n.subarray(c,c+4)),f=readUint32(n,c+8),h=readUint32(n,c+12);switch(e){case"cmap":a=parseCmap(n,f);break;case"glyf":s=n.subarray(f,f+h);break;case"loca":r=n.subarray(f,f+h);break;case"head":l=readUint16(n,f+18);o=readUint16(n,f+50);break;case"CFF ":i=parseCff(n,f,f+h,t)}}if(s){const t=l?[1/l,0,0,1/l,0,0]:e.fontMatrix;return new TrueTypeCompiled(function parseGlyfTable(e,t,n){let a,s;if(n){a=4;s=readUint32}else{a=2;s=(e,t)=>2*readUint16(e,t)}const r=[];let i=s(t,0);for(let n=a;n<t.length;n+=a){const a=s(t,n);r.push(e.subarray(i,a));i=a}return r}(s,r,o),a,t)}return new Type2Compiled(i,a,e.fontMatrix)}}const Ga=getLookupTableFactory(function(e){e.Courier=600;e["Courier-Bold"]=600;e["Courier-BoldOblique"]=600;e["Courier-Oblique"]=600;e.Helvetica=getLookupTableFactory(function(e){e.space=278;e.exclam=278;e.quotedbl=355;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=667;e.quoteright=222;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=278;e.semicolon=278;e.less=584;e.equal=584;e.greater=584;e.question=556;e.at=1015;e.A=667;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=500;e.K=667;e.L=556;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=278;e.backslash=278;e.bracketright=278;e.asciicircum=469;e.underscore=556;e.quoteleft=222;e.a=556;e.b=556;e.c=500;e.d=556;e.e=556;e.f=278;e.g=556;e.h=556;e.i=222;e.j=222;e.k=500;e.l=222;e.m=833;e.n=556;e.o=556;e.p=556;e.q=556;e.r=333;e.s=500;e.t=278;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=500;e.braceleft=334;e.bar=260;e.braceright=334;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=191;e.quotedblleft=333;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=537;e.bullet=350;e.quotesinglbase=222;e.quotedblbase=333;e.quotedblright=333;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=556;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=222;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=556;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=667;e.aacute=556;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=500;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=500;e.aring=556;e.Ncommaaccent=722;e.lacute=222;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=500;e.scedilla=500;e.iacute=278;e.lozenge=471;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=556;e.Amacron=667;e.rcaron=333;e.ccedilla=500;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=643;e.Umacron=722;e.uring=556;e.threesuperior=333;e.Ograve=778;e.Agrave=667;e.Abreve=667;e.multiply=584;e.uacute=556;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=500;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=260;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=333;e.omacron=556;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=222;e.tcaron=317;e.eogonek=556;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=556;e.zacute=500;e.iogonek=222;e.Oacute=778;e.oacute=556;e.amacron=556;e.sacute=500;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=333;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=556;e.Eogonek=667;e.dcroat=556;e.threequarters=834;e.Scedilla=667;e.lcaron=299;e.Kcommaaccent=667;e.Lacute=556;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=556;e.onehalf=834;e.lessequal=549;e.ocircumflex=556;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=556;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=556;e.Ccaron=722;e.ugrave=556;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=556;e.Rcommaaccent=722;e.Lcommaaccent=556;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=500;e.minus=584;e.Icircumflex=278;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=584;e.odieresis=556;e.udieresis=556;e.notequal=549;e.gcommaaccent=556;e.eth=556;e.zcaron=500;e.ncommaaccent=556;e.onesuperior=333;e.imacron=278;e.Euro=556});e["Helvetica-Bold"]=getLookupTableFactory(function(e){e.space=278;e.exclam=333;e.quotedbl=474;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=722;e.quoteright=278;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=333;e.semicolon=333;e.less=584;e.equal=584;e.greater=584;e.question=611;e.at=975;e.A=722;e.B=722;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=556;e.K=722;e.L=611;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=584;e.underscore=556;e.quoteleft=278;e.a=556;e.b=611;e.c=556;e.d=611;e.e=556;e.f=333;e.g=611;e.h=611;e.i=278;e.j=278;e.k=556;e.l=278;e.m=889;e.n=611;e.o=611;e.p=611;e.q=611;e.r=389;e.s=556;e.t=333;e.u=611;e.v=556;e.w=778;e.x=556;e.y=556;e.z=500;e.braceleft=389;e.bar=280;e.braceright=389;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=238;e.quotedblleft=500;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=611;e.fl=611;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=556;e.bullet=350;e.quotesinglbase=278;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=611;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=278;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=611;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=722;e.aacute=556;e.Ucircumflex=722;e.yacute=556;e.scommaaccent=556;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=611;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=556;e.aring=556;e.Ncommaaccent=722;e.lacute=278;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=556;e.scedilla=556;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=611;e.acircumflex=556;e.Amacron=722;e.rcaron=389;e.ccedilla=556;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=743;e.Umacron=722;e.uring=611;e.threesuperior=333;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=584;e.uacute=611;e.Tcaron=611;e.partialdiff=494;e.ydieresis=556;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=556;e.nacute=611;e.umacron=611;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=280;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=611;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=389;e.eogonek=556;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=556;e.zacute=500;e.iogonek=278;e.Oacute=778;e.oacute=611;e.amacron=556;e.sacute=556;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=611;e.twosuperior=333;e.Odieresis=778;e.mu=611;e.igrave=278;e.ohungarumlaut=611;e.Eogonek=667;e.dcroat=611;e.threequarters=834;e.Scedilla=667;e.lcaron=400;e.Kcommaaccent=722;e.Lacute=611;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=611;e.onehalf=834;e.lessequal=549;e.ocircumflex=611;e.ntilde=611;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=611;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=611;e.Ccaron=722;e.ugrave=611;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=611;e.Rcommaaccent=722;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=556;e.minus=584;e.Icircumflex=278;e.ncaron=611;e.tcommaaccent=333;e.logicalnot=584;e.odieresis=611;e.udieresis=611;e.notequal=549;e.gcommaaccent=611;e.eth=611;e.zcaron=500;e.ncommaaccent=611;e.onesuperior=333;e.imacron=278;e.Euro=556});e["Helvetica-BoldOblique"]=getLookupTableFactory(function(e){e.space=278;e.exclam=333;e.quotedbl=474;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=722;e.quoteright=278;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=333;e.semicolon=333;e.less=584;e.equal=584;e.greater=584;e.question=611;e.at=975;e.A=722;e.B=722;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=556;e.K=722;e.L=611;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=584;e.underscore=556;e.quoteleft=278;e.a=556;e.b=611;e.c=556;e.d=611;e.e=556;e.f=333;e.g=611;e.h=611;e.i=278;e.j=278;e.k=556;e.l=278;e.m=889;e.n=611;e.o=611;e.p=611;e.q=611;e.r=389;e.s=556;e.t=333;e.u=611;e.v=556;e.w=778;e.x=556;e.y=556;e.z=500;e.braceleft=389;e.bar=280;e.braceright=389;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=238;e.quotedblleft=500;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=611;e.fl=611;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=556;e.bullet=350;e.quotesinglbase=278;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=611;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=278;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=611;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=722;e.aacute=556;e.Ucircumflex=722;e.yacute=556;e.scommaaccent=556;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=611;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=556;e.aring=556;e.Ncommaaccent=722;e.lacute=278;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=556;e.scedilla=556;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=611;e.acircumflex=556;e.Amacron=722;e.rcaron=389;e.ccedilla=556;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=743;e.Umacron=722;e.uring=611;e.threesuperior=333;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=584;e.uacute=611;e.Tcaron=611;e.partialdiff=494;e.ydieresis=556;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=556;e.nacute=611;e.umacron=611;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=280;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=611;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=389;e.eogonek=556;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=556;e.zacute=500;e.iogonek=278;e.Oacute=778;e.oacute=611;e.amacron=556;e.sacute=556;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=611;e.twosuperior=333;e.Odieresis=778;e.mu=611;e.igrave=278;e.ohungarumlaut=611;e.Eogonek=667;e.dcroat=611;e.threequarters=834;e.Scedilla=667;e.lcaron=400;e.Kcommaaccent=722;e.Lacute=611;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=611;e.onehalf=834;e.lessequal=549;e.ocircumflex=611;e.ntilde=611;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=611;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=611;e.Ccaron=722;e.ugrave=611;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=611;e.Rcommaaccent=722;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=556;e.minus=584;e.Icircumflex=278;e.ncaron=611;e.tcommaaccent=333;e.logicalnot=584;e.odieresis=611;e.udieresis=611;e.notequal=549;e.gcommaaccent=611;e.eth=611;e.zcaron=500;e.ncommaaccent=611;e.onesuperior=333;e.imacron=278;e.Euro=556});e["Helvetica-Oblique"]=getLookupTableFactory(function(e){e.space=278;e.exclam=278;e.quotedbl=355;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=667;e.quoteright=222;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=278;e.semicolon=278;e.less=584;e.equal=584;e.greater=584;e.question=556;e.at=1015;e.A=667;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=500;e.K=667;e.L=556;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=278;e.backslash=278;e.bracketright=278;e.asciicircum=469;e.underscore=556;e.quoteleft=222;e.a=556;e.b=556;e.c=500;e.d=556;e.e=556;e.f=278;e.g=556;e.h=556;e.i=222;e.j=222;e.k=500;e.l=222;e.m=833;e.n=556;e.o=556;e.p=556;e.q=556;e.r=333;e.s=500;e.t=278;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=500;e.braceleft=334;e.bar=260;e.braceright=334;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=191;e.quotedblleft=333;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=537;e.bullet=350;e.quotesinglbase=222;e.quotedblbase=333;e.quotedblright=333;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=556;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=222;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=556;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=667;e.aacute=556;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=500;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=500;e.aring=556;e.Ncommaaccent=722;e.lacute=222;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=500;e.scedilla=500;e.iacute=278;e.lozenge=471;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=556;e.Amacron=667;e.rcaron=333;e.ccedilla=500;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=643;e.Umacron=722;e.uring=556;e.threesuperior=333;e.Ograve=778;e.Agrave=667;e.Abreve=667;e.multiply=584;e.uacute=556;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=500;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=260;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=333;e.omacron=556;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=222;e.tcaron=317;e.eogonek=556;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=556;e.zacute=500;e.iogonek=222;e.Oacute=778;e.oacute=556;e.amacron=556;e.sacute=500;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=333;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=556;e.Eogonek=667;e.dcroat=556;e.threequarters=834;e.Scedilla=667;e.lcaron=299;e.Kcommaaccent=667;e.Lacute=556;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=556;e.onehalf=834;e.lessequal=549;e.ocircumflex=556;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=556;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=556;e.Ccaron=722;e.ugrave=556;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=556;e.Rcommaaccent=722;e.Lcommaaccent=556;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=500;e.minus=584;e.Icircumflex=278;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=584;e.odieresis=556;e.udieresis=556;e.notequal=549;e.gcommaaccent=556;e.eth=556;e.zcaron=500;e.ncommaaccent=556;e.onesuperior=333;e.imacron=278;e.Euro=556});e.Symbol=getLookupTableFactory(function(e){e.space=250;e.exclam=333;e.universal=713;e.numbersign=500;e.existential=549;e.percent=833;e.ampersand=778;e.suchthat=439;e.parenleft=333;e.parenright=333;e.asteriskmath=500;e.plus=549;e.comma=250;e.minus=549;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=278;e.semicolon=278;e.less=549;e.equal=549;e.greater=549;e.question=444;e.congruent=549;e.Alpha=722;e.Beta=667;e.Chi=722;e.Delta=612;e.Epsilon=611;e.Phi=763;e.Gamma=603;e.Eta=722;e.Iota=333;e.theta1=631;e.Kappa=722;e.Lambda=686;e.Mu=889;e.Nu=722;e.Omicron=722;e.Pi=768;e.Theta=741;e.Rho=556;e.Sigma=592;e.Tau=611;e.Upsilon=690;e.sigma1=439;e.Omega=768;e.Xi=645;e.Psi=795;e.Zeta=611;e.bracketleft=333;e.therefore=863;e.bracketright=333;e.perpendicular=658;e.underscore=500;e.radicalex=500;e.alpha=631;e.beta=549;e.chi=549;e.delta=494;e.epsilon=439;e.phi=521;e.gamma=411;e.eta=603;e.iota=329;e.phi1=603;e.kappa=549;e.lambda=549;e.mu=576;e.nu=521;e.omicron=549;e.pi=549;e.theta=521;e.rho=549;e.sigma=603;e.tau=439;e.upsilon=576;e.omega1=713;e.omega=686;e.xi=493;e.psi=686;e.zeta=494;e.braceleft=480;e.bar=200;e.braceright=480;e.similar=549;e.Euro=750;e.Upsilon1=620;e.minute=247;e.lessequal=549;e.fraction=167;e.infinity=713;e.florin=500;e.club=753;e.diamond=753;e.heart=753;e.spade=753;e.arrowboth=1042;e.arrowleft=987;e.arrowup=603;e.arrowright=987;e.arrowdown=603;e.degree=400;e.plusminus=549;e.second=411;e.greaterequal=549;e.multiply=549;e.proportional=713;e.partialdiff=494;e.bullet=460;e.divide=549;e.notequal=549;e.equivalence=549;e.approxequal=549;e.ellipsis=1e3;e.arrowvertex=603;e.arrowhorizex=1e3;e.carriagereturn=658;e.aleph=823;e.Ifraktur=686;e.Rfraktur=795;e.weierstrass=987;e.circlemultiply=768;e.circleplus=768;e.emptyset=823;e.intersection=768;e.union=768;e.propersuperset=713;e.reflexsuperset=713;e.notsubset=713;e.propersubset=713;e.reflexsubset=713;e.element=713;e.notelement=713;e.angle=768;e.gradient=713;e.registerserif=790;e.copyrightserif=790;e.trademarkserif=890;e.product=823;e.radical=549;e.dotmath=250;e.logicalnot=713;e.logicaland=603;e.logicalor=603;e.arrowdblboth=1042;e.arrowdblleft=987;e.arrowdblup=603;e.arrowdblright=987;e.arrowdbldown=603;e.lozenge=494;e.angleleft=329;e.registersans=790;e.copyrightsans=790;e.trademarksans=786;e.summation=713;e.parenlefttp=384;e.parenleftex=384;e.parenleftbt=384;e.bracketlefttp=384;e.bracketleftex=384;e.bracketleftbt=384;e.bracelefttp=494;e.braceleftmid=494;e.braceleftbt=494;e.braceex=494;e.angleright=329;e.integral=274;e.integraltp=686;e.integralex=686;e.integralbt=686;e.parenrighttp=384;e.parenrightex=384;e.parenrightbt=384;e.bracketrighttp=384;e.bracketrightex=384;e.bracketrightbt=384;e.bracerighttp=494;e.bracerightmid=494;e.bracerightbt=494;e.apple=790});e["Times-Roman"]=getLookupTableFactory(function(e){e.space=250;e.exclam=333;e.quotedbl=408;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=564;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=278;e.semicolon=278;e.less=564;e.equal=564;e.greater=564;e.question=444;e.at=921;e.A=722;e.B=667;e.C=667;e.D=722;e.E=611;e.F=556;e.G=722;e.H=722;e.I=333;e.J=389;e.K=722;e.L=611;e.M=889;e.N=722;e.O=722;e.P=556;e.Q=722;e.R=667;e.S=556;e.T=611;e.U=722;e.V=722;e.W=944;e.X=722;e.Y=722;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=469;e.underscore=500;e.quoteleft=333;e.a=444;e.b=500;e.c=444;e.d=500;e.e=444;e.f=333;e.g=500;e.h=500;e.i=278;e.j=278;e.k=500;e.l=278;e.m=778;e.n=500;e.o=500;e.p=500;e.q=500;e.r=333;e.s=389;e.t=278;e.u=500;e.v=500;e.w=722;e.x=500;e.y=500;e.z=444;e.braceleft=480;e.bar=200;e.braceright=480;e.asciitilde=541;e.exclamdown=333;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=180;e.quotedblleft=444;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=453;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=444;e.quotedblright=444;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=444;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=889;e.ordfeminine=276;e.Lslash=611;e.Oslash=722;e.OE=889;e.ordmasculine=310;e.ae=667;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=500;e.Idieresis=333;e.eacute=444;e.abreve=444;e.uhungarumlaut=500;e.ecaron=444;e.Ydieresis=722;e.divide=564;e.Yacute=722;e.Acircumflex=722;e.aacute=444;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=444;e.Uacute=722;e.uogonek=500;e.Edieresis=611;e.Dcroat=722;e.commaaccent=250;e.copyright=760;e.Emacron=611;e.ccaron=444;e.aring=444;e.Ncommaaccent=722;e.lacute=278;e.agrave=444;e.Tcommaaccent=611;e.Cacute=667;e.atilde=444;e.Edotaccent=611;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=471;e.Rcaron=667;e.Gcommaaccent=722;e.ucircumflex=500;e.acircumflex=444;e.Amacron=722;e.rcaron=333;e.ccedilla=444;e.Zdotaccent=611;e.Thorn=556;e.Omacron=722;e.Racute=667;e.Sacute=556;e.dcaron=588;e.Umacron=722;e.uring=500;e.threesuperior=300;e.Ograve=722;e.Agrave=722;e.Abreve=722;e.multiply=564;e.uacute=500;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=611;e.adieresis=444;e.edieresis=444;e.cacute=444;e.nacute=500;e.umacron=500;e.Ncaron=722;e.Iacute=333;e.plusminus=564;e.brokenbar=200;e.registered=760;e.Gbreve=722;e.Idotaccent=333;e.summation=600;e.Egrave=611;e.racute=333;e.omacron=500;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=326;e.eogonek=444;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=444;e.zacute=444;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=444;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=500;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=611;e.dcroat=500;e.threequarters=750;e.Scedilla=556;e.lcaron=344;e.Kcommaaccent=722;e.Lacute=611;e.trademark=980;e.edotaccent=444;e.Igrave=333;e.Imacron=333;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=500;e.Uhungarumlaut=722;e.Eacute=611;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=500;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=667;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=722;e.zdotaccent=444;e.Ecaron=611;e.Iogonek=333;e.kcommaaccent=500;e.minus=564;e.Icircumflex=333;e.ncaron=500;e.tcommaaccent=278;e.logicalnot=564;e.odieresis=500;e.udieresis=500;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=444;e.ncommaaccent=500;e.onesuperior=300;e.imacron=278;e.Euro=500});e["Times-Bold"]=getLookupTableFactory(function(e){e.space=250;e.exclam=333;e.quotedbl=555;e.numbersign=500;e.dollar=500;e.percent=1e3;e.ampersand=833;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=570;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=570;e.equal=570;e.greater=570;e.question=500;e.at=930;e.A=722;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=778;e.I=389;e.J=500;e.K=778;e.L=667;e.M=944;e.N=722;e.O=778;e.P=611;e.Q=778;e.R=722;e.S=556;e.T=667;e.U=722;e.V=722;e.W=1e3;e.X=722;e.Y=722;e.Z=667;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=581;e.underscore=500;e.quoteleft=333;e.a=500;e.b=556;e.c=444;e.d=556;e.e=444;e.f=333;e.g=500;e.h=556;e.i=278;e.j=333;e.k=556;e.l=278;e.m=833;e.n=556;e.o=500;e.p=556;e.q=556;e.r=444;e.s=389;e.t=333;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=444;e.braceleft=394;e.bar=220;e.braceright=394;e.asciitilde=520;e.exclamdown=333;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=278;e.quotedblleft=500;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=540;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=300;e.Lslash=667;e.Oslash=778;e.OE=1e3;e.ordmasculine=330;e.ae=722;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=556;e.Idieresis=389;e.eacute=444;e.abreve=500;e.uhungarumlaut=556;e.ecaron=444;e.Ydieresis=722;e.divide=570;e.Yacute=722;e.Acircumflex=722;e.aacute=500;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=747;e.Emacron=667;e.ccaron=444;e.aring=500;e.Ncommaaccent=722;e.lacute=278;e.agrave=500;e.Tcommaaccent=667;e.Cacute=722;e.atilde=500;e.Edotaccent=667;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=500;e.Amacron=722;e.rcaron=444;e.ccedilla=444;e.Zdotaccent=667;e.Thorn=611;e.Omacron=778;e.Racute=722;e.Sacute=556;e.dcaron=672;e.Umacron=722;e.uring=556;e.threesuperior=300;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=570;e.uacute=556;e.Tcaron=667;e.partialdiff=494;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=389;e.plusminus=570;e.brokenbar=220;e.registered=747;e.Gbreve=778;e.Idotaccent=389;e.summation=600;e.Egrave=667;e.racute=444;e.omacron=500;e.Zacute=667;e.Zcaron=667;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=416;e.eogonek=444;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=444;e.zacute=444;e.iogonek=278;e.Oacute=778;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=300;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=667;e.dcroat=556;e.threequarters=750;e.Scedilla=556;e.lcaron=394;e.Kcommaaccent=778;e.Lacute=667;e.trademark=1e3;e.edotaccent=444;e.Igrave=389;e.Imacron=389;e.Lcaron=667;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=778;e.degree=400;e.ograve=500;e.Ccaron=722;e.ugrave=556;e.radical=549;e.Dcaron=722;e.rcommaaccent=444;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=722;e.Lcommaaccent=667;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=444;e.Ecaron=667;e.Iogonek=389;e.kcommaaccent=556;e.minus=570;e.Icircumflex=389;e.ncaron=556;e.tcommaaccent=333;e.logicalnot=570;e.odieresis=500;e.udieresis=556;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=444;e.ncommaaccent=556;e.onesuperior=300;e.imacron=278;e.Euro=500});e["Times-BoldItalic"]=getLookupTableFactory(function(e){e.space=250;e.exclam=389;e.quotedbl=555;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=570;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=570;e.equal=570;e.greater=570;e.question=500;e.at=832;e.A=667;e.B=667;e.C=667;e.D=722;e.E=667;e.F=667;e.G=722;e.H=778;e.I=389;e.J=500;e.K=667;e.L=611;e.M=889;e.N=722;e.O=722;e.P=611;e.Q=722;e.R=667;e.S=556;e.T=611;e.U=722;e.V=667;e.W=889;e.X=667;e.Y=611;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=570;e.underscore=500;e.quoteleft=333;e.a=500;e.b=500;e.c=444;e.d=500;e.e=444;e.f=333;e.g=500;e.h=556;e.i=278;e.j=278;e.k=500;e.l=278;e.m=778;e.n=556;e.o=500;e.p=500;e.q=500;e.r=389;e.s=389;e.t=278;e.u=556;e.v=444;e.w=667;e.x=500;e.y=444;e.z=389;e.braceleft=348;e.bar=220;e.braceright=348;e.asciitilde=570;e.exclamdown=389;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=278;e.quotedblleft=500;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=500;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=944;e.ordfeminine=266;e.Lslash=611;e.Oslash=722;e.OE=944;e.ordmasculine=300;e.ae=722;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=500;e.Idieresis=389;e.eacute=444;e.abreve=500;e.uhungarumlaut=556;e.ecaron=444;e.Ydieresis=611;e.divide=570;e.Yacute=611;e.Acircumflex=667;e.aacute=500;e.Ucircumflex=722;e.yacute=444;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=747;e.Emacron=667;e.ccaron=444;e.aring=500;e.Ncommaaccent=722;e.lacute=278;e.agrave=500;e.Tcommaaccent=611;e.Cacute=667;e.atilde=500;e.Edotaccent=667;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=494;e.Rcaron=667;e.Gcommaaccent=722;e.ucircumflex=556;e.acircumflex=500;e.Amacron=667;e.rcaron=389;e.ccedilla=444;e.Zdotaccent=611;e.Thorn=611;e.Omacron=722;e.Racute=667;e.Sacute=556;e.dcaron=608;e.Umacron=722;e.uring=556;e.threesuperior=300;e.Ograve=722;e.Agrave=667;e.Abreve=667;e.multiply=570;e.uacute=556;e.Tcaron=611;e.partialdiff=494;e.ydieresis=444;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=389;e.plusminus=570;e.brokenbar=220;e.registered=747;e.Gbreve=722;e.Idotaccent=389;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=500;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=366;e.eogonek=444;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=444;e.zacute=389;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=576;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=667;e.dcroat=500;e.threequarters=750;e.Scedilla=556;e.lcaron=382;e.Kcommaaccent=667;e.Lacute=611;e.trademark=1e3;e.edotaccent=444;e.Igrave=389;e.Imacron=389;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=556;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=667;e.Lcommaaccent=611;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=722;e.zdotaccent=389;e.Ecaron=667;e.Iogonek=389;e.kcommaaccent=500;e.minus=606;e.Icircumflex=389;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=606;e.odieresis=500;e.udieresis=556;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=389;e.ncommaaccent=556;e.onesuperior=300;e.imacron=278;e.Euro=500});e["Times-Italic"]=getLookupTableFactory(function(e){e.space=250;e.exclam=333;e.quotedbl=420;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=675;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=675;e.equal=675;e.greater=675;e.question=500;e.at=920;e.A=611;e.B=611;e.C=667;e.D=722;e.E=611;e.F=611;e.G=722;e.H=722;e.I=333;e.J=444;e.K=667;e.L=556;e.M=833;e.N=667;e.O=722;e.P=611;e.Q=722;e.R=611;e.S=500;e.T=556;e.U=722;e.V=611;e.W=833;e.X=611;e.Y=556;e.Z=556;e.bracketleft=389;e.backslash=278;e.bracketright=389;e.asciicircum=422;e.underscore=500;e.quoteleft=333;e.a=500;e.b=500;e.c=444;e.d=500;e.e=444;e.f=278;e.g=500;e.h=500;e.i=278;e.j=278;e.k=444;e.l=278;e.m=722;e.n=500;e.o=500;e.p=500;e.q=500;e.r=389;e.s=389;e.t=278;e.u=500;e.v=444;e.w=667;e.x=444;e.y=444;e.z=389;e.braceleft=400;e.bar=275;e.braceright=400;e.asciitilde=541;e.exclamdown=389;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=214;e.quotedblleft=556;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=523;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=556;e.quotedblright=556;e.guillemotright=500;e.ellipsis=889;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=889;e.AE=889;e.ordfeminine=276;e.Lslash=556;e.Oslash=722;e.OE=944;e.ordmasculine=310;e.ae=667;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=667;e.germandbls=500;e.Idieresis=333;e.eacute=444;e.abreve=500;e.uhungarumlaut=500;e.ecaron=444;e.Ydieresis=556;e.divide=675;e.Yacute=556;e.Acircumflex=611;e.aacute=500;e.Ucircumflex=722;e.yacute=444;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=500;e.Edieresis=611;e.Dcroat=722;e.commaaccent=250;e.copyright=760;e.Emacron=611;e.ccaron=444;e.aring=500;e.Ncommaaccent=667;e.lacute=278;e.agrave=500;e.Tcommaaccent=556;e.Cacute=667;e.atilde=500;e.Edotaccent=611;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=471;e.Rcaron=611;e.Gcommaaccent=722;e.ucircumflex=500;e.acircumflex=500;e.Amacron=611;e.rcaron=389;e.ccedilla=444;e.Zdotaccent=556;e.Thorn=611;e.Omacron=722;e.Racute=611;e.Sacute=500;e.dcaron=544;e.Umacron=722;e.uring=500;e.threesuperior=300;e.Ograve=722;e.Agrave=611;e.Abreve=611;e.multiply=675;e.uacute=500;e.Tcaron=556;e.partialdiff=476;e.ydieresis=444;e.Nacute=667;e.icircumflex=278;e.Ecircumflex=611;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=500;e.umacron=500;e.Ncaron=667;e.Iacute=333;e.plusminus=675;e.brokenbar=275;e.registered=760;e.Gbreve=722;e.Idotaccent=333;e.summation=600;e.Egrave=611;e.racute=389;e.omacron=500;e.Zacute=556;e.Zcaron=556;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=300;e.eogonek=444;e.Uogonek=722;e.Aacute=611;e.Adieresis=611;e.egrave=444;e.zacute=389;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=500;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=611;e.dcroat=500;e.threequarters=750;e.Scedilla=500;e.lcaron=300;e.Kcommaaccent=667;e.Lacute=556;e.trademark=980;e.edotaccent=444;e.Igrave=333;e.Imacron=333;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=500;e.Uhungarumlaut=722;e.Eacute=611;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=500;e.Scommaaccent=500;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=500;e.radical=453;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=667;e.otilde=500;e.Rcommaaccent=611;e.Lcommaaccent=556;e.Atilde=611;e.Aogonek=611;e.Aring=611;e.Otilde=722;e.zdotaccent=389;e.Ecaron=611;e.Iogonek=333;e.kcommaaccent=444;e.minus=675;e.Icircumflex=333;e.ncaron=500;e.tcommaaccent=278;e.logicalnot=675;e.odieresis=500;e.udieresis=500;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=389;e.ncommaaccent=500;e.onesuperior=300;e.imacron=278;e.Euro=500});e.ZapfDingbats=getLookupTableFactory(function(e){e.space=278;e.a1=974;e.a2=961;e.a202=974;e.a3=980;e.a4=719;e.a5=789;e.a119=790;e.a118=791;e.a117=690;e.a11=960;e.a12=939;e.a13=549;e.a14=855;e.a15=911;e.a16=933;e.a105=911;e.a17=945;e.a18=974;e.a19=755;e.a20=846;e.a21=762;e.a22=761;e.a23=571;e.a24=677;e.a25=763;e.a26=760;e.a27=759;e.a28=754;e.a6=494;e.a7=552;e.a8=537;e.a9=577;e.a10=692;e.a29=786;e.a30=788;e.a31=788;e.a32=790;e.a33=793;e.a34=794;e.a35=816;e.a36=823;e.a37=789;e.a38=841;e.a39=823;e.a40=833;e.a41=816;e.a42=831;e.a43=923;e.a44=744;e.a45=723;e.a46=749;e.a47=790;e.a48=792;e.a49=695;e.a50=776;e.a51=768;e.a52=792;e.a53=759;e.a54=707;e.a55=708;e.a56=682;e.a57=701;e.a58=826;e.a59=815;e.a60=789;e.a61=789;e.a62=707;e.a63=687;e.a64=696;e.a65=689;e.a66=786;e.a67=787;e.a68=713;e.a69=791;e.a70=785;e.a71=791;e.a72=873;e.a73=761;e.a74=762;e.a203=762;e.a75=759;e.a204=759;e.a76=892;e.a77=892;e.a78=788;e.a79=784;e.a81=438;e.a82=138;e.a83=277;e.a84=415;e.a97=392;e.a98=392;e.a99=668;e.a100=668;e.a89=390;e.a90=390;e.a93=317;e.a94=317;e.a91=276;e.a92=276;e.a205=509;e.a85=509;e.a206=410;e.a86=410;e.a87=234;e.a88=234;e.a95=334;e.a96=334;e.a101=732;e.a102=544;e.a103=544;e.a104=910;e.a106=667;e.a107=760;e.a108=760;e.a112=776;e.a111=595;e.a110=694;e.a109=626;e.a120=788;e.a121=788;e.a122=788;e.a123=788;e.a124=788;e.a125=788;e.a126=788;e.a127=788;e.a128=788;e.a129=788;e.a130=788;e.a131=788;e.a132=788;e.a133=788;e.a134=788;e.a135=788;e.a136=788;e.a137=788;e.a138=788;e.a139=788;e.a140=788;e.a141=788;e.a142=788;e.a143=788;e.a144=788;e.a145=788;e.a146=788;e.a147=788;e.a148=788;e.a149=788;e.a150=788;e.a151=788;e.a152=788;e.a153=788;e.a154=788;e.a155=788;e.a156=788;e.a157=788;e.a158=788;e.a159=788;e.a160=894;e.a161=838;e.a163=1016;e.a164=458;e.a196=748;e.a165=924;e.a192=748;e.a166=918;e.a167=927;e.a168=928;e.a169=928;e.a170=834;e.a171=873;e.a172=828;e.a173=924;e.a162=924;e.a174=917;e.a175=930;e.a176=931;e.a177=463;e.a178=883;e.a179=836;e.a193=836;e.a180=867;e.a199=867;e.a181=696;e.a200=696;e.a182=874;e.a201=874;e.a183=760;e.a184=946;e.a197=771;e.a185=865;e.a194=771;e.a198=888;e.a186=967;e.a195=888;e.a187=831;e.a188=873;e.a189=927;e.a190=970;e.a191=918})}),Va=getLookupTableFactory(function(e){e.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426};e["Courier-Bold"]={ascent:629,descent:-157,capHeight:562,xHeight:439};e["Courier-Oblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426};e["Courier-BoldOblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426};e.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523};e["Helvetica-Bold"]={ascent:718,descent:-207,capHeight:718,xHeight:532};e["Helvetica-Oblique"]={ascent:718,descent:-207,capHeight:718,xHeight:523};e["Helvetica-BoldOblique"]={ascent:718,descent:-207,capHeight:718,xHeight:532};e["Times-Roman"]={ascent:683,descent:-217,capHeight:662,xHeight:450};e["Times-Bold"]={ascent:683,descent:-217,capHeight:676,xHeight:461};e["Times-Italic"]={ascent:683,descent:-217,capHeight:653,xHeight:441};e["Times-BoldItalic"]={ascent:683,descent:-217,capHeight:669,xHeight:462};e.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN};e.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}});class GlyfTable{constructor({glyfTable:e,isGlyphLocationsLong:t,locaTable:n,numGlyphs:a}){this.glyphs=[];const s=new DataView(n.buffer,n.byteOffset,n.byteLength),r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t?4:2;let o=t?s.getUint32(0):2*s.getUint16(0),l=0;for(let e=0;e<a;e++){l+=i;const e=t?s.getUint32(l):2*s.getUint16(l);if(e===o){this.glyphs.push(new Glyph({}));continue}const n=Glyph.parse(o,r);this.glyphs.push(n);o=e}}getSize(){return Math.sumPrecise(this.glyphs.map(e=>e.getSize()+3&-4))}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),n=e>131070,a=n?4:2,s=new DataView(new ArrayBuffer((this.glyphs.length+1)*a));n?s.setUint32(0,0):s.setUint16(0,0);let r=0,i=0;for(const e of this.glyphs){r+=e.write(r,t);r=r+3&-4;i+=a;n?s.setUint32(i,r):s.setUint16(i,r>>1)}return{isLocationLong:n,loca:new Uint8Array(s.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,n=this.glyphs.length;t<n;t++)this.glyphs[t].scale(e[t])}}class Glyph{constructor({header:e=null,simple:t=null,composites:n=null}){this.header=e;this.simple=t;this.composites=n}static parse(e,t){const[n,a]=GlyphHeader.parse(e,t);e+=n;if(a.numberOfContours<0){const n=[];for(;;){const[a,s]=CompositeGlyph.parse(e,t);e+=a;n.push(s);if(!(32&s.flags))break}return new Glyph({header:a,composites:n})}const s=SimpleGlyph.parse(e,t,a.numberOfContours);return new Glyph({header:a,simple:s})}getSize(){if(!this.header)return 0;const e=this.simple?this.simple.getSize():Math.sumPrecise(this.composites.map(e=>e.getSize()));return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const n=e;e+=this.header.write(e,t);if(this.simple)e+=this.simple.write(e,t);else for(const n of this.composites)e+=n.write(e,t);return e-n}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;this.header.scale(t,e);if(this.simple)this.simple.scale(t,e);else for(const n of this.composites)n.scale(t,e)}}class GlyphHeader{constructor({numberOfContours:e,xMin:t,yMin:n,xMax:a,yMax:s}){this.numberOfContours=e;this.xMin=t;this.yMin=n;this.xMax=a;this.yMax=s}static parse(e,t){return[10,new GlyphHeader({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){t.setInt16(e,this.numberOfContours);t.setInt16(e+2,this.xMin);t.setInt16(e+4,this.yMin);t.setInt16(e+6,this.xMax);t.setInt16(e+8,this.yMax);return 10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t);this.xMax=Math.round(e+(this.xMax-e)*t)}}class Contour{constructor({flags:e,xCoordinates:t,yCoordinates:n}){this.xCoordinates=t;this.yCoordinates=n;this.flags=e}}class SimpleGlyph{constructor({contours:e,instructions:t}){this.contours=e;this.instructions=t}static parse(e,t,n){const a=[];for(let s=0;s<n;s++){const n=t.getUint16(e);e+=2;a.push(n)}const s=a[n-1]+1,r=t.getUint16(e);e+=2;const i=new Uint8Array(t).slice(e,e+r);e+=r;const o=[];for(let n=0;n<s;e++,n++){let a=t.getUint8(e);o.push(a);if(8&a){const s=t.getUint8(++e);a^=8;for(let e=0;e<s;e++)o.push(a);n+=s}}const l=[];let f=[],c=[],h=[];const u=[];let m=0,p=0;for(let n=0;n<s;n++){const s=o[n];if(2&s){const n=t.getUint8(e++);p+=16&s?n:-n;f.push(p)}else if(16&s)f.push(p);else{p+=t.getInt16(e);e+=2;f.push(p)}if(a[m]===n){m++;l.push(f);f=[]}}p=0;m=0;for(let n=0;n<s;n++){const s=o[n];if(4&s){const n=t.getUint8(e++);p+=32&s?n:-n;c.push(p)}else if(32&s)c.push(p);else{p+=t.getInt16(e);e+=2;c.push(p)}h.push(1&s|64&s);if(a[m]===n){f=l[m];m++;u.push(new Contour({flags:h,xCoordinates:f,yCoordinates:c}));c=[];h=[]}}return new SimpleGlyph({contours:u,instructions:i})}getSize(){let e=2*this.contours.length+2+this.instructions.length,t=0,n=0;for(const a of this.contours){e+=a.flags.length;for(let s=0,r=a.xCoordinates.length;s<r;s++){const r=a.xCoordinates[s],i=a.yCoordinates[s];let o=Math.abs(r-t);o>255?e+=2:o>0&&(e+=1);t=r;o=Math.abs(i-n);o>255?e+=2:o>0&&(e+=1);n=i}}return e}write(e,t){const n=e,a=[],s=[],r=[];let i=0,o=0;for(const n of this.contours){for(let e=0,t=n.xCoordinates.length;e<t;e++){let t=n.flags[e];const l=n.xCoordinates[e];let f=l-i;if(0===f){t|=16;a.push(0)}else{const e=Math.abs(f);if(e<=255){t|=f>=0?18:2;a.push(e)}else a.push(f)}i=l;const c=n.yCoordinates[e];f=c-o;if(0===f){t|=32;s.push(0)}else{const e=Math.abs(f);if(e<=255){t|=f>=0?36:4;s.push(e)}else s.push(f)}o=c;r.push(t)}t.setUint16(e,a.length-1);e+=2}t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}for(const n of r)t.setUint8(e++,n);for(let n=0,s=a.length;n<s;n++){const s=a[n],i=r[n];if(2&i)t.setUint8(e++,s);else if(!(16&i)){t.setInt16(e,s);e+=2}}for(let n=0,a=s.length;n<a;n++){const a=s[n],i=r[n];if(4&i)t.setUint8(e++,a);else if(!(32&i)){t.setInt16(e,a);e+=2}}return e-n}scale(e,t){for(const n of this.contours)if(0!==n.xCoordinates.length)for(let a=0,s=n.xCoordinates.length;a<s;a++)n.xCoordinates[a]=Math.round(e+(n.xCoordinates[a]-e)*t)}}class CompositeGlyph{constructor({flags:e,glyphIndex:t,argument1:n,argument2:a,transf:s,instructions:r}){this.flags=e;this.glyphIndex=t;this.argument1=n;this.argument2=a;this.transf=s;this.instructions=r}static parse(e,t){const n=e,a=[];let s=t.getUint16(e);const r=t.getUint16(e+2);e+=4;let i,o;if(1&s){if(2&s){i=t.getInt16(e);o=t.getInt16(e+2)}else{i=t.getUint16(e);o=t.getUint16(e+2)}e+=4;s^=1}else{if(2&s){i=t.getInt8(e);o=t.getInt8(e+1)}else{i=t.getUint8(e);o=t.getUint8(e+1)}e+=2}if(8&s){a.push(t.getUint16(e));e+=2}else if(64&s){a.push(t.getUint16(e),t.getUint16(e+2));e+=4}else if(128&s){a.push(t.getUint16(e),t.getUint16(e+2),t.getUint16(e+4),t.getUint16(e+6));e+=8}let l=null;if(256&s){const n=t.getUint16(e);e+=2;l=new Uint8Array(t).slice(e,e+n);e+=n}return[e-n,new CompositeGlyph({flags:s,glyphIndex:r,argument1:i,argument2:o,transf:a,instructions:l})]}getSize(){let e=4+2*this.transf.length;256&this.flags&&(e+=2+this.instructions.length);e+=2;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2);return e}write(e,t){const n=e;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1);t.setUint16(e,this.flags);t.setUint16(e+2,this.glyphIndex);e+=4;if(1&this.flags){if(2&this.flags){t.setInt16(e,this.argument1);t.setInt16(e+2,this.argument2)}else{t.setUint16(e,this.argument1);t.setUint16(e+2,this.argument2)}e+=4}else{t.setUint8(e,this.argument1);t.setUint8(e+1,this.argument2);e+=2}if(256&this.flags){t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}}return e-n}scale(e,t){}}function writeInt16(e,t,n){e[t]=n>>8&255;e[t+1]=255&n}function writeInt32(e,t,n){e[t]=n>>24&255;e[t+1]=n>>16&255;e[t+2]=n>>8&255;e[t+3]=255&n}function writeData(e,t,n){if(n instanceof Uint8Array)e.set(n,t);else if("string"==typeof n)for(let a=0,s=n.length;a<s;a++)e[t++]=255&n.charCodeAt(a);else for(const a of n)e[t++]=255&a}class OpenTypeFileBuilder{constructor(e){this.sfnt=e;this.tables=Object.create(null)}static getSearchParams(e,t){let n=1,a=0;for(;(n^e)>n;){n<<=1;a++}const s=n*t;return{range:s,entry:a,rangeShift:t*e-s}}toArray(){let e=this.sfnt;const t=this.tables,n=Object.keys(t);n.sort();const a=n.length;let s,r,i,o,l,f=12+16*a;const c=[f];for(s=0;s<a;s++){o=t[n[s]];f+=(o.length+3&-4)>>>0;c.push(f)}const h=new Uint8Array(f);for(s=0;s<a;s++){o=t[n[s]];writeData(h,c[s],o)}"true"===e&&(e=string32(65536));h[0]=255&e.charCodeAt(0);h[1]=255&e.charCodeAt(1);h[2]=255&e.charCodeAt(2);h[3]=255&e.charCodeAt(3);writeInt16(h,4,a);const u=OpenTypeFileBuilder.getSearchParams(a,16);writeInt16(h,6,u.range);writeInt16(h,8,u.entry);writeInt16(h,10,u.rangeShift);f=12;for(s=0;s<a;s++){l=n[s];h[f]=255&l.charCodeAt(0);h[f+1]=255&l.charCodeAt(1);h[f+2]=255&l.charCodeAt(2);h[f+3]=255&l.charCodeAt(3);let e=0;for(r=c[s],i=c[s+1];r<i;r+=4){e=e+readUint32(h,r)>>>0}writeInt32(h,f+4,e);writeInt32(h,f+8,c[s]);writeInt32(h,f+12,t[l].length);f+=16}return h}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}const $a=[4],Ya=[5],Ja=[6],Qa=[7],Za=[8],es=[12,35],ts=[14],ns=[21],as=[22],ss=[30],rs=[31];class Type1CharString{width=0;lsb=0;flexing=!1;output=[];stack=[];convert(e,t,n){const a=e.length;let s,r,i,o=!1;for(let l=0;l<a;l++){let a=e[l];if(a<32){12===a&&(a=(a<<8)+e[++l]);switch(a){case 1:case 3:case 9:case 3072:case 3073:case 3074:case 3105:this.stack=[];break;case 4:if(this.flexing){if(this.stack.length<1){o=!0;break}const e=this.stack.pop();this.stack.push(0,e);break}o=this.executeCommand(1,$a);break;case 5:o=this.executeCommand(2,Ya);break;case 6:o=this.executeCommand(1,Ja);break;case 7:o=this.executeCommand(1,Qa);break;case 8:o=this.executeCommand(6,Za);break;case 10:if(this.stack.length<1){o=!0;break}i=this.stack.pop();if(!t[i]){o=!0;break}o=this.convert(t[i],t,n);break;case 11:return o;case 13:if(this.stack.length<2){o=!0;break}s=this.stack.pop();r=this.stack.pop();this.lsb=r;this.width=s;this.stack.push(s,r);o=this.executeCommand(2,as);break;case 14:this.output.push(ts[0]);break;case 21:if(this.flexing)break;o=this.executeCommand(2,ns);break;case 22:if(this.flexing){this.stack.push(0);break}o=this.executeCommand(1,as);break;case 30:o=this.executeCommand(4,ss);break;case 31:o=this.executeCommand(4,rs);break;case 3078:if(n){const e=this.stack.at(-5);this.seac=this.stack.splice(-4,4);this.seac[0]+=this.lsb-e;o=this.executeCommand(0,ts)}else o=this.executeCommand(4,ts);break;case 3079:if(this.stack.length<4){o=!0;break}this.stack.pop();s=this.stack.pop();const e=this.stack.pop();r=this.stack.pop();this.lsb=r;this.width=s;this.stack.push(s,r,e);o=this.executeCommand(3,ns);break;case 3084:if(this.stack.length<2){o=!0;break}const l=this.stack.pop(),f=this.stack.pop();this.stack.push(f/l);break;case 3088:if(this.stack.length<2){o=!0;break}i=this.stack.pop();const c=this.stack.pop();if(0===i&&3===c){const e=this.stack.splice(-17,17);this.stack.push(e[2]+e[0],e[3]+e[1],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14]);o=this.executeCommand(13,es,!0);this.flexing=!1;this.stack.push(e[15],e[16])}else 1===i&&0===c&&(this.flexing=!0);break;case 3089:break;default:warn('Unknown type 1 charstring command of "'+a+'"')}if(o)break}else{a<=246?a-=139:a=a<=250?256*(a-247)+e[++l]+108:a<=254?-256*(a-251)-e[++l]-108:(255&e[++l])<<24|(255&e[++l])<<16|(255&e[++l])<<8|255&e[++l];this.stack.push(a)}}return o}executeCommand(e,t,n){const a=this.stack.length;if(e>a)return!0;const s=a-e;for(let e=s;e<a;e++){let t=this.stack[e];if(Number.isInteger(t))this.output.push(28,t>>8&255,255&t);else{t=65536*t|0;this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t)}}this.output.push(...t);n?this.stack.splice(s,e):this.stack.length=0;return!1}}function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,n){if(n>=e.length)return new Uint8Array(0);let a,s,r=0|t;for(a=0;a<n;a++)r=52845*(e[a]+r)+22719&65535;const i=e.length-n,o=new Uint8Array(i);for(a=n,s=0;s<i;a++,s++){const t=e[a];o[s]=t^r>>8;r=52845*(t+r)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}class Type1Parser{constructor(e,t,n){if(t){const t=e.getBytes(),n=!((isHexDigit(t[0])||isWhiteSpace(t[0]))&&isHexDigit(t[1])&&isHexDigit(t[2])&&isHexDigit(t[3])&&isHexDigit(t[4])&&isHexDigit(t[5])&&isHexDigit(t[6])&&isHexDigit(t[7]));e=new Stream(n?decrypt(t,55665,4):function decryptAscii(e,t,n){let a=0|t;const s=e.length,r=new Uint8Array(s>>>1);let i,o;for(i=0,o=0;i<s;i++){const t=e[i];if(!isHexDigit(t))continue;i++;let n;for(;i<s&&!isHexDigit(n=e[i]);)i++;if(i<s){const e=parseInt(String.fromCharCode(t,n),16);r[o++]=e^a>>8;a=52845*(e+a)+22719&65535}}return r.slice(n,o)}(t,55665,4))}this.seacAnalysisEnabled=!!n;this.stream=e;this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){this.stream.skip(-2);return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let n="";do{n+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!isWhiteSpace(t)&&!isSpecial(t));return n}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,n=[],a=[],s=Object.create(null);s.lenIV=4;const r={subrs:[],charstrings:[],properties:{privateData:s}};let i,o,l,f;for(;null!==(i=this.getToken());)if("/"===i){i=this.getToken();switch(i){case"CharStrings":this.getToken();this.getToken();this.getToken();this.getToken();for(;;){i=this.getToken();if(null===i||"end"===i)break;if("/"!==i)continue;const e=this.getToken();o=this.readInt();this.getToken();l=o>0?t.getBytes(o):new Uint8Array(0);f=r.properties.privateData.lenIV;const n=this.readCharStrings(l,f);this.nextChar();i=this.getToken();"noaccess"===i?this.getToken():"/"===i&&this.prevChar();a.push({glyph:e,encoded:n})}break;case"Subrs":this.readInt();this.getToken();for(;"dup"===this.getToken();){const e=this.readInt();o=this.readInt();this.getToken();l=o>0?t.getBytes(o):new Uint8Array(0);f=r.properties.privateData.lenIV;const a=this.readCharStrings(l,f);this.nextChar();i=this.getToken();"noaccess"===i&&this.getToken();n[e]=a}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":r.properties.privateData[i]=this.readNumberArray();break;case"StdHW":case"StdVW":r.properties.privateData[i]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":r.properties.privateData[i]=this.readNumber();break;case"ExpansionFactor":r.properties.privateData[i]=this.readNumber()||.06;break;case"ForceBold":r.properties.privateData[i]=this.readBoolean()}}for(const{encoded:t,glyph:s}of a){const a=new Type1CharString,i=a.convert(t,n,this.seacAnalysisEnabled);let o=a.output;i&&(o=[14]);const l={glyphName:s,charstring:o,width:a.width,lsb:a.lsb,seac:a.seac};".notdef"===s?r.charstrings.unshift(l):r.charstrings.push(l);if(e.builtInEncoding){const t=e.builtInEncoding.indexOf(s);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=a.width)}}return r}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t){t=this.getToken();switch(t){case"FontMatrix":const n=this.readNumberArray();e.fontMatrix=n;break;case"Encoding":const a=this.getToken();let s;if(/^\d+$/.test(a)){s=[];const e=0|parseInt(a,10);this.getToken();for(let n=0;n<e;n++){t=this.getToken();for(;"dup"!==t&&"def"!==t;){t=this.getToken();if(null===t)return}if("def"===t)break;const e=this.readInt();this.getToken();const n=this.getToken();s[e]=n;this.getToken()}}else s=getEncoding(a);e.builtInEncoding=s;break;case"FontBBox":const r=this.readNumberArray();e.ascent=Math.max(r[3],r[1]);e.descent=Math.min(r[1],r[3]);e.ascentScaled=!0}}}}function findBlock(e,t,n){const a=e.length,s=t.length,r=a-s;let i=n,o=!1;for(;i<r;){let n=0;for(;n<s&&e[i+n]===t[n];)n++;if(n>=s){i+=n;for(;i<a&&isWhiteSpace(e[i]);)i++;o=!0;break}i++}return{found:o,length:i}}class Type1Font{constructor(e,t,n){let a=n.length1,s=n.length2,r=t.peekBytes(6);const i=128===r[0]&&1===r[1];if(i){t.skip(6);a=r[5]<<24|r[4]<<16|r[3]<<8|r[2]}const o=function getHeaderBlock(e,t){const n=[101,101,120,101,99],a=e.pos;let s,r,i,o;try{s=e.getBytes(t);r=s.length}catch{}if(r===t){i=findBlock(s,n,t-2*n.length);if(i.found&&i.length===t)return{stream:new Stream(s),length:t}}warn('Invalid "Length1" property in Type1 font -- trying to recover.');e.pos=a;for(;;){i=findBlock(e.peekBytes(2048),n,0);if(0===i.length)break;e.pos+=i.length;if(i.found){o=e.pos-a;break}}e.pos=a;if(o)return{stream:new Stream(e.getBytes(o)),length:o};warn('Unable to recover "Length1" property in Type1 font -- using as is.');return{stream:new Stream(e.getBytes(t)),length:t}}(t,a);new Type1Parser(o.stream,!1,qa).extractFontHeader(n);if(i){r=t.getBytes(6);s=r[5]<<24|r[4]<<16|r[3]<<8|r[2]}const l=function getEexecBlock(e,t){const n=e.getBytes();if(0===n.length)throw new FormatError("getEexecBlock - no font program found.");return{stream:new Stream(n),length:n.length}}(t),f=new Type1Parser(l.stream,!0,qa).extractFontProgram(n);for(const e in f.properties)n[e]=f.properties[e];const c=f.charstrings,h=this.getType2Charstrings(c),u=this.getType2Subrs(f.subrs);this.charstrings=c;this.data=this.wrap(e,h,this.charstrings,u,n);this.seacs=this.getSeacs(f.charstrings)}get numGlyphs(){return this.charstrings.length+1}getCharset(){const e=[".notdef"];for(const{glyphName:t}of this.charstrings)e.push(t);return e}getGlyphMapping(e){const t=this.charstrings;if(e.composite){const n=Object.create(null);for(let a=0,s=t.length;a<s;a++){n[e.cMap.charCodeOf(a)]=a+1}return n}const n=[".notdef"];let a,s;for(s=0;s<t.length;s++)n.push(t[s].glyphName);const r=e.builtInEncoding;if(r){a=Object.create(null);for(const e in r){s=n.indexOf(r[e]);s>=0&&(a[e]=s)}}return type1FontGlyphMapping(e,a,n)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let n=0,a=e.length;n<a;n++){const a=e[n];a.seac&&(t[n+1]=a.seac)}return t}getType2Charstrings(e){const t=[];for(const n of e)t.push(n.charstring);return t}getType2Subrs(e){let t=0;const n=e.length;t=n<1133?107:n<33769?1131:32768;const a=[];let s;for(s=0;s<t;s++)a.push([11]);for(s=0;s<n;s++)a.push(e[s]);return a}wrap(e,t,n,a,s){const r=new CFF;r.header=new CFFHeader(1,0,4,4);r.names=[e];const i=new CFFTopDict;i.setByName("version",391);i.setByName("Notice",392);i.setByName("FullName",393);i.setByName("FamilyName",394);i.setByName("Weight",395);i.setByName("Encoding",null);i.setByName("FontMatrix",s.fontMatrix);i.setByName("FontBBox",s.bbox);i.setByName("charset",null);i.setByName("CharStrings",null);i.setByName("Private",null);r.topDict=i;const o=new CFFStrings;o.add("Version 0.11");o.add("See original notice");o.add(e);o.add(e);o.add("Medium");r.strings=o;r.globalSubrIndex=new CFFIndex;const l=t.length,f=[".notdef"];let c,h;for(c=0;c<l;c++){const e=n[c].glyphName;-1===Oa.indexOf(e)&&o.add(e);f.push(e)}r.charset=new CFFCharset(!1,0,f);const u=new CFFIndex;u.add([139,14]);for(c=0;c<l;c++)u.add(t[c]);r.charStrings=u;const m=new CFFPrivateDict;m.setByName("Subrs",null);const p=["BlueValues","OtherBlues","FamilyBlues","FamilyOtherBlues","StemSnapH","StemSnapV","BlueShift","BlueFuzz","BlueScale","LanguageGroup","ExpansionFactor","ForceBold","StdHW","StdVW"];for(c=0,h=p.length;c<h;c++){const e=p[c];if(!(e in s.privateData))continue;const t=s.privateData[e];if(Array.isArray(t))for(let e=t.length-1;e>0;e--)t[e]-=t[e-1];m.setByName(e,t)}r.topDict.privateDict=m;const d=new CFFIndex;for(c=0,h=a.length;c<h;c++)d.add(a[c]);m.subrsIndex=d;return new CFFCompiler(r).compile()}}const is=[[57344,63743],[1048576,1114109]],os=1e3,ls=["ascent","bbox","black","bold","charProcOperatorList","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","disableFontFace","fallbackName","fontExtraProperties","fontMatrix","isInvalidPDFjsFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","systemFontInfo","vertical"],fs=["cMap","composite","defaultEncoding","differences","isMonospace","isSerifFont","isSymbolicFont","seacMap","subtype","toFontChar","toUnicode","type","vmetrics","widths"];function adjustWidths(e){if(!e.fontMatrix)return;if(e.fontMatrix[0]===t[0])return;const n=.001/e.fontMatrix[0],a=e.widths;for(const e in a)a[e]*=n;e.defaultWidth*=n}function amendFallbackToUnicode(e){if(!e.fallbackToUnicode)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;const t=[];for(const n in e.fallbackToUnicode)e.toUnicode.has(n)||(t[n]=e.fallbackToUnicode[n]);t.length>0&&e.toUnicode.amend(t)}class fonts_Glyph{constructor(e,t,n,a,s,r,i,o,l){this.originalCharCode=e;this.fontChar=t;this.unicode=n;this.accent=a;this.width=s;this.vmetric=r;this.operatorListId=i;this.isSpace=o;this.isInFont=l}get category(){return shadow(this,"category",function getCharUnicodeCategory(e){const t=ya.get(e);if(t)return t;const n=e.match(ka),a={isWhitespace:!!n?.[1],isZeroWidthDiacritic:!!n?.[2],isInvisibleFormatMark:!!n?.[3]};ya.set(e,a);return a}(this.unicode),!0)}}function int16(e,t){return(e<<8)+t}function writeSignedInt16(e,t,n){e[t+1]=n;e[t]=n>>>8}function signedInt16(e,t){const n=(e<<8)+t;return 32768&n?n-65536:n}function string16(e){return String.fromCharCode(e>>8&255,255&e)}function safeString16(e){e>32767?e=32767:e<-32768&&(e=-32768);return String.fromCharCode(e>>8&255,255&e)}function isTrueTypeCollectionFile(e){return"ttcf"===bytesToString(e.peekBytes(4))}function getFontFileType(e,{type:t,subtype:n,composite:a}){let s,r;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===readUint32(t,0)||"true"===bytesToString(t)}(e)||isTrueTypeCollectionFile(e))s=a?"CIDFontType2":"TrueType";else if(function isOpenTypeFile(e){return"OTTO"===bytesToString(e.peekBytes(4))}(e))s=a?"CIDFontType2":"OpenType";else if(function isType1File(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e))s=a?"CIDFontType0":"MMType1"===t?"MMType1":"Type1";else if(function isCFFFile(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e))if(a){s="CIDFontType0";r="CIDFontType0C"}else{s="MMType1"===t?"MMType1":"Type1";r="Type1C"}else{warn("getFontFileType: Unable to detect correct font file Type/Subtype.");s=t;r=n}return[s,r]}function applyStandardFontGlyphMap(e,t){for(const n in t)e[+n]=t[n]}function buildToFontChar(e,t,n){const a=[];let s;for(let n=0,r=e.length;n<r;n++){s=getUnicodeForGlyph(e[n],t);-1!==s&&(a[n]=s)}for(const e in n){s=getUnicodeForGlyph(n[e],t);-1!==s&&(a[+e]=s)}return a}function isMacNameRecord(e){return 1===e.platform&&0===e.encoding&&0===e.language}function isWinNameRecord(e){return 3===e.platform&&1===e.encoding&&1033===e.language}function convertCidString(e,t,n=!1){switch(t.length){case 1:return t.charCodeAt(0);case 2:return t.charCodeAt(0)<<8|t.charCodeAt(1)}const a=`Unsupported CID string (charCode ${e}): "${t}".`;if(n)throw new FormatError(a);warn(a);return t}function adjustMapping(e,t,n,a){const s=Object.create(null),r=new Map,i=[],o=new Set;let l=0;let f=is[l][0],c=is[l][1];const isInPrivateArea=e=>is[0][0]<=e&&e<=is[0][1]||is[1][0]<=e&&e<=is[1][1];let h=null;for(const u in e){let m=e[u];if(!t(m))continue;if(f>c){l++;if(l>=is.length){warn("Ran out of space in font private use area.");break}f=is[l][0];c=is[l][1]}const p=f++;0===m&&(m=n);let d=a.get(u);if("string"==typeof d)if(1===d.length)d=d.codePointAt(0);else{if(!h){h=new Map;for(let e=64256;e<=64335;e++){const t=String.fromCharCode(e).normalize("NFKD");t.length>1&&h.set(t,e)}}d=h.get(d)||d.codePointAt(0)}if(d&&!isInPrivateArea(d)&&!o.has(m)){r.set(d,m);o.add(m)}s[p]=m;i[u]=p}return{toFontChar:i,charCodeToGlyphId:s,toUnicodeExtraMap:r,nextAvailableFontCharCode:f}}function createCmapTable(e,t,n){const a=function getRanges(e,t,n){const a=[];for(const t in e)e[t]>=n||a.push({fontCharCode:0|t,glyphId:e[t]});if(t)for(const[e,s]of t)s>=n||a.push({fontCharCode:e,glyphId:s});0===a.length&&a.push({fontCharCode:0,glyphId:0});a.sort((e,t)=>e.fontCharCode-t.fontCharCode);const s=[],r=a.length;for(let e=0;e<r;){const t=a[e].fontCharCode,n=[a[e].glyphId];++e;let i=t;for(;e<r&&i+1===a[e].fontCharCode;){n.push(a[e].glyphId);++i;++e;if(65535===i)break}s.push([t,i,n])}return s}(e,t,n),s=a.at(-1)[1]>65535?2:1;let r,i,o,l,f="\0\0"+string16(s)+"\0\0"+string32(4+8*s);for(r=a.length-1;r>=0&&!(a[r][0]<=65535);--r);const c=r+1;a[r][0]<65535&&65535===a[r][1]&&(a[r][1]=65534);const h=a[r][1]<65535?1:0,u=c+h,m=OpenTypeFileBuilder.getSearchParams(u,2);let p,d,g,b,w="",j="",k="",y="",q="",v=0;for(r=0,i=c;r<i;r++){p=a[r];d=p[0];g=p[1];w+=string16(d);j+=string16(g);b=p[2];let e=!0;for(o=1,l=b.length;o<l;++o)if(b[o]!==b[o-1]+1){e=!1;break}if(e){k+=string16(b[0]-d&65535);y+=string16(0)}else{const e=2*(u-r)+2*v;v+=g-d+1;k+=string16(0);y+=string16(e);for(o=0,l=b.length;o<l;++o)q+=string16(b[o])}}if(h>0){j+="ÿÿ";w+="ÿÿ";k+="\0";y+="\0\0"}const S="\0\0"+string16(2*u)+string16(m.range)+string16(m.entry)+string16(m.rangeShift)+j+"\0\0"+w+k+y+q;let x="",C="";if(s>1){f+="\0\0\n"+string32(4+8*s+4+S.length);x="";for(r=0,i=a.length;r<i;r++){p=a[r];d=p[0];b=p[2];let e=b[0];for(o=1,l=b.length;o<l;++o)if(b[o]!==b[o-1]+1){g=p[0]+o-1;x+=string32(d)+string32(g)+string32(e);d=g+1;e=b[o]}x+=string32(d)+string32(p[1])+string32(e)}C="\0\f\0\0"+string32(x.length+16)+"\0\0\0\0"+string32(x.length/12)}return f+"\0"+string16(S.length+4)+S+C+x}function createOS2Table(e,t,n){n||={unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};let a=0,s=0,r=0,i=0,o=null,l=0,f=-1;if(t){for(let e in t){e|=0;(o>e||!o)&&(o=e);l<e&&(l=e);f=getUnicodeRangeFor(e,f);if(f<32)a|=1<<f;else if(f<64)s|=1<<f-32;else if(f<96)r|=1<<f-64;else{if(!(f<123))throw new FormatError("Unicode ranges Bits > 123 are reserved for internal usage");i|=1<<f-96}}l>65535&&(l=65535)}else{o=0;l=255}const c=e.bbox||[0,0,0,0],h=n.unitsPerEm||(e.fontMatrix?1/Math.max(...e.fontMatrix.slice(0,4).map(Math.abs)):1e3),u=e.ascentScaled?1:h/os,m=n.ascent||Math.round(u*(e.ascent||c[3]));let p=n.descent||Math.round(u*(e.descent||c[1]));p>0&&e.descent>0&&c[1]<0&&(p=-p);const d=n.yMax||m,g=-n.yMin||-p;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(e.fixedPitch?9:0)+"\0\0\0\0\0\0"+string32(a)+string32(s)+string32(r)+string32(i)+"*21*"+string16(e.italicAngle?1:0)+string16(o||e.firstChar)+string16(l||e.lastChar)+string16(m)+string16(p)+"\0d"+string16(d)+string16(g)+"\0\0\0\0\0\0\0\0"+string16(e.xHeight)+string16(e.capHeight)+string16(0)+string16(o||e.firstChar)+"\0"}function createPostTable(e){return"\0\0\0"+string32(Math.floor(65536*e.italicAngle))+"\0\0\0\0"+string32(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function createPostscriptName(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(e,t){t||(t=[[],[]]);const n=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||createPostscriptName(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],a=[];let s,r,i,o,l;for(s=0,r=n.length;s<r;s++){l=t[1][s]||n[s];const e=[];for(i=0,o=l.length;i<o;i++)e.push(string16(l.charCodeAt(i)));a.push(e.join(""))}const f=[n,a],c=["\0","\0"],h=["\0\0","\0"],u=["\0\0","\t"],m=n.length*c.length;let p="\0\0"+string16(m)+string16(12*m+6),d=0;for(s=0,r=c.length;s<r;s++){const e=f[s];for(i=0,o=e.length;i<o;i++){l=e[i];p+=c[s]+h[s]+u[s]+string16(i)+string16(l.length)+string16(d);d+=l.length}}p+=n.join("")+a.join("");return p}class Font{constructor(e,t,n,a){this.name=e;this.psName=null;this.mimetype=null;this.disableFontFace=a.disableFontFace;this.fontExtraProperties=a.fontExtraProperties;this.loadedName=n.loadedName;this.isType3Font=n.isType3Font;this.missingFile=!1;this.cssFontInfo=n.cssFontInfo;this._charsCache=Object.create(null);this._glyphCache=Object.create(null);let s=!!(n.flags&Sa);if(!s&&!n.isSimulatedFlags){const t=Na(),n=La(),a=Ua();for(const r of e.split("+")){let e=normalizeFontName(r);e=t[e]||n[e]||e;e=e.split("-",1)[0];if(a[e]){s=!0;break}}}this.isSerifFont=s;this.isSymbolicFont=!!(n.flags&xa);this.isMonospace=!!(n.flags&va);let{type:r,subtype:i}=n;this.type=r;this.subtype=i;this.systemFontInfo=n.systemFontInfo;const o=e.match(/^InvalidPDFjsFont_(.*)_\d+$/);this.isInvalidPDFjsFont=!!o;this.isInvalidPDFjsFont?this.fallbackName=o[1]:this.isMonospace?this.fallbackName="monospace":this.isSerifFont?this.fallbackName="serif":this.fallbackName="sans-serif";if(this.systemFontInfo?.guessFallback){this.systemFontInfo.guessFallback=!1;this.systemFontInfo.css+=`,${this.fallbackName}`}this.differences=n.differences;this.widths=n.widths;this.defaultWidth=n.defaultWidth;this.composite=n.composite;this.cMap=n.cMap;this.capHeight=n.capHeight/os;this.ascent=n.ascent/os;this.descent=n.descent/os;this.lineHeight=this.ascent-this.descent;this.fontMatrix=n.fontMatrix;this.bbox=n.bbox;this.defaultEncoding=n.defaultEncoding;this.toUnicode=n.toUnicode;this.toFontChar=[];if("Type3"===n.type){for(let e=0;e<256;e++)this.toFontChar[e]=this.differences[e]||n.defaultEncoding[e];return}this.cidEncoding=n.cidEncoding||"";this.vertical=!!n.vertical;if(this.vertical){this.vmetrics=n.vmetrics;this.defaultVMetrics=n.defaultVMetrics}if(!t||t.isEmpty){t&&warn('Font file is empty in "'+e+'" ('+this.loadedName+")");this.fallbackToSystemFont(n);return}[r,i]=getFontFileType(t,n);r===this.type&&i===this.subtype||info(`Inconsistent font file Type/SubType, expected: ${this.type}/${this.subtype} but found: ${r}/${i}.`);let l;try{switch(r){case"MMType1":info("MMType1 font ("+e+"), falling back to Type1.");case"Type1":case"CIDFontType0":this.mimetype="font/opentype";const a="Type1C"===i||"CIDFontType0C"===i?new CFFFont(t,n):new Type1Font(e,t,n);adjustWidths(n);l=this.convert(e,a,n);break;case"OpenType":case"TrueType":case"CIDFontType2":this.mimetype="font/opentype";l=this.checkAndRepair(e,t,n);adjustWidths(n);this.isOpenType&&(r="OpenType");break;default:throw new FormatError(`Font ${r} is not supported`)}}catch(e){warn(e);this.fallbackToSystemFont(n);return}amendFallbackToUnicode(n);this.data=l;this.type=r;this.subtype=i;this.fontMatrix=n.fontMatrix;this.widths=n.widths;this.defaultWidth=n.defaultWidth;this.toUnicode=n.toUnicode;this.seacMap=n.seacMap}get renderer(){return shadow(this,"renderer",FontRendererFactory.create(this,qa))}exportData(){const e=Object.create(null);for(const t of ls){const n=this[t];void 0!==n&&(e[t]=n)}if(!this.fontExtraProperties)return{data:e};const t=Object.create(null);for(const e of fs){const n=this[e];void 0!==n&&(t[e]=n)}return{data:e,extra:t}}fallbackToSystemFont(e){this.missingFile=!0;const{name:t,type:n}=this;let a=normalizeFontName(t);const s=Na(),r=La(),i=!!s[a],o=!(!r[a]||!s[r[a]]);a=s[a]||r[a]||a;const l=Va()[a];if(l){isNaN(this.ascent)&&(this.ascent=l.ascent/os);isNaN(this.descent)&&(this.descent=l.descent/os);isNaN(this.capHeight)&&(this.capHeight=l.capHeight/os)}this.bold=/bold/gi.test(a);this.italic=/oblique|italic/gi.test(a);this.black=/Black/g.test(t);const f=/Narrow/g.test(t);this.remeasure=(!i||f)&&Object.keys(this.widths).length>0;if((i||o)&&"CIDFontType2"===n&&this.cidEncoding.startsWith("Identity-")){const n=e.cidToGidMap,a=[];applyStandardFontGlyphMap(a,Xa());/Arial-?Black/i.test(t)?applyStandardFontGlyphMap(a,Wa()):/Calibri/i.test(t)&&applyStandardFontGlyphMap(a,Ka());if(n){for(const e in a){const t=a[e];void 0!==n[t]&&(a[+e]=n[t])}n.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof IdentityToUnicodeMap&&this.toUnicode.forEach(function(e,t){const s=a[e];void 0===n[s]&&(a[+e]=t)})}this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach(function(e,t){a[+e]=t});this.toFontChar=a;this.toUnicode=new ToUnicodeMap(a)}else if(/Symbol/i.test(a))this.toFontChar=buildToFontChar(pa,ga(),this.differences);else if(/Dingbats/i.test(a))this.toFontChar=buildToFontChar(da,ba(),this.differences);else if(i||o){const e=buildToFontChar(this.defaultEncoding,ga(),this.differences);"CIDFontType2"!==n||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach(function(t,n){e[+t]=n});this.toFontChar=e}else{const e=ga(),n=[];this.toUnicode.forEach((t,a)=>{if(!this.composite){const n=getUnicodeForGlyph(this.differences[t]||this.defaultEncoding[t],e);-1!==n&&(a=n)}n[+t]=a});this.composite&&this.toUnicode instanceof IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(t)&&applyStandardFontGlyphMap(n,Xa());this.toFontChar=n}amendFallbackToUnicode(e);this.loadedName=a.split("-",1)[0]}checkAndRepair(e,t,n){const a=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e,t){const n=Object.create(null);n["OS/2"]=null;n.cmap=null;n.head=null;n.hhea=null;n.hmtx=null;n.maxp=null;n.name=null;n.post=null;for(let s=0;s<t;s++){const t=readTableEntry(e);a.includes(t.tag)&&(0!==t.length&&(n[t.tag]=t))}return n}function readTableEntry(e){const t=e.getString(4),n=e.getInt32()>>>0,a=e.getInt32()>>>0,s=e.getInt32()>>>0,r=e.pos;e.pos=e.start||0;e.skip(a);const i=e.getBytes(s);e.pos=r;if("head"===t){i[8]=i[9]=i[10]=i[11]=0;i[17]|=32}return{tag:t,checksum:n,length:s,offset:a,data:i}}function readOpenTypeHeader(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function sanitizeGlyph(e,t,n,a,s,r){const i={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||n>e.length||n-t<=12)return i;const o=e.subarray(t,n),l=signedInt16(o[2],o[3]),f=signedInt16(o[4],o[5]),c=signedInt16(o[6],o[7]),h=signedInt16(o[8],o[9]);if(l>c){writeSignedInt16(o,2,c);writeSignedInt16(o,6,l)}if(f>h){writeSignedInt16(o,4,h);writeSignedInt16(o,8,f)}const u=signedInt16(o[0],o[1]);if(u<0){if(u<-1)return i;a.set(o,s);i.length=o.length;return i}let m,p=10,d=0;for(m=0;m<u;m++){d=(o[p]<<8|o[p+1])+1;p+=2}const g=p,b=o[p]<<8|o[p+1];i.sizeOfInstructions=b;p+=2+b;const w=p;let j=0;for(m=0;m<d;m++){const e=o[p++];192&e&&(o[p-1]=63&e);let t=2;2&e?t=1:16&e&&(t=0);let n=2;4&e?n=1:32&e&&(n=0);const a=t+n;j+=a;if(8&e){const e=o[p++];0===e&&(o[p-1]^=8);m+=e;j+=e*a}}if(0===j)return i;let k=p+j;if(k>o.length)return i;if(!r&&b>0){a.set(o.subarray(0,g),s);a.set([0,0],s+g);a.set(o.subarray(w,k),s+g+2);k-=b;o.length-k>3&&(k=k+3&-4);i.length=k;return i}if(o.length-k>3){k=k+3&-4;a.set(o.subarray(0,k),s);i.length=k;return i}a.set(o,s);i.length=o.length;return i}function readNameTable(e){const n=(t.start||0)+e.offset;t.pos=n;const a=[[],[]],s=[],r=e.length,i=n+r;if(0!==t.getUint16()||r<6)return[a,s];const o=t.getUint16(),l=t.getUint16();let f,c;for(f=0;f<o&&t.pos+12<=i;f++){const e={platform:t.getUint16(),encoding:t.getUint16(),language:t.getUint16(),name:t.getUint16(),length:t.getUint16(),offset:t.getUint16()};(isMacNameRecord(e)||isWinNameRecord(e))&&s.push(e)}for(f=0,c=s.length;f<c;f++){const e=s[f];if(e.length<=0)continue;const r=n+l+e.offset;if(r+e.length>i)continue;t.pos=r;const o=e.name;if(e.encoding){let n="";for(let a=0,s=e.length;a<s;a+=2)n+=String.fromCharCode(t.getUint16());a[1][o]=n}else a[0][o]=t.getString(e.length)}return[a,s]}const s=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];function sanitizeTTProgram(e,t){let n,a,r,i,o,l=e.data,f=0,c=0,h=0;const u=[],m=[],p=[];let d=t.tooComplexToFollowFunctions,g=!1,b=0,w=0;for(let e=l.length;f<e;){const e=l[f++];if(64===e){a=l[f++];if(g||w)f+=a;else for(n=0;n<a;n++)u.push(l[f++])}else if(65===e){a=l[f++];if(g||w)f+=2*a;else for(n=0;n<a;n++){r=l[f++];u.push(r<<8|l[f++])}}else if(176==(248&e)){a=e-176+1;if(g||w)f+=a;else for(n=0;n<a;n++)u.push(l[f++])}else if(184==(248&e)){a=e-184+1;if(g||w)f+=2*a;else for(n=0;n<a;n++){r=l[f++];u.push(signedInt16(r,l[f++]))}}else if(43!==e||d)if(44!==e||d){if(45===e)if(g){g=!1;c=f}else{o=m.pop();if(!o){warn("TT: ENDF bad stack");t.hintsValid=!1;return}i=p.pop();l=o.data;f=o.i;t.functionsStackDeltas[i]=u.length-o.stackTop}else if(137===e){if(g||w){warn("TT: nested IDEFs not allowed");d=!0}g=!0;h=f}else if(88===e)++b;else if(27===e)w=b;else if(89===e){w===b&&(w=0);--b}else if(28===e&&!g&&!w){const e=u.at(-1);e>0&&(f+=e-1)}}else{if(g||w){warn("TT: nested FDEFs not allowed");d=!0}g=!0;h=f;i=u.pop();t.functionsDefined[i]={data:l,i:f}}else if(!g&&!w){i=u.at(-1);if(isNaN(i))info("TT: CALL empty stack (or invalid entry).");else{t.functionsUsed[i]=!0;if(i in t.functionsStackDeltas){const e=u.length+t.functionsStackDeltas[i];if(e<0){warn("TT: CALL invalid functions stack delta.");t.hintsValid=!1;return}u.length=e}else if(i in t.functionsDefined&&!p.includes(i)){m.push({data:l,i:f,stackTop:u.length-1});p.push(i);o=t.functionsDefined[i];if(!o){warn("TT: CALL non-existent function");t.hintsValid=!1;return}l=o.data;f=o.i}}}if(!g&&!w){let t=0;e<=142?t=s[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2);if(e>=113&&e<=117){a=u.pop();isNaN(a)||(t=2*-a)}for(;t<0&&u.length>0;){u.pop();t++}for(;t>0;){u.push(NaN);t--}}}t.tooComplexToFollowFunctions=d;const j=[l];f>l.length&&j.push(new Uint8Array(f-l.length));if(h>c){warn("TT: complementing a missing function tail");j.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let n,a,s=0;for(n=0,a=t.length;n<a;n++)s+=t[n].length;s=s+3&-4;const r=new Uint8Array(s);let i=0;for(n=0,a=t.length;n<a;n++){r.set(t[n],i);i+=t[n].length}e.data=r;e.length=s}}(e,j)}let r,i;if(isTrueTypeCollectionFile(t=new Stream(new Uint8Array(t.getBytes())))){const e=function readTrueTypeCollectionData(e,t){const{numFonts:n,offsetTable:a}=function readTrueTypeCollectionHeader(e){const t=e.getString(4);assert("ttcf"===t,"Must be a TrueType Collection font.");const n=e.getUint16(),a=e.getUint16(),s=e.getInt32()>>>0,r=[];for(let t=0;t<s;t++)r.push(e.getInt32()>>>0);const i={ttcTag:t,majorVersion:n,minorVersion:a,numFonts:s,offsetTable:r};switch(n){case 1:return i;case 2:i.dsigTag=e.getInt32()>>>0;i.dsigLength=e.getInt32()>>>0;i.dsigOffset=e.getInt32()>>>0;return i}throw new FormatError(`Invalid TrueType Collection majorVersion: ${n}.`)}(e),s=t.split("+");let r;for(let i=0;i<n;i++){e.pos=(e.start||0)+a[i];const n=readOpenTypeHeader(e),o=readTables(e,n.numTables);if(!o.name)throw new FormatError('TrueType Collection font must contain a "name" table.');const[l]=readNameTable(o.name);for(let e=0,a=l.length;e<a;e++)for(let a=0,i=l[e].length;a<i;a++){const i=l[e][a]?.replaceAll(/\s/g,"");if(i){if(i===t)return{header:n,tables:o};if(!(s.length<2))for(const e of s)i===e&&(r={name:e,header:n,tables:o})}}}if(r){warn(`TrueType Collection does not contain "${t}" font, falling back to "${r.name}" font instead.`);return{header:r.header,tables:r.tables}}throw new FormatError(`TrueType Collection does not contain "${t}" font.`)}(t,this.name);r=e.header;i=e.tables}else{r=readOpenTypeHeader(t);i=readTables(t,r.numTables)}const o=!i["CFF "];if(o){if(!i.loca)throw new FormatError('Required "loca" table is not found');if(!i.glyf){warn('Required "glyf" table is not found -- trying to recover.');i.glyf={tag:"glyf",data:new Uint8Array(0)}}this.isOpenType=!1}else{if("OTTO"===r.version&&!n.composite||!i.head||!i.hhea||!i.maxp||!i.post)return this.convert(e,new CFFFont(new Stream(i["CFF "].data),n),n);delete i.glyf;delete i.loca;delete i.fpgm;delete i.prep;delete i["cvt "];this.isOpenType=!0}if(!i.maxp)throw new FormatError('Required "maxp" table is not found');let l;if(!o)try{const e=new CFFParser(new Stream(i["CFF "].data),n,qa).parse();e.duplicateFirstGlyph();const t=new CFFCompiler(e);i["CFF "].data=t.compile();l=e.charStringCount}catch{warn("Failed to compile font "+n.loadedName)}t.pos=(t.start||0)+i.maxp.offset;let f=t.getInt32();const c=l??t.getUint16();if(20480===f&&6!==i.maxp.length){i.maxp.data=i.maxp.data.subarray(0,6);i.maxp.length=6}if(65536!==f&&20480!==f){if(6===i.maxp.length)f=20480;else{if(!(i.maxp.length>=32))throw new FormatError('"maxp" table has a wrong version number');f=65536}!function writeUint32(e,t,n){e[t+3]=255&n;e[t+2]=n>>>8;e[t+1]=n>>>16;e[t]=n>>>24}(i.maxp.data,0,f)}let h=int16(i.head.data[50],i.head.data[51]);if(i.loca){const e=h?4*(c+1):2*(c+1);if(i.loca.length!==e){warn("Incorrect 'loca' table length -- attempting to fix it.");const n=Object.values(i).filter(Boolean).sort((e,t)=>e.offset-t.offset),a=n.indexOf(i.loca),s=n[a+1]||null;if(s&&i.loca.offset+e<s.offset){const n=t.pos;t.pos=t.start||0;t.skip(i.loca.offset);i.loca.data=t.getBytes(e);i.loca.length=e;t.pos=n}}}if(n.scaleFactors?.length===c&&o){const{scaleFactors:e}=n,t=new GlyfTable({glyfTable:i.glyf.data,isGlyphLocationsLong:h,locaTable:i.loca.data,numGlyphs:c});t.scale(e);const{glyf:a,loca:s,isLocationLong:r}=t.write();i.glyf.data=a;i.loca.data=s;if(r!==!!h){i.head.data[50]=0;h=i.head.data[51]=r?1:0}const o=i.hmtx.data;for(let t=0;t<c;t++){const n=4*t,a=Math.round(e[t]*int16(o[n],o[n+1]));o[n]=a>>8&255;o[n+1]=255&a;writeSignedInt16(o,n+2,Math.round(e[t]*signedInt16(o[n+2],o[n+3])))}}let u=c+1,m=!0;if(u>65535){m=!1;u=c;warn("Not enough space in glyfs to duplicate first glyph.")}let p=0,d=0;if(f>=65536&&i.maxp.length>=32){t.pos+=8;if(t.getUint16()>2){i.maxp.data[14]=0;i.maxp.data[15]=2}t.pos+=4;p=t.getUint16();t.pos+=4;d=t.getUint16()}i.maxp.data[4]=u>>8;i.maxp.data[5]=255&u;const g=function sanitizeTTPrograms(e,t,n,a){const s={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,s);t&&sanitizeTTProgram(t,s);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){warn("TT: more functions defined than expected");e.hintsValid=!1}else for(let n=0,a=e.functionsUsed.length;n<a;n++){if(n>t){warn("TT: invalid function id: "+n);e.hintsValid=!1;return}if(e.functionsUsed[n]&&!e.functionsDefined[n]){warn("TT: undefined function: "+n);e.hintsValid=!1;return}}}(s,a);if(n&&1&n.length){const e=new Uint8Array(n.length+1);e.set(n.data);n.data=e}return s.hintsValid}(i.fpgm,i.prep,i["cvt "],p);if(!g){delete i.fpgm;delete i.prep;delete i["cvt "]}!function sanitizeMetrics(e,t,n,a,s,r){if(!t){n&&(n.data=null);return}e.pos=(e.start||0)+t.offset;e.pos+=4;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;const i=e.getUint16();e.pos+=8;e.pos+=2;let o=e.getUint16();if(0!==i){if(!(2&int16(a.data[44],a.data[45]))){t.data[22]=0;t.data[23]=0}}if(o>s){info(`The numOfMetrics (${o}) should not be greater than the numGlyphs (${s}).`);o=s;t.data[34]=(65280&o)>>8;t.data[35]=255&o}const l=s-o-(n.length-4*o>>1);if(l>0){const e=new Uint8Array(n.length+2*l);e.set(n.data);if(r){e[n.length]=n.data[2];e[n.length+1]=n.data[3]}n.data=e}}(t,i.hhea,i.hmtx,i.head,u,m);if(!i.head)throw new FormatError('Required "head" table is not found');!function sanitizeHead(e,t,n){const a=e.data,s=function int32(e,t,n,a){return(e<<24)+(t<<16)+(n<<8)+a}(a[0],a[1],a[2],a[3]);if(s>>16!=1){info("Attempting to fix invalid version in head table: "+s);a[0]=0;a[1]=1;a[2]=0;a[3]=0}const r=int16(a[50],a[51]);if(r<0||r>1){info("Attempting to fix invalid indexToLocFormat in head table: "+r);const e=t+1;if(n===e<<1){a[50]=0;a[51]=0}else{if(n!==e<<2)throw new FormatError("Could not fix indexToLocFormat: "+r);a[50]=0;a[51]=1}}}(i.head,c,o?i.loca.length:0);let b=Object.create(null);if(o){const e=function sanitizeGlyphLocations(e,t,n,a,s,r,i){let o,l,f;if(a){o=4;l=function fontItemDecodeLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};f=function fontItemEncodeLong(e,t,n){e[t]=n>>>24&255;e[t+1]=n>>16&255;e[t+2]=n>>8&255;e[t+3]=255&n}}else{o=2;l=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};f=function fontItemEncode(e,t,n){e[t]=n>>9&255;e[t+1]=n>>1&255}}const c=r?n+1:n,h=o*(1+c),u=new Uint8Array(h);u.set(e.data.subarray(0,h));e.data=u;const m=t.data,p=m.length,d=new Uint8Array(p);let g,b;const w=[];for(g=0,b=0;g<n+1;g++,b+=o){let e=l(u,b);e>p&&(e=p);w.push({index:g,offset:e,endOffset:0})}w.sort((e,t)=>e.offset-t.offset);for(g=0;g<n;g++)w[g].endOffset=w[g+1].offset;w.sort((e,t)=>e.index-t.index);for(g=0;g<n;g++){const{offset:e,endOffset:t}=w[g];if(0!==e||0!==t)break;const n=w[g+1].offset;if(0!==n){w[g].endOffset=n;break}}const j=w.at(-2);0!==j.offset&&0===j.endOffset&&(j.endOffset=p);const k=Object.create(null);let y=0;f(u,0,y);for(g=0,b=o;g<n;g++,b+=o){const e=sanitizeGlyph(m,w[g].offset,w[g].endOffset,d,y,s),t=e.length;0===t&&(k[g]=!0);e.sizeOfInstructions>i&&(i=e.sizeOfInstructions);y+=t;f(u,b,y)}if(0===y){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(g=0,b=o;g<c;g++,b+=o)f(u,b,e.length);t.data=e}else if(r){const n=l(u,o);if(d.length>n+y)t.data=d.subarray(0,n+y);else{t.data=new Uint8Array(n+y);t.data.set(d.subarray(0,y))}t.data.set(d.subarray(0,n),y);f(e.data,u.length-o,y+n)}else t.data=d.subarray(0,y);return{missingGlyphs:k,maxSizeOfInstructions:i}}(i.loca,i.glyf,c,h,g,m,d);b=e.missingGlyphs;if(f>=65536&&i.maxp.length>=32){i.maxp.data[26]=e.maxSizeOfInstructions>>8;i.maxp.data[27]=255&e.maxSizeOfInstructions}}if(!i.hhea)throw new FormatError('Required "hhea" table is not found');if(0===i.hhea.data[10]&&0===i.hhea.data[11]){i.hhea.data[10]=255;i.hhea.data[11]=255}const w={unitsPerEm:int16(i.head.data[18],i.head.data[19]),yMax:signedInt16(i.head.data[42],i.head.data[43]),yMin:signedInt16(i.head.data[38],i.head.data[39]),ascent:signedInt16(i.hhea.data[4],i.hhea.data[5]),descent:signedInt16(i.hhea.data[6],i.hhea.data[7]),lineGap:signedInt16(i.hhea.data[8],i.hhea.data[9])};this.ascent=w.ascent/w.unitsPerEm;this.descent=w.descent/w.unitsPerEm;this.lineGap=w.lineGap/w.unitsPerEm;if(this.cssFontInfo?.lineHeight){this.lineHeight=this.cssFontInfo.metrics.lineHeight;this.lineGap=this.cssFontInfo.metrics.lineGap}else this.lineHeight=this.ascent-this.descent+this.lineGap;i.post&&function readPostScriptTable(e,n,a){const s=(t.start||0)+e.offset;t.pos=s;const r=s+e.length,i=t.getInt32();t.skip(28);let o,l,f=!0;switch(i){case 65536:o=Ca;break;case 131072:const e=t.getUint16();if(e!==a){f=!1;break}const s=[];for(l=0;l<e;++l){const e=t.getUint16();if(e>=32768){f=!1;break}s.push(e)}if(!f)break;const c=[],h=[];for(;t.pos<r;){const e=t.getByte();h.length=e;for(l=0;l<e;++l)h[l]=String.fromCharCode(t.getByte());c.push(h.join(""))}o=[];for(l=0;l<e;++l){const e=s[l];e<258?o.push(Ca[e]):o.push(c[e-258])}break;case 196608:break;default:warn("Unknown/unsupported post table version "+i);f=!1;n.defaultEncoding&&(o=n.defaultEncoding)}n.glyphNames=o;return f}(i.post,n,c);i.post={tag:"post",data:createPostTable(n)};const j=Object.create(null);function hasGlyph(e){return!b[e]}if(n.composite){const e=n.cidToGidMap||[],t=0===e.length;n.cMap.forEach(function(n,a){"string"==typeof a&&(a=convertCidString(n,a,!0));if(a>65535)throw new FormatError("Max size of CID is 65,535");let s=-1;t?s=a:void 0!==e[a]&&(s=e[a]);s>=0&&s<c&&hasGlyph(s)&&(j[n]=s)})}else{const e=function readCmapTable(e,t,n,a){if(!e){warn("No cmap table available.");return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1}}let s,r=(t.start||0)+e.offset;t.pos=r;t.skip(2);const i=t.getUint16();let o,l=!1;for(let e=0;e<i;e++){const s=t.getUint16(),r=t.getUint16(),f=t.getInt32()>>>0;let c=!1;if(o?.platformId!==s||o?.encodingId!==r){if(0!==s||0!==r&&1!==r&&3!==r)if(1===s&&0===r)c=!0;else if(3!==s||1!==r||!a&&o){if(n&&3===s&&0===r){c=!0;let n=!0;if(e<i-1){const e=t.peekBytes(2);int16(e[0],e[1])<s&&(n=!1)}n&&(l=!0)}}else{c=!0;n||(l=!0)}else c=!0;c&&(o={platformId:s,encodingId:r,offset:f});if(l)break}}o&&(t.pos=r+o.offset);if(!o||-1===t.peekByte()){warn("Could not find a preferred cmap table.");return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1}}const f=t.getUint16();let c=!1;const h=[];let u,m;if(0===f){t.skip(4);for(u=0;u<256;u++){const e=t.getByte();e&&h.push({charCode:u,glyphId:e})}c=!0}else if(2===f){t.skip(4);const e=[];let n=0;for(let a=0;a<256;a++){const a=t.getUint16()>>3;e.push(a);n=Math.max(a,n)}const a=[];for(let e=0;e<=n;e++)a.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:signedInt16(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let n=0;n<256;n++)if(0===e[n]){t.pos=a[0].idRangePos+2*n;m=t.getUint16();h.push({charCode:n,glyphId:m})}else{const s=a[e[n]];for(u=0;u<s.entryCount;u++){const e=(n<<8)+u+s.firstCode;t.pos=s.idRangePos+2*u;m=t.getUint16();0!==m&&(m=(m+s.idDelta)%65536);h.push({charCode:e,glyphId:m})}}}else if(4===f){t.skip(4);const e=t.getUint16()>>1;t.skip(6);const n=[];let a;for(a=0;a<e;a++)n.push({end:t.getUint16()});t.skip(2);for(a=0;a<e;a++)n[a].start=t.getUint16();for(a=0;a<e;a++)n[a].delta=t.getUint16();let i,o=0;for(a=0;a<e;a++){s=n[a];const r=t.getUint16();if(r){i=(r>>1)-(e-a);s.offsetIndex=i;o=Math.max(o,i+s.end-s.start+1)}else s.offsetIndex=-1}const l=[];for(u=0;u<o;u++)l.push(t.getUint16());for(a=0;a<e;a++){s=n[a];r=s.start;const e=s.end,t=s.delta;i=s.offsetIndex;for(u=r;u<=e;u++)if(65535!==u){m=i<0?u:l[i+u-r];m=m+t&65535;h.push({charCode:u,glyphId:m})}}}else if(6===f){t.skip(4);const e=t.getUint16(),n=t.getUint16();for(u=0;u<n;u++){m=t.getUint16();const n=e+u;h.push({charCode:n,glyphId:m})}}else{if(12!==f){warn("cmap table has unsupported format: "+f);return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1}}{t.skip(10);const e=t.getInt32()>>>0;for(u=0;u<e;u++){const e=t.getInt32()>>>0,n=t.getInt32()>>>0;let a=t.getInt32()>>>0;for(let t=e;t<=n;t++)h.push({charCode:t,glyphId:a++})}}}h.sort((e,t)=>e.charCode-t.charCode);const p=[],d=new Set;for(const e of h){const{charCode:t}=e;if(!d.has(t)){d.add(t);p.push(e)}}return{platformId:o.platformId,encodingId:o.encodingId,mappings:p,hasShortCmap:c}}(i.cmap,t,this.isSymbolicFont,n.hasEncoding),a=e.platformId,s=e.encodingId,r=e.mappings;let o=[],l=!1;!n.hasEncoding||"MacRomanEncoding"!==n.baseEncodingName&&"WinAnsiEncoding"!==n.baseEncodingName||(o=getEncoding(n.baseEncodingName));if(n.hasEncoding&&!this.isSymbolicFont&&(3===a&&1===s||1===a&&0===s)){const e=ga();for(let t=0;t<256;t++){let i;i=void 0!==this.differences[t]?this.differences[t]:o.length&&""!==o[t]?o[t]:ua[t];if(!i)continue;const l=recoverGlyphName(i,e);let f;3===a&&1===s?f=e[l]:1===a&&0===s&&(f=ha.indexOf(l));if(void 0===f){if(!n.glyphNames&&n.hasIncludedToUnicodeMap&&!(this.toUnicode instanceof IdentityToUnicodeMap)){const e=this.toUnicode.get(t);e&&(f=e.codePointAt(0))}if(void 0===f)continue}for(const e of r)if(e.charCode===f){j[t]=e.glyphId;break}}}else if(0===a){for(const e of r)j[e.charCode]=e.glyphId;l=!0}else if(3===a&&0===s)for(const e of r){let t=e.charCode;t>=61440&&t<=61695&&(t&=255);j[t]=e.glyphId}else for(const e of r)j[e.charCode]=e.glyphId;if(n.glyphNames&&(o.length||this.differences.length))for(let e=0;e<256;++e){if(!l&&void 0!==j[e])continue;const t=this.differences[e]||o[e];if(!t)continue;const a=n.glyphNames.indexOf(t);a>0&&hasGlyph(a)&&(j[e]=a)}}0===j.length&&(j[0]=0);let k=u-1;m||(k=0);if(!n.cssFontInfo){const e=adjustMapping(j,hasGlyph,k,this.toUnicode);this.toFontChar=e.toFontChar;i.cmap={tag:"cmap",data:createCmapTable(e.charCodeToGlyphId,e.toUnicodeExtraMap,u)};i["OS/2"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const n=t.getUint16();t.skip(60);const a=t.getUint16();if(n<4&&768&a)return!1;if(t.getUint16()>t.getUint16())return!1;t.skip(6);if(0===t.getUint16())return!1;e.data[8]=e.data[9]=0;return!0}(i["OS/2"],t)||(i["OS/2"]={tag:"OS/2",data:createOS2Table(n,e.charCodeToGlyphId,w)})}if(i.name){const[t,a]=readNameTable(i.name);i.name.data=createNameTable(e,t);this.psName=t[0][6]||null;n.composite||function adjustTrueTypeToUnicode(e,t,n){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;if(!t)return;if(0===n.length)return;if(e.defaultEncoding===ma)return;for(const e of n)if(!isWinNameRecord(e))return;const a=ma,s=[],r=ga();for(const e in a){const t=a[e];if(""===t)continue;const n=r[t];void 0!==n&&(s[e]=String.fromCharCode(n))}s.length>0&&e.toUnicode.amend(s)}(n,this.isSymbolicFont,a)}else i.name={tag:"name",data:createNameTable(this.name)};const y=new OpenTypeFileBuilder(r.version);for(const e in i)y.addTable(e,i[e].data);return y.toArray()}convert(e,n,a){a.fixedPitch=!1;a.builtInEncoding&&function adjustType1ToUnicode(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;const n=[],a=ga();for(const s in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[s]))continue;const r=getUnicodeForGlyph(t[s],a);-1!==r&&(n[s]=String.fromCharCode(r))}n.length>0&&e.toUnicode.amend(n)}(a,a.builtInEncoding);let s=1;n instanceof CFFFont&&(s=n.numGlyphs-1);const r=n.getGlyphMapping(a);let i=null,o=r,l=null;if(!a.cssFontInfo){i=adjustMapping(r,n.hasGlyphId.bind(n),s,this.toUnicode);this.toFontChar=i.toFontChar;o=i.charCodeToGlyphId;l=i.toUnicodeExtraMap}const f=n.numGlyphs;function getCharCodes(e,t){let n=null;for(const a in e)t===e[a]&&(n||=[]).push(0|a);return n}function createCharCode(e,t){for(const n in e)if(t===e[n])return 0|n;i.charCodeToGlyphId[i.nextAvailableFontCharCode]=t;return i.nextAvailableFontCharCode++}const c=n.seacs;if(i&&c?.length){const e=a.fontMatrix||t,s=n.getCharset(),o=Object.create(null);for(let t in c){t|=0;const n=c[t],a=ua[n[2]],l=ua[n[3]],f=s.indexOf(a),h=s.indexOf(l);if(f<0||h<0)continue;const u={x:n[0]*e[0]+n[1]*e[2]+e[4],y:n[0]*e[1]+n[1]*e[3]+e[5]},m=getCharCodes(r,t);if(m)for(const e of m){const t=i.charCodeToGlyphId,n=createCharCode(t,f),a=createCharCode(t,h);o[e]={baseFontCharCode:n,accentFontCharCode:a,accentOffset:u}}}a.seacMap=o}const h=a.fontMatrix?1/Math.max(...a.fontMatrix.slice(0,4).map(Math.abs)):1e3,u=new OpenTypeFileBuilder("OTTO");u.addTable("CFF ",n.data);u.addTable("OS/2",createOS2Table(a,o));u.addTable("cmap",createCmapTable(o,l,f));u.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+safeString16(h)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+safeString16(a.descent)+"ÿ"+safeString16(a.ascent)+string16(a.italicAngle?2:0)+"\0\0\0\0\0\0\0");u.addTable("hhea","\0\0\0"+safeString16(a.ascent)+safeString16(a.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+safeString16(a.capHeight)+safeString16(Math.tan(a.italicAngle)*a.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+string16(f));u.addTable("hmtx",function fontFieldsHmtx(){const e=n.charstrings,t=n.cff?n.cff.widths:null;let a="\0\0\0\0";for(let n=1,s=f;n<s;n++){let s=0;if(e){const t=e[n-1];s="width"in t?t.width:0}else t&&(s=Math.ceil(t[n]||0));a+=string16(s)+string16(0)}return a}());u.addTable("maxp","\0\0P\0"+string16(f));u.addTable("name",createNameTable(e));u.addTable("post",createPostTable(a));return u.toArray()}get _spaceWidth(){const e=["space","minus","one","i","I"];let t;for(const n of e){if(n in this.widths){t=this.widths[n];break}const e=ga()[n];let a=0;if(this.composite&&this.cMap.contains(e)){a=this.cMap.lookup(e);"string"==typeof a&&(a=convertCidString(e,a))}!a&&this.toUnicode&&(a=this.toUnicode.charCodeOf(e));a<=0&&(a=e);t=this.widths[a];if(t)break}return shadow(this,"_spaceWidth",t||this.defaultWidth)}_charToGlyph(e,t=!1){let n,a,s,r=this._glyphCache[e];if(r?.isSpace===t)return r;let i=e;if(this.cMap?.contains(e)){i=this.cMap.lookup(e);"string"==typeof i&&(i=convertCidString(e,i))}a=this.widths[i];"number"!=typeof a&&(a=this.defaultWidth);const o=this.vmetrics?.[i];let l=this.toUnicode.get(e)||e;"number"==typeof l&&(l=String.fromCharCode(l));let f=void 0!==this.toFontChar[e];n=this.toFontChar[e]||e;if(this.missingFile){const t=this.differences[e]||this.defaultEncoding[e];if((".notdef"===t||""===t)&&"Type1"===this.type){n=32;if(""===t){a||=this._spaceWidth;l=String.fromCharCode(n)}}n=function mapSpecialUnicodeValues(e){return e>=65520&&e<=65535?0:e>=62976&&e<=63743?wa()[e]||e:173===e?45:e}(n)}this.isType3Font&&(s=n);let c=null;if(this.seacMap?.[e]){f=!0;const t=this.seacMap[e];n=t.baseFontCharCode;c={fontChar:String.fromCodePoint(t.accentFontCharCode),offset:t.accentOffset}}let h="";"number"==typeof n&&(n<=1114111?h=String.fromCodePoint(n):warn(`charToGlyph - invalid fontCharCode: ${n}`));if(this.missingFile&&this.vertical&&1===h.length){const e=Ia()[h.charCodeAt(0)];e&&(h=l=String.fromCharCode(e))}r=new fonts_Glyph(e,h,l,c,a,o,s,t,f);return this._glyphCache[e]=r}charsToGlyphs(e){let t=this._charsCache[e];if(t)return t;t=[];if(this.cMap){const n=Object.create(null),a=e.length;let s=0;for(;s<a;){this.cMap.readCharCode(e,s,n);const{charcode:a,length:r}=n;s+=r;const i=this._charToGlyph(a,1===r&&32===e.charCodeAt(s-1));t.push(i)}}else for(let n=0,a=e.length;n<a;++n){const a=e.charCodeAt(n),s=this._charToGlyph(a,32===a);t.push(s)}return this._charsCache[e]=t}getCharPositions(e){const t=[];if(this.cMap){const n=Object.create(null);let a=0;for(;a<e.length;){this.cMap.readCharCode(e,a,n);const s=n.length;t.push([a,a+s]);a+=s}}else for(let n=0,a=e.length;n<a;++n)t.push([n,n+1]);return t}get glyphCacheValues(){return Object.values(this._glyphCache)}encodeString(e){const t=[],n=[],hasCurrentBufErrors=()=>t.length%2==1,a=this.toUnicode instanceof IdentityToUnicodeMap?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let s=0,r=e.length;s<r;s++){const r=e.codePointAt(s);r>55295&&(r<57344||r>65533)&&s++;if(this.toUnicode){const e=a(r);if(-1!==e){if(hasCurrentBufErrors()){t.push(n.join(""));n.length=0}for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)n.push(String.fromCharCode(e>>8*t&255));continue}}if(!hasCurrentBufErrors()){t.push(n.join(""));n.length=0}n.push(String.fromCodePoint(r))}t.push(n.join(""));return t}}class ErrorFont{constructor(e){this.error=e;this.loadedName="g_font_error";this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(){return{error:this.error}}}class CssFontInfo{#O;#X;#W;static strings=["fontFamily","fontWeight","italicAngle"];static write(e){const t=new TextEncoder,n={};let a=0;for(const s of CssFontInfo.strings){const r=t.encode(e[s]);n[s]=r;a+=4+r.length}const s=new ArrayBuffer(a),r=new Uint8Array(s),i=new DataView(s);let o=0;for(const e of CssFontInfo.strings){const t=n[e],a=t.length;i.setUint32(o,a);r.set(t,o+4);o+=4+a}assert(o===s.byteLength,"CssFontInfo.write: Buffer overflow");return s}constructor(e){this.#O=e;this.#X=new DataView(this.#O);this.#W=new TextDecoder}#K(e){assert(e<CssFontInfo.strings.length,"Invalid string index");let t=0;for(let n=0;n<e;n++)t+=this.#X.getUint32(t)+4;const n=this.#X.getUint32(t);return this.#W.decode(new Uint8Array(this.#O,t+4,n))}get fontFamily(){return this.#K(0)}get fontWeight(){return this.#K(1)}get italicAngle(){return this.#K(2)}}class SystemFontInfo{#O;#X;#W;static strings=["css","loadedName","baseFontName","src"];static write(e){const t=new TextEncoder,n={};let a=0;for(const s of SystemFontInfo.strings){const r=t.encode(e[s]);n[s]=r;a+=4+r.length}a+=4;let s,r,i=1+a;if(e.style){s=t.encode(e.style.style);r=t.encode(e.style.weight);i+=4+s.length+4+r.length}const o=new ArrayBuffer(i),l=new Uint8Array(o),f=new DataView(o);let c=0;f.setUint8(c++,e.guessFallback?1:0);f.setUint32(c,0);c+=4;a=0;for(const e of SystemFontInfo.strings){const t=n[e],s=t.length;a+=4+s;f.setUint32(c,s);l.set(t,c+4);c+=4+s}f.setUint32(c-a-4,a);if(e.style){f.setUint32(c,s.length);l.set(s,c+4);c+=4+s.length;f.setUint32(c,r.length);l.set(r,c+4);c+=4+r.length}assert(c<=o.byteLength,"SubstitionInfo.write: Buffer overflow");return o.transferToFixedLength(c)}constructor(e){this.#O=e;this.#X=new DataView(this.#O);this.#W=new TextDecoder}get guessFallback(){return 0!==this.#X.getUint8(0)}#K(e){assert(e<SystemFontInfo.strings.length,"Invalid string index");let t=5;for(let n=0;n<e;n++)t+=this.#X.getUint32(t)+4;const n=this.#X.getUint32(t);return this.#W.decode(new Uint8Array(this.#O,t+4,n))}get css(){return this.#K(0)}get loadedName(){return this.#K(1)}get baseFontName(){return this.#K(2)}get src(){return this.#K(3)}get style(){let e=1;e+=4+this.#X.getUint32(e);const t=this.#X.getUint32(e),n=this.#W.decode(new Uint8Array(this.#O,e+4,t));e+=4+t;const a=this.#X.getUint32(e);return{style:n,weight:this.#W.decode(new Uint8Array(this.#O,e+4,a))}}}class FontInfo{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static numbers=["ascent","defaultWidth","descent"];static strings=["fallbackName","loadedName","mimetype","name"];static#G=Math.ceil(2*this.bools.length/8);static#V=this.#G+8*this.numbers.length;static#$=this.#V+1+8;static#Y=this.#$+1+48;static#J=this.#Y+1+6;#O;#W;#X;constructor({data:e,extra:t}){this.#O=e;this.#W=new TextDecoder;this.#X=new DataView(this.#O);t&&Object.assign(this,t)}#Q(e){assert(e<FontInfo.bools.length,"Invalid boolean index");const t=Math.floor(e/4),n=2*e%8,a=this.#X.getUint8(t)>>n&3;return 0===a?void 0:2===a}get black(){return this.#Q(0)}get bold(){return this.#Q(1)}get disableFontFace(){return this.#Q(2)}get fontExtraProperties(){return this.#Q(3)}get isInvalidPDFjsFont(){return this.#Q(4)}get isType3Font(){return this.#Q(5)}get italic(){return this.#Q(6)}get missingFile(){return this.#Q(7)}get remeasure(){return this.#Q(8)}get vertical(){return this.#Q(9)}#Z(e){assert(e<FontInfo.numbers.length,"Invalid number index");return this.#X.getFloat64(FontInfo.#G+8*e)}get ascent(){return this.#Z(0)}get defaultWidth(){return this.#Z(1)}get descent(){return this.#Z(2)}get bbox(){let e=FontInfo.#V;if(0===this.#X.getUint8(e))return;e+=1;const t=[];for(let n=0;n<4;n++){t.push(this.#X.getInt16(e,!0));e+=2}return t}get fontMatrix(){let e=FontInfo.#$;if(0===this.#X.getUint8(e))return;e+=1;const t=[];for(let n=0;n<6;n++){t.push(this.#X.getFloat64(e,!0));e+=8}return t}get defaultVMetrics(){let e=FontInfo.#Y;if(0===this.#X.getUint8(e))return;e+=1;const t=[];for(let n=0;n<3;n++){t.push(this.#X.getInt16(e,!0));e+=2}return t}#K(e){assert(e<FontInfo.strings.length,"Invalid string index");let t=FontInfo.#J+4;for(let n=0;n<e;n++)t+=this.#X.getUint32(t)+4;const n=this.#X.getUint32(t),a=new Uint8Array(n);a.set(new Uint8Array(this.#O,t+4,n));return this.#W.decode(a)}get fallbackName(){return this.#K(0)}get loadedName(){return this.#K(1)}get mimetype(){return this.#K(2)}get name(){return this.#K(3)}get data(){let e=FontInfo.#J;e+=4+this.#X.getUint32(e);e+=4+this.#X.getUint32(e);e+=4+this.#X.getUint32(e);const t=this.#X.getUint32(e);if(0!==t)return new Uint8Array(this.#O,e+4,t)}clearData(){let e=FontInfo.#J;e+=4+this.#X.getUint32(e);e+=4+this.#X.getUint32(e);e+=4+this.#X.getUint32(e);const t=this.#X.getUint32(e);new Uint8Array(this.#O,e+4,t).fill(0);this.#X.setUint32(e,0)}get cssFontInfo(){let e=FontInfo.#J;e+=4+this.#X.getUint32(e);e+=4+this.#X.getUint32(e);const t=this.#X.getUint32(e);if(0===t)return null;const n=new Uint8Array(t);n.set(new Uint8Array(this.#O,e+4,t));return new CssFontInfo(n.buffer)}get systemFontInfo(){let e=FontInfo.#J;e+=4+this.#X.getUint32(e);const t=this.#X.getUint32(e);if(0===t)return null;const n=new Uint8Array(t);n.set(new Uint8Array(this.#O,e+4,t));return new SystemFontInfo(n.buffer)}static write(e){const t=e.systemFontInfo?SystemFontInfo.write(e.systemFontInfo):null,n=e.cssFontInfo?CssFontInfo.write(e.cssFontInfo):null,a=new TextEncoder,s={};let r=0;for(const t of FontInfo.strings){s[t]=a.encode(e[t]);r+=4+s[t].length}const i=FontInfo.#J+4+r+4+(t?t.byteLength:0)+4+(n?n.byteLength:0)+4+(e.data?e.data.length:0),o=new ArrayBuffer(i),l=new Uint8Array(o),f=new DataView(o);let c=0;const h=FontInfo.bools.length;let u=0,m=0;for(let t=0;t<h;t++){const n=e[FontInfo.bools[t]];u|=(void 0===n?0:n?2:1)<<m;m+=2;if(8===m||t===h-1){f.setUint8(c++,u);u=0;m=0}}assert(c===FontInfo.#G,"FontInfo.write: Boolean properties offset mismatch");for(const t of FontInfo.numbers){f.setFloat64(c,e[t]);c+=8}assert(c===FontInfo.#V,"FontInfo.write: Number properties offset mismatch");if(e.bbox){f.setUint8(c++,4);for(const t of e.bbox){f.setInt16(c,t,!0);c+=2}}else{f.setUint8(c++,0);c+=8}assert(c===FontInfo.#$,"FontInfo.write: BBox properties offset mismatch");if(e.fontMatrix){f.setUint8(c++,6);for(const t of e.fontMatrix){f.setFloat64(c,t,!0);c+=8}}else{f.setUint8(c++,0);c+=48}assert(c===FontInfo.#Y,"FontInfo.write: FontMatrix properties offset mismatch");if(e.defaultVMetrics){f.setUint8(c++,1);for(const t of e.defaultVMetrics){f.setInt16(c,t,!0);c+=2}}else{f.setUint8(c++,0);c+=6}assert(c===FontInfo.#J,"FontInfo.write: DefaultVMetrics properties offset mismatch");f.setUint32(FontInfo.#J,0);c+=4;for(const e of FontInfo.strings){const t=s[e],n=t.length;f.setUint32(c,n);l.set(t,c+4);c+=4+n}f.setUint32(FontInfo.#J,c-FontInfo.#J-4);if(t){const e=t.byteLength;f.setUint32(c,e);assert(c+4+e<=o.byteLength,"FontInfo.write: Buffer overflow at systemFontInfo");l.set(new Uint8Array(t),c+4);c+=4+e}else{f.setUint32(c,0);c+=4}if(n){const e=n.byteLength;f.setUint32(c,e);assert(c+4+e<=o.byteLength,"FontInfo.write: Buffer overflow at cssFontInfo");l.set(new Uint8Array(n),c+4);c+=4+e}else{f.setUint32(c,0);c+=4}if(void 0===e.data){f.setUint32(c,0);c+=4}else{f.setUint32(c,e.data.length);l.set(e.data,c+4);c+=4+e.data.length}assert(c<=o.byteLength,"FontInfo.write: Buffer overflow");return o.transferToFixedLength(c)}}class PatternInfo{static#ee=0;static#te=1;static#ne=2;static#ae=3;static#se=4;static#re=8;static#ie=12;static#oe=16;constructor(e){this.buffer=e;this.view=new DataView(e);this.data=new Uint8Array(e)}static write(e){let t,n=null,a=[],s=[],r=[],i=[],o=null,l=null;switch(e[0]){case"RadialAxial":t="axial"===e[1]?1:2;n=e[2];r=e[3];1===t?a.push(...e[4],...e[5]):a.push(e[4][0],e[4][1],e[6],e[5][0],e[5][1],e[7]);break;case"Mesh":t=3;o=e[1];a=e[2];s=e[3];i=e[4]||[];n=e[6];l=e[7];break;default:throw new Error(`Unsupported pattern type: ${e[0]}`)}const f=Math.floor(a.length/2),c=Math.floor(s.length/3),h=r.length,u=i.length;let m=0;for(const e of i){m+=1;m=4*Math.ceil(m/4);m+=4+4*e.coords.length;m+=4+4*e.colors.length;void 0!==e.verticesPerRow&&(m+=4)}const p=new ArrayBuffer(20+8*f+3*c+8*h+(n?16:0)+(l?3:0)+m),d=new DataView(p),g=new Uint8Array(p);d.setUint8(PatternInfo.#ee,t);d.setUint8(PatternInfo.#te,n?1:0);d.setUint8(PatternInfo.#ne,l?1:0);d.setUint8(PatternInfo.#ae,o);d.setUint32(PatternInfo.#se,f,!0);d.setUint32(PatternInfo.#re,c,!0);d.setUint32(PatternInfo.#ie,h,!0);d.setUint32(PatternInfo.#oe,u,!0);let b=20;new Float32Array(p,b,2*f).set(a);b+=8*f;g.set(s,b);b+=3*c;for(const[e,t]of r){d.setFloat32(b,e,!0);b+=4;d.setUint32(b,parseInt(t.slice(1),16),!0);b+=4}if(n)for(const e of n){d.setFloat32(b,e,!0);b+=4}if(l){g.set(l,b);b+=3}for(let e=0;e<i.length;e++){const t=i[e];d.setUint8(b,t.type);b+=1;b=4*Math.ceil(b/4);d.setUint32(b,t.coords.length,!0);b+=4;new Int32Array(p,b,t.coords.length).set(t.coords);b+=4*t.coords.length;d.setUint32(b,t.colors.length,!0);b+=4;new Int32Array(p,b,t.colors.length).set(t.colors);b+=4*t.colors.length;if(void 0!==t.verticesPerRow){d.setUint32(b,t.verticesPerRow,!0);b+=4}}return p}getIR(){const e=this.view,t=this.data[PatternInfo.#ee],n=!!this.data[PatternInfo.#te],a=!!this.data[PatternInfo.#ne],s=e.getUint32(PatternInfo.#se,!0),r=e.getUint32(PatternInfo.#re,!0),i=e.getUint32(PatternInfo.#ie,!0),o=e.getUint32(PatternInfo.#oe,!0);let l=20;const f=new Float32Array(this.buffer,l,2*s);l+=8*s;const c=new Uint8Array(this.buffer,l,3*r);l+=3*r;const h=[];for(let t=0;t<i;++t){const t=e.getFloat32(l,!0);l+=4;const n=e.getUint32(l,!0);l+=4;h.push([t,`#${n.toString(16).padStart(6,"0")}`])}let u=null;if(n){u=[];for(let t=0;t<4;++t){u.push(e.getFloat32(l,!0));l+=4}}let m=null;if(a){m=new Uint8Array(this.buffer,l,3);l+=3}const p=[];for(let t=0;t<o;++t){const t=e.getUint8(l);l+=1;l=4*Math.ceil(l/4);const n=e.getUint32(l,!0);l+=4;const a=new Int32Array(this.buffer,l,n);l+=4*n;const s=e.getUint32(l,!0);l+=4;const r=new Int32Array(this.buffer,l,s);l+=4*s;const i={type:t,coords:a,colors:r};if(t===y){i.verticesPerRow=e.getUint32(l,!0);l+=4}p.push(i)}if(1===t)return["RadialAxial","axial",u,h,Array.from(f.slice(0,2)),Array.from(f.slice(2,4)),null,null];if(2===t)return["RadialAxial","radial",u,h,[f[0],f[1]],[f[3],f[4]],f[2],f[5]];if(3===t){const e=this.data[PatternInfo.#ae];let t=null;if(f.length>0){let e=f[0],n=f[0],a=f[1],s=f[1];for(let t=0;t<f.length;t+=2){const r=f[t],i=f[t+1];e=e>r?r:e;a=a>i?i:a;n=n<r?r:n;s=s<i?i:s}t=[e,a,n,s]}return["Mesh",e,f,c,p,t,u,m]}throw new Error(`Unsupported pattern kind: ${t}`)}}class FontPathInfo{static write(e){let t,n;if(FeatureTest.isFloat16ArraySupported){n=new ArrayBuffer(2*e.length);t=new Float16Array(n)}else{n=new ArrayBuffer(4*e.length);t=new Float32Array(n)}t.set(e);return n}#O;constructor(e){this.#O=e}get path(){return FeatureTest.isFloat16ArraySupported?new Float16Array(this.#O):new Float32Array(this.#O)}}const cs=2,hs=3,us=4,ms=5,ps=6,ds=7;class Pattern{constructor(){unreachable("Cannot initialize Pattern.")}static parseShading(e,t,n,a,s,r){const i=e instanceof BaseStream?e.dict:e,o=i.get("ShadingType");try{switch(o){case cs:case hs:return new RadialAxialShading(i,t,n,a,s,r);case us:case ms:case ps:case ds:return new MeshShading(e,t,n,a,s,r);default:throw new FormatError("Unsupported ShadingType: "+o)}}catch(e){if(e instanceof MissingDataException)throw e;warn(e);return new DummyShading}}}class BaseShading{static SMALL_NUMBER=1e-6;getIR(){unreachable("Abstract method `getIR` called.")}}class RadialAxialShading extends BaseShading{constructor(e,t,n,a,s,r){super();this.shadingType=e.get("ShadingType");let i=0;this.shadingType===cs?i=4:this.shadingType===hs&&(i=6);this.coordsArr=e.getArray("Coords");if(!isNumberArray(this.coordsArr,i))throw new FormatError("RadialAxialShading: Invalid /Coords array.");const o=ColorSpaceUtils.parse({cs:e.getRaw("CS")||e.getRaw("ColorSpace"),xref:t,resources:n,pdfFunctionFactory:a,globalColorSpaceCache:s,localColorSpaceCache:r});this.bbox=lookupNormalRect(e.getArray("BBox"),null);let l=0,f=1;const c=e.getArray("Domain");isNumberArray(c,2)&&([l,f]=c);let h=!1,u=!1;const m=e.getArray("Extend");(function isBooleanArray(e,t){return Array.isArray(e)&&(null===t||e.length===t)&&e.every(e=>"boolean"==typeof e)})(m,2)&&([h,u]=m);if(!(this.shadingType!==hs||h&&u)){const[e,t,n,a,s,r]=this.coordsArr,i=Math.hypot(e-a,t-s);n<=r+i&&r<=n+i&&warn("Unsupported radial gradient.")}this.extendStart=h;this.extendEnd=u;const p=e.getRaw("Function"),d=a.create(p,!0),g=(f-l)/840,b=this.colorStops=[];if(l>=f||g<=0){info("Bad shading domain.");return}const w=new Float32Array(o.numComps),j=new Float32Array(1);let k=0;j[0]=l;d(j,0,w,0);const y=new Uint8ClampedArray(3);o.getRgb(w,0,y);let[q,v,S]=y;b.push([0,Util.makeHexColor(q,v,S)]);let x=1;j[0]=l+g;d(j,0,w,0);o.getRgb(w,0,y);let[C,F,T]=y,H=C-q+1,O=F-v+1,R=T-S+1,D=C-q-1,M=F-v-1,E=T-S-1;for(let e=2;e<840;e++){j[0]=l+e*g;d(j,0,w,0);o.getRgb(w,0,y);const[t,n,a]=y,s=e-k;H=Math.min(H,(t-q+1)/s);O=Math.min(O,(n-v+1)/s);R=Math.min(R,(a-S+1)/s);D=Math.max(D,(t-q-1)/s);M=Math.max(M,(n-v-1)/s);E=Math.max(E,(a-S-1)/s);if(!(D<=H&&M<=O&&E<=R)){const e=Util.makeHexColor(C,F,T);b.push([x/840,e]);H=t-C+1;O=n-F+1;R=a-T+1;D=t-C-1;M=n-F-1;E=a-T-1;k=x;q=C;v=F;S=T}x=e;C=t;F=n;T=a}b.push([1,Util.makeHexColor(C,F,T)]);let N="transparent";e.has("Background")&&(N=o.getRgbHex(e.get("Background"),0));if(!h){b.unshift([0,N]);b[1][0]+=BaseShading.SMALL_NUMBER}if(!u){b.at(-1)[0]-=BaseShading.SMALL_NUMBER;b.push([1,N])}this.colorStops=b}getIR(){const{coordsArr:e,shadingType:t}=this;let n,a,s,r,i;if(t===cs){a=[e[0],e[1]];s=[e[2],e[3]];r=null;i=null;n="axial"}else if(t===hs){a=[e[0],e[1]];s=[e[3],e[4]];r=e[2];i=e[5];n="radial"}else unreachable(`getPattern type unknown: ${t}`);return["RadialAxial",n,this.bbox,this.colorStops,a,s,r,i]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const n=t.numComps;this.tmpCompsBuf=new Float32Array(n);const a=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(a):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos<this.stream.end;if(this.bufferLength>0)return!0;const e=this.stream.getByte();if(e<0)return!1;this.buffer=e;this.bufferLength=8;return!0}readBits(e){const{stream:t}=this;let{buffer:n,bufferLength:a}=this;if(32===e){if(0===a)return t.getInt32()>>>0;n=n<<24|t.getByte()<<16|t.getByte()<<8|t.getByte();const e=t.getByte();this.buffer=e&(1<<a)-1;return(n<<8-a|(255&e)>>a)>>>0}if(8===e&&0===a)return t.getByte();for(;a<e;){n=n<<8|t.getByte();a+=8}a-=e;this.bufferLength=a;this.buffer=n&(1<<a)-1;return n>>a}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const{bitsPerCoordinate:e,decode:t}=this.context,n=this.readBits(e),a=this.readBits(e),s=e<32?1/((1<<e)-1):2.3283064365386963e-10;return[n*s*(t[1]-t[0])+t[0],a*s*(t[3]-t[2])+t[2]]}readComponents(){const{bitsPerComponent:e,colorFn:t,colorSpace:n,decode:a,numComps:s}=this.context,r=e<32?1/((1<<e)-1):2.3283064365386963e-10,i=this.tmpCompsBuf;for(let t=0,n=4;t<s;t++,n+=2){const s=this.readBits(e);i[t]=s*r*(a[n+1]-a[n])+a[n]}const o=this.tmpCsCompsBuf;t?.(i,0,o,0);return n.getRgb(o,0)}}let gs=Object.create(null);function getB(e){return gs[e]||=function buildB(e){const t=[];for(let n=0;n<=e;n++){const a=n/e,s=1-a;t.push(new Float32Array([s**3,3*a*s**2,3*a**2*s,a**3]))}return t}(e)}class MeshShading extends BaseShading{static MIN_SPLIT_PATCH_CHUNKS_AMOUNT=3;static MAX_SPLIT_PATCH_CHUNKS_AMOUNT=20;static TRIANGLE_DENSITY=20;constructor(e,t,n,a,s,r){super();if(!(e instanceof BaseStream))throw new FormatError("Mesh data is not a stream");const i=e.dict;this.shadingType=i.get("ShadingType");this.bbox=lookupNormalRect(i.getArray("BBox"),null);const o=ColorSpaceUtils.parse({cs:i.getRaw("CS")||i.getRaw("ColorSpace"),xref:t,resources:n,pdfFunctionFactory:a,globalColorSpaceCache:s,localColorSpaceCache:r});this.background=i.has("Background")?o.getRgb(i.get("Background"),0):null;const l=i.getRaw("Function"),f=l?a.create(l,!0):null;this.coords=[];this.colors=[];this.figures=[];const c={bitsPerCoordinate:i.get("BitsPerCoordinate"),bitsPerComponent:i.get("BitsPerComponent"),bitsPerFlag:i.get("BitsPerFlag"),decode:i.getArray("Decode"),colorFn:f,colorSpace:o,numComps:f?1:o.numComps},h=new MeshStreamReader(e,c);let u=!1;switch(this.shadingType){case us:this._decodeType4Shading(h);break;case ms:const e=0|i.get("VerticesPerRow");if(e<2)throw new FormatError("Invalid VerticesPerRow");this._decodeType5Shading(h,e);break;case ps:this._decodeType6Shading(h);u=!0;break;case ds:this._decodeType7Shading(h);u=!0;break;default:unreachable("Unsupported mesh type.")}if(u){this._updateBounds();for(let e=0,t=this.figures.length;e<t;e++)this._buildFigureFromPatch(e)}this._updateBounds();this._packData()}_decodeType4Shading(e){const t=this.coords,n=this.colors,a=[],s=[];let r=0;for(;e.hasData;){const i=e.readFlag(),o=e.readCoordinate(),l=e.readComponents();if(0===r){if(!(0<=i&&i<=2))throw new FormatError("Unknown type4 flag");switch(i){case 0:r=3;break;case 1:s.push(s.at(-2),s.at(-1));r=1;break;case 2:s.push(s.at(-3),s.at(-1));r=1}a.push(i)}s.push(t.length);t.push(o);n.push(l);r--;e.align()}this.figures.push({type:k,coords:new Int32Array(s),colors:new Int32Array(s)})}_decodeType5Shading(e,t){const n=this.coords,a=this.colors,s=[];for(;e.hasData;){const t=e.readCoordinate(),r=e.readComponents();s.push(n.length);n.push(t);a.push(r)}this.figures.push({type:y,coords:new Int32Array(s),colors:new Int32Array(s),verticesPerRow:t})}_decodeType6Shading(e){const t=this.coords,n=this.colors,a=new Int32Array(16),s=new Int32Array(4);for(;e.hasData;){const r=e.readFlag();if(!(0<=r&&r<=3))throw new FormatError("Unknown type6 flag");const i=t.length;for(let n=0,a=0!==r?8:12;n<a;n++)t.push(e.readCoordinate());const o=n.length;for(let t=0,a=0!==r?2:4;t<a;t++)n.push(e.readComponents());let l,f,c,h;switch(r){case 0:a[12]=i+3;a[13]=i+4;a[14]=i+5;a[15]=i+6;a[8]=i+2;a[11]=i+7;a[4]=i+1;a[7]=i+8;a[0]=i;a[1]=i+11;a[2]=i+10;a[3]=i+9;s[2]=o+1;s[3]=o+2;s[0]=o;s[1]=o+3;break;case 1:l=a[12];f=a[13];c=a[14];h=a[15];a[12]=h;a[13]=i+0;a[14]=i+1;a[15]=i+2;a[8]=c;a[11]=i+3;a[4]=f;a[7]=i+4;a[0]=l;a[1]=i+7;a[2]=i+6;a[3]=i+5;l=s[2];f=s[3];s[2]=f;s[3]=o;s[0]=l;s[1]=o+1;break;case 2:l=a[15];f=a[11];a[12]=a[3];a[13]=i+0;a[14]=i+1;a[15]=i+2;a[8]=a[7];a[11]=i+3;a[4]=f;a[7]=i+4;a[0]=l;a[1]=i+7;a[2]=i+6;a[3]=i+5;l=s[3];s[2]=s[1];s[3]=o;s[0]=l;s[1]=o+1;break;case 3:a[12]=a[0];a[13]=i+0;a[14]=i+1;a[15]=i+2;a[8]=a[1];a[11]=i+3;a[4]=a[2];a[7]=i+4;a[0]=a[3];a[1]=i+7;a[2]=i+6;a[3]=i+5;s[2]=s[0];s[3]=o;s[0]=s[1];s[1]=o+1}a[5]=t.length;t.push([(-4*t[a[0]][0]-t[a[15]][0]+6*(t[a[4]][0]+t[a[1]][0])-2*(t[a[12]][0]+t[a[3]][0])+3*(t[a[13]][0]+t[a[7]][0]))/9,(-4*t[a[0]][1]-t[a[15]][1]+6*(t[a[4]][1]+t[a[1]][1])-2*(t[a[12]][1]+t[a[3]][1])+3*(t[a[13]][1]+t[a[7]][1]))/9]);a[6]=t.length;t.push([(-4*t[a[3]][0]-t[a[12]][0]+6*(t[a[2]][0]+t[a[7]][0])-2*(t[a[0]][0]+t[a[15]][0])+3*(t[a[4]][0]+t[a[14]][0]))/9,(-4*t[a[3]][1]-t[a[12]][1]+6*(t[a[2]][1]+t[a[7]][1])-2*(t[a[0]][1]+t[a[15]][1])+3*(t[a[4]][1]+t[a[14]][1]))/9]);a[9]=t.length;t.push([(-4*t[a[12]][0]-t[a[3]][0]+6*(t[a[8]][0]+t[a[13]][0])-2*(t[a[0]][0]+t[a[15]][0])+3*(t[a[11]][0]+t[a[1]][0]))/9,(-4*t[a[12]][1]-t[a[3]][1]+6*(t[a[8]][1]+t[a[13]][1])-2*(t[a[0]][1]+t[a[15]][1])+3*(t[a[11]][1]+t[a[1]][1]))/9]);a[10]=t.length;t.push([(-4*t[a[15]][0]-t[a[0]][0]+6*(t[a[11]][0]+t[a[14]][0])-2*(t[a[12]][0]+t[a[3]][0])+3*(t[a[2]][0]+t[a[8]][0]))/9,(-4*t[a[15]][1]-t[a[0]][1]+6*(t[a[11]][1]+t[a[14]][1])-2*(t[a[12]][1]+t[a[3]][1])+3*(t[a[2]][1]+t[a[8]][1]))/9]);this.figures.push({type:q,coords:new Int32Array(a),colors:new Int32Array(s)})}}_decodeType7Shading(e){const t=this.coords,n=this.colors,a=new Int32Array(16),s=new Int32Array(4);for(;e.hasData;){const r=e.readFlag();if(!(0<=r&&r<=3))throw new FormatError("Unknown type7 flag");const i=t.length;for(let n=0,a=0!==r?12:16;n<a;n++)t.push(e.readCoordinate());const o=n.length;for(let t=0,a=0!==r?2:4;t<a;t++)n.push(e.readComponents());let l,f,c,h;switch(r){case 0:a[12]=i+3;a[13]=i+4;a[14]=i+5;a[15]=i+6;a[8]=i+2;a[9]=i+13;a[10]=i+14;a[11]=i+7;a[4]=i+1;a[5]=i+12;a[6]=i+15;a[7]=i+8;a[0]=i;a[1]=i+11;a[2]=i+10;a[3]=i+9;s[2]=o+1;s[3]=o+2;s[0]=o;s[1]=o+3;break;case 1:l=a[12];f=a[13];c=a[14];h=a[15];a[12]=h;a[13]=i+0;a[14]=i+1;a[15]=i+2;a[8]=c;a[9]=i+9;a[10]=i+10;a[11]=i+3;a[4]=f;a[5]=i+8;a[6]=i+11;a[7]=i+4;a[0]=l;a[1]=i+7;a[2]=i+6;a[3]=i+5;l=s[2];f=s[3];s[2]=f;s[3]=o;s[0]=l;s[1]=o+1;break;case 2:l=a[15];f=a[11];a[12]=a[3];a[13]=i+0;a[14]=i+1;a[15]=i+2;a[8]=a[7];a[9]=i+9;a[10]=i+10;a[11]=i+3;a[4]=f;a[5]=i+8;a[6]=i+11;a[7]=i+4;a[0]=l;a[1]=i+7;a[2]=i+6;a[3]=i+5;l=s[3];s[2]=s[1];s[3]=o;s[0]=l;s[1]=o+1;break;case 3:a[12]=a[0];a[13]=i+0;a[14]=i+1;a[15]=i+2;a[8]=a[1];a[9]=i+9;a[10]=i+10;a[11]=i+3;a[4]=a[2];a[5]=i+8;a[6]=i+11;a[7]=i+4;a[0]=a[3];a[1]=i+7;a[2]=i+6;a[3]=i+5;s[2]=s[0];s[3]=o;s[0]=s[1];s[1]=o+1}this.figures.push({type:q,coords:new Int32Array(a),colors:new Int32Array(s)})}}_buildFigureFromPatch(e){const t=this.figures[e];assert(t.type===q,"Unexpected patch mesh figure");const n=this.coords,a=this.colors,s=t.coords,r=t.colors,i=Math.min(n[s[0]][0],n[s[3]][0],n[s[12]][0],n[s[15]][0]),o=Math.min(n[s[0]][1],n[s[3]][1],n[s[12]][1],n[s[15]][1]),l=Math.max(n[s[0]][0],n[s[3]][0],n[s[12]][0],n[s[15]][0]),f=Math.max(n[s[0]][1],n[s[3]][1],n[s[12]][1],n[s[15]][1]);let c=Math.ceil((l-i)*MeshShading.TRIANGLE_DENSITY/(this.bounds[2]-this.bounds[0]));c=MathClamp(c,MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT);let h=Math.ceil((f-o)*MeshShading.TRIANGLE_DENSITY/(this.bounds[3]-this.bounds[1]));h=MathClamp(h,MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT);const u=c+1,m=new Int32Array((h+1)*u),p=new Int32Array((h+1)*u);let d=0;const g=new Uint8Array(3),b=new Uint8Array(3),w=a[r[0]],j=a[r[1]],k=a[r[2]],v=a[r[3]],S=getB(h),x=getB(c);for(let e=0;e<=h;e++){g[0]=(w[0]*(h-e)+k[0]*e)/h|0;g[1]=(w[1]*(h-e)+k[1]*e)/h|0;g[2]=(w[2]*(h-e)+k[2]*e)/h|0;b[0]=(j[0]*(h-e)+v[0]*e)/h|0;b[1]=(j[1]*(h-e)+v[1]*e)/h|0;b[2]=(j[2]*(h-e)+v[2]*e)/h|0;for(let t=0;t<=c;t++,d++){if(!(0!==e&&e!==h||0!==t&&t!==c))continue;let r=0,i=0,o=0;for(let a=0;a<=3;a++)for(let l=0;l<=3;l++,o++){const f=S[e][a]*x[t][l];r+=n[s[o]][0]*f;i+=n[s[o]][1]*f}m[d]=n.length;n.push([r,i]);p[d]=a.length;const l=new Uint8Array(3);l[0]=(g[0]*(c-t)+b[0]*t)/c|0;l[1]=(g[1]*(c-t)+b[1]*t)/c|0;l[2]=(g[2]*(c-t)+b[2]*t)/c|0;a.push(l)}}m[0]=s[0];p[0]=r[0];m[c]=s[3];p[c]=r[1];m[u*h]=s[12];p[u*h]=r[2];m[u*h+c]=s[15];p[u*h+c]=r[3];this.figures[e]={type:y,coords:m,colors:p,verticesPerRow:u}}_updateBounds(){let e=this.coords[0][0],t=this.coords[0][1],n=e,a=t;for(let s=1,r=this.coords.length;s<r;s++){const r=this.coords[s][0],i=this.coords[s][1];e=e>r?r:e;t=t>i?i:t;n=n<r?r:n;a=a<i?i:a}this.bounds=[e,t,n,a]}_packData(){let e,t,n,a;const s=this.coords,r=new Float32Array(2*s.length);for(e=0,n=0,t=s.length;e<t;e++){const t=s[e];r[n++]=t[0];r[n++]=t[1]}this.coords=r;const i=this.colors,o=new Uint8Array(3*i.length);for(e=0,n=0,t=i.length;e<t;e++){const t=i[e];o[n++]=t[0];o[n++]=t[1];o[n++]=t[2]}this.colors=o;const l=this.figures;for(e=0,t=l.length;e<t;e++){const t=l[e],s=t.coords,r=t.colors;for(n=0,a=s.length;n<a;n++){s[n]*=2;r[n]*=3}}}getIR(){const{bounds:e}=this;if(e[2]-e[0]===0||e[3]-e[1]===0)throw new FormatError(`Invalid MeshShading bounds: [${e}].`);return["Mesh",this.shadingType,this.coords,this.colors,this.figures,e,this.bbox,this.background]}}class DummyShading extends BaseShading{getIR(){return["Dummy"]}}function getTilingPatternIR(e,t,n){const a=lookupMatrix(t.getArray("Matrix"),pn),s=lookupNormalRect(t.getArray("BBox"),null);if(!s||s[2]-s[0]===0||s[3]-s[1]===0)throw new FormatError("Invalid getTilingPatternIR /BBox array.");const r=t.get("XStep");if("number"!=typeof r)throw new FormatError("Invalid getTilingPatternIR /XStep value.");const i=t.get("YStep");if("number"!=typeof i)throw new FormatError("Invalid getTilingPatternIR /YStep value.");const o=t.get("PaintType");if(!Number.isInteger(o))throw new FormatError("Invalid getTilingPatternIR /PaintType value.");const l=t.get("TilingType");if(!Number.isInteger(l))throw new FormatError("Invalid getTilingPatternIR /TilingType value.");return["TilingPattern",n,e,a,s,r,i,o,l]}const bs=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],ws={lineHeight:1.2207,lineGap:.2207},js=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],ks={lineHeight:1.2207,lineGap:.2207},ys=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],qs={lineHeight:1.2207,lineGap:.2207},vs=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1],Ss={lineHeight:1.2207,lineGap:.2207},xs=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],As={lineHeight:1.2,lineGap:.2},Cs=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],Is={lineHeight:1.35,lineGap:.2},Fs=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1],Ts={lineHeight:1.35,lineGap:.2},Hs=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Os={lineHeight:1.2,lineGap:.2},Bs=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],Rs=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],Ds=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333],Ms=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],Es=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],Ns=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],zs=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285],Ls=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],Us=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],_s={lineHeight:1.2,lineGap:.2},Xs=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Ws={lineHeight:1.2,lineGap:.2},Ks=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Gs={lineHeight:1.2,lineGap:.2},Vs=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],$s={lineHeight:1.2,lineGap:.2},Ys=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Js={lineHeight:1.33008,lineGap:0},Qs=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],Zs={lineHeight:1.33008,lineGap:0},er=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],tr={lineHeight:1.33008,lineGap:0},nr=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1],ar={lineHeight:1.33008,lineGap:0},sr=getLookupTableFactory(function(e){e["MyriadPro-Regular"]=e["PdfJS-Fallback-Regular"]={name:"LiberationSans-Regular",factors:Vs,baseWidths:zs,baseMapping:Ls,metrics:$s};e["MyriadPro-Bold"]=e["PdfJS-Fallback-Bold"]={name:"LiberationSans-Bold",factors:Us,baseWidths:Bs,baseMapping:Rs,metrics:_s};e["MyriadPro-It"]=e["MyriadPro-Italic"]=e["PdfJS-Fallback-Italic"]={name:"LiberationSans-Italic",factors:Ks,baseWidths:Es,baseMapping:Ns,metrics:Gs};e["MyriadPro-BoldIt"]=e["MyriadPro-BoldItalic"]=e["PdfJS-Fallback-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Xs,baseWidths:Ds,baseMapping:Ms,metrics:Ws};e.ArialMT=e.Arial=e["Arial-Regular"]={name:"LiberationSans-Regular",baseWidths:zs,baseMapping:Ls};e["Arial-BoldMT"]=e["Arial-Bold"]={name:"LiberationSans-Bold",baseWidths:Bs,baseMapping:Rs};e["Arial-ItalicMT"]=e["Arial-Italic"]={name:"LiberationSans-Italic",baseWidths:Es,baseMapping:Ns};e["Arial-BoldItalicMT"]=e["Arial-BoldItalic"]={name:"LiberationSans-BoldItalic",baseWidths:Ds,baseMapping:Ms};e["Calibri-Regular"]={name:"LiberationSans-Regular",factors:vs,baseWidths:zs,baseMapping:Ls,metrics:Ss};e["Calibri-Bold"]={name:"LiberationSans-Bold",factors:bs,baseWidths:Bs,baseMapping:Rs,metrics:ws};e["Calibri-Italic"]={name:"LiberationSans-Italic",factors:ys,baseWidths:Es,baseMapping:Ns,metrics:qs};e["Calibri-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:js,baseWidths:Ds,baseMapping:Ms,metrics:ks};e["Segoeui-Regular"]={name:"LiberationSans-Regular",factors:nr,baseWidths:zs,baseMapping:Ls,metrics:ar};e["Segoeui-Bold"]={name:"LiberationSans-Bold",factors:Ys,baseWidths:Bs,baseMapping:Rs,metrics:Js};e["Segoeui-Italic"]={name:"LiberationSans-Italic",factors:er,baseWidths:Es,baseMapping:Ns,metrics:tr};e["Segoeui-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Qs,baseWidths:Ds,baseMapping:Ms,metrics:Zs};e["Helvetica-Regular"]=e.Helvetica={name:"LiberationSans-Regular",factors:Hs,baseWidths:zs,baseMapping:Ls,metrics:Os};e["Helvetica-Bold"]={name:"LiberationSans-Bold",factors:xs,baseWidths:Bs,baseMapping:Rs,metrics:As};e["Helvetica-Italic"]={name:"LiberationSans-Italic",factors:Fs,baseWidths:Es,baseMapping:Ns,metrics:Ts};e["Helvetica-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:Cs,baseWidths:Ds,baseMapping:Ms,metrics:Is}});function getXfaFontName(e){const t=normalizeFontName(e);return sr()[t]}function getXfaFontDict(e){const t=function getXfaFontWidths(e){const t=getXfaFontName(e);if(!t)return null;const{baseWidths:n,baseMapping:a,factors:s}=t,r=s?n.map((e,t)=>e*s[t]):n;let i,o=-2;const l=[];for(const[e,t]of a.map((e,t)=>[e,t]).sort(([e],[t])=>e-t))if(-1!==e)if(e===o+1){i.push(r[t]);o+=1}else{o=e;i=[r[t]];l.push(e,i)}return l}(e),n=new Dict(null);n.set("BaseFont",Name.get(e));n.set("Type",Name.get("Font"));n.set("Subtype",Name.get("CIDFontType2"));n.set("Encoding",Name.get("Identity-H"));n.set("CIDToGIDMap",Name.get("Identity"));n.set("W",t);n.set("FirstChar",t[0]);n.set("LastChar",t.at(-2)+t.at(-1).length-1);const a=new Dict(null);n.set("FontDescriptor",a);const s=new Dict(null);s.set("Ordering","Identity");s.set("Registry","Adobe");s.set("Supplement",0);n.set("CIDSystemInfo",s);return n}class PostScriptParser{constructor(e){this.lexer=e;this.operators=[];this.token=null;this.prev=null}nextToken(){this.prev=this.token;this.token=this.lexer.getToken()}accept(e){if(this.token.type===e){this.nextToken();return!0}return!1}expect(e){if(this.accept(e))return!0;throw new FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){this.nextToken();this.expect(rr.LBRACE);this.parseBlock();this.expect(rr.RBRACE);return this.operators}parseBlock(){for(;;)if(this.accept(rr.NUMBER))this.operators.push(this.prev.value);else if(this.accept(rr.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(rr.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(rr.RBRACE);if(this.accept(rr.IF)){this.operators[e]=this.operators.length;this.operators[e+1]="jz"}else{if(!this.accept(rr.LBRACE))throw new FormatError("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const n=this.operators.length;this.parseBlock();this.expect(rr.RBRACE);this.expect(rr.IFELSE);this.operators[t]=this.operators.length;this.operators[t+1]="j";this.operators[e]=n;this.operators[e+1]="jz"}}}}const rr={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return shadow(this,"opCache",Object.create(null))}constructor(e,t){this.type=e;this.value=t}static getOperator(e){return PostScriptToken.opCache[e]||=new PostScriptToken(rr.OPERATOR,e)}static get LBRACE(){return shadow(this,"LBRACE",new PostScriptToken(rr.LBRACE,"{"))}static get RBRACE(){return shadow(this,"RBRACE",new PostScriptToken(rr.RBRACE,"}"))}static get IF(){return shadow(this,"IF",new PostScriptToken(rr.IF,"IF"))}static get IFELSE(){return shadow(this,"IFELSE",new PostScriptToken(rr.IFELSE,"IFELSE"))}}class PostScriptLexer{constructor(e){this.stream=e;this.nextChar();this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return on;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(rr.NUMBER,this.getNumber());case 123:this.nextChar();return PostScriptToken.LBRACE;case 125:this.nextChar();return PostScriptToken.RBRACE}const n=this.strBuf;n.length=0;n[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)n.push(String.fromCharCode(t));const a=n.join("");switch(a.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(a)}}getNumber(){let e=this.currentChar;const t=this.strBuf;t.length=0;t[0]=String.fromCharCode(e);for(;(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const n=parseFloat(t.join(""));if(isNaN(n))throw new FormatError(`Invalid floating point number: ${n}`);return n}}class BaseLocalCache{constructor(e){this._onlyRefs=!0===e?.onlyRefs;if(!this._onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new RefSetCache}getByName(e){this._onlyRefs&&unreachable("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,n){unreachable("Abstract method `set` called.")}}class LocalImageCache extends BaseLocalCache{set(e,t=null,n){if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,n)}else this._imageMap.has(e)||this._imageMap.set(e,n)}}class LocalColorSpaceCache extends BaseLocalCache{set(e=null,t=null,n){if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;null!==e&&this._nameRefMap.set(e,t);this._imageCache.put(t,n)}else this._imageMap.has(e)||this._imageMap.set(e,n)}}class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,n){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,n)}}class LocalGStateCache extends BaseLocalCache{set(e,t=null,n){if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,n)}else this._imageMap.has(e)||this._imageMap.set(e,n)}}class LocalTilingPatternCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,n){if(!t)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,n)}}class RegionalImageCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,n){if(!t)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,n)}}class GlobalColorSpaceCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,n){if(!t)throw new Error('GlobalColorSpaceCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,n)}clear(){this._imageCache.clear()}}class GlobalImageCache{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5e7;#le=new RefSet;constructor(){this._refCache=new RefSetCache;this._imageCache=new RefSetCache}get#fe(){let e=0;for(const t of this._imageCache)e+=t.byteSize;return e}get#ce(){return!(this._imageCache.size<GlobalImageCache.MIN_IMAGES_TO_CACHE)&&!(this.#fe<GlobalImageCache.MAX_BYTE_SIZE)}shouldCache(e,t){let n=this._refCache.get(e);if(!n){n=new Set;this._refCache.put(e,n)}n.add(t);return!(n.size<GlobalImageCache.NUM_PAGES_THRESHOLD)&&!(!this._imageCache.has(e)&&this.#ce)}addDecodeFailed(e){this.#le.put(e)}hasDecodeFailed(e){return this.#le.has(e)}addByteSize(e,t){const n=this._imageCache.get(e);n&&(n.byteSize||(n.byteSize=t))}getData(e,t){const n=this._refCache.get(e);if(!n)return null;if(n.size<GlobalImageCache.NUM_PAGES_THRESHOLD)return null;const a=this._imageCache.get(e);if(!a)return null;n.add(t);return a}setData(e,t){if(!this._refCache.has(e))throw new Error('GlobalImageCache.setData - expected "shouldCache" to have been called.');this._imageCache.has(e)||(this.#ce?warn("GlobalImageCache.setData - cache limit reached."):this._imageCache.put(e,t))}clear(e=!1){if(!e){this.#le.clear();this._refCache.clear()}this._imageCache.clear()}}class PDFFunctionFactory{constructor({xref:e,isEvalSupported:t=!0}){this.xref=e;this.isEvalSupported=!1!==t}create(e,t=!1){let n,a;e instanceof Ref?n=e:e instanceof Dict?n=e.objId:e instanceof BaseStream&&(n=e.dict?.objId);if(n){const e=this._localFunctionCache.getByRef(n);if(e)return e}const s=this.xref.fetchIfRef(e);if(Array.isArray(s)){if(!t)throw new Error('PDFFunctionFactory.create - expected "parseArray" argument.');a=PDFFunction.parseArray(this,s)}else a=PDFFunction.parse(this,s);n&&this._localFunctionCache.set(null,n,a);return a}get _localFunctionCache(){return shadow(this,"_localFunctionCache",new LocalFunctionCache)}}function toNumberArray(e){return Array.isArray(e)?isNumberArray(e,null)?e:e.map(e=>+e):null}class PDFFunction{static getSampleArray(e,t,n,a){let s=t;for(const t of e)s*=t;const r=new Array(s);let i=0,o=0;const l=1/(2**n-1),f=a.getBytes((s*n+7)/8);let c=0;for(let e=0;e<s;e++){for(;i<n;){o<<=8;o|=f[c++];i+=8}i-=n;r[e]=(o>>i)*l;o&=(1<<i)-1}return r}static parse(e,t){const n=t.dict||t;switch(n.get("FunctionType")){case 0:return this.constructSampled(e,t,n);case 1:break;case 2:return this.constructInterpolated(e,n);case 3:return this.constructStiched(e,n);case 4:return this.constructPostScript(e,t,n)}throw new FormatError("Unknown type of function")}static parseArray(e,t){const{xref:n}=e,a=[];for(const s of t)a.push(this.parse(e,n.fetchIfRef(s)));return function(e,t,n,s){for(let r=0,i=a.length;r<i;r++)a[r](e,t,n,s+r)}}static constructSampled(e,t,n){function toMultiArray(e){const t=e.length,n=[];let a=0;for(let s=0;s<t;s+=2)n[a++]=[e[s],e[s+1]];return n}function interpolate(e,t,n,a,s){return a+(s-a)/(n-t)*(e-t)}let a=toNumberArray(n.getArray("Domain")),s=toNumberArray(n.getArray("Range"));if(!a||!s)throw new FormatError("No domain or range");const r=a.length/2,i=s.length/2;a=toMultiArray(a);s=toMultiArray(s);const o=toNumberArray(n.getArray("Size")),l=n.get("BitsPerSample"),f=n.get("Order")||1;1!==f&&info("No support for cubic spline interpolation: "+f);let c=toNumberArray(n.getArray("Encode"));if(c)c=toMultiArray(c);else{c=[];for(let e=0;e<r;++e)c.push([0,o[e]-1])}let h=toNumberArray(n.getArray("Decode"));h=h?toMultiArray(h):s;const u=this.getSampleArray(o,i,l,t);return function constructSampledFn(e,t,n,l){const f=1<<r,m=new Float64Array(f).fill(1),p=new Uint32Array(f);let d,g,b=i,w=1;for(d=0;d<r;++d){const n=a[d][0],s=a[d][1];let r=interpolate(MathClamp(e[t+d],n,s),n,s,c[d][0],c[d][1]);const i=o[d];r=MathClamp(r,0,i-1);const l=r<i-1?Math.floor(r):r-1,h=l+1-r,u=r-l,j=l*b,k=j+b;for(g=0;g<f;g++)if(g&w){m[g]*=u;p[g]+=k}else{m[g]*=h;p[g]+=j}b*=i;w<<=1}for(g=0;g<i;++g){let e=0;for(d=0;d<f;d++)e+=u[p[d]+g]*m[d];e=interpolate(e,0,1,h[g][0],h[g][1]);n[l+g]=MathClamp(e,s[g][0],s[g][1])}}}static constructInterpolated(e,t){const n=toNumberArray(t.getArray("C0"))||[0],a=toNumberArray(t.getArray("C1"))||[1],s=t.get("N"),r=[];for(let e=0,t=n.length;e<t;++e)r.push(a[e]-n[e]);const i=r.length;return function constructInterpolatedFn(e,t,a,o){const l=1===s?e[t]:e[t]**s;for(let e=0;e<i;++e)a[o+e]=n[e]+l*r[e]}}static constructStiched(e,t){const n=toNumberArray(t.getArray("Domain"));if(!n)throw new FormatError("No domain");if(1!==n.length/2)throw new FormatError("Bad domain for stiched function");const{xref:a}=e,s=[];for(const n of t.get("Functions"))s.push(this.parse(e,a.fetchIfRef(n)));const r=toNumberArray(t.getArray("Bounds")),i=toNumberArray(t.getArray("Encode")),o=new Float32Array(1);return function constructStichedFn(e,t,a,l){const f=MathClamp(e[t],n[0],n[1]),c=r.length;let h;for(h=0;h<c&&!(f<r[h]);++h);const u=h>0?r[h-1]:n[0],m=h<c?r[h]:n[1],p=i[2*h],d=i[2*h+1];o[0]=u===m?p:p+(f-u)*(d-p)/(m-u);s[h](o,0,a,l)}}static constructPostScript(e,t,n){const a=toNumberArray(n.getArray("Domain")),s=toNumberArray(n.getArray("Range"));if(!a)throw new FormatError("No domain.");if(!s)throw new FormatError("No range.");const r=new PostScriptLexer(t),i=new PostScriptParser(r).parse();if(e.isEvalSupported&&FeatureTest.isEvalSupported){const e=(new PostScriptCompiler).compile(i,a,s);if(e)return new Function("src","srcOffset","dest","destOffset",e)}info("Unable to compile PS function");const o=s.length>>1,l=a.length>>1,f=new PostScriptEvaluator(i),c=Object.create(null);let h=8192;const u=new Float32Array(l);return function constructPostScriptFn(e,t,n,a){let r,i,m="";const p=u;for(r=0;r<l;r++){i=e[t+r];p[r]=i;m+=i+"_"}const d=c[m];if(void 0!==d){n.set(d,a);return}const g=new Float32Array(o),b=f.execute(p),w=b.length-o;for(r=0;r<o;r++)g[r]=MathClamp(b[w+r],s[2*r],s[2*r+1]);if(h>0){h--;c[m]=g}n.set(g,a)}}}function isPDFFunction(e){let t;if(e instanceof Dict)t=e;else{if(!(e instanceof BaseStream))return!1;t=e.dict}return t.has("FunctionType")}class PostScriptStack{static MAX_STACK_SIZE=100;constructor(e){this.stack=e?Array.from(e):[]}push(e){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(e){if(this.stack.length+e>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let n=t.length-e,a=e-1;a>=0;a--,n++)t.push(t[n])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const n=this.stack,a=n.length-e,s=n.length-1,r=a+(t-Math.floor(t/e)*e);for(let e=a,t=s;e<t;e++,t--){const a=n[e];n[e]=n[t];n[t]=a}for(let e=a,t=r-1;e<t;e++,t--){const a=n[e];n[e]=n[t];n[t]=a}for(let e=r,t=s;e<t;e++,t--){const a=n[e];n[e]=n[t];n[t]=a}}}class PostScriptEvaluator{constructor(e){this.operators=e}execute(e){const t=new PostScriptStack(e);let n=0;const a=this.operators,s=a.length;let r,i,o;for(;n<s;){r=a[n++];if("number"!=typeof r)switch(r){case"jz":o=t.pop();i=t.pop();i||(n=o);break;case"j":i=t.pop();n=i;break;case"abs":i=t.pop();t.push(Math.abs(i));break;case"add":o=t.pop();i=t.pop();t.push(i+o);break;case"and":o=t.pop();i=t.pop();"boolean"==typeof i&&"boolean"==typeof o?t.push(i&&o):t.push(i&o);break;case"atan":o=t.pop();i=t.pop();i=Math.atan2(i,o)/Math.PI*180;i<0&&(i+=360);t.push(i);break;case"bitshift":o=t.pop();i=t.pop();i>0?t.push(i<<o):t.push(i>>o);break;case"ceiling":i=t.pop();t.push(Math.ceil(i));break;case"copy":i=t.pop();t.copy(i);break;case"cos":i=t.pop();t.push(Math.cos(i%360/180*Math.PI));break;case"cvi":i=0|t.pop();t.push(i);break;case"cvr":break;case"div":o=t.pop();i=t.pop();t.push(i/o);break;case"dup":t.copy(1);break;case"eq":o=t.pop();i=t.pop();t.push(i===o);break;case"exch":t.roll(2,1);break;case"exp":o=t.pop();i=t.pop();t.push(i**o);break;case"false":t.push(!1);break;case"floor":i=t.pop();t.push(Math.floor(i));break;case"ge":o=t.pop();i=t.pop();t.push(i>=o);break;case"gt":o=t.pop();i=t.pop();t.push(i>o);break;case"idiv":o=t.pop();i=t.pop();t.push(i/o|0);break;case"index":i=t.pop();t.index(i);break;case"le":o=t.pop();i=t.pop();t.push(i<=o);break;case"ln":i=t.pop();t.push(Math.log(i));break;case"log":i=t.pop();t.push(Math.log10(i));break;case"lt":o=t.pop();i=t.pop();t.push(i<o);break;case"mod":o=t.pop();i=t.pop();t.push(i%o);break;case"mul":o=t.pop();i=t.pop();t.push(i*o);break;case"ne":o=t.pop();i=t.pop();t.push(i!==o);break;case"neg":i=t.pop();t.push(-i);break;case"not":i=t.pop();"boolean"==typeof i?t.push(!i):t.push(~i);break;case"or":o=t.pop();i=t.pop();"boolean"==typeof i&&"boolean"==typeof o?t.push(i||o):t.push(i|o);break;case"pop":t.pop();break;case"roll":o=t.pop();i=t.pop();t.roll(i,o);break;case"round":i=t.pop();t.push(Math.round(i));break;case"sin":i=t.pop();t.push(Math.sin(i%360/180*Math.PI));break;case"sqrt":i=t.pop();t.push(Math.sqrt(i));break;case"sub":o=t.pop();i=t.pop();t.push(i-o);break;case"true":t.push(!0);break;case"truncate":i=t.pop();i=i<0?Math.ceil(i):Math.floor(i);t.push(i);break;case"xor":o=t.pop();i=t.pop();"boolean"==typeof i&&"boolean"==typeof o?t.push(i!==o):t.push(i^o);break;default:throw new FormatError(`Unknown operator ${r}`)}else t.push(r)}return t.stack}}class AstNode{constructor(e){this.type=e}visit(e){unreachable("abstract method")}}class AstArgument extends AstNode{constructor(e,t,n){super("args");this.index=e;this.min=t;this.max=n}visit(e){e.visitArgument(this)}}class AstLiteral extends AstNode{constructor(e){super("literal");this.number=e;this.min=e;this.max=e}visit(e){e.visitLiteral(this)}}class AstBinaryOperation extends AstNode{constructor(e,t,n,a,s){super("binary");this.op=e;this.arg1=t;this.arg2=n;this.min=a;this.max=s}visit(e){e.visitBinaryOperation(this)}}class AstMin extends AstNode{constructor(e,t){super("max");this.arg=e;this.min=e.min;this.max=t}visit(e){e.visitMin(this)}}class AstVariable extends AstNode{constructor(e,t,n){super("var");this.index=e;this.min=t;this.max=n}visit(e){e.visitVariable(this)}}class AstVariableDefinition extends AstNode{constructor(e,t){super("definition");this.variable=e;this.arg=t}visit(e){e.visitVariableDefinition(this)}}class ExpressionBuilderVisitor{parts=[];visitArgument(e){this.parts.push("Math.max(",e.min,", Math.min(",e.max,", src[srcOffset + ",e.index,"]))")}visitVariable(e){this.parts.push("v",e.index)}visitLiteral(e){this.parts.push(e.number)}visitBinaryOperation(e){this.parts.push("(");e.arg1.visit(this);this.parts.push(" ",e.op," ");e.arg2.visit(this);this.parts.push(")")}visitVariableDefinition(e){this.parts.push("var ");e.variable.visit(this);this.parts.push(" = ");e.arg.visit(this);this.parts.push(";")}visitMin(e){this.parts.push("Math.min(");e.arg.visit(this);this.parts.push(", ",e.max,")")}toString(){return this.parts.join("")}}function buildAddOperation(e,t){return"literal"===t.type&&0===t.number?e:"literal"===e.type&&0===e.number?t:"literal"===t.type&&"literal"===e.type?new AstLiteral(e.number+t.number):new AstBinaryOperation("+",e,t,e.min+t.min,e.max+t.max)}function buildMulOperation(e,t){if("literal"===t.type){if(0===t.number)return new AstLiteral(0);if(1===t.number)return e;if("literal"===e.type)return new AstLiteral(e.number*t.number)}if("literal"===e.type){if(0===e.number)return new AstLiteral(0);if(1===e.number)return t}const n=Math.min(e.min*t.min,e.min*t.max,e.max*t.min,e.max*t.max),a=Math.max(e.min*t.min,e.min*t.max,e.max*t.min,e.max*t.max);return new AstBinaryOperation("*",e,t,n,a)}function buildSubOperation(e,t){if("literal"===t.type){if(0===t.number)return e;if("literal"===e.type)return new AstLiteral(e.number-t.number)}return"binary"===t.type&&"-"===t.op&&"literal"===e.type&&1===e.number&&"literal"===t.arg1.type&&1===t.arg1.number?t.arg2:new AstBinaryOperation("-",e,t,e.min-t.max,e.max-t.min)}function buildMinOperation(e,t){return e.min>=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}class PostScriptCompiler{compile(e,t,n){const a=[],s=[],r=t.length>>1,i=n.length>>1;let o,l,f,c,h,u,m,p,d=0;for(let e=0;e<r;e++)a.push(new AstArgument(e,t[2*e],t[2*e+1]));for(let t=0,n=e.length;t<n;t++){p=e[t];if("number"!=typeof p)switch(p){case"add":if(a.length<2)return null;c=a.pop();f=a.pop();a.push(buildAddOperation(f,c));break;case"cvr":if(a.length<1)return null;break;case"mul":if(a.length<2)return null;c=a.pop();f=a.pop();a.push(buildMulOperation(f,c));break;case"sub":if(a.length<2)return null;c=a.pop();f=a.pop();a.push(buildSubOperation(f,c));break;case"exch":if(a.length<2)return null;h=a.pop();u=a.pop();a.push(h,u);break;case"pop":if(a.length<1)return null;a.pop();break;case"index":if(a.length<1)return null;f=a.pop();if("literal"!==f.type)return null;o=f.number;if(o<0||!Number.isInteger(o)||a.length<o)return null;h=a[a.length-o-1];if("literal"===h.type||"var"===h.type){a.push(h);break}m=new AstVariable(d++,h.min,h.max);a[a.length-o-1]=m;a.push(m);s.push(new AstVariableDefinition(m,h));break;case"dup":if(a.length<1)return null;if("number"==typeof e[t+1]&&"gt"===e[t+2]&&e[t+3]===t+7&&"jz"===e[t+4]&&"pop"===e[t+5]&&e[t+6]===e[t+1]){f=a.pop();a.push(buildMinOperation(f,e[t+1]));t+=6;break}h=a.at(-1);if("literal"===h.type||"var"===h.type){a.push(h);break}m=new AstVariable(d++,h.min,h.max);a[a.length-1]=m;a.push(m);s.push(new AstVariableDefinition(m,h));break;case"roll":if(a.length<2)return null;c=a.pop();f=a.pop();if("literal"!==c.type||"literal"!==f.type)return null;l=c.number;o=f.number;if(o<=0||!Number.isInteger(o)||!Number.isInteger(l)||a.length<o)return null;l=(l%o+o)%o;if(0===l)break;a.push(...a.splice(a.length-o,o-l));break;default:return null}else a.push(new AstLiteral(p))}if(a.length!==i)return null;const g=[];for(const e of s){const t=new ExpressionBuilderVisitor;e.visit(t);g.push(t.toString())}for(let e=0,t=a.length;e<t;e++){const t=a[e],s=new ExpressionBuilderVisitor;t.visit(s);const r=n[2*e],i=n[2*e+1],o=[s.toString()];if(r>t.min){o.unshift("Math.max(",r,", ");o.push(")")}if(i<t.max){o.unshift("Math.min(",i,", ");o.push(")")}o.unshift("dest[destOffset + ",e,"] = ");o.push(";");g.push(o.join(""))}return g.join("\n")}}const ir=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],or=["AN","AN","AN","AN","AN","AN","ON","ON","AL","ET","ET","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","AL","AL","AL","AL","AL","AL"];function isOdd(e){return!!(1&e)}function isEven(e){return!(1&e)}function findUnequal(e,t,n){let a,s;for(a=t,s=e.length;a<s;++a)if(e[a]!==n)return a;return a}function reverseValues(e,t,n){for(let a=t,s=n-1;a<s;++a,--s){const t=e[a];e[a]=e[s];e[s]=t}}function createBidiText(e,t,n=!1){let a="ltr";n?a="ttb":t||(a="rtl");return{str:e,dir:a}}const lr=[],fr=[];function bidi(e,t=-1,n=!1){let a=!0;const s=e.length;if(0===s||n)return createBidiText(e,a,n);lr.length=s;fr.length=s;let r,i,o=0;for(r=0;r<s;++r){lr[r]=e.charAt(r);const t=e.charCodeAt(r);let n="L";if(t<=255)n=ir[t];else if(1424<=t&&t<=1524)n="R";else if(1536<=t&&t<=1791){n=or[255&t];n||warn("Bidi: invalid Unicode character "+t.toString(16))}else(1792<=t&&t<=2220||64336<=t&&t<=65023||65136<=t&&t<=65279)&&(n="AL");"R"!==n&&"AL"!==n&&"AN"!==n||o++;fr[r]=n}if(0===o){a=!0;return createBidiText(e,a)}if(-1===t)if(o/s<.3&&s>4){a=!0;t=0}else{a=!1;t=1}const l=[];for(r=0;r<s;++r)l[r]=t;const f=isOdd(t)?"R":"L",c=f,h=c;let u,m=c;for(r=0;r<s;++r)"NSM"===fr[r]?fr[r]=m:m=fr[r];m=c;for(r=0;r<s;++r){u=fr[r];"EN"===u?fr[r]="AL"===m?"AN":"EN":"R"!==u&&"L"!==u&&"AL"!==u||(m=u)}for(r=0;r<s;++r){u=fr[r];"AL"===u&&(fr[r]="R")}for(r=1;r<s-1;++r){"ES"===fr[r]&&"EN"===fr[r-1]&&"EN"===fr[r+1]&&(fr[r]="EN");"CS"!==fr[r]||"EN"!==fr[r-1]&&"AN"!==fr[r-1]||fr[r+1]!==fr[r-1]||(fr[r]=fr[r-1])}for(r=0;r<s;++r)if("EN"===fr[r]){for(let e=r-1;e>=0&&"ET"===fr[e];--e)fr[e]="EN";for(let e=r+1;e<s&&"ET"===fr[e];++e)fr[e]="EN"}for(r=0;r<s;++r){u=fr[r];"WS"!==u&&"ES"!==u&&"ET"!==u&&"CS"!==u||(fr[r]="ON")}m=c;for(r=0;r<s;++r){u=fr[r];"EN"===u?fr[r]="L"===m?"L":"EN":"R"!==u&&"L"!==u||(m=u)}for(r=0;r<s;++r)if("ON"===fr[r]){const e=findUnequal(fr,r+1,"ON");let t=c;r>0&&(t=fr[r-1]);let n=h;e+1<s&&(n=fr[e+1]);"L"!==t&&(t="R");"L"!==n&&(n="R");t===n&&fr.fill(t,r,e);r=e-1}for(r=0;r<s;++r)"ON"===fr[r]&&(fr[r]=f);for(r=0;r<s;++r){u=fr[r];isEven(l[r])?"R"===u?l[r]+=1:"AN"!==u&&"EN"!==u||(l[r]+=2):"L"!==u&&"AN"!==u&&"EN"!==u||(l[r]+=1)}let p,d=-1,g=99;for(r=0,i=l.length;r<i;++r){p=l[r];d<p&&(d=p);g>p&&isOdd(p)&&(g=p)}for(p=d;p>=g;--p){let e=-1;for(r=0,i=l.length;r<i;++r)if(l[r]<p){if(e>=0){reverseValues(lr,e,r);e=-1}}else e<0&&(e=r);e>=0&&reverseValues(lr,e,l.length)}for(r=0,i=lr.length;r<i;++r){const e=lr[r];"<"!==e&&">"!==e||(lr[r]="")}return createBidiText(lr.join(""),a)}const cr={style:"normal",weight:"normal"},hr={style:"normal",weight:"bold"},ur={style:"italic",weight:"normal"},mr={style:"italic",weight:"bold"},pr=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","PT Astra Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:cr,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:hr,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:ur,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:mr,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:cr,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:hr,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:ur,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:mr,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:cr,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:hr,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:ur,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:mr,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:cr,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:hr,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:ur,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:mr,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:cr,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:hr,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:ur,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:mr,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:cr}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}],["ËÎÌå",{local:["SimSun","SimSun Regular","NSimSun"],style:cr,ultimate:"serif"}],["ºÚÌå",{local:["SimHei","SimHei Regular"],style:cr,ultimate:"sans-serif"}],["¿¬Ìå",{local:["KaiTi","SimKai","SimKai Regular"],style:cr,ultimate:"sans-serif"}],["·ÂËÎ",{local:["FangSong","SimFang","SimFang Regular"],style:cr,ultimate:"serif"}],["¿¬Ìå_GB2312",{alias:"¿¬Ìå"}],["·ÂËÎ_GB2312",{alias:"·ÂËÎ"}],["Á¥Êé",{local:["SimLi","SimLi Regular"],style:cr,ultimate:"serif"}],["ÐÂËÎ",{alias:"ËÎÌå"}]]),dr=new Map([["Arial-Black","ArialBlack"]]);function getFamilyName(e){const t=new Set(["thin","extralight","ultralight","demilight","semilight","light","book","regular","normal","medium","demibold","semibold","bold","extrabold","ultrabold","black","heavy","extrablack","ultrablack","roman","italic","oblique","ultracondensed","extracondensed","condensed","semicondensed","normal","semiexpanded","expanded","extraexpanded","ultraexpanded","bolditalic"]);return e.split(/[- ,+]+/g).filter(e=>!t.has(e.toLowerCase())).join(" ")}function generateFont({alias:e,local:t,path:n,fallback:a,style:s,ultimate:r},i,o,l=!0,f=!0,c=""){const h={style:null,ultimate:null};if(t){const e=c?` ${c}`:"";for(const n of t)i.push(`local(${n}${e})`)}if(e){const t=pr.get(e),r=c||function getStyleToAppend(e){switch(e){case hr:return"Bold";case ur:return"Italic";case mr:return"Bold Italic";default:if("bold"===e?.weight)return"Bold";if("italic"===e?.style)return"Italic"}return""}(s);Object.assign(h,generateFont(t,i,o,l&&!a,f&&!n,r))}s&&(h.style=s);r&&(h.ultimate=r);if(l&&a){const e=pr.get(a),{ultimate:t}=generateFont(e,i,o,l,f&&!n,c);h.ultimate||=t}f&&n&&o&&i.push(`url(${o}${n})`);return h}function getFontSubstitution(e,t,n,a,s,r){if(a.startsWith("InvalidPDFjsFont_"))return null;"TrueType"!==r&&"Type1"!==r||!/^[A-Z]{6}\+/.test(a)||(a=a.slice(7));const i=a=normalizeFontName(a);let o=e.get(i);if(o)return o;let l=pr.get(a);if(!l)for(const[e,t]of dr)if(a.startsWith(e)){a=`${t}${a.substring(e.length)}`;l=pr.get(a);break}let f=!1;if(!l){l=pr.get(s);f=!0}const c=`${t.getDocId()}_s${t.createFontId()}`;if(!l){if(!validateFontName(a)){warn(`Cannot substitute the font because of its name: ${a}`);e.set(i,null);return null}const t=/bold/gi.test(a),n=/oblique|italic/gi.test(a),s=t&&n&&mr||t&&hr||n&&ur||cr;o={css:`"${getFamilyName(a)}",${c}`,guessFallback:!0,loadedName:c,baseFontName:a,src:`local(${a})`,style:s};e.set(i,o);return o}const h=[];f&&validateFontName(a)&&h.push(`local(${a})`);const{style:u,ultimate:m}=generateFont(l,h,n),p=null===m,d=p?"":`,${m}`;o={css:`"${getFamilyName(a)}",${c}${d}`,guessFallback:p,loadedName:c,baseFontName:a,src:h.join(","),style:u};e.set(i,o);return o}const gr=3285377520,br=4294901760,wr=65535;class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:gr;this.h2=e?4294967295&e:gr}update(e){let t,n;if("string"==typeof e){t=new Uint8Array(2*e.length);n=0;for(let a=0,s=e.length;a<s;a++){const s=e.charCodeAt(a);if(s<=255)t[n++]=s;else{t[n++]=s>>>8;t[n++]=255&s}}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice();n=t.byteLength}const a=n>>2,s=n-4*a,r=new Uint32Array(t.buffer,0,a);let i=0,o=0,l=this.h1,f=this.h2;const c=3432918353,h=461845907,u=11601,m=13715;for(let e=0;e<a;e++)if(1&e){i=r[e];i=i*c&br|i*u≀i=i<<15|i>>>17;i=i*h&br|i*m≀l^=i;l=l<<13|l>>>19;l=5*l+3864292196}else{o=r[e];o=o*c&br|o*u≀o=o<<15|o>>>17;o=o*h&br|o*m≀f^=o;f=f<<13|f>>>19;f=5*f+3864292196}i=0;switch(s){case 3:i^=t[4*a+2]<<16;case 2:i^=t[4*a+1]<<8;case 1:i^=t[4*a];i=i*c&br|i*u≀i=i<<15|i>>>17;i=i*h&br|i*m≀1&a?l^=i:f^=i}this.h1=l;this.h2=f}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&br|36045*e≀t=4283543511*t&br|(2950163797*(t<<16|e>>>16)&br)>>>16;e^=t>>>1;e=444984403*e&br|60499*e≀t=3301882366*t&br|(3120437893*(t<<16|e>>>16)&br)>>>16;e^=t>>>1;return(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function resizeImageMask(e,t,n,a,s,r){const i=s*r;let o;o=t<=8?new Uint8Array(i):t<=16?new Uint16Array(i):new Uint32Array(i);const l=n/s,f=a/r;let c,h,u,m,p=0;const d=new Uint16Array(s),g=n;for(c=0;c<s;c++)d[c]=Math.floor(c*l);for(c=0;c<r;c++){u=Math.floor(c*f)*g;for(h=0;h<s;h++){m=u+d[h];o[p++]=e[m]}}return o}class PDFImage{constructor({xref:e,res:t,image:n,isInline:a=!1,smask:s=null,mask:r=null,isMask:i=!1,pdfFunctionFactory:o,globalColorSpaceCache:l,localColorSpaceCache:f}){this.image=n;const c=n.dict,h=c.get("F","Filter");let u;if(h instanceof Name)u=h.name;else if(Array.isArray(h)){const t=e.fetchIfRef(h[0]);t instanceof Name&&(u=t.name)}switch(u){case"JPXDecode":({width:n.width,height:n.height,componentsCount:n.numComps,bitsPerComponent:n.bitsPerComponent}=JpxImage.parseImageProperties(n.stream));n.stream.reset();const e=ImageResizer.getReducePowerForJPX(n.width,n.height,n.numComps);this.jpxDecoderOptions={numComponents:0,isIndexedColormap:!1,smaskInData:c.has("SMaskInData"),reducePower:e};if(e){const t=2**e;n.width=Math.ceil(n.width/t);n.height=Math.ceil(n.height/t)}break;case"JBIG2Decode":n.bitsPerComponent=1;n.numComps=1}let m=c.get("W","Width"),p=c.get("H","Height");if(Number.isInteger(n.width)&&n.width>0&&Number.isInteger(n.height)&&n.height>0&&(n.width!==m||n.height!==p)){warn("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");m=n.width;p=n.height}else{const e="number"==typeof m&&m>0,t="number"==typeof p&&p>0;if(!e||!t){if(!n.fallbackDims)throw new FormatError(`Invalid image width: ${m} or height: ${p}`);warn("PDFImage - using the Width/Height of the parent image, for SMask/Mask data.");e||(m=n.fallbackDims.width);t||(p=n.fallbackDims.height)}}this.width=m;this.height=p;this.interpolate=c.get("I","Interpolate");this.imageMask=c.get("IM","ImageMask")||!1;this.matte=c.get("Matte")||!1;let d=n.bitsPerComponent;if(!d){d=c.get("BPC","BitsPerComponent");if(!d){if(!this.imageMask)throw new FormatError(`Bits per component missing in image: ${this.imageMask}`);d=1}}this.bpc=d;if(!this.imageMask){let s=c.getRaw("CS")||c.getRaw("ColorSpace");const r=!!s;if(r)this.jpxDecoderOptions?.smaskInData&&(s=Name.get("DeviceRGBA"));else if(this.jpxDecoderOptions)s=Name.get("DeviceRGBA");else switch(n.numComps){case 1:s=Name.get("DeviceGray");break;case 3:s=Name.get("DeviceRGB");break;case 4:s=Name.get("DeviceCMYK");break;default:throw new Error(`Images with ${n.numComps} color components not supported.`)}this.colorSpace=ColorSpaceUtils.parse({cs:s,xref:e,resources:a?t:null,pdfFunctionFactory:o,globalColorSpaceCache:l,localColorSpaceCache:f});this.numComps=this.colorSpace.numComps;if(this.jpxDecoderOptions){this.jpxDecoderOptions.numComponents=r?this.numComps:0;this.jpxDecoderOptions.isIndexedColormap="Indexed"===this.colorSpace.name}}this.decode=c.getArray("D","Decode");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,d)||i&&!ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<<d)-1;this.decodeCoefficients=[];this.decodeAddends=[];const t="Indexed"===this.colorSpace?.name;for(let n=0,a=0;n<this.decode.length;n+=2,++a){const s=this.decode[n],r=this.decode[n+1];this.decodeCoefficients[a]=t?(r-s)/e:r-s;this.decodeAddends[a]=t?s:e*s}}if(s){s.fallbackDims??={width:m,height:p};this.smask=new PDFImage({xref:e,res:t,image:s,isInline:a,pdfFunctionFactory:o,globalColorSpaceCache:l,localColorSpaceCache:f})}else if(r)if(r instanceof BaseStream){if(r.dict.get("IM","ImageMask")){r.fallbackDims??={width:m,height:p};this.mask=new PDFImage({xref:e,res:t,image:r,isInline:a,isMask:!0,pdfFunctionFactory:o,globalColorSpaceCache:l,localColorSpaceCache:f})}else warn("Ignoring /Mask in image without /ImageMask.")}else this.mask=r}static async buildImage({xref:e,res:t,image:n,isInline:a=!1,pdfFunctionFactory:s,globalColorSpaceCache:r,localColorSpaceCache:i}){const o=n;let l=null,f=null;const c=n.dict.get("SMask"),h=n.dict.get("Mask");c?c instanceof BaseStream?l=c:warn("Unsupported /SMask format."):h&&(h instanceof BaseStream||Array.isArray(h)?f=h:warn("Unsupported /Mask format."));return new PDFImage({xref:e,res:t,image:o,isInline:a,smask:l,mask:f,pdfFunctionFactory:s,globalColorSpaceCache:r,localColorSpaceCache:i})}static async createMask({image:e,isOffscreenCanvasSupported:t=!1}){const{dict:n}=e,a=n.get("W","Width"),s=n.get("H","Height"),r=n.get("I","Interpolate"),i=n.getArray("D","Decode"),o=i?.[0]>0,l=(a+7>>3)*s,f=await e.getImageData(l),c=1===a&&1===s&&o===(0===f.length||!!(128&f[0]));if(c)return{isSingleOpaquePixel:c};if(t){if(ImageResizer.needsToBeResized(a,s)){const e=new Uint8ClampedArray(a*s*4);convertBlackAndWhiteToRGBA({src:f,dest:e,width:a,height:s,nonBlackColor:0,inverseDecode:o});return ImageResizer.createImage({kind:F,data:e,width:a,height:s,interpolate:r})}const e=new OffscreenCanvas(a,s),t=e.getContext("2d"),n=t.createImageData(a,s);convertBlackAndWhiteToRGBA({src:f,dest:n.data,width:a,height:s,nonBlackColor:0,inverseDecode:o});t.putImageData(n,0,0);return{data:null,width:a,height:s,interpolate:r,bitmap:e.transferToImageBitmap()}}const h=f.byteLength;let u;if(e instanceof DecodeStream&&(!o||l===h))u=f;else if(o){u=new Uint8Array(l);u.set(f);u.fill(255,h)}else u=new Uint8Array(f);if(o)for(let e=0;e<h;e++)u[e]^=255;return{data:u,width:a,height:s,interpolate:r}}get drawWidth(){return Math.max(this.width,this.smask?.width||0,this.mask?.width||0)}get drawHeight(){return Math.max(this.height,this.smask?.height||0,this.mask?.height||0)}decodeBuffer(e){const t=this.bpc,n=this.numComps,a=this.decodeAddends,s=this.decodeCoefficients,r=(1<<t)-1;let i,o;if(1===t){for(i=0,o=e.length;i<o;i++)e[i]=+!e[i];return}let l=0;for(i=0,o=this.width*this.height;i<o;i++)for(let t=0;t<n;t++){e[l]=MathClamp(a[t]+e[l]*s[t],0,r);l++}}getComponents(e){const t=this.bpc;if(8===t)return e;const n=this.width,a=this.height,s=this.numComps,r=n*a*s;let i,o=0;i=t<=8?new Uint8Array(r):t<=16?new Uint16Array(r):new Uint32Array(r);const l=n*s,f=(1<<t)-1;let c,h,u=0;if(1===t){let t,n,s;for(let r=0;r<a;r++){n=u+(-8&l);s=u+l;for(;u<n;){h=e[o++];i[u]=h>>7&1;i[u+1]=h>>6&1;i[u+2]=h>>5&1;i[u+3]=h>>4&1;i[u+4]=h>>3&1;i[u+5]=h>>2&1;i[u+6]=h>>1&1;i[u+7]=1&h;u+=8}if(u<s){h=e[o++];t=128;for(;u<s;){i[u++]=+!!(h&t);t>>=1}}}}else{let n=0;h=0;for(u=0,c=r;u<c;++u){if(u%l===0){h=0;n=0}for(;n<t;){h=h<<8|e[o++];n+=8}const a=n-t;let s=h>>a;s<0?s=0:s>f&&(s=f);i[u]=s;h&=(1<<a)-1;n=a}}return i}async fillOpacity(e,t,n,a,s){const r=this.smask,i=this.mask;let o,l,f,c,h,u;if(r){l=r.width;f=r.height;o=new Uint8ClampedArray(l*f);await r.fillGrayBuffer(o);l===t&&f===n||(o=resizeImageMask(o,r.bpc,l,f,t,n))}else if(i)if(i instanceof PDFImage){l=i.width;f=i.height;o=new Uint8ClampedArray(l*f);i.numComps=1;await i.fillGrayBuffer(o);for(c=0,h=l*f;c<h;++c)o[c]=255-o[c];l===t&&f===n||(o=resizeImageMask(o,i.bpc,l,f,t,n))}else{if(!Array.isArray(i))throw new FormatError("Unknown mask format.");{o=new Uint8ClampedArray(t*n);const e=this.numComps;for(c=0,h=t*n;c<h;++c){let t=0;const n=c*e;for(u=0;u<e;++u){const e=s[n+u],a=2*u;if(e<i[a]||e>i[a+1]){t=255;break}}o[c]=t}}}if(o)for(c=0,u=3,h=t*a;c<h;++c,u+=4)e[u]=o[c];else for(c=0,u=3,h=t*a;c<h;++c,u+=4)e[u]=255}undoPreblend(e,t,n){const a=this.smask?.matte;if(!a)return;const s=this.colorSpace.getRgb(a,0),r=s[0],i=s[1],o=s[2],l=t*n*4;for(let t=0;t<l;t+=4){const n=e[t+3];if(0===n){e[t]=255;e[t+1]=255;e[t+2]=255;continue}const a=255/n;e[t]=(e[t]-r)*a+r;e[t+1]=(e[t+1]-i)*a+i;e[t+2]=(e[t+2]-o)*a+o}}async createImageData(e=!1,t=!1){const n=this.drawWidth,a=this.drawHeight,s={width:n,height:a,interpolate:this.interpolate,kind:0,data:null},r=this.numComps,i=this.width,o=this.height,l=this.bpc,f=i*r*l+7>>3,c=t&&ImageResizer.needsToBeResized(n,a);if(!this.smask&&!this.mask&&"DeviceRGBA"===this.colorSpace.name){s.kind=F;const e=s.data=await this.getImageBytes(o*i*4,{});return t?c?ImageResizer.createImage(s,!1):this.createBitmap(F,n,a,e):s}if(!e){let e;"DeviceGray"===this.colorSpace.name&&1===l?e=x:"DeviceRGB"!==this.colorSpace.name||8!==l||this.needsDecode||(e=C);if(e&&!this.smask&&!this.mask&&n===i&&a===o){const r=await this.#he(i,o);if(r)return r;const l=await this.getImageBytes(o*f,{});if(t)return c?ImageResizer.createImage({data:l,kind:e,width:n,height:a,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,i,o,l);s.kind=e;s.data=l;if(this.needsDecode){assert(e===x,"PDFImage.createImageData: The image must be grayscale.");const t=s.data;for(let e=0,n=t.length;e<n;e++)t[e]^=255}return s}if(this.image instanceof JpegStream&&!this.smask&&!this.mask&&!this.needsDecode){let e=o*f;if(t&&!c){let t=!1;switch(this.colorSpace.name){case"DeviceGray":e*=4;t=!0;break;case"DeviceRGB":e=e/3*4;t=!0;break;case"DeviceCMYK":t=!0}if(t){const t=await this.#he(n,a);if(t)return t;const s=await this.getImageBytes(e,{drawWidth:n,drawHeight:a,forceRGBA:!0});return this.createBitmap(F,n,a,s)}}else switch(this.colorSpace.name){case"DeviceGray":e*=3;case"DeviceRGB":case"DeviceCMYK":s.kind=C;s.data=await this.getImageBytes(e,{drawWidth:n,drawHeight:a,forceRGB:!0});return c?ImageResizer.createImage(s):s}}}const h=await this.getImageBytes(o*f,{internal:!0}),u=0|h.length/f*a/o,m=this.getComponents(h);let p,d,g,b,w,j;if(t&&!c){g=new OffscreenCanvas(n,a);b=g.getContext("2d");w=b.createImageData(n,a);j=w.data}s.kind=F;if(e||this.smask||this.mask){t&&!c||(j=new Uint8ClampedArray(n*a*4));p=1;d=!0;await this.fillOpacity(j,n,a,u,m)}else{if(!t||c){s.kind=C;j=new Uint8ClampedArray(n*a*3);p=0}else{new Uint32Array(j.buffer).fill(FeatureTest.isLittleEndian?4278190080:255);p=1}d=!1}this.needsDecode&&this.decodeBuffer(m);this.colorSpace.fillRgb(j,i,o,n,a,u,l,m,p);d&&this.undoPreblend(j,n,u);if(t&&!c){b.putImageData(w,0,0);return{data:null,width:n,height:a,bitmap:g.transferToImageBitmap(),interpolate:this.interpolate}}s.data=j;return c?ImageResizer.createImage(s):s}async fillGrayBuffer(e){const t=this.numComps;if(1!==t)throw new FormatError(`Reading gray scale from a color image: ${t}`);const n=this.width,a=this.height,s=this.bpc,r=n*t*s+7>>3,i=await this.getImageBytes(a*r,{internal:!0}),o=this.getComponents(i);let l,f;if(1===s){f=n*a;if(this.needsDecode)for(l=0;l<f;++l)e[l]=o[l]-1&255;else for(l=0;l<f;++l)e[l]=255&-o[l];return}this.needsDecode&&this.decodeBuffer(o);f=n*a;const c=255/((1<<s)-1);for(l=0;l<f;++l)e[l]=c*o[l]}createBitmap(e,t,n,a){const s=new OffscreenCanvas(t,n),r=s.getContext("2d");let i;if(e===F)i=new ImageData(a,t,n);else{i=r.createImageData(t,n);convertToRGBA({kind:e,src:a,dest:new Uint32Array(i.data.buffer),width:t,height:n,inverseDecode:this.needsDecode})}r.putImageData(i,0,0);return{data:null,width:t,height:n,bitmap:s.transferToImageBitmap(),interpolate:this.interpolate}}async#he(e,t){const n=await this.image.getTransferableImage();return n?{data:null,width:e,height:t,bitmap:n,interpolate:this.interpolate}:null}async getImageBytes(e,{drawWidth:t,drawHeight:n,forceRGBA:a=!1,forceRGB:s=!1,internal:r=!1}){this.image.reset();this.image.drawWidth=t||this.width;this.image.drawHeight=n||this.height;this.image.forceRGBA=!!a;this.image.forceRGB=!!s;const i=await this.image.getImageData(e,this.jpxDecoderOptions);if(r||this.image instanceof DecodeStream)return i;assert(i instanceof Uint8Array,'PDFImage.getImageBytes: Unsupported "imageBytes" type.');return new Uint8Array(i)}}const jr=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,isOffscreenCanvasSupported:!1,isImageDecoderSupported:!1,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,useWasm:!0,useWorkerFetch:!0,cMapUrl:null,iccUrl:null,standardFontDataUrl:null,wasmUrl:null}),kr=1,yr=2,qr=Promise.resolve();function normalizeBlendMode(e,t=!1){if(Array.isArray(e)){for(const t of e){const e=normalizeBlendMode(t,!0);if(e)return e}warn(`Unsupported blend mode Array: ${e}`);return"source-over"}if(!(e instanceof Name))return t?null:"source-over";switch(e.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}if(t)return null;warn(`Unsupported blend mode: ${e.name}`);return"source-over"}function addCachedImageOps(e,{objId:t,fn:n,args:a,optionalContent:s,hasMask:r}){t&&e.addDependency(t);e.addImageOps(n,a,s,r);n===Rt&&a[0]?.count>0&&a[0].count++}class TimeSlotManager{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){if(++this.checked<TimeSlotManager.CHECK_TIME_EVERY)return!1;this.checked=0;return this.endTime<=Date.now()}reset(){this.endTime=Date.now()+TimeSlotManager.TIME_SLOT_DURATION_MS;this.checked=0}}class PartialEvaluator{constructor({xref:e,handler:t,pageIndex:n,idFactory:a,fontCache:s,builtInCMapCache:r,standardFontDataCache:i,globalColorSpaceCache:o,globalImageCache:l,systemFontCache:f,options:c=null}){this.xref=e;this.handler=t;this.pageIndex=n;this.idFactory=a;this.fontCache=s;this.builtInCMapCache=r;this.standardFontDataCache=i;this.globalColorSpaceCache=o;this.globalImageCache=l;this.systemFontCache=f;this.options=c||jr;this.type3FontRefs=null;this._regionalImageCache=new RegionalImageCache;this._fetchBuiltInCMapBound=this.fetchBuiltInCMap.bind(this)}get _pdfFunctionFactory(){return shadow(this,"_pdfFunctionFactory",new PDFFunctionFactory({xref:this.xref,isEvalSupported:this.options.isEvalSupported}))}get parsingType3Font(){return!!this.type3FontRefs}clone(e=null){const t=Object.create(this);t.options=Object.assign(Object.create(null),this.options,e);return t}hasBlendModes(e,t){if(!(e instanceof Dict))return!1;if(e.objId&&t.has(e.objId))return!1;const n=new RefSet(t);e.objId&&n.put(e.objId);const a=[e],s=this.xref;for(;a.length;){const e=a.shift(),t=e.get("ExtGState");if(t instanceof Dict)for(let e of t.getRawValues()){if(e instanceof Ref){if(n.has(e))continue;try{e=s.fetch(e)}catch(t){n.put(e);info(`hasBlendModes - ignoring ExtGState: "${t}".`);continue}}if(!(e instanceof Dict))continue;e.objId&&n.put(e.objId);const t=e.get("BM");if(t instanceof Name){if("Normal"!==t.name)return!0}else if(void 0!==t&&Array.isArray(t))for(const e of t)if(e instanceof Name&&"Normal"!==e.name)return!0}const r=e.get("XObject");if(r instanceof Dict)for(let e of r.getRawValues()){if(e instanceof Ref){if(n.has(e))continue;try{e=s.fetch(e)}catch(t){n.put(e);info(`hasBlendModes - ignoring XObject: "${t}".`);continue}}if(!(e instanceof BaseStream))continue;e.dict.objId&&n.put(e.dict.objId);const t=e.dict.get("Resources");if(t instanceof Dict&&(!t.objId||!n.has(t.objId))){a.push(t);t.objId&&n.put(t.objId)}}}for(const e of n)t.put(e);return!1}async fetchBuiltInCMap(e){const t=this.builtInCMapCache.get(e);if(t)return t;let n;n=this.options.useWorkerFetch?{cMapData:await fetchBinaryData(`${this.options.cMapUrl}${e}.bcmap`),isCompressed:!0}:await this.handler.sendWithPromise("FetchBinaryData",{type:"cMapReaderFactory",name:e});this.builtInCMapCache.set(e,n);return n}async fetchStandardFontData(e){const t=this.standardFontDataCache.get(e);if(t)return new Stream(t);if(this.options.useSystemFonts&&"Symbol"!==e&&"ZapfDingbats"!==e)return null;const n=za()[e];let a;try{a=this.options.useWorkerFetch?await fetchBinaryData(`${this.options.standardFontDataUrl}${n}`):await this.handler.sendWithPromise("FetchBinaryData",{type:"standardFontDataFactory",filename:n})}catch(e){warn(e);return null}this.standardFontDataCache.set(e,a);return new Stream(a)}async buildFormXObject(e,t,n,a,s,r,i,o){const{dict:l}=t,f=lookupMatrix(l.getArray("Matrix"),null),c=lookupNormalRect(l.getArray("BBox"),null);let h,u;l.has("OC")&&(h=await this.parseMarkedContentProps(l.get("OC"),e));void 0!==h&&a.addOp(St,["OC",h]);const m=l.get("Group");if(m){u={matrix:f,bbox:c,smask:n,isolated:!1,knockout:!1};let t=null;if(isName(m.get("S"),"Transparency")){u.isolated=m.get("I")||!1;u.knockout=m.get("K")||!1;if(m.has("CS")){const n=this._getColorSpace(m.getRaw("CS"),e,i);t=n instanceof ColorSpace?n:await this._handleColorSpace(n)}}if(n?.backdrop){t||=ColorSpaceUtils.rgb;n.backdrop=t.getRgbHex(n.backdrop,0)}a.addOp(Tt,[u])}const p=[f&&new Float32Array(f),!m&&c&&new Float32Array(c)||null];a.addOp(It,p);const d=l.get("Resources");await this.getOperatorList({stream:t,task:s,resources:d instanceof Dict?d:e,operatorList:a,initialState:r,prevRefs:o});a.addOp(Ft,[]);m&&a.addOp(Ht,[u]);void 0!==h&&a.addOp(xt,[])}_sendImgData(e,t,n=!1){const a=t?[t.bitmap||t.data.buffer]:null;return this.parsingType3Font||n?this.handler.send("commonobj",[e,"Image",t],a):this.handler.send("obj",[e,this.pageIndex,"Image",t],a)}async buildPaintImageXObject({resources:e,image:t,isInline:n=!1,operatorList:a,cacheKey:s,localImageCache:r,localColorSpaceCache:i}){const{maxImageSize:o,ignoreErrors:l,isOffscreenCanvasSupported:f}=this.options,{dict:c}=t,h=c.objId,u=c.get("W","Width"),m=c.get("H","Height");if(!u||"number"!=typeof u||!m||"number"!=typeof m){warn("Image dimensions are missing, or not numbers.");return}if(-1!==o&&u*m>o){const e="Image exceeded maximum allowed size and was removed.";if(!l)throw new Error(e);warn(e);return}let p;c.has("OC")&&(p=await this.parseMarkedContentProps(c.get("OC"),e));let d,g,b;if(c.get("IM","ImageMask")||!1){d=await PDFImage.createMask({image:t,isOffscreenCanvasSupported:f&&!this.parsingType3Font});if(d.isSingleOpaquePixel){g=Lt;b=[];a.addImageOps(g,b,p);if(s){const e={fn:g,args:b,optionalContent:p};r.set(s,h,e);h&&this._regionalImageCache.set(null,h,e)}return}if(this.parsingType3Font){b=function compileType3Glyph({data:e,width:t,height:n}){if(t>1e3||n>1e3)return null;const a=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),s=t+1,r=new Uint8Array(s*(n+1));let i,o,l;const f=t+7&-8,c=new Uint8Array(f*n);let h=0;for(const t of e){let e=128;for(;e>0;){c[h++]=t&e?0:255;e>>=1}}let u=0;h=0;if(0!==c[h]){r[0]=1;++u}for(o=1;o<t;o++){if(c[h]!==c[h+1]){r[o]=c[h]?2:1;++u}h++}if(0!==c[h]){r[o]=2;++u}for(i=1;i<n;i++){h=i*f;l=i*s;if(c[h-f]!==c[h]){r[l]=c[h]?1:8;++u}let e=(c[h]?4:0)+(c[h-f]?8:0);for(o=1;o<t;o++){e=(e>>2)+(c[h+1]?4:0)+(c[h-f+1]?8:0);if(a[e]){r[l+o]=a[e];++u}h++}if(c[h-f]!==c[h]){r[l+o]=c[h]?2:4;++u}if(u>1e3)return null}h=f*(n-1);l=i*s;if(0!==c[h]){r[l]=8;++u}for(o=1;o<t;o++){if(c[h]!==c[h+1]){r[l+o]=c[h]?4:8;++u}h++}if(0!==c[h]){r[l+o]=4;++u}if(u>1e3)return null;const m=new Int32Array([0,s,-1,0,-s,0,0,0,1]),p=[],{a:d,b:g,c:b,d:w,e:j,f:k}=(new DOMMatrix).scaleSelf(1/t,-1/n).translateSelf(0,-n);for(i=0;u&&i<=n;i++){let e=i*s;const n=e+t;for(;e<n&&!r[e];)e++;if(e===n)continue;let a=e%s,o=i;p.push(Kt,d*a+b*o+j,g*a+w*o+k);const l=e;let f=r[e];do{const t=m[f];do{e+=t}while(!r[e]);const n=r[e];if(5!==n&&10!==n){f=n;r[e]=0}else{f=n&51*f>>4;r[e]&=f>>2|f<<2}a=e%s;o=e/s|0;p.push(Gt,d*a+b*o+j,g*a+w*o+k);r[e]||--u}while(l!==e);--i}return[Wt,[new Float32Array(p)],new Float32Array([0,0,t,n])]}(d);if(b){a.addImageOps(Ut,b,p);return}warn("Cannot compile Type3 glyph.");a.addImageOps(Rt,[d],p);return}const e=`mask_${this.idFactory.createObjId()}`;a.addDependency(e);d.dataLen=d.bitmap?d.width*d.height*4:d.data.length;this._sendImgData(e,d);g=Rt;b=[{data:e,width:d.width,height:d.height,interpolate:d.interpolate,count:1}];a.addImageOps(g,b,p);if(s){const t={objId:e,fn:g,args:b,optionalContent:p};r.set(s,h,t);h&&this._regionalImageCache.set(null,h,t)}return}const w=c.has("SMask")||c.has("Mask");if(n&&u+m<200&&!w){try{const s=new PDFImage({xref:this.xref,res:e,image:t,isInline:n,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:i});d=await s.createImageData(!0,!1);a.addImageOps(Pt,[d],p)}catch(e){const t=`Unable to decode inline image: "${e}".`;if(!l)throw new Error(t);warn(t)}return}let j=`img_${this.idFactory.createObjId()}`,k=!1,y=null;if(this.parsingType3Font)j=`${this.idFactory.getDocId()}_type3_${j}`;else if(s&&h){k=this.globalImageCache.shouldCache(h,this.pageIndex);if(k){assert(!n,"Cannot cache an inline image globally.");j=`${this.idFactory.getDocId()}_${j}`}}a.addDependency(j);g=Mt;b=[j,u,m];a.addImageOps(g,b,p,w);if(k){y={objId:j,fn:g,args:b,optionalContent:p,hasMask:w,byteSize:0};if(this.globalImageCache.hasDecodeFailed(h)){this.globalImageCache.setData(h,y);this._sendImgData(j,null,k);return}if(u*m>25e4||w){const e=await this.handler.sendWithPromise("commonobj",[j,"CopyLocalImage",{imageRef:h}]);if(e){this.globalImageCache.setData(h,y);this.globalImageCache.addByteSize(h,e);return}}}PDFImage.buildImage({xref:this.xref,res:e,image:t,isInline:n,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:i}).then(async e=>{d=await e.createImageData(!1,f);d.dataLen=d.bitmap?d.width*d.height*4:d.data.length;d.ref=h;k&&this.globalImageCache.addByteSize(h,d.dataLen);return this._sendImgData(j,d,k)}).catch(e=>{warn(`Unable to decode image "${j}": "${e}".`);h&&this.globalImageCache.addDecodeFailed(h);return this._sendImgData(j,null,k)});if(s){const e={objId:j,fn:g,args:b,optionalContent:p,hasMask:w};r.set(s,h,e);if(h){this._regionalImageCache.set(null,h,e);if(k){assert(y,"The global cache-data must be available.");this.globalImageCache.setData(h,y)}}}}handleSMask(e,t,n,a,s,r,i){const o=e.get("G"),l={subtype:e.get("S").name,backdrop:e.get("BC")},f=e.get("TR");if(isPDFFunction(f)){const e=this._pdfFunctionFactory.create(f),t=new Uint8Array(256),n=new Float32Array(1);for(let a=0;a<256;a++){n[0]=a/255;e(n,0,n,0);t[a]=255*n[0]|0}l.transferMap=t}return this.buildFormXObject(t,o,l,n,a,s.state.clone({newPath:!0}),r,i)}handleTransferFunction(e){let t;if(Array.isArray(e)){t=e;e.length>1&&e.every(t=>t===e[0])&&(t=[e[0]])}else{if(!isPDFFunction(e))return null;t=[e]}const n=[];let a=0,s=0;for(const e of t){const t=this.xref.fetchIfRef(e);a++;if(isName(t,"Identity")){n.push(null);continue}if(!isPDFFunction(t))return null;const r=this._pdfFunctionFactory.create(t),i=new Uint8Array(256),o=new Float32Array(1);for(let e=0;e<256;e++){o[0]=e/255;r(o,0,o,0);i[e]=255*o[0]|0}n.push(i);s++}return 1!==a&&4!==a||0===s?null:n}handleTilingType(e,t,n,a,s,r,i,o){const l=new OperatorList,f=Dict.merge({xref:this.xref,dictArray:[s.get("Resources"),n]});return this.getOperatorList({stream:a,task:i,resources:f,operatorList:l}).then(function(){const n=l.getIR(),a=getTilingPatternIR(n,s,t);r.addDependencies(l.dependencies);r.addOp(e,a);s.objId&&o.set(null,s.objId,{operatorListIR:n,dict:s})}).catch(e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`handleTilingType - ignoring pattern: "${e}".`)}})}async handleSetFont(e,t,n,a,s,r,i=null,o=null){const l=t?.[0]instanceof Name?t[0].name:null,f=await this.loadFont(l,n,e,s,i,o);f.font.isType3Font&&a.addDependencies(f.type3Dependencies);r.font=f.font;f.send(this.handler);return f.loadedName}handleText(e,t){const n=t.font,a=n.charsToGlyphs(e);if(n.data){(!!(t.textRenderingMode&S)||"Pattern"===t.fillColorSpace.name||"Pattern"===t.strokeColorSpace.name||n.disableFontFace)&&PartialEvaluator.buildFontPaths(n,a,this.handler,this.options)}return a}ensureStateFont(e){if(e.font)return;const t=new FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;warn(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:n,cacheKey:a,task:s,stateManager:r,localGStateCache:i,localColorSpaceCache:o,seenRefs:l}){const f=t.objId;let c=!0;const h=[];let u=Promise.resolve();for(const[a,i]of t)switch(a){case"Type":break;case"LW":if("number"!=typeof i){warn(`Invalid LW (line width): ${i}`);break}h.push([a,Math.abs(i)]);break;case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":h.push([a,i]);break;case"Font":c=!1;u=u.then(()=>this.handleSetFont(e,null,i[0],n,s,r.state).then(function(e){n.addDependency(e);h.push([a,[e,i[1]]])}));break;case"BM":h.push([a,normalizeBlendMode(i)]);break;case"SMask":if(isName(i,"None")){h.push([a,!1]);break}if(i instanceof Dict){c=!1;u=u.then(()=>this.handleSMask(i,e,n,s,r,o,l));h.push([a,!0])}else warn("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(i);h.push([a,t]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":info("graphic state operator "+a);break;default:info("Unknown graphic state operator "+a)}await u;h.length>0&&n.addOp(be,[h]);c&&i.set(a,f,h)}loadFont(e,t,n,a,s=null,r=null){const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new ErrorFont(`Font "${e}" is not available.`),dict:t});let i;if(t)t instanceof Ref&&(i=t);else{const t=n.get("Font");t&&(i=t.getRaw(e))}if(i){if(this.type3FontRefs?.has(i))return errorFont();if(this.fontCache.has(i))return this.fontCache.get(i);try{t=this.xref.fetchIfRef(i)}catch(e){warn(`loadFont - lookup failed: "${e}".`)}}if(!(t instanceof Dict)){if(!this.options.ignoreErrors&&!this.parsingType3Font){warn(`Font "${e}" is not available.`);return errorFont()}warn(`Font "${e}" is not available -- attempting to fallback to a default font.`);t=s||PartialEvaluator.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const{promise:o,resolve:l}=Promise.withResolvers();let f;try{f=this.preEvaluateFont(t);f.cssFontInfo=r}catch(e){warn(`loadFont - preEvaluateFont failed: "${e}".`);return errorFont()}const{descriptor:c,hash:h}=f,u=i instanceof Ref;let m;if(h&&c instanceof Dict){const e=c.fontAliases||=Object.create(null);if(e[h]){const t=e[h].aliasRef;if(u&&t&&this.fontCache.has(t)){this.fontCache.putAlias(i,t);return this.fontCache.get(i)}}else e[h]={fontID:this.idFactory.createFontId()};u&&(e[h].aliasRef=i);m=e[h].fontID}else m=this.idFactory.createFontId();assert(m?.startsWith("f"),'The "fontID" must be (correctly) defined.');if(u)this.fontCache.put(i,o);else{t.cacheKey=`cacheKey_${m}`;this.fontCache.put(t.cacheKey,o)}t.loadedName=`${this.idFactory.getDocId()}_${m}`;this.translateFont(f).then(async e=>{const s=new TranslatedFont({loadedName:t.loadedName,font:e,dict:t});if(e.isType3Font)try{await s.loadType3Data(this,n,a)}catch(e){throw new Error(`Type3 font load error: ${e}`)}l(s)}).catch(e=>{warn(`loadFont - translateFont failed: "${e}".`);l(new TranslatedFont({loadedName:t.loadedName,font:new ErrorFont(e?.message),dict:t}))});return o}buildPath(e,t,n){const{pathMinMax:a,pathBuffer:s}=n;switch(0|e){case Ce:{const e=n.currentPointX=t[0],r=n.currentPointY=t[1],i=t[2],o=t[3],l=e+i,f=r+o;0===i||0===o?s.push(Kt,e,r,Gt,l,f,Yt):s.push(Kt,e,r,Gt,l,r,Gt,l,f,Gt,e,f,Yt);Util.rectBoundingBox(e,r,l,f,a);break}case ye:{const e=n.currentPointX=t[0],r=n.currentPointY=t[1];s.push(Kt,e,r);Util.pointBoundingBox(e,r,a);break}case qe:{const e=n.currentPointX=t[0],r=n.currentPointY=t[1];s.push(Gt,e,r);Util.pointBoundingBox(e,r,a);break}case ve:{const e=n.currentPointX,r=n.currentPointY,[i,o,l,f,c,h]=t;n.currentPointX=c;n.currentPointY=h;s.push(Vt,i,o,l,f,c,h);Util.bezierBoundingBox(e,r,i,o,l,f,c,h,a);break}case Se:{const e=n.currentPointX,r=n.currentPointY,[i,o,l,f]=t;n.currentPointX=l;n.currentPointY=f;s.push(Vt,e,r,i,o,l,f);Util.bezierBoundingBox(e,r,e,r,i,o,l,f,a);break}case xe:{const e=n.currentPointX,r=n.currentPointY,[i,o,l,f]=t;n.currentPointX=l;n.currentPointY=f;s.push(Vt,i,o,l,f,l,f);Util.bezierBoundingBox(e,r,i,o,l,f,l,f,a);break}case Ae:s.push(Yt)}}_getColorSpace(e,t,n){return ColorSpaceUtils.parse({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:n,asyncIfNotCached:!0})}async _handleColorSpace(e){try{return await e}catch(e){if(e instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`_handleColorSpace - ignoring ColorSpace: "${e}".`);return null}throw e}}parseShading({shading:e,resources:t,localColorSpaceCache:n,localShadingPatternCache:a}){let s,r=a.get(e);if(r)return r;try{s=Pattern.parseShading(e,this.xref,t,this._pdfFunctionFactory,this.globalColorSpaceCache,n).getIR()}catch(t){if(t instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`parseShading - ignoring shading: "${t}".`);a.set(e,null);return null}throw t}r=`pattern_${this.idFactory.createObjId()}`;this.parsingType3Font&&(r=`${this.idFactory.getDocId()}_type3_${r}`);a.set(e,r);if(this.parsingType3Font){const e=[],t=PatternInfo.write(s);e.push(t);this.handler.send("commonobj",[r,"Pattern",t],e)}else this.handler.send("obj",[r,this.pageIndex,"Pattern",s]);return r}handleColorN(e,t,n,a,s,r,i,o,l,f){const c=n.pop();if(c instanceof Name){const h=s.getRaw(c.name),u=h instanceof Ref&&l.getByRef(h);if(u)try{const s=a.base?a.base.getRgbHex(n,0):null,r=getTilingPatternIR(u.operatorListIR,u.dict,s);e.addOp(t,r);return}catch{}const m=this.xref.fetchIfRef(h);if(m){const s=m instanceof BaseStream?m.dict:m,c=s.get("PatternType");if(c===kr){const o=a.base?a.base.getRgbHex(n,0):null;return this.handleTilingType(t,o,r,m,s,e,i,l)}if(c===yr){const n=s.get("Shading"),a=this.parseShading({shading:n,resources:r,localColorSpaceCache:o,localShadingPatternCache:f});if(a){const n=lookupMatrix(s.getArray("Matrix"),null);e.addOp(t,["Shading",a,n])}return}throw new FormatError(`Unknown PatternType: ${c}`)}}throw new FormatError(`Unknown PatternName: ${c}`)}_parseVisibilityExpression(e,t,n){if(++t>10){warn("Visibility expression is too deeply nested");return}const a=e.length,s=this.xref.fetchIfRef(e[0]);if(!(a<2)&&s instanceof Name){switch(s.name){case"And":case"Or":case"Not":n.push(s.name);break;default:warn(`Invalid operator ${s.name} in visibility expression`);return}for(let s=1;s<a;s++){const a=e[s],r=this.xref.fetchIfRef(a);if(Array.isArray(r)){const e=[];n.push(e);this._parseVisibilityExpression(r,t,e)}else a instanceof Ref&&n.push(a.toString())}}else warn("Invalid visibility expression")}async parseMarkedContentProps(e,t){let n;if(e instanceof Name){n=t.get("Properties").get(e.name)}else{if(!(e instanceof Dict))throw new FormatError("Optional content properties malformed.");n=e}const a=n.get("Type")?.name;if("OCG"===a)return{type:a,id:n.objId};if("OCMD"===a){const e=n.get("VE");if(Array.isArray(e)){const t=[];this._parseVisibilityExpression(e,0,t);if(t.length>0)return{type:"OCMD",expression:t}}const t=n.get("OCGs");if(Array.isArray(t)||t instanceof Dict){const e=[];if(Array.isArray(t))for(const n of t)e.push(n.toString());else e.push(t.objId);return{type:a,ids:e,policy:n.get("P")instanceof Name?n.get("P").name:null,expression:null}}if(t instanceof Ref)return{type:a,id:t.toString()}}return null}async getOperatorList({stream:e,task:t,resources:n,operatorList:a,initialState:s=null,fallbackFontDict:r=null,prevRefs:i=null}){if(e.isAsync){const t=await e.asyncGetBytes();t&&(e=new Stream(t,0,t.length,e.dict))}const o=e.dict?.objId,l=new RefSet(i);if(o){if(i?.has(o))throw new Error(`getOperatorList - ignoring circular reference: ${o}`);l.put(o)}n||=Dict.empty;s||=new EvalState;if(!a)throw new Error('getOperatorList: missing "operatorList" parameter');const f=this,c=this.xref,h=new LocalImageCache,u=new LocalColorSpaceCache,m=new LocalGStateCache,p=new LocalTilingPatternCache,d=new Map,g=n.get("XObject")||Dict.empty,b=n.get("Pattern")||Dict.empty,w=new StateManager(s),j=new EvaluatorPreprocessor(e,c,w),k=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=j.savedStatesDepth;e<t;e++)a.addOp(je,[])}return new Promise(function promiseBody(e,s){const next=function(t){Promise.all([t,a.ready]).then(function(){try{promiseBody(e,s)}catch(e){s(e)}},s)};t.ensureNotTerminated();k.reset();const i={};let o,y,q,v,S,x;for(;!(o=k.check());){i.args=null;if(!j.read(i))break;let e=i.args,s=i.fn;switch(0|s){case kt:x=e[0]instanceof Name;S=e[0].name;if(x){const t=h.getByName(S);if(t){addCachedImageOps(a,t);e=null;continue}}next(new Promise(function(e,s){if(!x)throw new FormatError("XObject must be referred to by name.");let r=g.getRaw(S);if(r instanceof Ref){const t=h.getByRef(r)||f._regionalImageCache.getByRef(r)||f.globalImageCache.getData(r,f.pageIndex);if(t){addCachedImageOps(a,t);e();return}r=c.fetch(r)}if(!(r instanceof BaseStream))throw new FormatError("XObject should be a stream");const i=r.dict.get("Subtype");if(!(i instanceof Name))throw new FormatError("XObject should have a Name subtype");if("Form"!==i.name)if("Image"!==i.name){if("PS"!==i.name)throw new FormatError(`Unhandled XObject subtype ${i.name}`);info("Ignored XObject subtype PS");e()}else f.buildPaintImageXObject({resources:n,image:r,operatorList:a,cacheKey:S,localImageCache:h,localColorSpaceCache:u}).then(e,s);else{w.save();f.buildFormXObject(n,r,null,a,t,w.state.clone({newPath:!0}),u,l).then(function(){w.restore();e()},s)}}).catch(function(e){if(!(e instanceof AbortException)){if(!f.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring XObject: "${e}".`)}}));return;case We:const i=e[1];next(f.handleSetFont(n,e,null,a,t,w.state,r).then(function(e){a.addDependency(e);a.addOp(We,[e,i])}));return;case jt:const o=e[0].cacheKey;if(o){const t=h.getByName(o);if(t){addCachedImageOps(a,t);e=null;continue}}next(f.buildPaintImageXObject({resources:n,image:e[0],isInline:!0,operatorList:a,cacheKey:o,localImageCache:h,localColorSpaceCache:u}));return;case Qe:if(!w.state.font){f.ensureStateFont(w.state);continue}e[0]=f.handleText(e[0],w.state);break;case Ze:if(!w.state.font){f.ensureStateFont(w.state);continue}const j=[],k=w.state;for(const t of e[0])"string"==typeof t?j.push(...f.handleText(t,k)):"number"==typeof t&&j.push(t);e[0]=j;s=Qe;break;case et:if(!w.state.font){f.ensureStateFont(w.state);continue}a.addOp(Je);e[0]=f.handleText(e[0],w.state);s=Qe;break;case tt:if(!w.state.font){f.ensureStateFont(w.state);continue}a.addOp(Je);a.addOp(Ue,[e.shift()]);a.addOp(Le,[e.shift()]);e[0]=f.handleText(e[0],w.state);s=Qe;break;case Ke:w.state.textRenderingMode=e[0];break;case rt:{const t=f._getColorSpace(e[0],n,u);if(t instanceof ColorSpace){w.state.fillColorSpace=t;continue}next(f._handleColorSpace(t).then(e=>{w.state.fillColorSpace=e||ColorSpaceUtils.gray}));return}case st:{const t=f._getColorSpace(e[0],n,u);if(t instanceof ColorSpace){w.state.strokeColorSpace=t;continue}next(f._handleColorSpace(t).then(e=>{w.state.strokeColorSpace=e||ColorSpaceUtils.gray}));return}case lt:v=w.state.fillColorSpace;e=[v.getRgbHex(e,0)];s=mt;break;case it:v=w.state.strokeColorSpace;e=[v.getRgbHex(e,0)];s=ut;break;case ht:w.state.fillColorSpace=ColorSpaceUtils.gray;e=[ColorSpaceUtils.gray.getRgbHex(e,0)];s=mt;break;case ct:w.state.strokeColorSpace=ColorSpaceUtils.gray;e=[ColorSpaceUtils.gray.getRgbHex(e,0)];s=ut;break;case dt:w.state.fillColorSpace=ColorSpaceUtils.cmyk;e=[ColorSpaceUtils.cmyk.getRgbHex(e,0)];s=mt;break;case pt:w.state.strokeColorSpace=ColorSpaceUtils.cmyk;e=[ColorSpaceUtils.cmyk.getRgbHex(e,0)];s=ut;break;case mt:w.state.fillColorSpace=ColorSpaceUtils.rgb;e=[ColorSpaceUtils.rgb.getRgbHex(e,0)];break;case ut:w.state.strokeColorSpace=ColorSpaceUtils.rgb;e=[ColorSpaceUtils.rgb.getRgbHex(e,0)];break;case ft:v=w.state.patternFillColorSpace;if(!v){if(isNumberArray(e,null)){e=[ColorSpaceUtils.gray.getRgbHex(e,0)];s=mt;break}e=[];s=Xt;break}if("Pattern"===v.name){next(f.handleColorN(a,ft,e,v,b,n,t,u,p,d));return}e=[v.getRgbHex(e,0)];s=mt;break;case ot:v=w.state.patternStrokeColorSpace;if(!v){if(isNumberArray(e,null)){e=[ColorSpaceUtils.gray.getRgbHex(e,0)];s=ut;break}e=[];s=_t;break}if("Pattern"===v.name){next(f.handleColorN(a,ot,e,v,b,n,t,u,p,d));return}e=[v.getRgbHex(e,0)];s=ut;break;case gt:let C;try{const t=n.get("Shading");if(!t)throw new FormatError("No shading resource found");C=t.get(e[0].name);if(!C)throw new FormatError("No shading object found")}catch(e){if(e instanceof AbortException)continue;if(f.options.ignoreErrors){warn(`getOperatorList - ignoring Shading: "${e}".`);continue}throw e}const F=f.parseShading({shading:C,resources:n,localColorSpaceCache:u,localShadingPatternCache:d});if(!F)continue;e=[F];s=gt;break;case be:x=e[0]instanceof Name;S=e[0].name;if(x){const t=m.getByName(S);if(t){t.length>0&&a.addOp(be,[t]);e=null;continue}}next(new Promise(function(e,s){if(!x)throw new FormatError("GState must be referred to by name.");const r=n.get("ExtGState");if(!(r instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const i=r.get(S);if(!(i instanceof Dict))throw new FormatError("GState should be a dictionary.");f.setGState({resources:n,gState:i,operatorList:a,cacheKey:S,task:t,stateManager:w,localGStateCache:m,localColorSpaceCache:u,seenRefs:l}).then(e,s)}).catch(function(e){if(!(e instanceof AbortException)){if(!f.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring ExtGState: "${e}".`)}}));return;case ce:{const[t]=e;if("number"!=typeof t){warn(`Invalid setLineWidth: ${t}`);continue}e[0]=Math.abs(t);break}case pe:{const t=e[1];if("number"!=typeof t){warn(`Invalid setDash: ${t}`);continue}const n=e[0];if(!Array.isArray(n)){warn(`Invalid setDash: ${n}`);continue}n.some(e=>"number"!=typeof e)&&(e[0]=n.filter(e=>"number"==typeof e));break}case ye:case qe:case ve:case Se:case xe:case Ae:case Ce:f.buildPath(s,e,w.state);continue;case Ie:case Fe:case Te:case He:case Oe:case Be:case Re:case De:case Me:{const{state:{pathBuffer:e,pathMinMax:t}}=w;s!==Fe&&s!==Re&&s!==De||e.push(Yt);if(0===e.length)a.addOp(Ut,[s,[null],null]);else{a.addOp(Ut,[s,[new Float32Array(e)],t.slice()]);e.length=0;t.set([1/0,1/0,-1/0,-1/0],0)}continue}case Ye:a.addOp(s,[new Float32Array(e)]);continue;case yt:case qt:case At:case Ct:continue;case St:if(!(e[0]instanceof Name)){warn(`Expected name for beginMarkedContentProps arg0=${e[0]}`);a.addOp(St,["OC",null]);continue}if("OC"===e[0].name){next(f.parseMarkedContentProps(e[1],n).then(e=>{a.addOp(St,["OC",e])}).catch(e=>{if(!(e instanceof AbortException)){if(!f.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`);a.addOp(St,["OC",null])}}));return}e=[e[0].name,e[1]instanceof Dict?e[1].get("MCID"):null];break;default:if(null!==e){for(y=0,q=e.length;y<q&&!(e[y]instanceof Dict);y++);if(y<q){warn("getOperatorList - ignoring operator: "+s);continue}}}a.addOp(s,e)}if(o)next(qr);else{closePendingRestoreOPS();e()}}).catch(e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);closePendingRestoreOPS()}})}async getTextContent({stream:e,task:n,resources:a,stateManager:s=null,includeMarkedContent:r=!1,sink:i,seenStyles:o=new Set,viewBox:l,lang:f=null,markedContentData:c=null,disableNormalization:h=!1,keepWhiteSpace:u=!1,prevRefs:m=null,intersector:p=null}){if(e.isAsync){const t=await e.asyncGetBytes();t&&(e=new Stream(t,0,t.length,e.dict))}const d=e.dict?.objId,g=new RefSet(m);if(d){if(m?.has(d))throw new Error(`getTextContent - ignoring circular reference: ${d}`);g.put(d)}a||=Dict.empty;s||=new StateManager(new TextState);r&&(c||={level:0});const b={items:[],styles:Object.create(null),lang:f},w={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},j=[" "," "];let k=0;function saveLastChar(e){const t=(k+1)%2,n=" "!==j[k]&&" "===j[t];j[k]=e;k=t;return!u&&n}function shouldAddWhitepsace(){return!u&&" "!==j[k]&&" "===j[(k+1)%2]}function resetLastChars(){j[0]=j[1]=" ";k=0}const y=this,q=this.xref,v=[];let S=null;const x=new LocalImageCache,C=new LocalGStateCache,F=new EvaluatorPreprocessor(e,q,s);let T,H;function pushWhitespace({width:e=0,height:t=0,transform:n=w.prevTransform,fontName:a=w.fontName}){p?.addExtraChar(" ");b.items.push({str:" ",dir:"ltr",width:e,height:t,transform:n,fontName:a,hasEOL:!1})}function getCurrentTextTransform(){const e=T.font,n=[T.fontSize*T.textHScale,0,0,T.fontSize,0,T.textRise];if(e.isType3Font&&(T.fontSize<=1||e.isCharBBox)&&!isArrayEqual(T.fontMatrix,t)){const t=e.bbox[3]-e.bbox[1];t>0&&(n[3]*=t*T.fontMatrix[3])}return Util.transform(T.ctm,Util.transform(T.textMatrix,n))}function ensureTextContentItem(){if(w.initialized)return w;const{font:e,loadedName:t}=T;if(!o.has(t)){o.add(t);b.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical};if(y.options.fontExtraProperties&&e.systemFontInfo){const n=b.styles[t];n.fontSubstitution=e.systemFontInfo.css;n.fontSubstitutionLoadedName=e.systemFontInfo.loadedName}}w.fontName=t;const n=w.transform=getCurrentTextTransform();if(e.vertical){w.width=w.totalWidth=Math.hypot(n[0],n[1]);w.height=w.totalHeight=0;w.vertical=!0}else{w.width=w.totalWidth=0;w.height=w.totalHeight=Math.hypot(n[2],n[3]);w.vertical=!1}const a=Math.hypot(T.textLineMatrix[0],T.textLineMatrix[1]),s=Math.hypot(T.ctm[0],T.ctm[1]);w.textAdvanceScale=s*a;const{fontSize:r}=T;w.trackingSpaceMin=.102*r;w.notASpace=.03*r;w.negativeSpaceMax=-.2*r;w.spaceInFlowMin=.102*r;w.spaceInFlowMax=.6*r;w.hasEOL=!1;w.initialized=!0;return w}function updateAdvanceScale(){if(!w.initialized)return;const e=Math.hypot(T.textLineMatrix[0],T.textLineMatrix[1]),t=Math.hypot(T.ctm[0],T.ctm[1])*e;if(t!==w.textAdvanceScale){if(w.vertical){w.totalHeight+=w.height*w.textAdvanceScale;w.height=0}else{w.totalWidth+=w.width*w.textAdvanceScale;w.width=0}w.textAdvanceScale=t}}function runBidiTransform(e){let t=e.str.join("");h||(t=function normalizeUnicode(e){if(!an){an=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;sn=new Map([["ſt","ſt"]])}return e.replaceAll(an,(e,t,n)=>t?t.normalize("NFKC"):sn.get(n))}(t));const n=bidi(t,-1,e.vertical);return{str:n.str,dir:n.dir,width:Math.abs(e.totalWidth),height:Math.abs(e.totalHeight),transform:e.transform,fontName:e.fontName,hasEOL:e.hasEOL}}async function handleSetFont(e,s){const r=await y.loadFont(e,s,a,n);T.loadedName=r.loadedName;T.font=r.font;T.fontMatrix=r.font.fontMatrix||t}function applyInverseRotation(e,t,n){const a=Math.hypot(n[0],n[1]);return[(n[0]*e+n[1]*t)/a,(n[2]*e+n[3]*t)/a]}function compareWithLastPosition(e){const t=getCurrentTextTransform();let n=t[4],a=t[5];if(T.font?.vertical){if(n<l[0]||n>l[2]||a+e<l[1]||a>l[3])return!1}else if(n+e<l[0]||n>l[2]||a<l[1]||a>l[3])return!1;if(!T.font||!w.prevTransform)return!0;let s=w.prevTransform[4],r=w.prevTransform[5];if(s===n&&r===a)return!0;let i=-1;t[0]&&0===t[1]&&0===t[2]?i=t[0]>0?0:180:t[1]&&0===t[0]&&0===t[3]&&(i=t[1]>0?90:270);switch(i){case 0:break;case 90:[n,a]=[a,n];[s,r]=[r,s];break;case 180:[n,a,s,r]=[-n,-a,-s,-r];break;case 270:[n,a]=[-a,-n];[s,r]=[-r,-s];break;default:[n,a]=applyInverseRotation(n,a,t);[s,r]=applyInverseRotation(s,r,w.prevTransform)}if(T.font.vertical){const e=(r-a)/w.textAdvanceScale,t=n-s,i=Math.sign(w.height||w.totalHeight);if(e<i*w.negativeSpaceMax){if(Math.abs(t)>.5*w.width){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(t)>w.width){appendEOL();return!0}e<=i*w.notASpace&&resetLastChars();if(e<=i*w.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({height:Math.abs(e)})}else w.height+=e;else if(!addFakeSpaces(e,w.prevTransform,i))if(0===w.str.length){resetLastChars();pushWhitespace({height:Math.abs(e)})}else w.height+=e;Math.abs(t)>.25*w.width&&flushTextContentItem();return!0}const o=(n-s)/w.textAdvanceScale,f=a-r,c=Math.sign(w.width||w.totalWidth);if(o<c*w.negativeSpaceMax){if(Math.abs(f)>.5*w.height){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(f)>w.height){appendEOL();return!0}o<=c*w.notASpace&&resetLastChars();if(o<=c*w.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({width:Math.abs(o)})}else w.width+=o;else if(!addFakeSpaces(o,w.prevTransform,c))if(0===w.str.length){resetLastChars();pushWhitespace({width:Math.abs(o)})}else w.width+=o;Math.abs(f)>.25*w.height&&flushTextContentItem();return!0}function buildTextContentItem({chars:e,extraSpacing:t}){if(H!==T&&(H.fontName!==T.fontName||H.fontSize!==T.fontSize)){flushTextContentItem();H=T.clone()}const n=T.font;if(!e){const e=T.charSpacing+t;e&&(n.vertical?T.translateTextMatrix(0,-e):T.translateTextMatrix(e*T.textHScale,0));u&&compareWithLastPosition(0);return}const a=n.charsToGlyphs(e),s=T.fontMatrix[0]*T.fontSize;for(let e=0,r=a.length;e<r;e++){const i=a[e],{category:o,originalCharCode:l}=i;if(o.isInvisibleFormatMark)continue;let f=T.charSpacing+(e+1===r?t:0),c=i.width;n.vertical&&(c=i.vmetric?i.vmetric[0]:-c);let h=c*s;32===l&&(f+=T.wordSpacing);if(!u&&o.isWhitespace){if(n.vertical){f+=-h;T.translateTextMatrix(0,-f)}else{f+=h;T.translateTextMatrix(f*T.textHScale,0)}saveLastChar(" ");continue}if(!o.isZeroWidthDiacritic&&!compareWithLastPosition(h)){n.vertical?T.translateTextMatrix(0,h):T.translateTextMatrix(h*T.textHScale,0);continue}const m=ensureTextContentItem();o.isZeroWidthDiacritic&&(h=0);if(n.vertical){p?.addGlyph(getCurrentTextTransform(),0,h,i.unicode);T.translateTextMatrix(0,h);h=Math.abs(h);m.height+=h}else{h*=T.textHScale;p?.addGlyph(getCurrentTextTransform(),h,0,i.unicode);T.translateTextMatrix(h,0);m.width+=h}h&&(m.prevTransform=getCurrentTextTransform());const d=i.unicode;if(saveLastChar(d)){m.str.push(" ");p?.addExtraChar(" ")}p||m.str.push(d);f&&(n.vertical?T.translateTextMatrix(0,-f):T.translateTextMatrix(f*T.textHScale,0))}}function appendEOL(){p?.addExtraChar("\n");resetLastChars();if(w.initialized){w.hasEOL=!0;flushTextContentItem()}else b.items.push({str:"",dir:"ltr",width:0,height:0,transform:getCurrentTextTransform(),fontName:T.loadedName,hasEOL:!0})}function addFakeSpaces(e,t,n){if(n*w.spaceInFlowMin<=e&&e<=n*w.spaceInFlowMax){if(w.initialized){resetLastChars();w.str.push(" ");p?.addExtraChar(" ")}return!1}const a=w.fontName;let s=0;if(w.vertical){s=e;e=0}flushTextContentItem();resetLastChars();pushWhitespace({width:Math.abs(e),height:Math.abs(s),transform:t||getCurrentTextTransform(),fontName:a});return!0}function flushTextContentItem(){if(w.initialized&&w.str){w.vertical?w.totalHeight+=w.height*w.textAdvanceScale:w.totalWidth+=w.width*w.textAdvanceScale;b.items.push(runBidiTransform(w));w.initialized=!1;w.str.length=0}}function enqueueChunk(e=!1){const t=b.items.length;if(0!==t&&!(e&&t<10)){i?.enqueue(b,t);b.items=[];b.styles=Object.create(null)}}const O=new TimeSlotManager;return new Promise(function promiseBody(e,t){const next=function(n){enqueueChunk(!0);Promise.all([n,i?.ready]).then(function(){try{promiseBody(e,t)}catch(e){t(e)}},t)};n.ensureNotTerminated();O.reset();const m={};let p,d,w,j=[];for(;!(p=O.check());){j.length=0;m.args=j;if(!F.read(m))break;T=s.state;H||=T.clone();const e=m.fn;j=m.args;switch(0|e){case We:const e=j[0].name,t=j[1];if(T.font&&e===T.fontName&&t===T.fontSize)break;T.fontName=e;T.fontSize=t;next(handleSetFont(e,null));return;case Ge:T.textRise=j[0];break;case _e:T.textHScale=j[0]/100;break;case Xe:T.leading=j[0];break;case Ve:T.translateTextLineMatrix(j[0],j[1]);T.textMatrix=T.textLineMatrix.slice();break;case $e:T.leading=-j[1];T.translateTextLineMatrix(j[0],j[1]);T.textMatrix=T.textLineMatrix.slice();break;case Je:T.carriageReturn();break;case Ye:T.setTextMatrix(j[0],j[1],j[2],j[3],j[4],j[5]);T.setTextLineMatrix(j[0],j[1],j[2],j[3],j[4],j[5]);updateAdvanceScale();break;case Le:T.charSpacing=j[0];break;case Ue:T.wordSpacing=j[0];break;case Ne:T.textMatrix=pn.slice();T.textLineMatrix=pn.slice();break;case Ze:if(!s.state.font){y.ensureStateFont(s.state);continue}const m=(T.font.vertical?1:-1)*T.fontSize/1e3,p=j[0];for(let e=0,t=p.length;e<t;e++){const t=p[e];if("string"==typeof t)v.push(t);else if("number"==typeof t&&0!==t){const e=v.join("");v.length=0;buildTextContentItem({chars:e,extraSpacing:t*m})}}if(v.length>0){const e=v.join("");v.length=0;buildTextContentItem({chars:e,extraSpacing:0})}break;case Qe:if(!s.state.font){y.ensureStateFont(s.state);continue}buildTextContentItem({chars:j[0],extraSpacing:0});break;case et:if(!s.state.font){y.ensureStateFont(s.state);continue}T.carriageReturn();buildTextContentItem({chars:j[0],extraSpacing:0});break;case tt:if(!s.state.font){y.ensureStateFont(s.state);continue}T.wordSpacing=j[0];T.charSpacing=j[1];T.carriageReturn();buildTextContentItem({chars:j[2],extraSpacing:0});break;case kt:flushTextContentItem();S??=a.get("XObject")||Dict.empty;w=j[0]instanceof Name;d=j[0].name;if(w&&x.getByName(d))break;next(new Promise(function(e,t){if(!w)throw new FormatError("XObject must be referred to by name.");let m=S.getRaw(d);if(m instanceof Ref){if(x.getByRef(m)){e();return}if(y.globalImageCache.getData(m,y.pageIndex)){e();return}m=q.fetch(m)}if(!(m instanceof BaseStream))throw new FormatError("XObject should be a stream");const{dict:p}=m,b=p.get("Subtype");if(!(b instanceof Name))throw new FormatError("XObject should have a Name subtype");if("Form"!==b.name){x.set(d,p.objId,!0);e();return}const j=s.state.clone(),k=new StateManager(j),v=lookupMatrix(p.getArray("Matrix"),null);v&&k.transform(v);const C=p.get("Resources");enqueueChunk();const F={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;i.enqueue(e,t)},get desiredSize(){return i.desiredSize??0},get ready(){return i.ready}};y.getTextContent({stream:m,task:n,resources:C instanceof Dict?C:a,stateManager:k,includeMarkedContent:r,sink:i&&F,seenStyles:o,viewBox:l,lang:f,markedContentData:c,disableNormalization:h,keepWhiteSpace:u,prevRefs:g}).then(function(){F.enqueueInvoked||x.set(d,p.objId,!0);e()},t)}).catch(function(e){if(!(e instanceof AbortException)){if(!y.options.ignoreErrors)throw e;warn(`getTextContent - ignoring XObject: "${e}".`)}}));return;case be:w=j[0]instanceof Name;d=j[0].name;if(w&&C.getByName(d))break;next(new Promise(function(e,t){if(!w)throw new FormatError("GState must be referred to by name.");const n=a.get("ExtGState");if(!(n instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const s=n.get(d);if(!(s instanceof Dict))throw new FormatError("GState should be a dictionary.");const r=s.get("Font");if(r){flushTextContentItem();T.fontName=null;T.fontSize=r[1];handleSetFont(null,r[0]).then(e,t)}else{C.set(d,s.objId,!0);e()}}).catch(function(e){if(!(e instanceof AbortException)){if(!y.options.ignoreErrors)throw e;warn(`getTextContent - ignoring ExtGState: "${e}".`)}}));return;case vt:flushTextContentItem();if(r){c.level++;b.items.push({type:"beginMarkedContent",tag:j[0]instanceof Name?j[0].name:null})}break;case St:flushTextContentItem();if(r){c.level++;let e=null;j[1]instanceof Dict&&(e=j[1].get("MCID"));b.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${y.idFactory.getPageObjId()}_mc${e}`:null,tag:j[0]instanceof Name?j[0].name:null})}break;case xt:flushTextContentItem();if(r){if(0===c.level)break;c.level--;b.items.push({type:"endMarkedContent"})}break;case je:s.restore();break;case we:s.save()}if(b.items.length>=(i?.desiredSize??1)){p=!0;break}}if(p)next(qr);else{flushTextContentItem();enqueueChunk();e()}}).catch(e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getTextContent - ignoring errors during "${n.name}" task: "${e}".`);flushTextContentItem();enqueueChunk()}})}async extractDataStructures(e,t){const n=this.xref;let a;const s=this.readToUnicode(t.toUnicode);if(t.composite){const n=e.get("CIDSystemInfo");n instanceof Dict&&!t.cidSystemInfo&&(t.cidSystemInfo={registry:stringToPDFString(n.get("Registry")),ordering:stringToPDFString(n.get("Ordering")),supplement:n.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof BaseStream&&(a=t.getBytes())}catch(e){if(!this.options.ignoreErrors)throw e;warn(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`)}}const r=[];let i,o=null;if(e.has("Encoding")){i=e.get("Encoding");if(i instanceof Dict){o=i.get("BaseEncoding");o=o instanceof Name?o.name:null;if(i.has("Differences")){const e=i.get("Differences");let t=0;for(const a of e){const e=n.fetchIfRef(a);if("number"==typeof e)t=e;else{if(!(e instanceof Name))throw new FormatError(`Invalid entry in 'Differences' array: ${e}`);r[t++]=e.name}}}}else if(i instanceof Name)o=i.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new FormatError(e);warn(e)}"MacRomanEncoding"!==o&&"MacExpertEncoding"!==o&&"WinAnsiEncoding"!==o&&(o=null)}const l=!t.file||t.isInternalFont,f=_a()[t.name];o&&l&&f&&(o=null);if("WinAnsiEncoding"===o&&l&&t.name?.charCodeAt(0)>=183){const e=t.name;if(["ËÎÌå","ºÚÌå","¿¬Ìå","·ÂËÎ","¿¬Ìå_GB2312","·ÂËÎ_GB2312","Á¥Êé","ÐÂËÎ"].includes(e)){o=null;t.defaultEncoding="Adobe-GB1-UCS2";t.composite=!0;t.cidEncoding=Name.get("GBK-EUC-H");const e=await CMapFactory.create({encoding:t.cidEncoding,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});t.cMap=e;t.vertical=t.cMap.vertical;t.cidSystemInfo={registry:"Adobe",ordering:"GB1",supplement:0}}}if(o)t.defaultEncoding=getEncoding(o);else{let e=!!(t.flags&xa);const n=!!(t.flags&Aa);if("TrueType"===t.type&&e&&n&&0!==r.length){t.flags&=~xa;e=!1}i=ua;"TrueType"!==t.type||n||(i=ma);if(e||f){i=ha;l&&(/Symbol/i.test(t.name)?i=pa:/Dingbats/i.test(t.name)?i=da:/Wingdings/i.test(t.name)&&(i=ma))}t.defaultEncoding=i}t.differences=r;t.baseEncodingName=o;t.hasEncoding=!!o||r.length>0;t.dict=e;t.toUnicode=await s;const c=await this.buildToUnicode(t);t.toUnicode=c;a&&(t.cidToGidMap=this.readCidToGidMap(a,c));return t}_simpleFontToUnicode(e,t=!1){assert(!e.composite,"Must be a simple font.");const n=[],a=e.defaultEncoding.slice(),s=e.baseEncodingName,r=e.differences;for(const e in r){const t=r[e];".notdef"!==t&&(a[e]=t)}const i=ga();for(const r in a){let o=a[r];if(""===o)continue;let l=i[o];if(void 0!==l){n[r]=String.fromCharCode(l);continue}let f=0;switch(o[0]){case"G":3===o.length&&(f=parseInt(o.substring(1),16));break;case"g":5===o.length&&(f=parseInt(o.substring(1),16));break;case"C":case"c":if(o.length>=3&&o.length<=4){const n=o.substring(1);if(t){f=parseInt(n,16);break}f=+n;if(Number.isNaN(f)&&Number.isInteger(parseInt(n,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":l=getUnicodeForGlyph(o,i);-1!==l&&(f=l);break;default:switch(o){case"f_h":case"f_t":case"T_h":n[r]=o.replaceAll("_","");continue}}if(f>0&&f<=1114111&&Number.isInteger(f)){if(s&&f===+r){const e=getEncoding(s);if(e&&(o=e[r])){n[r]=String.fromCharCode(i[o]);continue}}n[r]=String.fromCodePoint(f)}}return n}async buildToUnicode(e){e.hasIncludedToUnicodeMap=e.toUnicode?.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e));return e.toUnicode}if(!e.composite)return new ToUnicodeMap(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof IdentityCMap)||"Adobe"===e.cidSystemInfo?.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:n}=e.cidSystemInfo,a=Name.get(`${t}-${n}-UCS2`),s=await CMapFactory.create({encoding:a,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),r=[],i=[];e.cMap.forEach(function(e,t){if(t>65535)throw new FormatError("Max size of CID is 65,535");const n=s.lookup(t);if(n){i.length=0;for(let e=0,t=n.length;e<t;e+=2)i.push((n.charCodeAt(e)<<8)+n.charCodeAt(e+1));r[e]=String.fromCharCode(...i)}});return new ToUnicodeMap(r)}return new IdentityToUnicodeMap(e.firstChar,e.lastChar)}async readToUnicode(e){if(!e)return null;if(e instanceof Name){const t=await CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});return t instanceof IdentityCMap?new IdentityToUnicodeMap(0,65535):new ToUnicodeMap(t.getMap())}if(e instanceof BaseStream)try{const t=await CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});if(t instanceof IdentityCMap)return new IdentityToUnicodeMap(0,65535);const n=new Array(t.length);t.forEach(function(e,t){if("number"==typeof t){n[e]=String.fromCodePoint(t);return}t.length%2!=0&&(t="\0"+t);const a=[];for(let e=0;e<t.length;e+=2){const n=t.charCodeAt(e)<<8|t.charCodeAt(e+1);if(55296!=(63488&n)){a.push(n);continue}e+=2;const s=t.charCodeAt(e)<<8|t.charCodeAt(e+1);a.push(((1023&n)<<10)+(1023&s)+65536)}n[e]=String.fromCodePoint(...a)});return new ToUnicodeMap(n)}catch(e){if(e instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`readToUnicode - ignoring ToUnicode data: "${e}".`);return null}throw e}return null}readCidToGidMap(e,t){const n=[];for(let a=0,s=e.length;a<s;a++){const s=e[a++]<<8|e[a],r=a>>1;(0!==s||t.has(r))&&(n[r]=s)}return n}extractWidths(e,t,n){const a=this.xref;let s=[],r=0;const i=[];let o;if(n.composite){const t=e.get("DW");r="number"==typeof t?Math.ceil(t):1e3;const l=e.get("W");if(Array.isArray(l))for(let e=0,t=l.length;e<t;e++){let t=a.fetchIfRef(l[e++]);if(!Number.isInteger(t))break;const n=a.fetchIfRef(l[e]);if(Array.isArray(n))for(const e of n){const n=a.fetchIfRef(e);"number"==typeof n&&(s[t]=n);t++}else{if(!Number.isInteger(n))break;{const r=a.fetchIfRef(l[++e]);if("number"!=typeof r)continue;for(let e=t;e<=n;e++)s[e]=r}}}if(n.vertical){const t=e.getArray("DW2");let n=isNumberArray(t,2)?t:[880,-1e3];o=[n[1],.5*r,n[0]];n=e.get("W2");if(Array.isArray(n))for(let e=0,t=n.length;e<t;e++){let t=a.fetchIfRef(n[e++]);if(!Number.isInteger(t))break;const s=a.fetchIfRef(n[e]);if(Array.isArray(s))for(let e=0,n=s.length;e<n;e++){const n=[a.fetchIfRef(s[e++]),a.fetchIfRef(s[e++]),a.fetchIfRef(s[e])];isNumberArray(n,null)&&(i[t]=n);t++}else{if(!Number.isInteger(s))break;{const r=[a.fetchIfRef(n[++e]),a.fetchIfRef(n[++e]),a.fetchIfRef(n[++e])];if(!isNumberArray(r,null))continue;for(let e=t;e<=s;e++)i[e]=r}}}}}else{const i=e.get("Widths");if(Array.isArray(i)){let e=n.firstChar;for(const t of i){const n=a.fetchIfRef(t);"number"==typeof n&&(s[e]=n);e++}const o=t.get("MissingWidth");r="number"==typeof o?o:0}else{const t=e.get("BaseFont");if(t instanceof Name){const e=this.getBaseFontMetrics(t.name);s=this.buildCharCodeToWidth(e.widths,n);r=e.defaultWidth}}}let l=!0,f=r;for(const e in s){const t=s[e];if(t)if(f){if(f!==t){l=!1;break}}else f=t}l?n.flags|=va:n.flags&=~va;n.defaultWidth=r;n.widths=s;n.defaultVMetrics=o;n.vmetrics=i}isSerifFont(e){const t=e.split("-",1)[0];return t in Ua()||/serif/gi.test(t)}getBaseFontMetrics(e){let t=0,n=Object.create(null),a=!1,s=normalizeFontName(e);s=Na()[s]||s;const r=Ga(),i=r[s]??r[this.isSerifFont(e)?"Times-Roman":"Helvetica"];if("number"==typeof i){t=i;a=!0}else n=i();return{defaultWidth:t,monospace:a,widths:n}}buildCharCodeToWidth(e,t){const n=Object.create(null),a=t.differences,s=t.defaultEncoding;for(let t=0;t<256;t++)t in a&&e[a[t]]?n[t]=e[a[t]]:t in s&&e[s[t]]&&(n[t]=e[s[t]]);return n}preEvaluateFont(e){const t=e;let n=e.get("Subtype");if(!(n instanceof Name))throw new FormatError("invalid font Subtype");let a,s=!1;if("Type0"===n.name){const t=e.get("DescendantFonts");if(!t)throw new FormatError("Descendant fonts are not specified");if(!((e=Array.isArray(t)?this.xref.fetchIfRef(t[0]):t)instanceof Dict))throw new FormatError("Descendant font is not a dictionary.");n=e.get("Subtype");if(!(n instanceof Name))throw new FormatError("invalid font Subtype");s=!0}let r=e.get("FirstChar");Number.isInteger(r)||(r=0);let i=e.get("LastChar");Number.isInteger(i)||(i=s?65535:255);const o=e.get("FontDescriptor"),l=e.get("ToUnicode")||t.get("ToUnicode");if(o){a=new MurmurHash3_64;const n=t.getRaw("Encoding");if(n instanceof Name)a.update(n.name);else if(n instanceof Ref)a.update(n.toString());else if(n instanceof Dict)for(const e of n.getRawValues())if(e instanceof Name)a.update(e.name);else if(e instanceof Ref)a.update(e.toString());else if(Array.isArray(e)){const t=e.length,n=new Array(t);for(let a=0;a<t;a++){const t=e[a];t instanceof Name?n[a]=t.name:("number"==typeof t||t instanceof Ref)&&(n[a]=t.toString())}a.update(n.join())}a.update(`${r}-${i}`);if(l instanceof BaseStream){const e=l.stream||l,t=e.buffer?new Uint8Array(e.buffer.buffer,0,e.bufferLength):new Uint8Array(e.bytes.buffer,e.start,e.end-e.start);a.update(t)}else l instanceof Name&&a.update(l.name);const o=e.get("Widths")||t.get("Widths");if(Array.isArray(o)){const e=[];for(const t of o)("number"==typeof t||t instanceof Ref)&&e.push(t.toString());a.update(e.join())}if(s){a.update("compositeFont");const n=e.get("W")||t.get("W");if(Array.isArray(n)){const e=[];for(const t of n)if("number"==typeof t||t instanceof Ref)e.push(t.toString());else if(Array.isArray(t)){const n=[];for(const e of t)("number"==typeof e||e instanceof Ref)&&n.push(e.toString());e.push(`[${n.join()}]`)}a.update(e.join())}const s=e.getRaw("CIDToGIDMap")||t.getRaw("CIDToGIDMap");s instanceof Name?a.update(s.name):s instanceof Ref?a.update(s.toString()):s instanceof BaseStream&&a.update(s.peekBytes())}}return{descriptor:o,dict:e,baseDict:t,composite:s,type:n.name,firstChar:r,lastChar:i,toUnicode:l,hash:a?a.hexdigest():""}}async translateFont({descriptor:e,dict:n,baseDict:a,composite:s,type:r,firstChar:i,lastChar:o,toUnicode:l,cssFontInfo:f}){const c="Type3"===r;if(!e){if(!c){let e=n.get("BaseFont");if(!(e instanceof Name))throw new FormatError("Base font is not specified");e=normalizeFontName(e.name);const t=this.getBaseFontMetrics(e),s=e.split("-",1)[0],f=(this.isSerifFont(s)?Sa:0)|(t.monospace?va:0)|(_a()[s]?xa:Aa),h={type:r,name:e,loadedName:a.loadedName,systemFontInfo:null,widths:t.widths,defaultWidth:t.defaultWidth,isSimulatedFlags:!0,flags:f,firstChar:i,lastChar:o,toUnicode:l,xHeight:0,capHeight:0,italicAngle:0,isType3Font:c},u=n.get("Widths"),m=getStandardFontName(e);let p=null;if(m){p=await this.fetchStandardFontData(m);h.isInternalFont=!!p}!h.isInternalFont&&this.options.useSystemFonts&&(h.systemFontInfo=getFontSubstitution(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,e,m,r));const d=await this.extractDataStructures(n,h);if(Array.isArray(u)){const e=[];let t=i;for(const n of u){const a=this.xref.fetchIfRef(n);"number"==typeof a&&(e[t]=a);t++}d.widths=e}else d.widths=this.buildCharCodeToWidth(t.widths,d);return new Font(e,p,d,this.options)}e=Dict.empty}let h=e.get("FontName"),u=n.get("BaseFont");"string"==typeof h&&(h=Name.get(h));"string"==typeof u&&(u=Name.get(u));const m=h?.name,p=u?.name;if(c)m||(h=Name.get(r));else if(m!==p){info(`The FontDescriptor's FontName is "${m}" but should be the same as the Font's BaseFont "${p}".`);m&&p&&(p.startsWith(m)||!isKnownFontName(m)&&isKnownFontName(p))&&(h=null);h||=u}if(!(h instanceof Name))throw new FormatError("invalid font name");let d,g,b,w,j;try{d=e.get("FontFile","FontFile2","FontFile3");if(d){if(!(d instanceof BaseStream))throw new FormatError("FontFile should be a stream");if(d.isAsync){const e=await d.asyncGetBytes();e&&(d=new Stream(e,0,e.length,d.dict))}if(d.isEmpty)throw new FormatError("FontFile is empty")}}catch(e){if(!this.options.ignoreErrors)throw e;warn(`translateFont - fetching "${h.name}" font file: "${e}".`);d=null}let k=!1,y=null,q=null;if(d){if(d.dict){const e=d.dict.get("Subtype");e instanceof Name&&(g=e.name);b=d.dict.get("Length1");w=d.dict.get("Length2");j=d.dict.get("Length3")}}else if(f){const e=getXfaFontName(h.name);if(e){f.fontFamily=`${f.fontFamily}-PdfJS-XFA`;f.metrics=e.metrics||null;y=e.factors||null;d=await this.fetchStandardFontData(e.name);k=!!d;a=n=getXfaFontDict(h.name);s=!0}}else if(!c){const e=getStandardFontName(h.name);if(e){d=await this.fetchStandardFontData(e);k=!!d}!k&&this.options.useSystemFonts&&(q=getFontSubstitution(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,h.name,e,r))}const v=lookupMatrix(n.getArray("FontMatrix"),t),S=lookupNormalRect(e.getArray("FontBBox")||n.getArray("FontBBox"),c?[0,0,0,0]:void 0);let x=e.get("Ascent");"number"!=typeof x&&(x=void 0);let C=e.get("Descent");"number"!=typeof C&&(C=void 0);let F=e.get("XHeight");"number"!=typeof F&&(F=0);let T=e.get("CapHeight");"number"!=typeof T&&(T=0);let H=e.get("Flags");Number.isInteger(H)||(H=0);let O=e.get("ItalicAngle");"number"!=typeof O&&(O=0);const R={type:r,name:h.name,subtype:g,file:d,length1:b,length2:w,length3:j,isInternalFont:k,loadedName:a.loadedName,composite:s,fixedPitch:!1,fontMatrix:v,firstChar:i,lastChar:o,toUnicode:l,bbox:S,ascent:x,descent:C,xHeight:F,capHeight:T,flags:H,italicAngle:O,isType3Font:c,cssFontInfo:f,scaleFactors:y,systemFontInfo:q};if(s){const e=a.get("Encoding");e instanceof Name&&(R.cidEncoding=e.name);const t=await CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});R.cMap=t;R.vertical=R.cMap.vertical}const D=await this.extractDataStructures(n,R);this.extractWidths(n,e,D);return new Font(h.name,d,D,this.options)}static buildFontPaths(e,t,n,a){function buildPath(t){const s=`${e.loadedName}_path_${t}`;try{if(e.renderer.hasBuiltPath(t))return;const a=FontPathInfo.write(e.renderer.getPathJs(t));n.send("commonobj",[s,"FontPath",a],[a])}catch(e){if(a.ignoreErrors){warn(`buildFontPaths - ignoring ${s} glyph: "${e}".`);return}throw e}}for(const e of t){buildPath(e.fontChar);const t=e.accent;t?.fontChar&&buildPath(t.fontChar)}}static get fallbackFontDict(){const e=new Dict;e.set("BaseFont",Name.get("Helvetica"));e.set("Type",Name.get("FallbackType"));e.set("Subtype",Name.get("FallbackType"));e.set("Encoding",Name.get("WinAnsiEncoding"));return shadow(this,"fallbackFontDict",e)}}class TranslatedFont{#ue=!1;#me=null;constructor({loadedName:e,font:t,dict:n}){this.loadedName=e;this.font=t;this.dict=n;this.type3Dependencies=t.isType3Font?new Set:null}send(e){if(this.#ue)return;this.#ue=!0;const t=this.font.exportData(),n=[];if(t.data){t.data.charProcOperatorList&&(t.charProcOperatorList=t.data.charProcOperatorList);t.data=FontInfo.write(t.data);n.push(t.data)}e.send("commonobj",[this.loadedName,"Font",t],n)}fallback(e,t){if(this.font.data){this.font.disableFontFace=!0;PartialEvaluator.buildFontPaths(this.font,this.font.glyphCacheValues,e,t)}}loadType3Data(e,t,n){if(this.#me)return this.#me;const{font:a,type3Dependencies:s}=this;assert(a.isType3Font,"Must be a Type3 font.");const r=e.clone({ignoreErrors:!1}),i=new RefSet(e.type3FontRefs);this.dict.objId&&!i.has(this.dict.objId)&&i.put(this.dict.objId);r.type3FontRefs=i;let o=Promise.resolve();const l=this.dict.get("CharProcs"),f=this.dict.get("Resources")||t,c=Object.create(null),[h,u,m,p]=a.bbox,d=m-h,g=p-u,b=Math.hypot(d,g);for(const e of l.getKeys())o=o.then(()=>{const t=l.get(e),a=new OperatorList;return r.getOperatorList({stream:t,task:n,resources:f,operatorList:a}).then(()=>{switch(a.fnArray[0]){case at:this.#pe(a,b);break;case nt:b||this.#de(a)}c[e]=a.getIR();for(const e of a.dependencies)s.add(e)}).catch(function(t){warn(`Type3 font resource "${e}" is not available.`);const n=new OperatorList;c[e]=n.getIR()})});this.#me=o.then(()=>{a.charProcOperatorList=c;if(this._bbox){a.isCharBBox=!0;a.bbox=this._bbox}});return this.#me}#pe(e,t=NaN){const n=Util.normalizeRect(e.argsArray[0].slice(2)),a=n[2]-n[0],s=n[3]-n[1],r=Math.hypot(a,s);if(0===a||0===s){e.fnArray.splice(0,1);e.argsArray.splice(0,1)}else if(0===t||Math.round(r/t)>=10){this._bbox??=[1/0,1/0,-1/0,-1/0];Util.rectBoundingBox(...n,this._bbox)}let i=0,o=e.length;for(;i<o;){switch(e.fnArray[i]){case at:break;case st:case rt:case it:case ot:case lt:case ft:case ct:case ht:case ut:case mt:case pt:case dt:case gt:case de:e.fnArray.splice(i,1);e.argsArray.splice(i,1);o--;continue;case be:const[t]=e.argsArray[i];let n=0,a=t.length;for(;n<a;){const[e]=t[n];switch(e){case"TR":case"TR2":case"HT":case"BG":case"BG2":case"UCR":case"UCR2":t.splice(n,1);a--;continue}n++}}i++}}#de(e){let t=1;const n=e.length;for(;t<n;){if(e.fnArray[t]===Ut){const n=e.argsArray[t][2];this._bbox??=[1/0,1/0,-1/0,-1/0];Util.rectBoundingBox(...n,this._bbox)}t++}}}class StateManager{constructor(e=new EvalState){this.state=e;this.stateStack=[]}save(){const e=this.state;this.stateStack.push(this.state);this.state=e.clone()}restore(){const e=this.stateStack.pop();e&&(this.state=e)}transform(e){this.state.ctm=Util.transform(this.state.ctm,e)}}class TextState{ctm=new Float32Array(pn);fontName=null;fontSize=0;loadedName=null;font=null;fontMatrix=t;textMatrix=pn.slice();textLineMatrix=pn.slice();charSpacing=0;wordSpacing=0;leading=0;textHScale=1;textRise=0;setTextMatrix(e,t,n,a,s,r){const i=this.textMatrix;i[0]=e;i[1]=t;i[2]=n;i[3]=a;i[4]=s;i[5]=r}setTextLineMatrix(e,t,n,a,s,r){const i=this.textLineMatrix;i[0]=e;i[1]=t;i[2]=n;i[3]=a;i[4]=s;i[5]=r}translateTextMatrix(e,t){const n=this.textMatrix;n[4]=n[0]*e+n[2]*t+n[4];n[5]=n[1]*e+n[3]*t+n[5]}translateTextLineMatrix(e,t){const n=this.textLineMatrix;n[4]=n[0]*e+n[2]*t+n[4];n[5]=n[1]*e+n[3]*t+n[5]}carriageReturn(){this.translateTextLineMatrix(0,-this.leading);this.textMatrix=this.textLineMatrix.slice()}clone(){const e=Object.assign(Object.create(this),this);e.textMatrix=this.textMatrix.slice();e.textLineMatrix=this.textLineMatrix.slice();e.fontMatrix=this.fontMatrix.slice();return e}}class EvalState{ctm=new Float32Array(pn);font=null;textRenderingMode=v;_fillColorSpace=ColorSpaceUtils.gray;_strokeColorSpace=ColorSpaceUtils.gray;patternFillColorSpace=null;patternStrokeColorSpace=null;currentPointX=0;currentPointY=0;pathMinMax=new Float32Array([1/0,1/0,-1/0,-1/0]);pathBuffer=[];get fillColorSpace(){return this._fillColorSpace}set fillColorSpace(e){this._fillColorSpace=this.patternFillColorSpace=e}get strokeColorSpace(){return this._strokeColorSpace}set strokeColorSpace(e){this._strokeColorSpace=this.patternStrokeColorSpace=e}clone({newPath:e=!1}={}){const t=Object.create(this);if(e){t.pathBuffer=[];t.pathMinMax=new Float32Array([1/0,1/0,-1/0,-1/0])}return t}}class EvaluatorPreprocessor{static get opMap(){return shadow(this,"opMap",Object.assign(Object.create(null),{w:{id:ce,numArgs:1,variableArgs:!1},J:{id:he,numArgs:1,variableArgs:!1},j:{id:ue,numArgs:1,variableArgs:!1},M:{id:me,numArgs:1,variableArgs:!1},d:{id:pe,numArgs:2,variableArgs:!1},ri:{id:de,numArgs:1,variableArgs:!1},i:{id:ge,numArgs:1,variableArgs:!1},gs:{id:be,numArgs:1,variableArgs:!1},q:{id:we,numArgs:0,variableArgs:!1},Q:{id:je,numArgs:0,variableArgs:!1},cm:{id:ke,numArgs:6,variableArgs:!1},m:{id:ye,numArgs:2,variableArgs:!1},l:{id:qe,numArgs:2,variableArgs:!1},c:{id:ve,numArgs:6,variableArgs:!1},v:{id:Se,numArgs:4,variableArgs:!1},y:{id:xe,numArgs:4,variableArgs:!1},h:{id:Ae,numArgs:0,variableArgs:!1},re:{id:Ce,numArgs:4,variableArgs:!1},S:{id:Ie,numArgs:0,variableArgs:!1},s:{id:Fe,numArgs:0,variableArgs:!1},f:{id:Te,numArgs:0,variableArgs:!1},F:{id:Te,numArgs:0,variableArgs:!1},"f*":{id:He,numArgs:0,variableArgs:!1},B:{id:Oe,numArgs:0,variableArgs:!1},"B*":{id:Be,numArgs:0,variableArgs:!1},b:{id:Re,numArgs:0,variableArgs:!1},"b*":{id:De,numArgs:0,variableArgs:!1},n:{id:Me,numArgs:0,variableArgs:!1},W:{id:Pe,numArgs:0,variableArgs:!1},"W*":{id:Ee,numArgs:0,variableArgs:!1},BT:{id:Ne,numArgs:0,variableArgs:!1},ET:{id:ze,numArgs:0,variableArgs:!1},Tc:{id:Le,numArgs:1,variableArgs:!1},Tw:{id:Ue,numArgs:1,variableArgs:!1},Tz:{id:_e,numArgs:1,variableArgs:!1},TL:{id:Xe,numArgs:1,variableArgs:!1},Tf:{id:We,numArgs:2,variableArgs:!1},Tr:{id:Ke,numArgs:1,variableArgs:!1},Ts:{id:Ge,numArgs:1,variableArgs:!1},Td:{id:Ve,numArgs:2,variableArgs:!1},TD:{id:$e,numArgs:2,variableArgs:!1},Tm:{id:Ye,numArgs:6,variableArgs:!1},"T*":{id:Je,numArgs:0,variableArgs:!1},Tj:{id:Qe,numArgs:1,variableArgs:!1},TJ:{id:Ze,numArgs:1,variableArgs:!1},"'":{id:et,numArgs:1,variableArgs:!1},'"':{id:tt,numArgs:3,variableArgs:!1},d0:{id:nt,numArgs:2,variableArgs:!1},d1:{id:at,numArgs:6,variableArgs:!1},CS:{id:st,numArgs:1,variableArgs:!1},cs:{id:rt,numArgs:1,variableArgs:!1},SC:{id:it,numArgs:4,variableArgs:!0},SCN:{id:ot,numArgs:33,variableArgs:!0},sc:{id:lt,numArgs:4,variableArgs:!0},scn:{id:ft,numArgs:33,variableArgs:!0},G:{id:ct,numArgs:1,variableArgs:!1},g:{id:ht,numArgs:1,variableArgs:!1},RG:{id:ut,numArgs:3,variableArgs:!1},rg:{id:mt,numArgs:3,variableArgs:!1},K:{id:pt,numArgs:4,variableArgs:!1},k:{id:dt,numArgs:4,variableArgs:!1},sh:{id:gt,numArgs:1,variableArgs:!1},BI:{id:bt,numArgs:0,variableArgs:!1},ID:{id:wt,numArgs:0,variableArgs:!1},EI:{id:jt,numArgs:1,variableArgs:!1},Do:{id:kt,numArgs:1,variableArgs:!1},MP:{id:yt,numArgs:1,variableArgs:!1},DP:{id:qt,numArgs:2,variableArgs:!1},BMC:{id:vt,numArgs:1,variableArgs:!1},BDC:{id:St,numArgs:2,variableArgs:!1},EMC:{id:xt,numArgs:0,variableArgs:!1},BX:{id:At,numArgs:0,variableArgs:!1},EX:{id:Ct,numArgs:0,variableArgs:!1},BM:null,BD:null,true:null,fa:null,fal:null,fals:null,false:null,nu:null,nul:null,null:null}))}static MAX_INVALID_PATH_OPS=10;constructor(e,t,n=new StateManager){this.parser=new Parser({lexer:new Lexer(e,EvaluatorPreprocessor.opMap),xref:t});this.stateManager=n;this.nonProcessedArgs=[];this._isPathOp=!1;this._numInvalidPathOPS=0}get savedStatesDepth(){return this.stateManager.stateStack.length}read(e){let t=e.args;for(;;){const n=this.parser.getObj();if(n instanceof Cmd){const a=n.cmd,s=EvaluatorPreprocessor.opMap[a];if(!s){warn(`Unknown command "${a}".`);continue}const r=s.id,i=s.numArgs;let o=null!==t?t.length:0;this._isPathOp||(this._numInvalidPathOPS=0);this._isPathOp=r>=ye&&r<=Me;if(s.variableArgs)o>i&&info(`Command ${a}: expected [0, ${i}] args, but received ${o} args.`);else{if(o!==i){const e=this.nonProcessedArgs;for(;o>i;){e.push(t.shift());o--}for(;o<i&&0!==e.length;){null===t&&(t=[]);t.unshift(e.pop());o++}}if(o<i){const e=`command ${a}: expected ${i} args, but received ${o} args.`;if(this._isPathOp&&++this._numInvalidPathOPS>EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new FormatError(`Invalid ${e}`);warn(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(r,t);e.fn=r;e.args=t;return!0}if(n===on)return!1;if(null!==n){null===t&&(t=[]);t.push(n);if(t.length>33)throw new FormatError("Too many arguments")}}}preprocessCommand(e,t){switch(0|e){case we:this.stateManager.save();break;case je:this.stateManager.restore();break;case ke:this.stateManager.transform(t)}}}class DefaultAppearanceEvaluator extends EvaluatorPreprocessor{constructor(e){super(new StringStream(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;;){e.args.length=0;if(!this.read(e))break;if(0!==this.savedStatesDepth)continue;const{fn:n,args:a}=e;switch(0|n){case We:const[e,n]=a;e instanceof Name&&(t.fontName=e.name);"number"==typeof n&&n>0&&(t.fontSize=n);break;case mt:ColorSpaceUtils.rgb.getRgbItem(a,0,t.fontColor,0);break;case ht:ColorSpaceUtils.gray.getRgbItem(a,0,t.fontColor,0);break;case dt:ColorSpaceUtils.cmyk.getRgbItem(a,0,t.fontColor,0)}}}catch(e){warn(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()}class AppearanceStreamEvaluator extends EvaluatorPreprocessor{constructor(e,t,n,a){super(e);this.stream=e;this.evaluatorOptions=t;this.xref=n;this.globalColorSpaceCache=a;this.resources=e.dict?.get("Resources")}parse(){const e={fn:0,args:[]};let t={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:ColorSpaceUtils.gray},n=!1;const a=[];try{for(;;){e.args.length=0;if(n||!this.read(e))break;const{fn:s,args:r}=e;switch(0|s){case we:a.push({scaleFactor:t.scaleFactor,fontSize:t.fontSize,fontName:t.fontName,fontColor:t.fontColor.slice(),fillColorSpace:t.fillColorSpace});break;case je:t=a.pop()||t;break;case Ye:t.scaleFactor*=Math.hypot(r[0],r[1]);break;case We:const[e,s]=r;e instanceof Name&&(t.fontName=e.name);"number"==typeof s&&s>0&&(t.fontSize=s*t.scaleFactor);break;case rt:t.fillColorSpace=ColorSpaceUtils.parse({cs:r[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:this._localColorSpaceCache});break;case lt:t.fillColorSpace.getRgbItem(r,0,t.fontColor,0);break;case mt:ColorSpaceUtils.rgb.getRgbItem(r,0,t.fontColor,0);break;case ht:ColorSpaceUtils.gray.getRgbItem(r,0,t.fontColor,0);break;case dt:ColorSpaceUtils.cmyk.getRgbItem(r,0,t.fontColor,0);break;case Qe:case Ze:case et:case tt:n=!0}}}catch(e){warn(`parseAppearanceStream - ignoring errors: "${e}".`)}this.stream.reset();delete t.scaleFactor;delete t.fillColorSpace;return t}get _localColorSpaceCache(){return shadow(this,"_localColorSpaceCache",new LocalColorSpaceCache)}get _pdfFunctionFactory(){return shadow(this,"_pdfFunctionFactory",new PDFFunctionFactory({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported}))}}function getPdfColor(e,t){if(e[0]===e[1]&&e[1]===e[2]){return`${numberToString(e[0]/255)} ${t?"g":"G"}`}return Array.from(e,e=>numberToString(e/255)).join(" ")+" "+(t?"rg":"RG")}class FakeUnicodeFont{constructor(e,t){this.xref=e;this.widths=null;this.firstChar=1/0;this.lastChar=-1/0;this.fontFamily=t;const n=new OffscreenCanvas(1,1);this.ctxMeasure=n.getContext("2d",{willReadFrequently:!0});FakeUnicodeFont._fontNameId||(FakeUnicodeFont._fontNameId=1);this.fontName=Name.get(`InvalidPDFjsFont_${t}_${FakeUnicodeFont._fontNameId++}`)}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){const e=new Dict(this.xref);e.setIfName("Type","FontDescriptor");e.set("FontName",this.fontName);e.set("FontFamily","MyriadPro Regular");e.set("FontBBox",[0,0,0,0]);e.setIfName("FontStretch","Normal");e.set("FontWeight",400);e.set("ItalicAngle",0);FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(e)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.setIfName("Type","Font");e.setIfName("Subtype","CIDFontType0");e.setIfName("CIDToGIDMap","Identity");e.set("FirstChar",this.firstChar);e.set("LastChar",this.lastChar);e.set("FontDescriptor",this.fontDescriptorRef);e.set("DW",1e3);const t=[],n=[...this.widths].sort();let a=null,s=null;for(const[e,r]of n)if(a)if(e===a+s.length)s.push(r);else{t.push(a,s);a=e;s=[r]}else{a=e;s=[r]}a&&t.push(a,s);e.set("W",t);const r=new Dict(this.xref);r.set("Ordering","Identity");r.set("Registry","Adobe");r.set("Supplement",0);e.set("CIDSystemInfo",r);return this.xref.getNewPersistentRef(e)}get baseFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.setIfName("Type","Font");e.setIfName("Subtype","Type0");e.setIfName("Encoding","Identity-H");e.set("DescendantFonts",[this.descendantFontRef]);e.setIfName("ToUnicode","Identity-H");return this.xref.getNewPersistentRef(e)}get resources(){const e=new Dict(this.xref),t=new Dict(this.xref);t.set(this.fontName.name,this.baseFontRef);e.set("Font",t);return e}_createContext(){this.widths=new Map;this.ctxMeasure.font=`1000px ${this.fontFamily}`;return this.ctxMeasure}createFontResources(e){const t=this._createContext();for(const n of e.split(/\r\n?|\n/))for(const e of n.split("")){const n=e.charCodeAt(0);if(this.widths.has(n))continue;const a=t.measureText(e),s=Math.ceil(a.width);this.widths.set(n,s);this.firstChar=Math.min(n,this.firstChar);this.lastChar=Math.max(n,this.lastChar)}return this.resources}static getFirstPositionInfo(e,t,s){const[r,i,o,l]=e;let f=o-r,c=l-i;t%180!=0&&([f,c]=[c,f]);const h=n*s;return{coords:[0,c+a*s-h],bbox:[0,0,f,c],matrix:0!==t?getRotationMatrix(t,c,h):void 0}}createAppearance(e,t,s,r,i,o){const l=this._createContext(),f=[];let c=-1/0;for(const t of e.split(/\r\n?|\n/)){f.push(t);const e=l.measureText(t).width;c=Math.max(c,e);for(const e of codePointIter(t)){const t=String.fromCodePoint(e);let n=this.widths.get(e);if(void 0===n){const a=l.measureText(t);n=Math.ceil(a.width);this.widths.set(e,n);this.firstChar=Math.min(e,this.firstChar);this.lastChar=Math.max(e,this.lastChar)}}}c*=r/1e3;const[h,u,m,p]=t;let d=m-h,g=p-u;s%180!=0&&([d,g]=[g,d]);let b=1;c>d&&(b=d/c);let w=1;const j=n*r,k=a*r,y=j*f.length;y>g&&(w=g/y);const q=r*Math.min(b,w),v=["q",`0 0 ${numberToString(d)} ${numberToString(g)} re W n`,"BT",`1 0 0 1 0 ${numberToString(g+k)} Tm 0 Tc ${getPdfColor(i,!0)}`,`/${this.fontName.name} ${numberToString(q)} Tf`],{resources:S}=this;if(1!==(o="number"==typeof o&&o>=0&&o<=1?o:1)){v.push("/R0 gs");const e=new Dict(this.xref),t=new Dict(this.xref);t.set("ca",o);t.set("CA",o);t.setIfName("Type","ExtGState");e.set("R0",t);S.set("ExtGState",e)}const x=numberToString(j);for(const e of f)v.push(`0 -${x} Td <${stringToUTF16HexString(e)}> Tj`);v.push("ET","Q");const C=v.join("\n"),F=new Dict(this.xref);F.setIfName("Subtype","Form");F.setIfName("Type","XObject");F.set("BBox",[0,0,d,g]);F.set("Length",C.length);F.set("Resources",S);if(s){const e=getRotationMatrix(s,d,g);F.set("Matrix",e)}const T=new StringStream(C);T.dict=F;return T}}const vr=["m/d","m/d/yy","mm/dd/yy","mm/yy","d-mmm","d-mmm-yy","dd-mmm-yy","yy-mm-dd","mmm-yy","mmmm-yy","mmm d, yyyy","mmmm d, yyyy","m/d/yy h:MM tt","m/d/yy HH:MM"],Sr=["HH:MM","h:MM tt","HH:MM:ss","h:MM:ss tt"];class NameOrNumberTree{constructor(e,t,n){this.root=e;this.xref=t;this._type=n}getAll(e=!1){const t=new Map;if(!this.root)return t;const n=this.xref,a=new RefSet;a.put(this.root);const s=[this.root];for(;s.length>0;){const r=n.fetchIfRef(s.shift());if(!(r instanceof Dict))continue;if(r.has("Kids")){const e=r.get("Kids");if(!Array.isArray(e))continue;for(const t of e){if(a.has(t))throw new FormatError(`Duplicate entry in "${this._type}" tree.`);s.push(t);a.put(t)}continue}const i=r.get(this._type);if(Array.isArray(i))for(let a=0,s=i.length;a<s;a+=2)t.set(n.fetchIfRef(i[a]),e?i[a+1]:n.fetchIfRef(i[a+1]))}return t}getRaw(e){if(!this.root)return null;const t=this.xref;let n=t.fetchIfRef(this.root),a=0;for(;n.has("Kids");){if(++a>10){warn(`Search depth limit reached for "${this._type}" tree.`);return null}const s=n.get("Kids");if(!Array.isArray(s))return null;let r=0,i=s.length-1;for(;r<=i;){const a=r+i>>1,o=t.fetchIfRef(s[a]),l=o.get("Limits");if(e<t.fetchIfRef(l[0]))i=a-1;else{if(!(e>t.fetchIfRef(l[1]))){n=o;break}r=a+1}}if(r>i)return null}const s=n.get(this._type);if(Array.isArray(s)){let n=0,a=s.length-2;for(;n<=a;){const r=n+a>>1,i=r+(1&r),o=t.fetchIfRef(s[i]);if(e<o)a=i-2;else{if(!(e>o))return s[i+1];n=i+2}}}return null}get(e){return this.xref.fetchIfRef(this.getRaw(e))}}class NameTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Names")}}class NumberTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Nums")}}function clearGlobalCaches(){!function clearPatternCaches(){gs=Object.create(null)}();!function clearPrimitiveCaches(){ln=Object.create(null);fn=Object.create(null);cn=Object.create(null)}();!function clearUnicodeCaches(){ya.clear()}();JpxImage.cleanup()}function pickPlatformItem(e){if(e instanceof Dict)for(const t of["UF","F","Unix","Mac","DOS"])if(e.has(t))return e.get(t);return null}class FileSpec{#ge=!1;constructor(e,t=!1){if(e instanceof Dict){this.root=e;e.has("FS")&&(this.fs=e.get("FS"));e.has("RF")&&warn("Related file specifications are not supported");t||(e.has("EF")?this.#ge=!0:warn("Non-embedded file specifications are not supported"))}}get filename(){const e=pickPlatformItem(this.root);return e&&"string"==typeof e?stringToPDFString(e,!0).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/"):""}get content(){if(!this.#ge)return null;const e=pickPlatformItem(this.root?.get("EF"));if(e instanceof BaseStream)return e.getBytes();warn("Embedded file specification points to non-existing/invalid content");return null}get description(){const e=this.root?.get("Desc");return e&&"string"==typeof e?stringToPDFString(e):""}get serializable(){const{filename:e,content:t,description:n}=this;return{rawFilename:e,filename:(a=e,a.substring(a.lastIndexOf("/")+1))||"unnamed",content:t,description:n};var a}}const xr=0,Ar=-2,Cr=-3,Ir=-4,Fr=-5,Tr=-6,Hr=-9;function isWhitespace(e,t){const n=e[t];return" "===n||"\n"===n||"\r"===n||"\t"===n}class XMLParserBase{_resolveEntities(e){return e.replaceAll(/&([^;]+);/g,(e,t)=>{if("#x"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if("#"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(t)})}_parseContent(e,t){const n=[];let a=t;function skipWs(){for(;a<e.length&&isWhitespace(e,a);)++a}for(;a<e.length&&!isWhitespace(e,a)&&">"!==e[a]&&"/"!==e[a];)++a;const s=e.substring(t,a);skipWs();for(;a<e.length&&">"!==e[a]&&"/"!==e[a]&&"?"!==e[a];){skipWs();let t="",s="";for(;a<e.length&&!isWhitespace(e,a)&&"="!==e[a];){t+=e[a];++a}skipWs();if("="!==e[a])return null;++a;skipWs();const r=e[a];if('"'!==r&&"'"!==r)return null;const i=e.indexOf(r,++a);if(i<0)return null;s=e.substring(a,i);n.push({name:t,value:this._resolveEntities(s)});a=i+1;skipWs()}return{name:s,attributes:n,parsed:a-t}}_parseProcessingInstruction(e,t){let n=t;for(;n<e.length&&!isWhitespace(e,n)&&">"!==e[n]&&"?"!==e[n]&&"/"!==e[n];)++n;const a=e.substring(t,n);!function skipWs(){for(;n<e.length&&isWhitespace(e,n);)++n}();const s=n;for(;n<e.length&&("?"!==e[n]||">"!==e[n+1]);)++n;return{name:a,value:e.substring(s,n),parsed:n-t}}parseXml(e){let t=0;for(;t<e.length;){let n=t;if("<"===e[t]){++n;let t;switch(e[n]){case"/":++n;t=e.indexOf(">",n);if(t<0){this.onError(Hr);return}this.onEndElement(e.substring(n,t));n=t+1;break;case"?":++n;const a=this._parseProcessingInstruction(e,n);if("?>"!==e.substring(n+a.parsed,n+a.parsed+2)){this.onError(Cr);return}this.onPi(a.name,a.value);n+=a.parsed+2;break;case"!":if("--"===e.substring(n+1,n+3)){t=e.indexOf("--\x3e",n+3);if(t<0){this.onError(Fr);return}this.onComment(e.substring(n+3,t));n=t+3}else if("[CDATA["===e.substring(n+1,n+8)){t=e.indexOf("]]>",n+8);if(t<0){this.onError(Ar);return}this.onCdata(e.substring(n+8,t));n=t+3}else{if("DOCTYPE"!==e.substring(n+1,n+8)){this.onError(Tr);return}{const a=e.indexOf("[",n+8);let s=!1;t=e.indexOf(">",n+8);if(t<0){this.onError(Ir);return}if(a>0&&t>a){t=e.indexOf("]>",n+8);if(t<0){this.onError(Ir);return}s=!0}const r=e.substring(n+8,t+(s?1:0));this.onDoctype(r);n=t+(s?2:1)}}break;default:const s=this._parseContent(e,n);if(null===s){this.onError(Tr);return}let r=!1;if("/>"===e.substring(n+s.parsed,n+s.parsed+2))r=!0;else if(">"!==e.substring(n+s.parsed,n+s.parsed+1)){this.onError(Hr);return}this.onBeginElement(s.name,s.attributes,r);n+=s.parsed+(r?2:1)}}else{for(;n<e.length&&"<"!==e[n];)n++;const a=e.substring(t,n);this.onText(this._resolveEntities(a))}t=n}}onResolveEntity(e){return`&${e};`}onPi(e,t){}onComment(e){}onCdata(e){}onDoctype(e){}onText(e){}onBeginElement(e,t,n){}onEndElement(e){}onError(e){}}class SimpleDOMNode{constructor(e,t){this.nodeName=e;this.nodeValue=t;Object.defineProperty(this,"parentNode",{value:null,writable:!0})}get firstChild(){return this.childNodes?.[0]}get nextSibling(){const e=this.parentNode.childNodes;if(!e)return;const t=e.indexOf(this);return-1!==t?e[t+1]:void 0}get textContent(){return this.childNodes?this.childNodes.map(e=>e.textContent).join(""):this.nodeValue||""}get children(){return this.childNodes||[]}hasChildNodes(){return this.childNodes?.length>0}searchNode(e,t){if(t>=e.length)return this;const n=e[t];if(n.name.startsWith("#")&&t<e.length-1)return this.searchNode(e,t+1);const a=[];let s=this;for(;;){if(n.name===s.nodeName){if(0!==n.pos){if(0===a.length)return null;{const[r]=a.pop();let i=0;for(const a of r.childNodes)if(n.name===a.nodeName){if(i===n.pos)return a.searchNode(e,t+1);i++}return s.searchNode(e,t+1)}}{const n=s.searchNode(e,t+1);if(null!==n)return n}}if(s.childNodes?.length>0){a.push([s,0]);s=s.childNodes[0]}else{if(0===a.length)return null;for(;0!==a.length;){const[e,t]=a.pop(),n=t+1;if(n<e.childNodes.length){a.push([e,n]);s=e.childNodes[n];break}}if(0===a.length)return null}}}dump(e){if("#text"!==this.nodeName){e.push(`<${this.nodeName}`);if(this.attributes)for(const t of this.attributes)e.push(` ${t.name}="${encodeToXmlString(t.value)}"`);if(this.hasChildNodes()){e.push(">");for(const t of this.childNodes)t.dump(e);e.push(`</${this.nodeName}>`)}else this.nodeValue?e.push(`>${encodeToXmlString(this.nodeValue)}</${this.nodeName}>`):e.push("/>")}else e.push(encodeToXmlString(this.nodeValue))}}class SimpleXMLParser extends XMLParserBase{constructor({hasAttributes:e=!1,lowerCaseName:t=!1}){super();this._currentFragment=null;this._stack=null;this._errorCode=xr;this._hasAttributes=e;this._lowerCaseName=t}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=xr;this.parseXml(e);if(this._errorCode!==xr)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,n=e.length;t<n;t++)if(!isWhitespace(e,t))return!1;return!0}(e))return;const t=new SimpleDOMNode("#text",e);this._currentFragment.push(t)}onCdata(e){const t=new SimpleDOMNode("#text",e);this._currentFragment.push(t)}onBeginElement(e,t,n){this._lowerCaseName&&(e=e.toLowerCase());const a=new SimpleDOMNode(e);a.childNodes=[];this._hasAttributes&&(a.attributes=t);this._currentFragment.push(a);if(!n){this._stack.push(this._currentFragment);this._currentFragment=a.childNodes}}onEndElement(e){this._currentFragment=this._stack.pop()||[];const t=this._currentFragment.at(-1);if(!t)return null;for(const e of t.childNodes)e.parentNode=t;return t}onError(e){this._errorCode=e}}class MetadataParser{constructor(e){e=this._repair(e);const t=new SimpleXMLParser({lowerCaseName:!0}).parseFromString(e);this._metadataMap=new Map;this._data=e;t&&this._parse(t)}_repair(e){return e.replace(/^[^<]+/,"").replaceAll(/>\\376\\377([^<]+)/g,function(e,t){const n=t.replaceAll(/\\([0-3])([0-7])([0-7])/g,function(e,t,n,a){return String.fromCharCode(64*t+8*n+1*a)}).replaceAll(/&(amp|apos|gt|lt|quot);/g,function(e,t){switch(t){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error(`_repair: ${t} isn't defined.`)}),a=[">"];for(let e=0,t=n.length;e<t;e+=2){const t=256*n.charCodeAt(e)+n.charCodeAt(e+1);t>=32&&t<127&&60!==t&&62!==t&&38!==t?a.push(String.fromCharCode(t)):a.push("&#x"+(65536+t).toString(16).substring(1)+";")}return a.join("")})}_getSequence(e){const t=e.nodeName;return"rdf:bag"!==t&&"rdf:seq"!==t&&"rdf:alt"!==t?null:e.childNodes.filter(e=>"rdf:li"===e.nodeName)}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,n=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,n.map(e=>e.textContent.trim()))}_parse(e){let t=e.documentElement;if("rdf:rdf"!==t.nodeName){t=t.firstChild;for(;t&&"rdf:rdf"!==t.nodeName;)t=t.nextSibling}if(t&&"rdf:rdf"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if("rdf:description"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}const Or=1,Rr=2,Dr=3,Mr=4,Pr=5;class StructTreeRoot{constructor(e,t,n){this.xref=e;this.dict=t;this.ref=n instanceof Ref?n:null;this.roleMap=new Map;this.structParentIds=null;this.kidRefToPosition=void 0;this.parentTree=null}getKidPosition(e){if(void 0===this.kidRefToPosition){const e=this.dict.get("K");if(Array.isArray(e)){const t=this.kidRefToPosition=new Map;for(let n=0,a=e.length;n<a;n++){const a=e[n];a&&t.set(a.toString(),n)}}else this.kidRefToPosition=e instanceof Dict?new Map([[e.objId,0]]):e?null:new Map}return this.kidRefToPosition?this.kidRefToPosition.get(e)??NaN:-1}init(){this.readRoleMap();const e=this.dict.get("ParentTree");e&&(this.parentTree=new NumberTree(e,this.xref))}#be(e,t,n){if(!(e instanceof Ref)||t<0)return;this.structParentIds||=new RefSetCache;let a=this.structParentIds.get(e);if(!a){a=[];this.structParentIds.put(e,a)}a.push([t,n])}addAnnotationIdToPage(e,t){this.#be(e,t,Mr)}readRoleMap(){const e=this.dict.get("RoleMap");if(e instanceof Dict)for(const[t,n]of e)n instanceof Name&&this.roleMap.set(t,n.name)}static async canCreateStructureTree({catalogRef:e,pdfManager:t,newAnnotationsByPage:n}){if(!(e instanceof Ref)){warn("Cannot save the struct tree: no catalog reference.");return!1}let a=0,s=!0;for(const[e,r]of n){const{ref:n}=await t.getPage(e);if(!(n instanceof Ref)){warn(`Cannot save the struct tree: page ${e} has no ref.`);s=!0;break}for(const e of r)if(e.accessibilityData?.type){e.parentTreeId=a++;s=!1}}if(s){for(const e of n.values())for(const t of e)delete t.parentTreeId;return!1}return!0}static async createStructureTree({newAnnotationsByPage:e,xref:t,catalogRef:n,pdfManager:a,changes:s}){const r=await a.ensureCatalog("cloneDict"),i=new RefSetCache;i.put(n,r);const o=t.getNewTemporaryRef();r.set("StructTreeRoot",o);const l=new Dict(t);l.set("Type",Name.get("StructTreeRoot"));const f=t.getNewTemporaryRef();l.set("ParentTree",f);const c=[];l.set("K",c);i.put(o,l);const h=new Dict(t),u=[];h.set("Nums",u);const m=await this.#we({newAnnotationsByPage:e,structTreeRootRef:o,structTreeRoot:null,kids:c,nums:u,xref:t,pdfManager:a,changes:s,cache:i});l.set("ParentTreeNextKey",m);i.put(f,h);for(const[e,t]of i.items())s.put(e,{data:t})}async canUpdateStructTree({pdfManager:e,newAnnotationsByPage:t}){if(!this.ref){warn("Cannot update the struct tree: no root reference.");return!1}let n=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(n)||n<0){warn("Cannot update the struct tree: invalid next key.");return!1}const a=this.dict.get("ParentTree");if(!(a instanceof Dict)){warn("Cannot update the struct tree: ParentTree isn't a dict.");return!1}const s=a.get("Nums");if(!Array.isArray(s)){warn("Cannot update the struct tree: nums isn't an array.");return!1}const r=new NumberTree(a,this.xref);for(const n of t.keys()){const{pageDict:t}=await e.getPage(n);if(!t.has("StructParents"))continue;const a=t.get("StructParents");if(!Number.isInteger(a)||!Array.isArray(r.get(a))){warn(`Cannot save the struct tree: page ${n} has a wrong id.`);return!1}}let i=!0;for(const[a,s]of t){const{pageDict:t}=await e.getPage(a);StructTreeRoot.#je({elements:s,xref:this.xref,pageDict:t,numberTree:r});for(const e of s)if(e.accessibilityData?.type){e.accessibilityData.structParent>=0||(e.parentTreeId=n++);i=!1}}if(i){for(const e of t.values())for(const t of e){delete t.parentTreeId;delete t.structTreeParent}return!1}return!0}async updateStructureTree({newAnnotationsByPage:e,pdfManager:t,changes:n}){const{ref:a,xref:s}=this,r=this.dict.clone(),i=new RefSetCache;i.put(a,r);let o,l=r.getRaw("ParentTree");if(l instanceof Ref)o=s.fetch(l);else{o=l;l=s.getNewTemporaryRef();r.set("ParentTree",l)}o=o.clone();i.put(l,o);let f=o.getRaw("Nums"),c=null;if(f instanceof Ref){c=f;f=s.fetch(c)}f=f.slice();c||o.set("Nums",f);const h=await StructTreeRoot.#we({newAnnotationsByPage:e,structTreeRootRef:a,structTreeRoot:this,kids:null,nums:f,xref:s,pdfManager:t,changes:n,cache:i});if(-1!==h){r.set("ParentTreeNextKey",h);c&&i.put(c,f);for(const[e,t]of i.items())n.put(e,{data:t})}}static async#we({newAnnotationsByPage:e,structTreeRootRef:t,structTreeRoot:n,kids:a,nums:s,xref:r,pdfManager:i,changes:o,cache:l}){const f=Name.get("OBJR");let c,h=-1;for(const[u,m]of e){const e=await i.getPage(u),{ref:p}=e,d=p instanceof Ref;for(const{accessibilityData:i,ref:g,parentTreeId:b,structTreeParent:w}of m){if(!i?.type)continue;const{structParent:m}=i;if(n&&Number.isInteger(m)&&m>=0){let t=(c||=new Map).get(u);if(void 0===t){t=new StructTreePage(n,e.pageDict).collectObjects(p);c.set(u,t)}const a=t?.get(m);if(a){const e=r.fetch(a).clone();StructTreeRoot.#ke(e,i);o.put(a,{data:e});continue}}h=Math.max(h,b);const j=r.getNewTemporaryRef(),k=new Dict(r);StructTreeRoot.#ke(k,i);await this.#ye({structTreeParent:w,tagDict:k,newTagRef:j,structTreeRootRef:t,fallbackKids:a,xref:r,cache:l});const y=new Dict(r);k.set("K",y);y.set("Type",f);d&&y.set("Pg",p);y.set("Obj",g);l.put(j,k);s.push(b,j)}}return h+1}static#ke(e,{type:t,title:n,lang:a,alt:s,expanded:r,actualText:i}){e.set("S",Name.get(t));n&&e.set("T",stringToAsciiOrUTF16BE(n));a&&e.set("Lang",stringToAsciiOrUTF16BE(a));s&&e.set("Alt",stringToAsciiOrUTF16BE(s));r&&e.set("E",stringToAsciiOrUTF16BE(r));i&&e.set("ActualText",stringToAsciiOrUTF16BE(i))}static#je({elements:e,xref:t,pageDict:n,numberTree:a}){const s=new Map;for(const t of e)if(t.structTreeParentId){const e=parseInt(t.structTreeParentId.split("_mc")[1],10);s.getOrInsertComputed(e,makeArr).push(t)}const r=n.get("StructParents");if(!Number.isInteger(r))return;const i=a.get(r),updateElement=(e,n,a)=>{const r=s.get(e);if(r){const e=n.getRaw("P"),s=t.fetchIfRef(e);if(e instanceof Ref&&s instanceof Dict){const e={ref:a,dict:n};for(const t of r)t.structTreeParent=e}return!0}return!1};for(const e of i){if(!(e instanceof Ref))continue;const n=t.fetch(e),a=n.get("K");if(Number.isInteger(a))updateElement(a,n,e);else if(Array.isArray(a))for(let s of a){s=t.fetchIfRef(s);if(Number.isInteger(s)&&updateElement(s,n,e))break;if(!(s instanceof Dict))continue;if(!isName(s.get("Type"),"MCR"))break;const a=s.get("MCID");if(Number.isInteger(a)&&updateElement(a,n,e))break}}}static async#ye({structTreeParent:e,tagDict:t,newTagRef:n,structTreeRootRef:a,fallbackKids:s,xref:r,cache:i}){let o,l=null;if(e){({ref:l}=e);o=e.dict.getRaw("P")||a}else o=a;t.set("P",o);const f=r.fetchIfRef(o);if(!f){s.push(n);return}let c=i.get(o);if(!c){c=f.clone();i.put(o,c)}const h=c.getRaw("K");let u=h instanceof Ref?i.get(h):null;if(!u){u=r.fetchIfRef(h);u=Array.isArray(u)?u.slice():[h];const e=r.getNewTemporaryRef();c.set("K",e);i.put(e,u)}const m=u.indexOf(l);u.splice(m>=0?m+1:u.length,0,n)}}class StructElementNode{constructor(e,t){this.tree=e;this.xref=e.xref;this.dict=t;this.kids=[];this.parseKids()}get role(){const e=this.dict.get("S"),t=e instanceof Name?e.name:"",{root:n}=this.tree;return n.roleMap.get(t)??t}get mathML(){let e=this.dict.get("AF")||[];Array.isArray(e)||(e=[e]);for(let t of e){t=this.xref.fetchIfRef(t);if(!(t instanceof Dict))continue;if(!isName(t.get("Type"),"Filespec"))continue;if(!isName(t.get("AFRelationship"),"Supplement"))continue;const e=t.get("EF");if(!(e instanceof Dict))continue;const n=e.get("UF")||e.get("F");if(n instanceof BaseStream&&(isName(n.dict.get("Type"),"EmbeddedFile")&&isName(n.dict.get("Subtype"),"application/mathml+xml")))return stringToUTF8String(n.getString())}const t=this.dict.get("A");if(t instanceof Dict){if(isName(t.get("O"),"MSFT_Office")){const e=t.get("MSFT_MathML");return e?stringToPDFString(e):null}}return null}parseKids(){let e=null;const t=this.dict.getRaw("Pg");t instanceof Ref&&(e=t.toString());const n=this.dict.get("K");if(Array.isArray(n))for(const t of n){const n=this.parseKid(e,this.xref.fetchIfRef(t));n&&this.kids.push(n)}else{const t=this.parseKid(e,n);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:Or,mcid:t,pageObjId:e});if(!(t instanceof Dict))return null;const n=t.getRaw("Pg");n instanceof Ref&&(e=n.toString());const a=t.get("Type")instanceof Name?t.get("Type").name:null;if("MCR"===a){if(this.tree.pageDict.objId!==e)return null;const n=t.getRaw("Stm");return new StructElement({type:Rr,refObjId:n instanceof Ref?n.toString():null,pageObjId:e,mcid:t.get("MCID")})}if("OBJR"===a){if(this.tree.pageDict.objId!==e)return null;const n=t.getRaw("Obj");return new StructElement({type:Dr,refObjId:n instanceof Ref?n.toString():null,pageObjId:e})}return new StructElement({type:Pr,dict:t})}}class StructElement{constructor({type:e,dict:t=null,mcid:n=null,pageObjId:a=null,refObjId:s=null}){this.type=e;this.dict=t;this.mcid=n;this.pageObjId=a;this.refObjId=s;this.parentNode=null}}class StructTreePage{constructor(e,t){this.root=e;this.xref=e?.xref??null;this.rootDict=e?.dict??null;this.pageDict=t;this.nodes=[]}collectObjects(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return null;const t=this.rootDict.get("ParentTree");if(!t)return null;const n=this.root.structParentIds?.get(e);if(!n)return null;const a=new Map,s=new NumberTree(t,this.xref);for(const[e]of n){const t=s.getRaw(e);t instanceof Ref&&a.set(e,t)}return a}parse(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return;const{parentTree:t}=this.root;if(!t)return;const n=this.pageDict.get("StructParents"),a=this.root.structParentIds?.get(e);if(!Number.isInteger(n)&&!a)return;const s=new Map;if(Number.isInteger(n)){const e=t.get(n);if(Array.isArray(e))for(const t of e)t instanceof Ref&&this.addNode(this.xref.fetch(t),s)}if(a)for(const[e,n]of a){const a=t.get(e);if(a){const e=this.addNode(this.xref.fetchIfRef(a),s);1===e?.kids?.length&&e.kids[0].type===Dr&&(e.kids[0].type=n)}}}addNode(e,t,n=0){if(n>40){warn("StructTree MAX_DEPTH reached.");return null}if(!(e instanceof Dict))return null;if(t.has(e))return t.get(e);const a=new StructElementNode(this,e);t.set(e,a);switch(a.role){case"L":case"LBody":case"LI":case"Table":case"THead":case"TBody":case"TFoot":case"TR":for(const e of a.kids)e.type===Pr&&this.addNode(e.dict,t,n-1)}const s=e.get("P");if(!(s instanceof Dict)||isName(s.get("Type"),"StructTreeRoot")){this.addTopLevelNode(e,a)||t.delete(e);return a}const r=this.addNode(s,t,n+1);if(!r)return a;let i=!1;for(const t of r.kids)if(t.type===Pr&&t.dict===e){t.parentNode=a;i=!0}i||t.delete(e);return a}addTopLevelNode(e,t){const n=this.root.getKidPosition(e.objId);if(isNaN(n))return!1;-1!==n&&(this.nodes[n]=t);return!0}get serializable(){function nodeToSerializable(e,t,n=0){if(n>40){warn("StructTree too deep to be fully serialized.");return}const a=Object.create(null);a.role=e.role;a.children=[];t.children.push(a);let s=e.dict.get("Alt");"string"!=typeof s&&(s=e.dict.get("ActualText"));"string"==typeof s&&(a.alt=stringToPDFString(s));if("Formula"===a.role){const{mathML:t}=e;t&&(a.mathML=t)}const r=e.dict.get("A");if(r instanceof Dict){const e=lookupNormalRect(r.getArray("BBox"),null);if(e)a.bbox=e;else{const e=r.get("Width"),t=r.get("Height");"number"==typeof e&&e>0&&"number"==typeof t&&t>0&&(a.bbox=[0,0,e,t])}}const i=e.dict.get("Lang");"string"==typeof i&&(a.lang=stringToPDFString(i));for(const t of e.kids){const e=t.type===Pr?t.parentNode:null;e?nodeToSerializable(e,a,n+1):t.type===Or||t.type===Rr?a.children.push({type:"content",id:`p${t.pageObjId}_mc${t.mcid}`}):t.type===Dr?a.children.push({type:"object",id:t.refObjId}):t.type===Mr&&a.children.push({type:"annotation",id:`pdfjs_internal_id_${t.refObjId}`})}}const e=Object.create(null);e.children=[];e.role="Root";for(const t of this.nodes)t&&nodeToSerializable(t,e);return e}}const Er=function _isValidExplicitDest(e,t,n){if(!Array.isArray(n)||n.length<2)return!1;const[a,s,...r]=n;if(!e(a)&&!Number.isInteger(a))return!1;if(!t(s))return!1;const i=r.length;let o=!0;switch(s.name){case"XYZ":if(i<2||i>3)return!1;break;case"Fit":case"FitB":return 0===i;case"FitH":case"FitBH":case"FitV":case"FitBV":if(i>1)return!1;break;case"FitR":if(4!==i)return!1;o=!1;break;default:return!1}for(const e of r)if(!("number"==typeof e||o&&null===e))return!1;return!0}.bind(null,e=>e instanceof Ref,isName);function fetchDest(e){e instanceof Dict&&(e=e.get("D"));return Er(e)?e:null}function fetchRemoteDest(e){let t=e.get("D");if(t){t instanceof Name&&(t=t.name);if("string"==typeof t)return stringToPDFString(t,!0);if(Er(t))return JSON.stringify(t)}return null}class Catalog{#qe=null;#ve=null;builtInCMapCache=new Map;fontCache=new RefSetCache;globalColorSpaceCache=new GlobalColorSpaceCache;globalImageCache=new GlobalImageCache;nonBlendModesSet=new RefSet;pageDictCache=new RefSetCache;pageIndexCache=new RefSetCache;pageKidsCountCache=new RefSetCache;standardFontDataCache=new Map;systemFontCache=new Map;constructor(e,t){this.pdfManager=e;this.xref=t;this.#ve=t.getCatalogObj();if(!(this.#ve instanceof Dict))throw new FormatError("Catalog object is not a dictionary.");this.toplevelPagesDict}cloneDict(){return this.#ve.clone()}get version(){const e=this.#ve.get("Version");if(e instanceof Name){if(un.test(e.name))return shadow(this,"version",e.name);warn(`Invalid PDF catalog version: ${e.name}`)}return shadow(this,"version",null)}get lang(){const e=this.#ve.get("Lang");return shadow(this,"lang",e&&"string"==typeof e?stringToPDFString(e):null)}get needsRendering(){const e=this.#ve.get("NeedsRendering");return shadow(this,"needsRendering","boolean"==typeof e&&e)}get collection(){let e=null;try{const t=this.#ve.get("Collection");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch Collection entry; assuming no collection is present.")}return shadow(this,"collection",e)}get acroForm(){let e=null;try{const t=this.#ve.get("AcroForm");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch AcroForm entry; assuming no forms are present.")}return shadow(this,"acroForm",e)}get acroFormRef(){const e=this.#ve.getRaw("AcroForm");return shadow(this,"acroFormRef",e instanceof Ref?e:null)}get metadata(){const e=this.#ve.getRaw("Metadata");if(!(e instanceof Ref))return shadow(this,"metadata",null);let t=null;try{const n=this.xref.fetch(e,!this.xref.encrypt?.encryptMetadata);if(n instanceof BaseStream&&n.dict instanceof Dict){const e=n.dict.get("Type"),a=n.dict.get("Subtype");if(isName(e,"Metadata")&&isName(a,"XML")){const e=stringToUTF8String(n.getString());e&&(t=new MetadataParser(e).serializable)}}}catch(e){if(e instanceof MissingDataException)throw e;info(`Skipping invalid Metadata: "${e}".`)}return shadow(this,"metadata",t)}get markInfo(){let e=null;try{e=this.#Se()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read mark info.")}return shadow(this,"markInfo",e)}#Se(){const e=this.#ve.get("MarkInfo");if(!(e instanceof Dict))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const n in t){const a=e.get(n);"boolean"==typeof a&&(t[n]=a)}return t}get hasStructTree(){return this.#ve.has("StructTreeRoot")}get structTreeRoot(){let e=null;try{e=this.#xe()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable read to structTreeRoot info.")}return shadow(this,"structTreeRoot",e)}#xe(){const e=this.#ve.getRaw("StructTreeRoot"),t=this.xref.fetchIfRef(e);if(!(t instanceof Dict))return null;const n=new StructTreeRoot(this.xref,t,e);n.init();return n}get toplevelPagesDict(){const e=this.#ve.get("Pages");if(!(e instanceof Dict))throw new FormatError("Invalid top-level pages dictionary.");return shadow(this,"toplevelPagesDict",e)}get documentOutline(){let e=null;try{e=this.#Ae()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read document outline.")}return shadow(this,"documentOutline",e)}#Ae(){let e=this.#ve.get("Outlines");if(!(e instanceof Dict))return null;e=e.getRaw("First");if(!(e instanceof Ref))return null;const t={items:[]},n=[{obj:e,parent:t}],a=new RefSet;a.put(e);const s=this.xref,r=new Uint8ClampedArray(3);for(;n.length>0;){const t=n.shift(),i=s.fetchIfRef(t.obj);if(null===i)continue;i.has("Title")||warn("Invalid outline item encountered.");const o={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:i,resultObj:o,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const l=i.get("Title"),f=i.get("F")||0,c=i.getArray("C"),h=i.get("Count");let u=r;!isNumberArray(c,3)||0===c[0]&&0===c[1]&&0===c[2]||(u=ColorSpaceUtils.rgb.getRgb(c,0));const m={action:o.action,attachment:o.attachment,dest:o.dest,url:o.url,unsafeUrl:o.unsafeUrl,newWindow:o.newWindow,setOCGState:o.setOCGState,title:"string"==typeof l?stringToPDFString(l):"",color:u,count:Number.isInteger(h)?h:void 0,bold:!!(2&f),italic:!!(1&f),items:[]};t.parent.items.push(m);e=i.getRaw("First");if(e instanceof Ref&&!a.has(e)){n.push({obj:e,parent:m});a.put(e)}e=i.getRaw("Next");if(e instanceof Ref&&!a.has(e)){n.push({obj:e,parent:t.parent});a.put(e)}}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this.#Ce()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read permissions.")}return shadow(this,"permissions",e)}#Ce(){const e=this.xref.trailer.get("Encrypt");if(!(e instanceof Dict))return null;let t=e.get("P");if("number"!=typeof t)return null;t+=2**32;const n=[];for(const e in j){const a=j[e];t&a&&n.push(a)}return n}get optionalContentConfig(){let e=null;try{const t=this.#ve.get("OCProperties");if(!t)return shadow(this,"optionalContentConfig",null);const n=t.get("D");if(!n)return shadow(this,"optionalContentConfig",null);const a=t.get("OCGs");if(!Array.isArray(a))return shadow(this,"optionalContentConfig",null);const s=new RefSetCache;for(const e of a)e instanceof Ref&&!s.has(e)&&s.put(e,this.#Ie(e));e=this.#Fe(n,s)}catch(e){if(e instanceof MissingDataException)throw e;warn(`Unable to read optional content config: ${e}`)}return shadow(this,"optionalContentConfig",e)}#Ie(e){const t=this.xref.fetch(e),n={id:e.toString(),name:null,intent:null,usage:{print:null,view:null},rbGroups:[]},a=t.get("Name");"string"==typeof a&&(n.name=stringToPDFString(a));let s=t.getArray("Intent");Array.isArray(s)||(s=[s]);s.every(e=>e instanceof Name)&&(n.intent=s.map(e=>e.name));const r=t.get("Usage");if(!(r instanceof Dict))return n;const i=n.usage,o=r.get("Print");if(o instanceof Dict){const e=o.get("PrintState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":i.print={printState:e.name}}}const l=r.get("View");if(l instanceof Dict){const e=l.get("ViewState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":i.view={viewState:e.name}}}return n}#Fe(e,t){function parseOnOff(e){const n=[];if(Array.isArray(e))for(const a of e)a instanceof Ref&&t.has(a)&&n.push(a.toString());return n}function parseOrder(e,n=0){if(!Array.isArray(e))return null;const s=[];for(const r of e){if(r instanceof Ref&&t.has(r)){a.put(r);s.push(r.toString());continue}const e=parseNestedOrder(r,n);e&&s.push(e)}if(n>0)return s;const r=[];for(const[e]of t.items())a.has(e)||r.push(e.toString());r.length&&s.push({name:null,order:r});return s}function parseNestedOrder(e,t){if(++t>s){warn("parseNestedOrder - reached MAX_NESTED_LEVELS.");return null}const a=n.fetchIfRef(e);if(!Array.isArray(a))return null;const r=n.fetchIfRef(a[0]);if("string"!=typeof r)return null;const i=parseOrder(a.slice(1),t);return i?.length?{name:stringToPDFString(r),order:i}:null}const n=this.xref,a=new RefSet,s=10;!function parseRBGroups(e){if(Array.isArray(e))for(const a of e){const e=n.fetchIfRef(a);if(!Array.isArray(e)||!e.length)continue;const s=new Set;for(const n of e)if(n instanceof Ref&&t.has(n)&&!s.has(n.toString())){s.add(n.toString());t.get(n).rbGroups.push(s)}}}(e.get("RBGroups"));return{name:"string"==typeof e.get("Name")?stringToPDFString(e.get("Name")):null,creator:"string"==typeof e.get("Creator")?stringToPDFString(e.get("Creator")):null,baseState:e.get("BaseState")instanceof Name?e.get("BaseState").name:null,on:parseOnOff(e.get("ON")),off:parseOnOff(e.get("OFF")),order:parseOrder(e.get("Order")),groups:[...t]}}setActualNumPages(e=null){this.#qe=e}get hasActualNumPages(){return null!==this.#qe}get _pagesCount(){const e=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e))throw new FormatError("Page count in top-level pages dictionary is not an integer.");return shadow(this,"_pagesCount",e)}get numPages(){return this.#qe??this._pagesCount}get destinations(){const e=this.#Te(),t=Object.create(null);for(const n of e)if(n instanceof NameTree)for(const[e,a]of n.getAll()){const n=fetchDest(a);n&&(t[stringToPDFString(e,!0)]=n)}else if(n instanceof Dict)for(const[e,a]of n){const n=fetchDest(a);n&&(t[stringToPDFString(e,!0)]||=n)}return shadow(this,"destinations",t)}getDestination(e){if(this.hasOwnProperty("destinations"))return this.destinations[e]??null;const t=this.#Te();for(const n of t)if(n instanceof NameTree||n instanceof Dict){const t=fetchDest(n.get(e));if(t)return t}if(t.length){const t=this.destinations[e];if(t)return t}return null}#Te(){const e=this.#ve.get("Names"),t=[];e?.has("Dests")&&t.push(new NameTree(e.getRaw("Dests"),this.xref));this.#ve.has("Dests")&&t.push(this.#ve.get("Dests"));return t}get rawPageLabels(){const e=this.#ve.getRaw("PageLabels");if(!e)return null;return new NumberTree(e,this.xref).getAll()}get pageLabels(){let e=null;try{e=this.#He()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read page labels.")}return shadow(this,"pageLabels",e)}#He(){const e=this.rawPageLabels;if(!e)return null;const t=new Array(this.numPages);let n=null,a="",s="",r=1;for(let i=0,o=this.numPages;i<o;i++){const o=e.get(i);if(void 0!==o){if(!(o instanceof Dict))throw new FormatError("PageLabel is not a dictionary.");if(o.has("Type")&&!isName(o.get("Type"),"PageLabel"))throw new FormatError("Invalid type in PageLabel dictionary.");if(o.has("S")){const e=o.get("S");if(!(e instanceof Name))throw new FormatError("Invalid style in PageLabel dictionary.");n=e.name}else n=null;if(o.has("P")){const e=o.get("P");if("string"!=typeof e)throw new FormatError("Invalid prefix in PageLabel dictionary.");a=stringToPDFString(e)}else a="";if(o.has("St")){const e=o.get("St");if(!(Number.isInteger(e)&&e>=1))throw new FormatError("Invalid start in PageLabel dictionary.");r=e}else r=1}switch(n){case"D":s=r;break;case"R":case"r":s=toRomanNumerals(r,"r"===n);break;case"A":case"a":const e=26,t="a"===n?97:65,a=r-1;s=String.fromCharCode(t+a%e).repeat(Math.floor(a/e)+1);break;default:if(n)throw new FormatError(`Invalid style "${n}" in PageLabel dictionary.`);s=""}t[i]=a+s;r++}return t}get pageLayout(){const e=this.#ve.get("PageLayout");let t="";if(e instanceof Name)switch(e.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t=e.name}return shadow(this,"pageLayout",t)}get pageMode(){const e=this.#ve.get("PageMode");let t="UseNone";if(e instanceof Name)switch(e.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t=e.name}return shadow(this,"pageMode",t)}get viewerPreferences(){const e=this.#ve.get("ViewerPreferences");if(!(e instanceof Dict))return shadow(this,"viewerPreferences",null);let t=null;for(const[n,a]of e){let e;switch(n){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof a&&(e=a);break;case"NonFullScreenPageMode":if(a instanceof Name)switch(a.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":e=a.name;break;default:e="UseNone"}break;case"Direction":if(a instanceof Name)switch(a.name){case"L2R":case"R2L":e=a.name;break;default:e="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(a instanceof Name)switch(a.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":e=a.name;break;default:e="CropBox"}break;case"PrintScaling":if(a instanceof Name)switch(a.name){case"None":case"AppDefault":e=a.name;break;default:e="AppDefault"}break;case"Duplex":if(a instanceof Name)switch(a.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":e=a.name;break;default:e="None"}break;case"PrintPageRange":if(Array.isArray(a)&&a.length%2==0){a.every((e,t,n)=>Number.isInteger(e)&&e>0&&(0===t||e>=n[t-1])&&e<=this.numPages)&&(e=a)}break;case"NumCopies":Number.isInteger(a)&&a>0&&(e=a);break;default:warn(`Ignoring non-standard key in ViewerPreferences: ${n}.`);continue}if(void 0!==e){t??=Object.create(null);t[n]=e}else warn(`Bad value, for key "${n}", in ViewerPreferences: ${a}.`)}return shadow(this,"viewerPreferences",t)}get openAction(){const e=this.#ve.get("OpenAction"),t=Object.create(null);if(e instanceof Dict){const n=new Dict(this.xref);n.set("A",e);const a={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:n,resultObj:a});Array.isArray(a.dest)?t.dest=a.dest:a.action&&(t.action=a.action)}else Er(e)&&(t.dest=e);return shadow(this,"openAction",objectSize(t)>0?t:null)}get attachments(){const e=this.#ve.get("Names");let t=null;if(e instanceof Dict&&e.has("EmbeddedFiles")){const n=new NameTree(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,a]of n.getAll()){const n=new FileSpec(a);t??=Object.create(null);t[stringToPDFString(e,!0)]=n.serializable}}return shadow(this,"attachments",t)}get xfaImages(){const e=this.#ve.get("Names");let t=null;if(e instanceof Dict&&e.has("XFAImages")){const n=new NameTree(e.getRaw("XFAImages"),this.xref);for(const[e,a]of n.getAll())if(a instanceof BaseStream){t??=new Map;t.set(stringToPDFString(e,!0),a.getBytes())}}return shadow(this,"xfaImages",t)}#Oe(){const e=this.#ve.get("Names");let t=null;function appendIfJavaScriptDict(e,n){if(!(n instanceof Dict))return;if(!isName(n.get("S"),"JavaScript"))return;let a=n.get("JS");if(a instanceof BaseStream)a=a.getString();else if("string"!=typeof a)return;a=stringToPDFString(a,!0).replaceAll("\0","");a&&(t||=new Map).set(e,a)}if(e instanceof Dict&&e.has("JavaScript")){const t=new NameTree(e.getRaw("JavaScript"),this.xref);for(const[e,n]of t.getAll())appendIfJavaScriptDict(stringToPDFString(e,!0),n)}const n=this.#ve.get("OpenAction");n&&appendIfJavaScriptDict("OpenAction",n);return t}get jsActions(){const e=this.#Oe();let t=collectActions(this.xref,this.#ve,re);if(e){t||=Object.create(null);for(const[n,a]of e)n in t?t[n].push(a):t[n]=[a]}return shadow(this,"jsActions",t)}async cleanup(e=!1){clearGlobalCaches();this.globalColorSpaceCache.clear();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.pageDictCache.clear();this.nonBlendModesSet.clear();for(const{dict:e}of await Promise.all(this.fontCache))delete e.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear();this.standardFontDataCache.clear();this.systemFontCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],n=new RefSet,a=this.#ve.getRaw("Pages");a instanceof Ref&&n.put(a);const s=this.xref,r=this.pageKidsCountCache,i=this.pageIndexCache,o=this.pageDictCache;let l=0;for(;t.length;){const a=t.pop();if(a instanceof Ref){const f=r.get(a);if(f>=0&&l+f<=e){l+=f;continue}if(n.has(a))throw new FormatError("Pages tree contains circular reference.");n.put(a);const c=await(o.get(a)||s.fetchAsync(a));if(c instanceof Dict){let t=c.getRaw("Type");t instanceof Ref&&(t=await s.fetchAsync(t));if(isName(t,"Page")||!c.has("Kids")){r.has(a)||r.put(a,1);i.has(a)||i.put(a,l);if(l===e)return[c,a];l++;continue}}t.push(c);continue}if(!(a instanceof Dict))throw new FormatError("Page dictionary kid reference points to wrong type of object.");const{objId:f}=a;let c=a.getRaw("Count");c instanceof Ref&&(c=await s.fetchAsync(c));if(Number.isInteger(c)&&c>=0){f&&!r.has(f)&&r.put(f,c);if(l+c<=e){l+=c;continue}}let h=a.getRaw("Kids");h instanceof Ref&&(h=await s.fetchAsync(h));if(!Array.isArray(h)){let t=a.getRaw("Type");t instanceof Ref&&(t=await s.fetchAsync(t));if(isName(t,"Page")||!a.has("Kids")){if(l===e)return[a,null];l++;continue}throw new FormatError("Page dictionary kids object is not an array.")}for(let e=h.length-1;e>=0;e--){const n=h[e];t.push(n);a===this.toplevelPagesDict&&n instanceof Ref&&!o.has(n)&&o.put(n,s.fetchAsync(n))}}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(e=!1){const{ignoreErrors:t}=this.pdfManager.evaluatorOptions,n=[{currentNode:this.toplevelPagesDict,posInKids:0}],a=new RefSet,s=this.#ve.getRaw("Pages");s instanceof Ref&&a.put(s);const r=new Map,i=this.xref,o=this.pageIndexCache;let l=0;function addPageDict(e,t){t&&!o.has(t)&&o.put(t,l);r.set(l++,[e,t])}function addPageError(n){if(n instanceof XRefEntryException&&!e)throw n;if(e&&t&&0===l){warn(`getAllPageDicts - Skipping invalid first page: "${n}".`);n=Dict.empty}r.set(l++,[n,null])}for(;n.length>0;){const e=n.at(-1),{currentNode:t,posInKids:s}=e;let r=t.getRaw("Kids");if(r instanceof Ref)try{r=await i.fetchAsync(r)}catch(e){addPageError(e);break}if(!Array.isArray(r)){addPageError(new FormatError("Page dictionary kids object is not an array."));break}if(s>=r.length){n.pop();continue}const o=r[s];let l;if(o instanceof Ref){if(a.has(o)){addPageError(new FormatError("Pages tree contains circular reference."));break}a.put(o);try{l=await i.fetchAsync(o)}catch(e){addPageError(e);break}}else l=o;if(!(l instanceof Dict)){addPageError(new FormatError("Page dictionary kid reference points to wrong type of object."));break}let f=l.getRaw("Type");if(f instanceof Ref)try{f=await i.fetchAsync(f)}catch(e){addPageError(e);break}isName(f,"Page")||!l.has("Kids")?addPageDict(l,o instanceof Ref?o:null):n.push({currentNode:l,posInKids:0});e.posInKids++}return r}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const n=this.xref;let a=0;const next=t=>function pagesBeforeRef(t){let a,s=0;return n.fetchAsync(t).then(function(n){if(isRefsEqual(t,e)&&!isDict(n,"Page")&&!(n instanceof Dict&&!n.has("Type")&&n.has("Contents")))throw new FormatError("The reference does not point to a /Page dictionary.");if(!n)return null;if(!(n instanceof Dict))throw new FormatError("Node must be a dictionary.");a=n.getRaw("Parent");return n.getAsync("Parent")}).then(function(e){if(!e)return null;if(!(e instanceof Dict))throw new FormatError("Parent must be a dictionary.");return e.getAsync("Kids")}).then(function(e){if(!e)return null;const r=[];let i=!1;for(const a of e){if(!(a instanceof Ref))throw new FormatError("Kid must be a reference.");if(isRefsEqual(a,t)){i=!0;break}r.push(n.fetchAsync(a).then(function(e){if(!(e instanceof Dict))throw new FormatError("Kid node must be a dictionary.");e.has("Count")?s+=e.get("Count"):s++}))}if(!i)throw new FormatError("Kid reference not found in parent's kids.");return Promise.all(r).then(()=>[s,a])})}(t).then(t=>{if(!t){this.pageIndexCache.put(e,a);return a}const[n,s]=t;a+=n;return next(s)});return next(e)}get baseUrl(){const e=this.#ve.get("URI");if(e instanceof Dict){const t=e.get("Base");if("string"==typeof t){const e=createValidAbsoluteUrl(t,null,{tryConvertEncoding:!0});if(e)return shadow(this,"baseUrl",e.href)}}return shadow(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary({destDict:e,resultObj:t,docBaseUrl:n=null,docAttachments:a=null}){if(!(e instanceof Dict)){warn("parseDestDictionary: `destDict` must be a dictionary.");return}let s,r,i=e.get("A");if(!(i instanceof Dict))if(e.has("Dest"))i=e.get("Dest");else{i=e.get("AA");i instanceof Dict&&(i.has("D")?i=i.get("D"):i.has("U")&&(i=i.get("U")))}if(i instanceof Dict){const e=i.get("S");if(!(e instanceof Name)){warn("parseDestDictionary: Invalid type in Action dictionary.");return}const n=e.name;switch(n){case"ResetForm":const e=i.get("Flags"),o=!(1&("number"==typeof e?e:0)),l=[],f=[];for(const e of i.get("Fields")||[])e instanceof Ref?f.push(e.toString()):"string"==typeof e&&l.push(stringToPDFString(e));t.resetForm={fields:l,refs:f,include:o};break;case"URI":s=i.get("URI");s instanceof Name&&(s="/"+s.name);break;case"GoTo":r=i.get("D");break;case"Launch":case"GoToR":const c=i.get("F");if(c instanceof Dict){const e=new FileSpec(c,!0);({rawFilename:s}=e.serializable)}else{if("string"!=typeof c)break;s=c}const h=fetchRemoteDest(i);h&&(s=s.split("#",1)[0]+"#"+h);const u=i.get("NewWindow");"boolean"==typeof u&&(t.newWindow=u);break;case"GoToE":const m=i.get("T");let p;if(a&&m instanceof Dict){const e=m.get("R"),t=m.get("N");isName(e,"C")&&"string"==typeof t&&(p=a[stringToPDFString(t,!0)])}if(p){t.attachment=p;const e=fetchRemoteDest(i);e&&(t.attachmentDest=e)}else warn('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const d=i.get("N");d instanceof Name&&(t.action=d.name);break;case"SetOCGState":const g=i.get("State"),b=i.get("PreserveRB");if(!Array.isArray(g)||0===g.length)break;const w=[];for(const e of g)if(e instanceof Name)switch(e.name){case"ON":case"OFF":case"Toggle":w.push(e.name)}else e instanceof Ref&&w.push(e.toString());if(w.length!==g.length)break;t.setOCGState={state:w,preserveRB:"boolean"!=typeof b||b};break;case"JavaScript":const j=i.get("JS");let k;j instanceof BaseStream?k=j.getString():"string"==typeof j&&(k=j);const y=k&&recoverJsURL(stringToPDFString(k,!0));if(y){s=y.url;t.newWindow=y.newWindow;break}default:if("JavaScript"===n||"SubmitForm"===n)break;warn(`parseDestDictionary - unsupported action: "${n}".`)}}else e.has("Dest")&&(r=e.get("Dest"));if("string"==typeof s){const e=createValidAbsoluteUrl(s,n,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(t.url=e.href);t.unsafeUrl=s}if(r){r instanceof Name&&(r=r.name);"string"==typeof r?t.dest=stringToPDFString(r,!0):Er(r)&&(t.dest=r)}}}function mayHaveChildren(e){return e instanceof Ref||e instanceof Dict||e instanceof BaseStream||Array.isArray(e)}function addChildren(e,t){if(e instanceof Dict)e=e.getRawValues();else if(e instanceof BaseStream)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const n of e)mayHaveChildren(n)&&t.push(n)}class ObjectLoader{refSet=new RefSet;constructor(e,t,n){this.dict=e;this.keys=t;this.xref=n}async load(){const{keys:e,dict:t}=this,n=[];for(const a of e){const e=t.getRaw(a);void 0!==e&&n.push(e)}await this.#Be(n);this.refSet=null}async#Be(e){const t=[],n=[];for(;e.length;){let a=e.pop();if(a instanceof Ref){if(this.refSet.has(a))continue;try{this.refSet.put(a);a=this.xref.fetch(a)}catch(e){if(!(e instanceof MissingDataException)){warn(`ObjectLoader.#walk - requesting all data: "${e}".`);await this.xref.stream.manager.requestAllChunks();return}t.push(a);n.push({begin:e.begin,end:e.end})}}if(a instanceof BaseStream){const e=a.getBaseStreams();if(e){let s=!1;for(const t of e)if(!t.isDataLoaded){s=!0;n.push({begin:t.start,end:t.end})}s&&t.push(a)}}addChildren(a,e)}if(n.length){await this.xref.stream.manager.requestRanges(n);for(const e of t)e instanceof Ref&&this.refSet.remove(e);await this.#Be(t)}}static async load(e,t,n){if(n.stream.isDataLoaded)return;const a=new ObjectLoader(e,t,n);await a.load()}}const Nr=Symbol(),zr=Symbol(),Lr=Symbol(),Ur=Symbol(),_r=Symbol(),Xr=Symbol(),Wr=Symbol(),Kr=Symbol(),Gr=Symbol(),Vr=Symbol("content"),$r=Symbol("data"),Yr=Symbol(),Jr=Symbol("extra"),Qr=Symbol(),Zr=Symbol(),ei=Symbol(),ti=Symbol(),ni=Symbol(),ai=Symbol(),si=Symbol(),ri=Symbol(),ii=Symbol(),oi=Symbol(),li=Symbol(),fi=Symbol(),ci=Symbol(),hi=Symbol(),ui=Symbol(),mi=Symbol(),pi=Symbol(),di=Symbol(),gi=Symbol(),bi=Symbol(),wi=Symbol(),ji=Symbol(),ki=Symbol(),yi=Symbol(),qi=Symbol(),vi=Symbol(),Si=Symbol(),xi=Symbol(),Ai=Symbol(),Ci=Symbol(),Ii=Symbol(),Fi=Symbol(),Ti=Symbol("namespaceId"),Hi=Symbol("nodeName"),Oi=Symbol(),Bi=Symbol(),Ri=Symbol(),Di=Symbol(),Mi=Symbol(),Pi=Symbol(),Ei=Symbol(),Ni=Symbol(),zi=Symbol("root"),_i=Symbol(),Xi=Symbol(),Wi=Symbol(),Ki=Symbol(),Gi=Symbol(),Vi=Symbol(),$i=Symbol(),Yi=Symbol(),Ji=Symbol(),Qi=Symbol(),Zi=Symbol(),eo=Symbol("uid"),to=Symbol(),no={config:{id:0,check:e=>e.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e=>"http://ns.adobe.com/xdp/pdf/"===e},signature:{id:6,check:e=>"http://www.w3.org/2000/09/xmldsig#"===e},sourceSet:{id:7,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e=>"http://www.w3.org/1999/XSL/Transform"===e},template:{id:9,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e=>e.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e=>"http://ns.adobe.com/xdp/"===e},xfdf:{id:12,check:e=>"http://ns.adobe.com/xfdf/"===e},xhtml:{id:13,check:e=>"http://www.w3.org/1999/xhtml"===e},xmpmeta:{id:14,check:e=>"http://ns.adobe.com/xmpmeta/"===e}},ao={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},so=/([+-]?\d+\.?\d*)(.*)/;function stripQuotes(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e}function getInteger({data:e,defaultValue:t,validate:n}){if(!e)return t;e=e.trim();const a=parseInt(e,10);return!isNaN(a)&&n(a)?a:t}function getFloat({data:e,defaultValue:t,validate:n}){if(!e)return t;e=e.trim();const a=parseFloat(e);return!isNaN(a)&&n(a)?a:t}function getKeyword({data:e,defaultValue:t,validate:n}){return e&&n(e=e.trim())?e:t}function getStringOption(e,t){return getKeyword({data:e,defaultValue:t[0],validate:e=>t.includes(e)})}function getMeasurement(e,t="0"){t||="0";if(!e)return getMeasurement(t);const n=e.trim().match(so);if(!n)return getMeasurement(t);const[,a,s]=n,r=parseFloat(a);if(isNaN(r))return getMeasurement(t);if(0===r)return 0;const i=ao[s];return i?i(r):r}function getRatio(e){if(!e)return{num:1,den:1};const t=e.split(":",2).map(e=>parseFloat(e.trim())).filter(e=>!isNaN(e));1===t.length&&t.push(1);if(0===t.length)return{num:1,den:1};const[n,a]=t;return{num:n,den:a}}function getRelevant(e){return e?e.trim().split(/\s+/).map(e=>({excluded:"-"===e[0],viewname:e.substring(1)})):[]}class HTMLResult{static get FAILURE(){return shadow(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return shadow(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(e,t,n,a){this.success=e;this.html=t;this.bbox=n;this.breakNode=a}isBreak(){return!!this.breakNode}static breakNode(e){return new HTMLResult(!1,null,null,e)}static success(e,t=null){return new HTMLResult(!0,e,t,null)}}class FontFinder{constructor(e){this.fonts=new Map;this.cache=new Map;this.warned=new Set;this.defaultFont=null;this.add(e)}add(e,t=null){for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const n=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const e of t)this.fonts.set(e,n)}addPdfFont(e){const t=e.cssFontInfo,n=t.fontFamily,a=this.fonts.getOrInsertComputed(n,makeObj);this.defaultFont??=a;let s="";const r=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?s=r>=700?"bolditalic":"italic":r>=700&&(s="bold");if(!s){(e.name.includes("Bold")||e.psName?.includes("Bold"))&&(s="bold");(e.name.includes("Italic")||e.name.endsWith("It")||e.psName?.includes("Italic")||e.psName?.endsWith("It"))&&(s+="italic")}s||(s="regular");a[s]=e}getDefault(){return this.defaultFont}find(e,t=!0){let n=this.fonts.get(e)||this.cache.get(e);if(n)return n;const a=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let s=e.replaceAll(a,"");n=this.fonts.get(s);if(n){this.cache.set(e,n);return n}s=s.toLowerCase();const r=[];for(const[e,t]of this.fonts)e.replaceAll(a,"").toLowerCase().startsWith(s)&&r.push(t);if(0===r.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(a,"").toLowerCase().startsWith(s)&&r.push(e);if(0===r.length){s=s.replaceAll(/psmt|mt/gi,"");for(const[e,t]of this.fonts)e.replaceAll(a,"").toLowerCase().startsWith(s)&&r.push(t)}if(0===r.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(a,"").toLowerCase().startsWith(s)&&r.push(e);if(r.length>=1){1!==r.length&&t&&warn(`XFA - Too many choices to guess the correct font: ${e}`);this.cache.set(e,r[0]);return r[0]}if(t&&!this.warned.has(e)){this.warned.add(e);warn(`XFA - Cannot find the font: ${e}`)}return null}}function selectFont(e,t){return"italic"===e.posture?"bold"===e.weight?t.bolditalic:t.italic:"bold"===e.weight?t.bold:t.regular}class text_FontInfo{constructor(e,t,n,a){this.lineHeight=n;this.paraMargin=t||{top:0,bottom:0,left:0,right:0};if(!e){[this.pdfFont,this.xfaFont]=this.defaultFont(a);return}this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const s=a.find(e.typeface);if(s){this.pdfFont=selectFont(e,s);this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(a))}else[this.pdfFont,this.xfaFont]=this.defaultFont(a)}defaultFont(e){const t=e.find("Helvetica",!1)||e.find("Myriad Pro",!1)||e.find("Arial",!1)||e.getDefault();if(t?.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class FontSelector{constructor(e,t,n,a){this.fontFinder=a;this.stack=[new text_FontInfo(e,t,n,a)]}pushData(e,t,n){const a=this.stack.at(-1);for(const t of["typeface","posture","weight","size","letterSpacing"])e[t]||(e[t]=a.xfaFont[t]);for(const e of["top","bottom","left","right"])isNaN(t[e])&&(t[e]=a.paraMargin[e]);const s=new text_FontInfo(e,t,n||a.lineHeight,this.fontFinder);s.pdfFont||(s.pdfFont=a.pdfFont);this.stack.push(s)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}class TextMeasure{constructor(e,t,n,a){this.glyphs=[];this.fontSelector=new FontSelector(e,t,n,a);this.extraHeight=0}pushData(e,t,n){this.fontSelector.pushData(e,t,n)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),n=t.xfaFont.size;if(t.pdfFont){const a=t.xfaFont.letterSpacing,s=t.pdfFont,r=s.lineHeight||1.2,i=t.lineHeight||Math.max(1.2,r)*n,o=r-(void 0===s.lineGap?.2:s.lineGap),l=Math.max(1,o)*n,f=n/1e3,c=s.defaultWidth||s.charsToGlyphs(" ")[0].width;for(const t of e.split(/[\u2029\n]/)){const e=s.encodeString(t).join(""),n=s.charsToGlyphs(e);for(const e of n){const t=e.width||c;this.glyphs.push([t*f+a,i,l,e.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop();return}for(const t of e.split(/[\u2029\n]/)){for(const e of t.split(""))this.glyphs.push([n,1.2*n,n,e,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}compute(e){let t=-1,n=0,a=0,s=0,r=0,i=0,o=!1,l=!0;for(let f=0,c=this.glyphs.length;f<c;f++){const[c,h,u,m,p]=this.glyphs[f],d=" "===m,g=l?u:h;if(p){a=Math.max(a,r);r=0;s+=i;i=g;t=-1;n=0;l=!1}else if(d)if(r+c>e){a=Math.max(a,r);r=0;s+=i;i=g;t=-1;n=0;o=!0;l=!1}else{i=Math.max(g,i);n=r;r+=c;t=f}else if(r+c>e){s+=i;i=g;if(-1!==t){f=t;a=Math.max(a,n);r=0;t=-1;n=0}else{a=Math.max(a,r);r=c}o=!0;l=!1}else{r+=c;i=Math.max(g,i)}}a=Math.max(a,r);s+=i+this.extraHeight;return{width:1.02*a,height:s,isBroken:o}}}const ro=/^[^.[]+/,io=/^[^\]]+/,oo=0,lo=1,fo=2,co=3,ho=4,uo=new Map([["$data",(e,t)=>e.datasets?e.datasets.data:e],["$record",(e,t)=>(e.datasets?e.datasets.data:e)[fi]()[0]],["$template",(e,t)=>e.template],["$connectionSet",(e,t)=>e.connectionSet],["$form",(e,t)=>e.form],["$layout",(e,t)=>e.layout],["$host",(e,t)=>e.host],["$dataWindow",(e,t)=>e.dataWindow],["$event",(e,t)=>e.event],["!",(e,t)=>e.datasets],["$xfa",(e,t)=>e],["xfa",(e,t)=>e],["$",(e,t)=>t]]),mo=new WeakMap;function parseIndex(e){return"*"===(e=e.trim())?1/0:parseInt(e,10)||0}function parseExpression(e,t,n=!0){let a=e.match(ro);if(!a)return null;let[s]=a;const r=[{name:s,cacheName:"."+s,index:0,js:null,formCalc:null,operator:oo}];let i=s.length;for(;i<e.length;){const o=i;if("["===e.charAt(i++)){a=e.slice(i).match(io);if(!a){warn("XFA - Invalid index in SOM expression");return null}r.at(-1).index=parseIndex(a[0]);i+=a[0].length+1;continue}let l;switch(e.charAt(i)){case".":if(!t)return null;i++;l=lo;break;case"#":i++;l=fo;break;case"[":if(n){warn("XFA - SOM expression contains a FormCalc subexpression which is not supported for now.");return null}l=co;break;case"(":if(n){warn("XFA - SOM expression contains a JavaScript subexpression which is not supported for now.");return null}l=ho;break;default:l=oo}a=e.slice(i).match(ro);if(!a)break;[s]=a;i+=s.length;r.push({name:s,cacheName:e.slice(o,i),operator:l,index:0,js:null,formCalc:null})}return r}function searchNode(e,t,n,a=!0,s=!0){const r=parseExpression(n,a);if(!r)return null;const i=uo.get(r[0].name);let o,l=0;if(i){o=!0;e=[i(e,t)];l=1}else{o=null===t;e=[t||e]}for(let n=r.length;l<n;l++){const{name:n,cacheName:a,operator:i,index:f}=r[l],c=[];for(const t of e){if(!t.isXFAObject)continue;let e,r;if(s){r=mo.getOrInsertComputed(t,makeMap);e=r.get(a)}if(!e){switch(i){case oo:e=t[si](n,!1);break;case lo:e=t[si](n,!0);break;case fo:e=t[ai](n);e=e.isXFAObjectArray?e.children:[e]}s&&r.set(a,e)}e.length>0&&c.push(e)}if(0===c.length&&!o&&0===l){const n=t[mi]();if(!(t=n))return null;l=-1;e=[t];continue}e=isFinite(f)?c.filter(e=>f<e.length).map(e=>e[f]):c.flat()}return 0===e.length?null:e}function createDataNode(e,t,n){const a=parseExpression(n);if(!a)return null;if(a.some(e=>e.operator===lo))return null;const s=uo.get(a[0].name);let r=0;if(s){e=s(e,t);r=1}else e=t||e;for(let t=a.length;r<t;r++){const{name:t,operator:n,index:s}=a[r];if(!isFinite(s)){a[r].index=0;return e.createNodes(a.slice(r))}let i;switch(n){case oo:i=e[si](t,!1);break;case lo:i=e[si](t,!0);break;case fo:i=e[ai](t);i=i.isXFAObjectArray?i.children:[i]}if(0===i.length)return e.createNodes(a.slice(r));if(!(s<i.length)){a[r].index=s-i.length;return e.createNodes(a.slice(r))}{const t=i[s];if(!t.isXFAObject){warn("XFA - Cannot create a node.");return null}e=t}}return null}const po=Symbol(),go=Symbol(),bo=Symbol(),wo=Symbol("_children"),jo=Symbol(),ko=Symbol(),yo=Symbol(),qo=Symbol(),vo=Symbol(),So=Symbol(),xo=Symbol(),Ao=Symbol(),Co=Symbol(),Io=Symbol("parent"),Fo=Symbol(),Ho=Symbol(),Oo=Symbol();let Bo=0;const Ro=no.datasets.id;class XFAObject{constructor(e,t,n=!1){this[Ti]=e;this[Hi]=t;this[xo]=n;this[Io]=null;this[wo]=[];this[eo]=`${t}${Bo++}`;this[di]=null}get isXFAObject(){return!0}get isXFAObjectArray(){return!1}createNodes(e){let t=this,n=null;for(const{name:a,index:s}of e){for(let e=0,r=isFinite(s)?s:0;e<=r;e++){const e=t[Ti]===Ro?-1:t[Ti];n=new XmlObject(e,a);t[Lr](n)}t=n}return n}[Bi](e){if(!this[xo]||!this[Ri](e))return!1;const t=e[Hi],n=this[t];if(!(n instanceof XFAObjectArray)){null!==n&&this[Ni](n);this[t]=e;this[Lr](e);return!0}if(n.push(e)){this[Lr](e);return!0}let a="";this.id?a=` (id: ${this.id})`:this.name&&(a=` (name: ${this.name} ${this.h.value})`);warn(`XFA - node "${this[Hi]}"${a} has already enough "${t}"!`);return!1}[Ri](e){return this.hasOwnProperty(e[Hi])&&e[Ti]===this[Ti]}[Si](){return!1}[Nr](){return!1}[ki](){return!1}[yi](){return!1}[Pi](){this.para&&this[pi]()[Jr].paraStack.pop()}[Ei](){this[pi]()[Jr].paraStack.push(this.para)}[Wi](e){this.id&&this[Ti]===no.template.id&&e.set(this.id,this)}[pi](){return this[di].template}[xi](){return!1}[Ai](){return!1}[Lr](e){e[Io]=this;this[wo].push(e);!e[di]&&this[di]&&(e[di]=this[di])}[Ni](e){const t=this[wo].indexOf(e);this[wo].splice(t,1)}[gi](){return this.hasOwnProperty("value")}[Gi](e){}[Di](e){}[Qr](){}[_r](e){delete this[xo];if(this[Wr]){e.clean(this[Wr]);delete this[Wr]}}[wi](e){return this[wo].indexOf(e)}[ji](e,t){t[Io]=this;this[wo].splice(e,0,t);!t[di]&&this[di]&&(t[di]=this[di])}[Ci](){return!this.name}[Fi](){return""}[$i](){return 0===this[wo].length?this[Vr]:this[wo].map(e=>e[$i]()).join("")}get[bo](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof XFAObject||this[e]instanceof XFAObjectArray)break;t.add(e)}}return shadow(this,bo,e._attributes)}[vi](e){let t=this;for(;t;){if(t===e)return!0;t=t[mi]()}return!1}[mi](){return this[Io]}[ui](){return this[mi]()}[fi](e=null){return e?this[e]:this[wo]}[Yr](){const e=Object.create(null);this[Vr]&&(e.$content=this[Vr]);for(const t of Object.getOwnPropertyNames(this)){const n=this[t];null!==n&&(n instanceof XFAObject?e[t]=n[Yr]():n instanceof XFAObjectArray?n.isEmpty()||(e[t]=n.dump()):e[t]=n)}return e}[Zi](){return null}[Ji](){return HTMLResult.EMPTY}*[ci](){for(const e of this[fi]())yield e}*[qo](e,t){for(const n of this[ci]())if(!e||t===e.has(n[Hi])){const e=this[ni](),t=n[Ji](e);t.success||(this[Jr].failingNode=n);yield t}}[Zr](){return null}[zr](e,t){this[Jr].children.push(e)}[ni](){}[Ur]({filter:e=null,include:t=!0}){if(this[Jr].generator){const e=this[ni](),t=this[Jr].failingNode[Ji](e);if(!t.success)return t;t.html&&this[zr](t.html,t.bbox);delete this[Jr].failingNode}else this[Jr].generator=this[qo](e,t);for(;;){const e=this[Jr].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[zr](t.html,t.bbox)}this[Jr].generator=null;return HTMLResult.EMPTY}[Ki](e){this[Ho]=new Set(Object.keys(e))}[So](e){const t=this[bo],n=this[Ho];return[...e].filter(e=>t.has(e)&&!n.has(e))}[_i](e,t=new Set){for(const n of this[wo])n[Fo](e,t)}[Fo](e,t){const n=this[vo](e,t);n?this[po](n,e,t):this[_i](e,t)}[vo](e,t){const{use:n,usehref:a}=this;if(!n&&!a)return null;let s=null,r=null,i=null,o=n;if(a){o=a;a.startsWith("#som(")&&a.endsWith(")")?r=a.slice(5,-1):a.startsWith(".#som(")&&a.endsWith(")")?r=a.slice(6,-1):a.startsWith("#")?i=a.slice(1):a.startsWith(".#")&&(i=a.slice(2))}else n.startsWith("#")?i=n.slice(1):r=n;this.use=this.usehref="";if(i)s=e.get(i);else{s=searchNode(e.get(zi),this,r,!0,!1);s&&(s=s[0])}if(!s){warn(`XFA - Invalid prototype reference: ${o}.`);return null}if(s[Hi]!==this[Hi]){warn(`XFA - Incompatible prototype: ${s[Hi]} !== ${this[Hi]}.`);return null}if(t.has(s)){warn("XFA - Cycle detected in prototypes use.");return null}t.add(s);const l=s[vo](e,t);l&&s[po](l,e,t);s[_i](e,t);t.delete(s);return s}[po](e,t,n){if(n.has(e)){warn("XFA - Cycle detected in prototypes use.");return}!this[Vr]&&e[Vr]&&(this[Vr]=e[Vr]);new Set(n).add(e);for(const t of this[So](e[Ho])){this[t]=e[t];this[Ho]&&this[Ho].add(t)}for(const a of Object.getOwnPropertyNames(this)){if(this[bo].has(a))continue;const s=this[a],r=e[a];if(s instanceof XFAObjectArray){for(const e of s[wo])e[Fo](t,n);for(let a=s[wo].length,i=r[wo].length;a<i;a++){const r=e[wo][a][Kr]();if(!s.push(r))break;r[Io]=this;this[wo].push(r);r[Fo](t,n)}}else if(null===s){if(null!==r){const e=r[Kr]();e[Io]=this;this[a]=e;this[wo].push(e);e[Fo](t,n)}}else{s[_i](t,n);r&&s[po](r,t,n)}}}static[jo](e){return Array.isArray(e)?e.map(e=>XFAObject[jo](e)):"object"==typeof e&&null!==e?Object.assign({},e):e}[Kr](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch{shadow(e,t,this[t])}e[eo]=`${e[Hi]}${Bo++}`;e[wo]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[bo].has(t)){e[t]=XFAObject[jo](this[t]);continue}const n=this[t];e[t]=n instanceof XFAObjectArray?new XFAObjectArray(n[Ao]):null}for(const t of this[wo]){const n=t[Hi],a=t[Kr]();e[wo].push(a);a[Io]=e;null===e[n]?e[n]=a:e[n][wo].push(a)}return e}[fi](e=null){return e?this[wo].filter(t=>t[Hi]===e):this[wo]}[ai](e){return this[e]}[si](e,t,n=!0){return Array.from(this[ri](e,t,n))}*[ri](e,t,n=!0){if("parent"!==e){for(const n of this[wo]){n[Hi]===e&&(yield n);n.name===e&&(yield n);(t||n[Ci]())&&(yield*n[ri](e,t,!1))}n&&this[bo].has(e)&&(yield new XFAAttribute(this,e,this[e]))}else yield this[Io]}}class XFAObjectArray{constructor(e=1/0){this[Ao]=e;this[wo]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e){if(this[wo].length<=this[Ao]){this[wo].push(e);return!0}warn(`XFA - node "${e[Hi]}" accepts no more than ${this[Ao]} children`);return!1}isEmpty(){return 0===this[wo].length}dump(){return 1===this[wo].length?this[wo][0][Yr]():this[wo].map(e=>e[Yr]())}[Kr](){const e=new XFAObjectArray(this[Ao]);e[wo]=this[wo].map(e=>e[Kr]());return e}get children(){return this[wo]}clear(){this[wo].length=0}}class XFAAttribute{constructor(e,t,n){this[Io]=e;this[Hi]=t;this[Vr]=n;this[Gr]=!1;this[eo]="attribute"+Bo++}[mi](){return this[Io]}[qi](){return!0}[ii](){return this[Vr].trim()}[Gi](e){e=e.value||"";this[Vr]=e.toString()}[$i](){return this[Vr]}[vi](e){return this[Io]===e||this[Io][vi](e)}}class XmlObject extends XFAObject{constructor(e,t,n={}){super(e,t);this[Vr]="";this[ko]=null;if("#text"!==t){const e=new Map;this[go]=e;for(const[t,a]of Object.entries(n))e.set(t,new XFAAttribute(this,t,a));if(n.hasOwnProperty(Oi)){const e=n[Oi].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[ko]=!1:"dataValue"===e&&(this[ko]=!0))}}this[Gr]=!1}[Qi](e){const t=this[Hi];if("#text"===t){e.push(encodeToXmlString(this[Vr]));return}const n=utf8StringToString(t),a=this[Ti]===Ro?"xfa:":"";e.push(`<${a}${n}`);for(const[t,n]of this[go]){const a=utf8StringToString(t);e.push(` ${a}="${encodeToXmlString(n[Vr])}"`)}null!==this[ko]&&(this[ko]?e.push(' xfa:dataNode="dataValue"'):e.push(' xfa:dataNode="dataGroup"'));if(this[Vr]||0!==this[wo].length){e.push(">");if(this[Vr])"string"==typeof this[Vr]?e.push(encodeToXmlString(this[Vr])):this[Vr][Qi](e);else for(const t of this[wo])t[Qi](e);e.push(`</${a}${n}>`)}else e.push("/>")}[Bi](e){if(this[Vr]){const e=new XmlObject(this[Ti],"#text");this[Lr](e);e[Vr]=this[Vr];this[Vr]=""}this[Lr](e);return!0}[Di](e){this[Vr]+=e}[Qr](){if(this[Vr]&&this[wo].length>0){const e=new XmlObject(this[Ti],"#text");this[Lr](e);e[Vr]=this[Vr];delete this[Vr]}}[Ji](){return"#text"===this[Hi]?HTMLResult.success({name:"#text",value:this[Vr]}):HTMLResult.EMPTY}[fi](e=null){return e?this[wo].filter(t=>t[Hi]===e):this[wo]}[ti](){return this[go]}[ai](e){const t=this[go].get(e);return void 0!==t?t:this[fi](e)}*[ri](e,t){const n=this[go].get(e);n&&(yield n);for(const n of this[wo]){n[Hi]===e&&(yield n);t&&(yield*n[ri](e,t))}}*[ei](e,t){const n=this[go].get(e);!n||t&&n[Gr]||(yield n);for(const n of this[wo])yield*n[ei](e,t)}*[li](e,t,n){for(const a of this[wo]){a[Hi]!==e||n&&a[Gr]||(yield a);t&&(yield*a[li](e,t,n))}}[qi](){return null===this[ko]?0===this[wo].length||this[wo][0][Ti]===no.xhtml.id:this[ko]}[ii](){return null===this[ko]?0===this[wo].length?this[Vr].trim():this[wo][0][Ti]===no.xhtml.id?this[wo][0][$i]().trim():null:this[Vr].trim()}[Gi](e){e=e.value||"";this[Vr]=e.toString()}[Yr](e=!1){const t=Object.create(null);e&&(t.$ns=this[Ti]);this[Vr]&&(t.$content=this[Vr]);t.$name=this[Hi];t.children=[];for(const n of this[wo])t.children.push(n[Yr](e));t.attributes=Object.create(null);for(const[e,n]of this[go])t.attributes[e]=n[Vr];return t}}class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[Vr]=""}[Di](e){this[Vr]+=e}[Qr](){}}class OptionObject extends ContentObject{constructor(e,t,n){super(e,t);this[Co]=n}[Qr](){this[Vr]=getKeyword({data:this[Vr],defaultValue:this[Co][0],validate:e=>this[Co].includes(e)})}[_r](e){super[_r](e);delete this[Co]}}class StringObject extends ContentObject{[Qr](){this[Vr]=this[Vr].trim()}}class IntegerObject extends ContentObject{constructor(e,t,n,a){super(e,t);this[yo]=n;this[Oo]=a}[Qr](){this[Vr]=getInteger({data:this[Vr],defaultValue:this[yo],validate:this[Oo]})}[_r](e){super[_r](e);delete this[yo];delete this[Oo]}}class Option01 extends IntegerObject{constructor(e,t){super(e,t,0,e=>1===e)}}class Option10 extends IntegerObject{constructor(e,t){super(e,t,1,e=>0===e)}}function measureToString(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const Do={anchorType(e,t){const n=e[ui]();if(n&&(!n.layout||"position"===n.layout)){"transform"in t||(t.transform="");switch(e.anchorType){case"bottomCenter":t.transform+="translate(-50%, -100%)";break;case"bottomLeft":t.transform+="translate(0,-100%)";break;case"bottomRight":t.transform+="translate(-100%,-100%)";break;case"middleCenter":t.transform+="translate(-50%,-50%)";break;case"middleLeft":t.transform+="translate(0,-50%)";break;case"middleRight":t.transform+="translate(-100%,-50%)";break;case"topCenter":t.transform+="translate(-50%,0)";break;case"topRight":t.transform+="translate(-100%,0)"}}},dimensions(e,t){const n=e[ui]();let a=e.w;const s=e.h;if(n.layout?.includes("row")){const t=n[Jr],s=e.colSpan;let r;if(-1===s){r=Math.sumPrecise(t.columnWidths.slice(t.currentColumn));t.currentColumn=0}else{r=Math.sumPrecise(t.columnWidths.slice(t.currentColumn,t.currentColumn+s));t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(r)||(a=e.w=r)}t.width=""!==a?measureToString(a):"auto";t.height=""!==s?measureToString(s):"auto"},position(e,t){const n=e[ui]();if(!n?.layout||"position"===n.layout){t.position="absolute";t.left=measureToString(e.x);t.top=measureToString(e.y)}},rotate(e,t){if(e.rotate){"transform"in t||(t.transform="");t.transform+=`rotate(-${e.rotate}deg)`;t.transformOrigin="top left"}},presence(e,t){switch(e.presence){case"invisible":t.visibility="hidden";break;case"hidden":case"inactive":t.display="none"}},hAlign(e,t){if("para"===e[Hi])switch(e.hAlign){case"justifyAll":t.textAlign="justify-all";break;case"radix":t.textAlign="left";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case"left":t.alignSelf="start";break;case"center":t.alignSelf="center";break;case"right":t.alignSelf="end"}},margin(e,t){e.margin&&(t.margin=e.margin[Zi]().margin)}};function setMinMaxDimensions(e,t){if("position"===e[ui]().layout){e.minW>0&&(t.minWidth=measureToString(e.minW));e.maxW>0&&(t.maxWidth=measureToString(e.maxW));e.minH>0&&(t.minHeight=measureToString(e.minH));e.maxH>0&&(t.maxHeight=measureToString(e.maxH))}}function layoutText(e,t,n,a,s,r){const i=new TextMeasure(t,n,a,s);"string"==typeof e?i.addString(e):e[Mi](i);return i.compute(r)}function layoutNode(e,t){let n=null,a=null,s=!1;if((!e.w||!e.h)&&e.value){let r=0,i=0;if(e.margin){r=e.margin.leftInset+e.margin.rightInset;i=e.margin.topInset+e.margin.bottomInset}let o=null,l=null;if(e.para){l=Object.create(null);o=""===e.para.lineHeight?null:e.para.lineHeight;l.top=""===e.para.spaceAbove?0:e.para.spaceAbove;l.bottom=""===e.para.spaceBelow?0:e.para.spaceBelow;l.left=""===e.para.marginLeft?0:e.para.marginLeft;l.right=""===e.para.marginRight?0:e.para.marginRight}let f=e.font;if(!f){const t=e[pi]();let n=e[mi]();for(;n&&n!==t;){if(n.font){f=n.font;break}n=n[mi]()}}const c=(e.w||t.width)-r,h=e[di].fontFinder;if(e.value.exData&&e.value.exData[Vr]&&"text/html"===e.value.exData.contentType){const t=layoutText(e.value.exData[Vr],f,l,o,h,c);a=t.width;n=t.height;s=t.isBroken}else{const t=e.value[$i]();if(t){const e=layoutText(t,f,l,o,h,c);a=e.width;n=e.height;s=e.isBroken}}null===a||e.w||(a+=r);null===n||e.h||(n+=i)}return{w:a,h:n,isBroken:s}}function computeBbox(e,t,n){let a;if(""!==e.w&&""!==e.h)a=[e.x,e.y,e.w,e.h];else{if(!n)return null;let s=e.w;if(""===s){if(0===e.maxW){const t=e[ui]();s="position"===t.layout&&""!==t.w?0:e.minW}else s=Math.min(e.maxW,n.width);t.attributes.style.width=measureToString(s)}let r=e.h;if(""===r){if(0===e.maxH){const t=e[ui]();r="position"===t.layout&&""!==t.h?0:e.minH}else r=Math.min(e.maxH,n.height);t.attributes.style.height=measureToString(r)}a=[e.x,e.y,s,r]}return a}function fixDimensions(e){const t=e[ui]();if(t.layout?.includes("row")){const n=t[Jr],a=e.colSpan;let s;s=-1===a?Math.sumPrecise(n.columnWidths.slice(n.currentColumn)):Math.sumPrecise(n.columnWidths.slice(n.currentColumn,n.currentColumn+a));isNaN(s)||(e.w=s)}t.layout&&"position"!==t.layout&&(e.x=e.y=0);"table"===e.layout&&""===e.w&&Array.isArray(e.columnWidths)&&(e.w=Math.sumPrecise(e.columnWidths))}function layoutClass(e){switch(e.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}}function toStyle(e,...t){const n=Object.create(null);for(const a of t){const t=e[a];if(null!==t)if(Do.hasOwnProperty(a))Do[a](e,n);else if(t instanceof XFAObject){const e=t[Zi]();e?Object.assign(n,e):warn(`(DEBUG) - XFA - style for ${a} not implemented yet`)}}return n}function createWrapper(e,t){const{attributes:n}=t,{style:a}=n,s={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};n.class.push("xfaWrapped");if(e.border){const{widths:n,insets:r}=e.border[Jr];let i,o,l=r[0],f=r[3];const c=r[0]+r[2],h=r[1]+r[3];switch(e.border.hand){case"even":l-=n[0]/2;f-=n[3]/2;i=`calc(100% + ${(n[1]+n[3])/2-h}px)`;o=`calc(100% + ${(n[0]+n[2])/2-c}px)`;break;case"left":l-=n[0];f-=n[3];i=`calc(100% + ${n[1]+n[3]-h}px)`;o=`calc(100% + ${n[0]+n[2]-c}px)`;break;case"right":i=h?`calc(100% - ${h}px)`:"100%";o=c?`calc(100% - ${c}px)`:"100%"}const u=["xfaBorder"];isPrintOnly(e.border)&&u.push("xfaPrintOnly");const m={name:"div",attributes:{class:u,style:{top:`${l}px`,left:`${f}px`,width:i,height:o}},children:[]};for(const e of["border","borderWidth","borderColor","borderRadius","borderStyle"])if(void 0!==a[e]){m.attributes.style[e]=a[e];delete a[e]}s.children.push(m,t)}else s.children.push(t);for(const e of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])if(void 0!==a[e]){s.attributes.style[e]=a[e];delete a[e]}s.attributes.style.position="absolute"===a.position?"absolute":"relative";delete a.position;if(a.alignSelf){s.attributes.style.alignSelf=a.alignSelf;delete a.alignSelf}return s}function fixTextIndent(e){const t=getMeasurement(e.textIndent,"0px");if(t>=0)return;const n="padding"+("left"===("right"===e.textAlign?"right":"left")?"Left":"Right"),a=getMeasurement(e[n],"0px");e[n]=a-t+"px"}function setAccess(e,t){switch(e.access){case"nonInteractive":t.push("xfaNonInteractive");break;case"readOnly":t.push("xfaReadOnly");break;case"protected":t.push("xfaDisabled")}}function isPrintOnly(e){return e.relevant.length>0&&!e.relevant[0].excluded&&"print"===e.relevant[0].viewname}function getCurrentPara(e){const t=e[pi]()[Jr].paraStack;return t.length?t.at(-1):null}function setPara(e,t,n){if(n.attributes.class?.includes("xfaRich")){if(t){""===e.h&&(t.height="auto");""===e.w&&(t.width="auto")}const a=getCurrentPara(e);if(a){const e=n.attributes.style;e.display="flex";e.flexDirection="column";switch(a.vAlign){case"top":e.justifyContent="start";break;case"bottom":e.justifyContent="end";break;case"middle":e.justifyContent="center"}const t=a[Zi]();for(const[n,a]of Object.entries(t))n in e||(e[n]=a)}}}function setFontFamily(e,t,n,a){if(!n){delete a.fontFamily;return}const s=stripQuotes(e.typeface);a.fontFamily=`"${s}"`;const r=n.find(s);if(r){const{fontFamily:n}=r.regular.cssFontInfo;n!==s&&(a.fontFamily=`"${n}"`);const i=getCurrentPara(t);if(i&&""!==i.lineHeight)return;if(a.lineHeight)return;const o=selectFont(e,r);o&&(a.lineHeight=Math.max(1.2,o.lineHeight))}}function fixURL(e){const t=createValidAbsoluteUrl(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null}function createLine(e,t){return{name:"div",attributes:{class:["lr-tb"===e.layout?"xfaLr":"xfaRl"]},children:t}}function flushHTML(e){if(!e[Jr])return null;const t={name:"div",attributes:e[Jr].attributes,children:e[Jr].children};if(e[Jr].failingNode){const n=e[Jr].failingNode[Zr]();n&&(e.layout.endsWith("-tb")?t.children.push(createLine(e,[n])):t.children.push(n))}return 0===t.children.length?null:t}function addHTML(e,t,n){const a=e[Jr],s=a.availableSpace,[r,i,o,l]=n;switch(e.layout){case"position":a.width=Math.max(a.width,r+o);a.height=Math.max(a.height,i+l);a.children.push(t);break;case"lr-tb":case"rl-tb":if(!a.line||1===a.attempt){a.line=createLine(e,[]);a.children.push(a.line);a.numberInLine=0}a.numberInLine+=1;a.line.children.push(t);if(0===a.attempt){a.currentWidth+=o;a.height=Math.max(a.height,a.prevHeight+l)}else{a.currentWidth=o;a.prevHeight=a.height;a.height+=l;a.attempt=0}a.width=Math.max(a.width,a.currentWidth);break;case"rl-row":case"row":{a.children.push(t);a.width+=o;a.height=Math.max(a.height,l);const e=measureToString(a.height);for(const t of a.children)t.attributes.style.height=e;break}case"table":case"tb":a.width=MathClamp(o,a.width,s.width);a.height+=l;a.children.push(t)}}function getAvailableSpace(e){const t=e[Jr].availableSpace,n=e.margin?e.margin.topInset+e.margin.bottomInset:0,a=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case"lr-tb":case"rl-tb":return 0===e[Jr].attempt?{width:t.width-a-e[Jr].currentWidth,height:t.height-n-e[Jr].prevHeight}:{width:t.width-a,height:t.height-n-e[Jr].height};case"rl-row":case"row":return{width:Math.sumPrecise(e[Jr].columnWidths.slice(e[Jr].currentColumn)),height:t.height-a};case"table":case"tb":return{width:t.width-a,height:t.height-n-e[Jr].height};default:return t}}function checkDimensions(e,t){if(null===e[pi]()[Jr].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const n=e[ui](),a=n[Jr]?.attempt||0,[,s,r,i]=function getTransformedBBox(e){let t,n,a=""===e.w?NaN:e.w,s=""===e.h?NaN:e.h,[r,i]=[0,0];switch(e.anchorType||""){case"bottomCenter":[r,i]=[a/2,s];break;case"bottomLeft":[r,i]=[0,s];break;case"bottomRight":[r,i]=[a,s];break;case"middleCenter":[r,i]=[a/2,s/2];break;case"middleLeft":[r,i]=[0,s/2];break;case"middleRight":[r,i]=[a,s/2];break;case"topCenter":[r,i]=[a/2,0];break;case"topRight":[r,i]=[a,0]}switch(e.rotate||0){case 0:[t,n]=[-r,-i];break;case 90:[t,n]=[-i,r];[a,s]=[s,-a];break;case 180:[t,n]=[r,i];[a,s]=[-a,-s];break;case 270:[t,n]=[i,-r];[a,s]=[-s,a]}return[e.x+t+Math.min(0,a),e.y+n+Math.min(0,s),Math.abs(a),Math.abs(s)]}(e);switch(n.layout){case"lr-tb":case"rl-tb":return 0===a?e[pi]()[Jr].noLayoutFailure?""!==e.w?Math.round(r-t.width)<=2:t.width>2:!(""!==e.h&&Math.round(i-t.height)>2)&&(""!==e.w?Math.round(r-t.width)<=2||0===n[Jr].numberInLine&&t.height>2:t.width>2):!!e[pi]()[Jr].noLayoutFailure||!(""!==e.h&&Math.round(i-t.height)>2)&&((""===e.w||Math.round(r-t.width)<=2||!n[Ai]())&&t.height>2);case"table":case"tb":return!!e[pi]()[Jr].noLayoutFailure||(""===e.h||e[xi]()?(""===e.w||Math.round(r-t.width)<=2||!n[Ai]())&&t.height>2:Math.round(i-t.height)<=2);case"position":if(e[pi]()[Jr].noLayoutFailure)return!0;if(""===e.h||Math.round(i+s-t.height)<=2)return!0;return i+s>e[pi]()[Jr].currentContentArea.h;case"rl-row":case"row":return!!e[pi]()[Jr].noLayoutFailure||(""===e.h||Math.round(i-t.height)<=2);default:return!0}}const Mo=no.template.id,Po="http://www.w3.org/2000/svg",Eo=/^H(\d+)$/,No=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),zo=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[oi]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function hasMargin(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function _setValue(e,t){if(!e.value){const t=new Value({});e[Lr](t);e.value=t}e.value[Gi](t)}function*getContainedChildren(e){for(const t of e[fi]())t instanceof SubformSet?yield*t[ci]():yield t}function isRequired(e){return"error"===e.validate?.nullTest}function setTabIndex(e){for(;e;){if(!e.traversal){e[Vi]=e[mi]()[Vi];return}if(e[Vi])return;let t=null;for(const n of e.traversal[fi]())if("next"===n.operation){t=n;break}if(!t||!t.ref){e[Vi]=e[mi]()[Vi];return}const n=e[pi]();e[Vi]=++n[Vi];const a=n[Xi](t.ref,e);if(!a)return;e=a[0]}}function applyAssist(e,t){const n=e.assist;if(n){const e=n[Ji]();e&&(t.title=e);const a=n.role.match(Eo);if(a){const e="heading",n=a[1];t.role=e;t["aria-level"]=n}}if("table"===e.layout)t.role="table";else if("row"===e.layout)t.role="row";else{const n=e[mi]();"row"===n.layout&&(t.role="TH"===n.assist?.role?"columnheader":"cell")}}function ariaLabel(e){if(!e.assist)return null;const t=e.assist;return t.speak&&""!==t.speak[Vr]?t.speak[Vr]:t.toolTip?t.toolTip[Vr]:null}function valueToHtml(e){return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e}]})}function setFirstUnsplittable(e){const t=e[pi]();if(null===t[Jr].firstUnsplittable){t[Jr].firstUnsplittable=e;t[Jr].noLayoutFailure=!0}}function unsetFirstUnsplittable(e){const t=e[pi]();t[Jr].firstUnsplittable===e&&(t[Jr].noLayoutFailure=!1)}function handleBreak(e){if(e[Jr])return!1;e[Jr]=Object.create(null);if("auto"===e.targetType)return!1;const t=e[pi]();let n=null;if(e.target){n=t[Xi](e.target,e[mi]());if(!n)return!1;n=n[0]}const{currentPageArea:a,currentContentArea:s}=t[Jr];if("pageArea"===e.targetType){n instanceof PageArea||(n=null);if(e.startNew){e[Jr].target=n||a;return!0}if(n&&n!==a){e[Jr].target=n;return!0}return!1}n instanceof ContentArea||(n=null);const r=n&&n[mi]();let i,o=r;if(e.startNew)if(n){const e=r.contentArea.children,t=e.indexOf(s),a=e.indexOf(n);-1!==t&&t<a&&(o=null);i=a-1}else i=a.contentArea.children.indexOf(s);else{if(!n||n===s)return!1;i=r.contentArea.children.indexOf(n)-1;o=r===a?null:r}e[Jr].target=o;e[Jr].index=i;return!0}function handleOverflow(e,t,n){const a=e[pi](),s=a[Jr].noLayoutFailure,r=t[ui];t[ui]=()=>e;a[Jr].noLayoutFailure=!0;const i=t[Ji](n);e[zr](i.html,i.bbox);a[Jr].noLayoutFailure=s;t[ui]=r}class AppearanceFilter extends StringObject{constructor(e){super(Mo,"appearanceFilter");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Arc extends XFAObject{constructor(e){super(Mo,"arc",!0);this.circular=getInteger({data:e.circular,defaultValue:0,validate:e=>1===e});this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.startAngle=getFloat({data:e.startAngle,defaultValue:0,validate:e=>!0});this.sweepAngle=getFloat({data:e.sweepAngle,defaultValue:360,validate:e=>!0});this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null;this.fill=null}[Ji](){const e=this.edge||new Edge({}),t=e[Zi](),n=Object.create(null);"visible"===this.fill?.presence?Object.assign(n,this.fill[Zi]()):n.fill="transparent";n.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);n.stroke=t.color;let a;const s={xmlns:Po,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)a={name:"ellipse",attributes:{xmlns:Po,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:n}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,r=this.sweepAngle>180?1:0,[i,o,l,f]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];a={name:"path",attributes:{xmlns:Po,d:`M ${i} ${o} A 50 50 0 ${r} 0 ${l} ${f}`,vectorEffect:"non-scaling-stroke",style:n}};Object.assign(s,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const r={name:"svg",children:[a],attributes:s};if(hasMargin(this[mi]()[mi]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[r]});r.attributes.style.position="absolute";return HTMLResult.success(r)}}class Area extends XFAObject{constructor(e){super(Mo,"area",!0);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null;this.area=new XFAObjectArray;this.draw=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[ci](){yield*getContainedChildren(this)}[Ci](){return!0}[yi](){return!0}[zr](e,t){const[n,a,s,r]=t;this[Jr].width=Math.max(this[Jr].width,n+s);this[Jr].height=Math.max(this[Jr].height,a+r);this[Jr].children.push(e)}[ni](){return this[Jr].availableSpace}[Ji](e){const t=toStyle(this,"position"),n={style:t,id:this[eo],class:["xfaArea"]};isPrintOnly(this)&&n.class.push("xfaPrintOnly");this.name&&(n.xfaName=this.name);const a=[];this[Jr]={children:a,width:0,height:0,availableSpace:e};const s=this[Ur]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!s.success){if(s.isBreak())return s;delete this[Jr];return HTMLResult.FAILURE}t.width=measureToString(this[Jr].width);t.height=measureToString(this[Jr].height);const r={name:"div",attributes:n,children:a},i=[this.x,this.y,this[Jr].width,this[Jr].height];delete this[Jr];return HTMLResult.success(r,i)}}class Assist extends XFAObject{constructor(e){super(Mo,"assist",!0);this.id=e.id||"";this.role=e.role||"";this.use=e.use||"";this.usehref=e.usehref||"";this.speak=null;this.toolTip=null}[Ji](){return this.toolTip?.[Vr]||null}}class Barcode extends XFAObject{constructor(e){super(Mo,"barcode",!0);this.charEncoding=getKeyword({data:e.charEncoding?e.charEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.checksum=getStringOption(e.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]);this.dataColumnCount=getInteger({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0});this.dataLength=getInteger({data:e.dataLength,defaultValue:-1,validate:e=>e>=0});this.dataPrep=getStringOption(e.dataPrep,["none","flateCompress"]);this.dataRowCount=getInteger({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0});this.endChar=e.endChar||"";this.errorCorrectionLevel=getInteger({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8});this.id=e.id||"";this.moduleHeight=getMeasurement(e.moduleHeight,"5mm");this.moduleWidth=getMeasurement(e.moduleWidth,"0.25mm");this.printCheckDigit=getInteger({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e});this.rowColumnRatio=getRatio(e.rowColumnRatio);this.startChar=e.startChar||"";this.textLocation=getStringOption(e.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]);this.truncate=getInteger({data:e.truncate,defaultValue:0,validate:e=>1===e});this.type=getStringOption(e.type?e.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]);this.upsMode=getStringOption(e.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]);this.use=e.use||"";this.usehref=e.usehref||"";this.wideNarrowRatio=getRatio(e.wideNarrowRatio);this.encrypt=null;this.extras=null}}class Bind extends XFAObject{constructor(e){super(Mo,"bind",!0);this.match=getStringOption(e.match,["once","dataRef","global","none"]);this.ref=e.ref||"";this.picture=null}}class BindItems extends XFAObject{constructor(e){super(Mo,"bindItems");this.connection=e.connection||"";this.labelRef=e.labelRef||"";this.ref=e.ref||"";this.valueRef=e.valueRef||""}}class Bookend extends XFAObject{constructor(e){super(Mo,"bookend");this.id=e.id||"";this.leader=e.leader||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}}class BooleanElement extends Option01{constructor(e){super(Mo,"boolean");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Ji](e){return valueToHtml(1===this[Vr]?"1":"0")}}class Border extends XFAObject{constructor(e){super(Mo,"border",!0);this.break=getStringOption(e.break,["close","open"]);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[oi](){if(!this[Jr]){const e=this.edge.children.slice();if(e.length<4){const t=e.at(-1)||new Edge({});for(let n=e.length;n<4;n++)e.push(t)}const t=e.map(e=>e.thickness),n=[0,0,0,0];if(this.margin){n[0]=this.margin.topInset;n[1]=this.margin.rightInset;n[2]=this.margin.bottomInset;n[3]=this.margin.leftInset}this[Jr]={widths:t,insets:n,edges:e}}return this[Jr]}[Zi](){const{edges:e}=this[oi](),t=e.map(e=>{const t=e[Zi]();t.color||="#000000";return t}),n=Object.create(null);this.margin&&Object.assign(n,this.margin[Zi]());"visible"===this.fill?.presence&&Object.assign(n,this.fill[Zi]());if(this.corner.children.some(e=>0!==e.radius)){const e=this.corner.children.map(e=>e[Zi]());if(2===e.length||3===e.length){const t=e.at(-1);for(let n=e.length;n<4;n++)e.push(t)}n.borderRadius=e.map(e=>e.radius).join(" ")}switch(this.presence){case"invisible":case"hidden":n.borderStyle="";break;case"inactive":n.borderStyle="none";break;default:n.borderStyle=t.map(e=>e.style).join(" ")}n.borderWidth=t.map(e=>e.width).join(" ");n.borderColor=t.map(e=>e.color).join(" ");return n}}class Break extends XFAObject{constructor(e){super(Mo,"break",!0);this.after=getStringOption(e.after,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.afterTarget=e.afterTarget||"";this.before=getStringOption(e.before,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.beforeTarget=e.beforeTarget||"";this.bookendLeader=e.bookendLeader||"";this.bookendTrailer=e.bookendTrailer||"";this.id=e.id||"";this.overflowLeader=e.overflowLeader||"";this.overflowTarget=e.overflowTarget||"";this.overflowTrailer=e.overflowTrailer||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class BreakAfter extends XFAObject{constructor(e){super(Mo,"breakAfter",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}}class BreakBefore extends XFAObject{constructor(e){super(Mo,"breakBefore",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}[Ji](e){this[Jr]={};return HTMLResult.FAILURE}}class Button extends XFAObject{constructor(e){super(Mo,"button",!0);this.highlight=getStringOption(e.highlight,["inverted","none","outline","push"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Ji](e){const t=this[mi]()[mi](),n={name:"button",attributes:{id:this[eo],class:["xfaButton"],style:{}},children:[]};for(const e of t.event.children){if("click"!==e.activity||!e.script)continue;const t=recoverJsURL(e.script[Vr]);if(!t)continue;const a=fixURL(t.url);a&&n.children.push({name:"a",attributes:{id:"link"+this[eo],href:a,newWindow:t.newWindow,class:["xfaLink"],style:{}},children:[]})}return HTMLResult.success(n)}}class Calculate extends XFAObject{constructor(e){super(Mo,"calculate",!0);this.id=e.id||"";this.override=getStringOption(e.override,["disabled","error","ignore","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.script=null}}class Caption extends XFAObject{constructor(e){super(Mo,"caption",!0);this.id=e.id||"";this.placement=getStringOption(e.placement,["left","bottom","inline","right","top"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.reserve=Math.ceil(getMeasurement(e.reserve));this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.font=null;this.margin=null;this.para=null;this.value=null}[Gi](e){_setValue(this,e)}[oi](e){if(!this[Jr]){let{width:t,height:n}=e;switch(this.placement){case"left":case"right":case"inline":t=this.reserve<=0?t:this.reserve;break;case"top":case"bottom":n=this.reserve<=0?n:this.reserve}this[Jr]=layoutNode(this,{width:t,height:n})}return this[Jr]}[Ji](e){if(!this.value)return HTMLResult.EMPTY;this[Ei]();const t=this.value[Ji](e).html;if(!t){this[Pi]();return HTMLResult.EMPTY}const n=this.reserve;if(this.reserve<=0){const{w:t,h:n}=this[oi](e);switch(this.placement){case"left":case"right":case"inline":this.reserve=t;break;case"top":case"bottom":this.reserve=n}}const a=[];"string"==typeof t?a.push({name:"#text",value:t}):a.push(t);const s=toStyle(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(s.width=measureToString(this.reserve));break;case"top":case"bottom":this.reserve>0&&(s.height=measureToString(this.reserve))}setPara(this,null,t);this[Pi]();this.reserve=n;return HTMLResult.success({name:"div",attributes:{style:s,class:["xfaCaption"]},children:a})}}class Certificate extends StringObject{constructor(e){super(Mo,"certificate");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Certificates extends XFAObject{constructor(e){super(Mo,"certificates",!0);this.credentialServerPolicy=getStringOption(e.credentialServerPolicy,["optional","required"]);this.id=e.id||"";this.url=e.url||"";this.urlPolicy=e.urlPolicy||"";this.use=e.use||"";this.usehref=e.usehref||"";this.encryption=null;this.issuers=null;this.keyUsage=null;this.oids=null;this.signing=null;this.subjectDNs=null}}class CheckButton extends XFAObject{constructor(e){super(Mo,"checkButton",!0);this.id=e.id||"";this.mark=getStringOption(e.mark,["default","check","circle","cross","diamond","square","star"]);this.shape=getStringOption(e.shape,["square","round"]);this.size=getMeasurement(e.size,"10pt");this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Ji](e){const t=toStyle(this,"margin"),n=measureToString(this.size);t.width=t.height=n;let a,s,r;const i=this[mi]()[mi](),o=i.items.children.length&&i.items.children[0][Ji]().html||[],l={on:(void 0!==o[0]?o[0]:"on").toString(),off:(void 0!==o[1]?o[1]:"off").toString()},f=(i.value?.[$i]()||"off")===l.on||void 0,c=i[ui](),h=i[eo];let u;if(c instanceof ExclGroup){r=c[eo];a="radio";s="xfaRadio";u=c[$r]?.[eo]||c[eo]}else{a="checkbox";s="xfaCheckbox";u=i[$r]?.[eo]||i[eo]}const m={name:"input",attributes:{class:[s],style:t,fieldId:h,dataId:u,type:a,checked:f,xfaOn:l.on,xfaOff:l.off,"aria-label":ariaLabel(i),"aria-required":!1}};r&&(m.attributes.name=r);if(isRequired(i)){m.attributes["aria-required"]=!0;m.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[m]})}}class ChoiceList extends XFAObject{constructor(e){super(Mo,"choiceList",!0);this.commitOn=getStringOption(e.commitOn,["select","exit"]);this.id=e.id||"";this.open=getStringOption(e.open,["userControl","always","multiSelect","onEntry"]);this.textEntry=getInteger({data:e.textEntry,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Ji](e){const t=toStyle(this,"border","margin"),n=this[mi]()[mi](),a={fontSize:`calc(${n.font?.size||10}px * var(--total-scale-factor))`},s=[];if(n.items.children.length>0){const e=n.items;let t=0,r=0;if(2===e.children.length){t=e.children[0].save;r=1-t}const i=e.children[t][Ji]().html,o=e.children[r][Ji]().html;let l=!1;const f=n.value?.[$i]()||"";for(let e=0,t=i.length;e<t;e++){const t={name:"option",attributes:{value:o[e]||i[e],style:a},value:i[e]};o[e]===f&&(t.attributes.selected=l=!0);s.push(t)}l||s.splice(0,0,{name:"option",attributes:{hidden:!0,selected:!0},value:" "})}const r={class:["xfaSelect"],fieldId:n[eo],dataId:n[$r]?.[eo]||n[eo],style:t,"aria-label":ariaLabel(n),"aria-required":!1};if(isRequired(n)){r["aria-required"]=!0;r.required=!0}"multiSelect"===this.open&&(r.multiple=!0);return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[{name:"select",children:s,attributes:r}]})}}class Color extends XFAObject{constructor(e){super(Mo,"color",!0);this.cSpace=getStringOption(e.cSpace,["SRGB"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.value=e.value?function getColor(e,t=[0,0,0]){let[n,a,s]=t;if(!e)return{r:n,g:a,b:s};const r=e.split(",",3).map(e=>MathClamp(parseInt(e.trim(),10),0,255)).map(e=>isNaN(e)?0:e);if(r.length<3)return{r:n,g:a,b:s};[n,a,s]=r;return{r:n,g:a,b:s}}(e.value):"";this.extras=null}[gi](){return!1}[Zi](){return this.value?Util.makeHexColor(this.value.r,this.value.g,this.value.b):null}}class Comb extends XFAObject{constructor(e){super(Mo,"comb");this.id=e.id||"";this.numberOfCells=getInteger({data:e.numberOfCells,defaultValue:0,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||""}}class Connect extends XFAObject{constructor(e){super(Mo,"connect",!0);this.connection=e.connection||"";this.id=e.id||"";this.ref=e.ref||"";this.usage=getStringOption(e.usage,["exportAndImport","exportOnly","importOnly"]);this.use=e.use||"";this.usehref=e.usehref||"";this.picture=null}}class ContentArea extends XFAObject{constructor(e){super(Mo,"contentArea",!0);this.h=getMeasurement(e.h);this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=getMeasurement(e.w);this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null}[Ji](e){const t={left:measureToString(this.x),top:measureToString(this.y),width:measureToString(this.w),height:measureToString(this.h)},n=["xfaContentarea"];isPrintOnly(this)&&n.push("xfaPrintOnly");return HTMLResult.success({name:"div",children:[],attributes:{style:t,class:n,id:this[eo]}})}}class Corner extends XFAObject{constructor(e){super(Mo,"corner",!0);this.id=e.id||"";this.inverted=getInteger({data:e.inverted,defaultValue:0,validate:e=>1===e});this.join=getStringOption(e.join,["square","round"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.radius=getMeasurement(e.radius);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zi](){const e=toStyle(this,"visibility");e.radius=measureToString("square"===this.join?0:this.radius);return e}}class DateElement extends ContentObject{constructor(e){super(Mo,"date");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){const e=this[Vr].trim();this[Vr]=e?new Date(e):null}[Ji](e){return valueToHtml(this[Vr]?this[Vr].toString():"")}}class DateTime extends ContentObject{constructor(e){super(Mo,"dateTime");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){const e=this[Vr].trim();this[Vr]=e?new Date(e):null}[Ji](e){return valueToHtml(this[Vr]?this[Vr].toString():"")}}class DateTimeEdit extends XFAObject{constructor(e){super(Mo,"dateTimeEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.picker=getStringOption(e.picker,["host","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[Ji](e){const t=toStyle(this,"border","font","margin"),n=this[mi]()[mi](),a={name:"input",attributes:{type:"text",fieldId:n[eo],dataId:n[$r]?.[eo]||n[eo],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(n),"aria-required":!1}};if(isRequired(n)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Decimal extends ContentObject{constructor(e){super(Mo,"decimal");this.fracDigits=getInteger({data:e.fracDigits,defaultValue:2,validate:e=>!0});this.id=e.id||"";this.leadDigits=getInteger({data:e.leadDigits,defaultValue:-1,validate:e=>!0});this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){const e=parseFloat(this[Vr].trim());this[Vr]=isNaN(e)?null:e}[Ji](e){return valueToHtml(null!==this[Vr]?this[Vr].toString():"")}}class DefaultUi extends XFAObject{constructor(e){super(Mo,"defaultUi",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Desc extends XFAObject{constructor(e){super(Mo,"desc",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class DigestMethod extends OptionObject{constructor(e){super(Mo,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class DigestMethods extends XFAObject{constructor(e){super(Mo,"digestMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.digestMethod=new XFAObjectArray}}class Draw extends XFAObject{constructor(e){super(Mo,"draw",!0);this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.border=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.value=null;this.setProperty=new XFAObjectArray}[Gi](e){_setValue(this,e)}[Ji](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;fixDimensions(this);this[Ei]();const t=this.w,n=this.h,{w:a,h:s,isBroken:r}=layoutNode(this,e);if(a&&""===this.w){if(r&&this[ui]()[Ai]()){this[Pi]();return HTMLResult.FAILURE}this.w=a}s&&""===this.h&&(this.h=s);setFirstUnsplittable(this);if(!checkDimensions(this,e)){this.w=t;this.h=n;this[Pi]();return HTMLResult.FAILURE}unsetFirstUnsplittable(this);const i=toStyle(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");setMinMaxDimensions(this,i);if(i.margin){i.padding=i.margin;delete i.margin}const o=["xfaDraw"];this.font&&o.push("xfaFont");isPrintOnly(this)&&o.push("xfaPrintOnly");const l={style:i,id:this[eo],class:o};this.name&&(l.xfaName=this.name);const f={name:"div",attributes:l,children:[]};applyAssist(this,l);const c=computeBbox(this,f,e),h=this.value?this.value[Ji](e).html:null;if(null===h){this.w=t;this.h=n;this[Pi]();return HTMLResult.success(createWrapper(this,f),c)}f.children.push(h);setPara(this,i,h);this.w=t;this.h=n;this[Pi]();return HTMLResult.success(createWrapper(this,f),c)}}class Edge extends XFAObject{constructor(e){super(Mo,"edge",!0);this.cap=getStringOption(e.cap,["square","butt","round"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zi](){const e=toStyle(this,"visibility");Object.assign(e,{linecap:this.cap,width:measureToString(this.thickness),color:this.color?this.color[Zi]():"#000000",style:""});if("visible"!==this.presence)e.style="none";else switch(this.stroke){case"solid":e.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":e.style="dashed";break;case"dotted":e.style="dotted";break;case"embossed":e.style="ridge";break;case"etched":e.style="groove";break;case"lowered":e.style="inset";break;case"raised":e.style="outset"}return e}}class Encoding extends OptionObject{constructor(e){super(Mo,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Encodings extends XFAObject{constructor(e){super(Mo,"encodings",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encoding=new XFAObjectArray}}class Encrypt extends XFAObject{constructor(e){super(Mo,"encrypt",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=null}}class EncryptData extends XFAObject{constructor(e){super(Mo,"encryptData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["encrypt","decrypt"]);this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Encryption extends XFAObject{constructor(e){super(Mo,"encryption",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class EncryptionMethod extends OptionObject{constructor(e){super(Mo,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EncryptionMethods extends XFAObject{constructor(e){super(Mo,"encryptionMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encryptionMethod=new XFAObjectArray}}class Event extends XFAObject{constructor(e){super(Mo,"event",!0);this.activity=getStringOption(e.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]);this.id=e.id||"";this.listen=getStringOption(e.listen,["refOnly","refAndDescendents"]);this.name=e.name||"";this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.encryptData=null;this.execute=null;this.script=null;this.signData=null;this.submit=null}}class ExData extends ContentObject{constructor(e){super(Mo,"exData");this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.maxLength=getInteger({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1});this.name=e.name||"";this.rid=e.rid||"";this.transferEncoding=getStringOption(e.transferEncoding,["none","base64","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[ki](){return"text/html"===this.contentType}[Bi](e){if("text/html"===this.contentType&&e[Ti]===no.xhtml.id){this[Vr]=e;return!0}if("text/xml"===this.contentType){this[Vr]=e;return!0}return!1}[Ji](e){return"text/html"===this.contentType&&this[Vr]?this[Vr][Ji](e):HTMLResult.EMPTY}}class ExObject extends XFAObject{constructor(e){super(Mo,"exObject",!0);this.archive=e.archive||"";this.classId=e.classId||"";this.codeBase=e.codeBase||"";this.codeType=e.codeType||"";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class ExclGroup extends XFAObject{constructor(e){super(Mo,"exclGroup",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.accessKey=e.accessKey||"";this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.margin=null;this.para=null;this.traversal=null;this.validate=null;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.field=new XFAObjectArray;this.setProperty=new XFAObjectArray}[yi](){return!0}[gi](){return!0}[Gi](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[Lr](e);t.value=e}t.value[Gi](e)}}[Ai](){return this.layout.endsWith("-tb")&&0===this[Jr].attempt&&this[Jr].numberInLine>0||this[mi]()[Ai]()}[xi](){const e=this[ui]();if(!e[xi]())return!1;if(void 0!==this[Jr]._isSplittable)return this[Jr]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[Jr]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[Jr].numberInLine)return!1;this[Jr]._isSplittable=!0;return!0}[Zr](){return flushHTML(this)}[zr](e,t){addHTML(this,e,t)}[ni](){return getAvailableSpace(this)}[Ji](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;fixDimensions(this);const t=[],n={id:this[eo],class:[]};setAccess(this,n.class);this[Jr]||=Object.create(null);Object.assign(this[Jr],{children:t,attributes:n,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const a=this[xi]();a||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const s=new Set(["field"]);if(this.layout.includes("row")){const e=this[ui]().columnWidths;if(Array.isArray(e)&&e.length>0){this[Jr].columnWidths=e;this[Jr].currentColumn=0}}const r=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),i=["xfaExclgroup"],o=layoutClass(this);o&&i.push(o);isPrintOnly(this)&&i.push("xfaPrintOnly");n.style=r;n.class=i;this.name&&(n.xfaName=this.name);this[Ei]();const l="lr-tb"===this.layout||"rl-tb"===this.layout,f=l?2:1;for(;this[Jr].attempt<f;this[Jr].attempt++){l&&1===this[Jr].attempt&&(this[Jr].numberInLine=0);const e=this[Ur]({filter:s,include:!0});if(e.success)break;if(e.isBreak()){this[Pi]();return e}if(l&&0===this[Jr].attempt&&0===this[Jr].numberInLine&&!this[pi]()[Jr].noLayoutFailure){this[Jr].attempt=f;break}}this[Pi]();a||unsetFirstUnsplittable(this);if(this[Jr].attempt===f){a||delete this[Jr];return HTMLResult.FAILURE}let c=0,h=0;if(this.margin){c=this.margin.leftInset+this.margin.rightInset;h=this.margin.topInset+this.margin.bottomInset}const u=Math.max(this[Jr].width+c,this.w||0),m=Math.max(this[Jr].height+h,this.h||0),p=[this.x,this.y,u,m];""===this.w&&(r.width=measureToString(u));""===this.h&&(r.height=measureToString(m));const d={name:"div",attributes:n,children:t};applyAssist(this,n);delete this[Jr];return HTMLResult.success(createWrapper(this,d),p)}}class Execute extends XFAObject{constructor(e){super(Mo,"execute");this.connection=e.connection||"";this.executeType=getStringOption(e.executeType,["import","remerge"]);this.id=e.id||"";this.runAt=getStringOption(e.runAt,["client","both","server"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Extras extends XFAObject{constructor(e){super(Mo,"extras",!0);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.extras=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class Field extends XFAObject{constructor(e){super(Mo,"field",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.accessKey=e.accessKey||"";this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.format=null;this.items=new XFAObjectArray(2);this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.validate=null;this.value=null;this.bindItems=new XFAObjectArray;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.setProperty=new XFAObjectArray}[yi](){return!0}[Gi](e){_setValue(this,e)}[Ji](e){setTabIndex(this);if(!this.ui){this.ui=new Ui({});this.ui[di]=this[di];this[Lr](this.ui);let e;switch(this.items.children.length){case 0:e=new TextEdit({});this.ui.textEdit=e;break;case 1:e=new CheckButton({});this.ui.checkButton=e;break;case 2:e=new ChoiceList({});this.ui.choiceList=e}this.ui[Lr](e)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;this.caption&&delete this.caption[Jr];this[Ei]();const t=this.caption?this.caption[Ji](e).html:null,n=this.w,a=this.h;let s=0,r=0;if(this.margin){s=this.margin.leftInset+this.margin.rightInset;r=this.margin.topInset+this.margin.bottomInset}let i=null;if(""===this.w||""===this.h){let t=null,n=null,a=0,o=0;if(this.ui.checkButton)a=o=this.ui.checkButton.size;else{const{w:t,h:n}=layoutNode(this,e);if(null!==t){a=t;o=n}else o=function fonts_getMetrics(e,t=!1){let n=null;if(e){const t=stripQuotes(e.typeface),a=e[di].fontFinder.find(t);n=selectFont(e,a)}if(!n)return{lineHeight:12,lineGap:2,lineNoGap:10};const a=e.size||10,s=n.lineHeight?Math.max(t?0:1.2,n.lineHeight):1.2,r=void 0===n.lineGap?.2:n.lineGap;return{lineHeight:s*a,lineGap:r*a,lineNoGap:Math.max(1,s-r)*a}}(this.font,!0).lineNoGap}i=getBorderDims(this.ui[oi]());a+=i.w;o+=i.h;if(this.caption){const{w:s,h:r,isBroken:i}=this.caption[oi](e);if(i&&this[ui]()[Ai]()){this[Pi]();return HTMLResult.FAILURE}t=s;n=r;switch(this.caption.placement){case"left":case"right":case"inline":t+=a;break;case"top":case"bottom":n+=o}}else{t=a;n=o}if(t&&""===this.w){t+=s;this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1<t?t:this.minW)}if(n&&""===this.h){n+=r;this.h=Math.min(this.maxH<=0?1/0:this.maxH,this.minH+1<n?n:this.minH)}}this[Pi]();fixDimensions(this);setFirstUnsplittable(this);if(!checkDimensions(this,e)){this.w=n;this.h=a;this[Pi]();return HTMLResult.FAILURE}unsetFirstUnsplittable(this);const o=toStyle(this,"font","dimensions","position","rotate","anchorType","presence","margin","hAlign");setMinMaxDimensions(this,o);const l=["xfaField"];this.font&&l.push("xfaFont");isPrintOnly(this)&&l.push("xfaPrintOnly");const f={style:o,id:this[eo],class:l};if(o.margin){o.padding=o.margin;delete o.margin}setAccess(this,l);this.name&&(f.xfaName=this.name);const c=[],h={name:"div",attributes:f,children:c};applyAssist(this,f);const u=this.border?this.border[Zi]():null,m=computeBbox(this,h,e),p=this.ui[Ji]().html;if(!p){Object.assign(o,u);return HTMLResult.success(createWrapper(this,h),m)}this[Vi]&&(p.children?.[0]?p.children[0].attributes.tabindex=this[Vi]:p.attributes.tabindex=this[Vi]);p.attributes.style||=Object.create(null);let d=null;if(this.ui.button){1===p.children.length&&([d]=p.children.splice(0,1));Object.assign(p.attributes.style,u)}else Object.assign(o,u);c.push(p);if(this.value)if(this.ui.imageEdit)p.children.push(this.value[Ji]().html);else if(!this.ui.button){let e="";if(this.value.exData)e=this.value.exData[$i]();else if(this.value.text)e=this.value.text[oi]();else{const t=this.value[Ji]().html;null!==t&&(e=t.children[0].value)}this.ui.textEdit&&this.value.text?.maxChars&&(p.children[0].attributes.maxLength=this.value.text.maxChars);if(e){if(this.ui.numericEdit){e=parseFloat(e);e=isNaN(e)?"":e.toString()}"textarea"===p.children[0].name?p.children[0].attributes.textContent=e:p.children[0].attributes.value=e}}if(!this.ui.imageEdit&&p.children?.[0]&&this.h){i=i||getBorderDims(this.ui[oi]());let t=0;if(this.caption&&["top","bottom"].includes(this.caption.placement)){t=this.caption.reserve;t<=0&&(t=this.caption[oi](e).h);const n=this.h-t-r-i.h;p.children[0].attributes.style.height=measureToString(n)}else p.children[0].attributes.style.height="100%"}d&&p.children.push(d);if(!t){p.attributes.class&&p.attributes.class.push("xfaLeft");this.w=n;this.h=a;return HTMLResult.success(createWrapper(this,h),m)}if(this.ui.button){o.padding&&delete o.padding;"div"===t.name&&(t.name="span");p.children.push(t);return HTMLResult.success(h,m)}this.ui.checkButton&&(t.attributes.class[0]="xfaCaptionForCheckButton");p.attributes.class||=[];p.children.splice(0,0,t);switch(this.caption.placement){case"left":case"inline":p.attributes.class.push("xfaLeft");break;case"right":p.attributes.class.push("xfaRight");break;case"top":p.attributes.class.push("xfaTop");break;case"bottom":p.attributes.class.push("xfaBottom")}this.w=n;this.h=a;return HTMLResult.success(createWrapper(this,h),m)}}class Fill extends XFAObject{constructor(e){super(Mo,"fill",!0);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null;this.linear=null;this.pattern=null;this.radial=null;this.solid=null;this.stipple=null}[Zi](){const e=this[mi](),t=e[mi]()[mi](),n=Object.create(null);let a="color",s=a;if(e instanceof Border){a="background-color";s="background";t instanceof Ui&&(n.backgroundColor="white")}if(e instanceof Rectangle||e instanceof Arc){a=s="fill";n.fill="white"}for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"color"===e)continue;const t=this[e];if(!(t instanceof XFAObject))continue;const r=t[Zi](this.color);r&&(n[r.startsWith("#")?a:s]=r);return n}if(this.color?.value){const e=this.color[Zi]();n[e.startsWith("#")?a:s]=e}return n}}class Filter extends XFAObject{constructor(e){super(Mo,"filter",!0);this.addRevocationInfo=getStringOption(e.addRevocationInfo,["","required","optional","none"]);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.version=getInteger({data:this.version,defaultValue:5,validate:e=>e>=1&&e<=5});this.appearanceFilter=null;this.certificates=null;this.digestMethods=null;this.encodings=null;this.encryptionMethods=null;this.handler=null;this.lockDocument=null;this.mdp=null;this.reasons=null;this.timeStamp=null}}class Float extends ContentObject{constructor(e){super(Mo,"float");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){const e=parseFloat(this[Vr].trim());this[Vr]=isNaN(e)?null:e}[Ji](e){return valueToHtml(null!==this[Vr]?this[Vr].toString():"")}}class template_Font extends XFAObject{constructor(e){super(Mo,"font",!0);this.baselineShift=getMeasurement(e.baselineShift);this.fontHorizontalScale=getFloat({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0});this.fontVerticalScale=getFloat({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0});this.id=e.id||"";this.kerningMode=getStringOption(e.kerningMode,["none","pair"]);this.letterSpacing=getMeasurement(e.letterSpacing,"0");this.lineThrough=getInteger({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e});this.lineThroughPeriod=getStringOption(e.lineThroughPeriod,["all","word"]);this.overline=getInteger({data:e.overline,defaultValue:0,validate:e=>1===e||2===e});this.overlinePeriod=getStringOption(e.overlinePeriod,["all","word"]);this.posture=getStringOption(e.posture,["normal","italic"]);this.size=getMeasurement(e.size,"10pt");this.typeface=e.typeface||"Courier";this.underline=getInteger({data:e.underline,defaultValue:0,validate:e=>1===e||2===e});this.underlinePeriod=getStringOption(e.underlinePeriod,["all","word"]);this.use=e.use||"";this.usehref=e.usehref||"";this.weight=getStringOption(e.weight,["normal","bold"]);this.extras=null;this.fill=null}[_r](e){super[_r](e);this[di].usedTypefaces.add(this.typeface)}[Zi](){const e=toStyle(this,"fill"),t=e.color;if(t)if("#000000"===t)delete e.color;else if(!t.startsWith("#")){e.background=t;e.backgroundClip="text";e.color="transparent"}this.baselineShift&&(e.verticalAlign=measureToString(this.baselineShift));e.fontKerning="none"===this.kerningMode?"none":"normal";e.letterSpacing=measureToString(this.letterSpacing);if(0!==this.lineThrough){e.textDecoration="line-through";2===this.lineThrough&&(e.textDecorationStyle="double")}if(0!==this.overline){e.textDecoration="overline";2===this.overline&&(e.textDecorationStyle="double")}e.fontStyle=this.posture;e.fontSize=measureToString(.99*this.size);setFontFamily(this,this,this[di].fontFinder,e);if(0!==this.underline){e.textDecoration="underline";2===this.underline&&(e.textDecorationStyle="double")}e.fontWeight=this.weight;return e}}class Format extends XFAObject{constructor(e){super(Mo,"format",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null}}class Handler extends StringObject{constructor(e){super(Mo,"handler");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Hyphenation extends XFAObject{constructor(e){super(Mo,"hyphenation");this.excludeAllCaps=getInteger({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e});this.excludeInitialCap=getInteger({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e});this.hyphenate=getInteger({data:e.hyphenate,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.pushCharacterCount=getInteger({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0});this.remainCharacterCount=getInteger({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||"";this.wordCharacterCount=getInteger({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}class Image extends StringObject{constructor(e){super(Mo,"image");this.aspect=getStringOption(e.aspect,["fit","actual","height","none","width"]);this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.name=e.name||"";this.transferEncoding=getStringOption(e.transferEncoding,["base64","none","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[Ji](){if(this.contentType&&!No.has(this.contentType.toLowerCase()))return HTMLResult.EMPTY;let e=this[di].images?.get(this.href);if(!e&&(this.href||!this[Vr]))return HTMLResult.EMPTY;e||"base64"!==this.transferEncoding||(e=Uint8Array.fromBase64(this[Vr]));if(!e)return HTMLResult.EMPTY;if(!this.contentType){for(const[t,n]of zo)if(e.length>t.length&&t.every((t,n)=>t===e[n])){this.contentType=n;break}if(!this.contentType)return HTMLResult.EMPTY}const t=new Blob([e],{type:this.contentType});let n;switch(this.aspect){case"fit":case"actual":break;case"height":n={height:"100%",objectFit:"fill"};break;case"none":n={width:"100%",height:"100%",objectFit:"fill"};break;case"width":n={width:"100%",objectFit:"fill"}}const a=this[mi]();return HTMLResult.success({name:"img",attributes:{class:["xfaImage"],style:n,src:URL.createObjectURL(t),alt:a?ariaLabel(a[mi]()):null}})}}class ImageEdit extends XFAObject{constructor(e){super(Mo,"imageEdit",!0);this.data=getStringOption(e.data,["link","embed"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Ji](e){return"embed"===this.data?HTMLResult.success({name:"div",children:[],attributes:{}}):HTMLResult.EMPTY}}class Integer extends ContentObject{constructor(e){super(Mo,"integer");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){const e=parseInt(this[Vr].trim(),10);this[Vr]=isNaN(e)?null:e}[Ji](e){return valueToHtml(null!==this[Vr]?this[Vr].toString():"")}}class Issuers extends XFAObject{constructor(e){super(Mo,"issuers",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Items extends XFAObject{constructor(e){super(Mo,"items",!0);this.id=e.id||"";this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.ref=e.ref||"";this.save=getInteger({data:e.save,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Ji](){const e=[];for(const t of this[fi]())e.push(t[$i]());return HTMLResult.success(e)}}class Keep extends XFAObject{constructor(e){super(Mo,"keep",!0);this.id=e.id||"";const t=["none","contentArea","pageArea"];this.intact=getStringOption(e.intact,t);this.next=getStringOption(e.next,t);this.previous=getStringOption(e.previous,t);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class KeyUsage extends XFAObject{constructor(e){super(Mo,"keyUsage");const t=["","yes","no"];this.crlSign=getStringOption(e.crlSign,t);this.dataEncipherment=getStringOption(e.dataEncipherment,t);this.decipherOnly=getStringOption(e.decipherOnly,t);this.digitalSignature=getStringOption(e.digitalSignature,t);this.encipherOnly=getStringOption(e.encipherOnly,t);this.id=e.id||"";this.keyAgreement=getStringOption(e.keyAgreement,t);this.keyCertSign=getStringOption(e.keyCertSign,t);this.keyEncipherment=getStringOption(e.keyEncipherment,t);this.nonRepudiation=getStringOption(e.nonRepudiation,t);this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Line extends XFAObject{constructor(e){super(Mo,"line",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.slope=getStringOption(e.slope,["\\","/"]);this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null}[Ji](){const e=this[mi]()[mi](),t=this.edge||new Edge({}),n=t[Zi](),a=Object.create(null),s="visible"===t.presence?t.thickness:0;a.strokeWidth=measureToString(s);a.stroke=n.color;let r,i,o,l,f="100%",c="100%";if(e.w<=s){[r,i,o,l]=["50%",0,"50%","100%"];f=a.strokeWidth}else if(e.h<=s){[r,i,o,l]=[0,"50%","100%","50%"];c=a.strokeWidth}else"\\"===this.slope?[r,i,o,l]=[0,0,"100%","100%"]:[r,i,o,l]=[0,"100%","100%",0];const h={name:"svg",children:[{name:"line",attributes:{xmlns:Po,x1:r,y1:i,x2:o,y2:l,style:a}}],attributes:{xmlns:Po,width:f,height:c,style:{overflow:"visible"}}};if(hasMargin(e))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[h]});h.attributes.style.position="absolute";return HTMLResult.success(h)}}class Linear extends XFAObject{constructor(e){super(Mo,"linear",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toRight","toBottom","toLeft","toTop"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zi](e){e=e?e[Zi]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[Zi]():"#000000"})`}}class LockDocument extends ContentObject{constructor(e){super(Mo,"lockDocument");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){this[Vr]=getStringOption(this[Vr],["auto","0","1"])}}class Manifest extends XFAObject{constructor(e){super(Mo,"manifest",!0);this.action=getStringOption(e.action,["include","all","exclude"]);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.ref=new XFAObjectArray}}class Margin extends XFAObject{constructor(e){super(Mo,"margin",!0);this.bottomInset=getMeasurement(e.bottomInset,"0");this.id=e.id||"";this.leftInset=getMeasurement(e.leftInset,"0");this.rightInset=getMeasurement(e.rightInset,"0");this.topInset=getMeasurement(e.topInset,"0");this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Zi](){return{margin:measureToString(this.topInset)+" "+measureToString(this.rightInset)+" "+measureToString(this.bottomInset)+" "+measureToString(this.leftInset)}}}class Mdp extends XFAObject{constructor(e){super(Mo,"mdp");this.id=e.id||"";this.permissions=getInteger({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e});this.signatureType=getStringOption(e.signatureType,["filler","author"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Medium extends XFAObject{constructor(e){super(Mo,"medium");this.id=e.id||"";this.imagingBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const n=e.split(",",4).map(e=>getMeasurement(e.trim(),"-1"));if(n.length<4||n[2]<0||n[3]<0)return{x:t,y:t,width:t,height:t};const[a,s,r,i]=n;return{x:a,y:s,width:r,height:i}}(e.imagingBBox);this.long=getMeasurement(e.long);this.orientation=getStringOption(e.orientation,["portrait","landscape"]);this.short=getMeasurement(e.short);this.stock=e.stock||"";this.trayIn=getStringOption(e.trayIn,["auto","delegate","pageFront"]);this.trayOut=getStringOption(e.trayOut,["auto","delegate"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Message extends XFAObject{constructor(e){super(Mo,"message",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.text=new XFAObjectArray}}class NumericEdit extends XFAObject{constructor(e){super(Mo,"numericEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[Ji](e){const t=toStyle(this,"border","font","margin"),n=this[mi]()[mi](),a={name:"input",attributes:{type:"text",fieldId:n[eo],dataId:n[$r]?.[eo]||n[eo],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(n),"aria-required":!1}};if(isRequired(n)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Occur extends XFAObject{constructor(e){super(Mo,"occur",!0);this.id=e.id||"";this.initial=""!==e.initial?getInteger({data:e.initial,defaultValue:"",validate:e=>!0}):"";this.max=""!==e.max?getInteger({data:e.max,defaultValue:-1,validate:e=>!0}):"";this.min=""!==e.min?getInteger({data:e.min,defaultValue:1,validate:e=>!0}):"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[_r](){const e=this[mi](),t=this.min;""===this.min&&(this.min=e instanceof PageArea||e instanceof PageSet?0:1);""===this.max&&(this.max=""===t?e instanceof PageArea||e instanceof PageSet?-1:1:this.min);-1!==this.max&&this.max<this.min&&(this.max=this.min);""===this.initial&&(this.initial=e instanceof Template?1:this.min)}}class Oid extends StringObject{constructor(e){super(Mo,"oid");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Oids extends XFAObject{constructor(e){super(Mo,"oids",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.oid=new XFAObjectArray}}class Overflow extends XFAObject{constructor(e){super(Mo,"overflow");this.id=e.id||"";this.leader=e.leader||"";this.target=e.target||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}[oi](){if(!this[Jr]){const e=this[mi](),t=this[pi](),n=t[Xi](this.target,e),a=t[Xi](this.leader,e),s=t[Xi](this.trailer,e);this[Jr]={target:n?.[0]||null,leader:a?.[0]||null,trailer:s?.[0]||null,addLeader:!1,addTrailer:!1}}return this[Jr]}}class PageArea extends XFAObject{constructor(e){super(Mo,"pageArea",!0);this.blankOrNotBlank=getStringOption(e.blankOrNotBlank,["any","blank","notBlank"]);this.id=e.id||"";this.initialNumber=getInteger({data:e.initialNumber,defaultValue:1,validate:e=>!0});this.name=e.name||"";this.numbered=getInteger({data:e.numbered,defaultValue:1,validate:e=>!0});this.oddOrEven=getStringOption(e.oddOrEven,["any","even","odd"]);this.pagePosition=getStringOption(e.pagePosition,["any","first","last","only","rest"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.desc=null;this.extras=null;this.medium=null;this.occur=null;this.area=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.draw=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray}[Ii](){if(!this[Jr]){this[Jr]={numberOfUse:0};return!0}return!this.occur||-1===this.occur.max||this[Jr].numberOfUse<this.occur.max}[Xr](){delete this[Jr]}[hi](){this[Jr]||={numberOfUse:0};const e=this[mi]();if("orderedOccurrence"===e.relation&&this[Ii]()){this[Jr].numberOfUse+=1;return this}return e[hi]()}[ni](){return this[Jr].space||{width:0,height:0}}[Ji](){this[Jr]||={numberOfUse:1};const e=[];this[Jr].children=e;const t=Object.create(null);if(this.medium&&this.medium.short&&this.medium.long){t.width=measureToString(this.medium.short);t.height=measureToString(this.medium.long);this[Jr].space={width:this.medium.short,height:this.medium.long};if("landscape"===this.medium.orientation){const e=t.width;t.width=t.height;t.height=e;this[Jr].space={width:this.medium.long,height:this.medium.short}}}else warn("XFA - No medium specified in pageArea: please file a bug.");this[Ur]({filter:new Set(["area","draw","field","subform"]),include:!0});this[Ur]({filter:new Set(["contentArea"]),include:!0});return HTMLResult.success({name:"div",children:e,attributes:{class:["xfaPage"],id:this[eo],style:t,xfaName:this.name}})}}class PageSet extends XFAObject{constructor(e){super(Mo,"pageSet",!0);this.duplexImposition=getStringOption(e.duplexImposition,["longEdge","shortEdge"]);this.id=e.id||"";this.name=e.name||"";this.relation=getStringOption(e.relation,["orderedOccurrence","duplexPaginated","simplexPaginated"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.occur=null;this.pageArea=new XFAObjectArray;this.pageSet=new XFAObjectArray}[Xr](){for(const e of this.pageArea.children)e[Xr]();for(const e of this.pageSet.children)e[Xr]()}[Ii](){return!this.occur||-1===this.occur.max||this[Jr].numberOfUse<this.occur.max}[hi](){this[Jr]||={numberOfUse:1,pageIndex:-1,pageSetIndex:-1};if("orderedOccurrence"===this.relation){if(this[Jr].pageIndex+1<this.pageArea.children.length){this[Jr].pageIndex+=1;return this.pageArea.children[this[Jr].pageIndex][hi]()}if(this[Jr].pageSetIndex+1<this.pageSet.children.length){this[Jr].pageSetIndex+=1;return this.pageSet.children[this[Jr].pageSetIndex][hi]()}if(this[Ii]()){this[Jr].numberOfUse+=1;this[Jr].pageIndex=-1;this[Jr].pageSetIndex=-1;return this[hi]()}const e=this[mi]();if(e instanceof PageSet)return e[hi]();this[Xr]();return this[hi]()}const e=this[pi]()[Jr].pageNumber,t=e%2==0?"even":"odd",n=0===e?"first":"rest";let a=this.pageArea.children.find(e=>e.oddOrEven===t&&e.pagePosition===n);if(a)return a;a=this.pageArea.children.find(e=>"any"===e.oddOrEven&&e.pagePosition===n);if(a)return a;a=this.pageArea.children.find(e=>"any"===e.oddOrEven&&"any"===e.pagePosition);return a||this.pageArea.children[0]}}class Para extends XFAObject{constructor(e){super(Mo,"para",!0);this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.lineHeight=e.lineHeight?getMeasurement(e.lineHeight,"0pt"):"";this.marginLeft=e.marginLeft?getMeasurement(e.marginLeft,"0pt"):"";this.marginRight=e.marginRight?getMeasurement(e.marginRight,"0pt"):"";this.orphans=getInteger({data:e.orphans,defaultValue:0,validate:e=>e>=0});this.preserve=e.preserve||"";this.radixOffset=e.radixOffset?getMeasurement(e.radixOffset,"0pt"):"";this.spaceAbove=e.spaceAbove?getMeasurement(e.spaceAbove,"0pt"):"";this.spaceBelow=e.spaceBelow?getMeasurement(e.spaceBelow,"0pt"):"";this.tabDefault=e.tabDefault?getMeasurement(this.tabDefault):"";this.tabStops=(e.tabStops||"").trim().split(/\s+/).map((e,t)=>t%2==1?getMeasurement(e):e);this.textIndent=e.textIndent?getMeasurement(e.textIndent,"0pt"):"";this.use=e.use||"";this.usehref=e.usehref||"";this.vAlign=getStringOption(e.vAlign,["top","bottom","middle"]);this.widows=getInteger({data:e.widows,defaultValue:0,validate:e=>e>=0});this.hyphenation=null}[Zi](){const e=toStyle(this,"hAlign");""!==this.marginLeft&&(e.paddingLeft=measureToString(this.marginLeft));""!==this.marginRight&&(e.paddingRight=measureToString(this.marginRight));""!==this.spaceAbove&&(e.paddingTop=measureToString(this.spaceAbove));""!==this.spaceBelow&&(e.paddingBottom=measureToString(this.spaceBelow));if(""!==this.textIndent){e.textIndent=measureToString(this.textIndent);fixTextIndent(e)}this.lineHeight>0&&(e.lineHeight=measureToString(this.lineHeight));""!==this.tabDefault&&(e.tabSize=measureToString(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[Zi]());return e}}class PasswordEdit extends XFAObject{constructor(e){super(Mo,"passwordEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.passwordChar=e.passwordChar||"*";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}}class template_Pattern extends XFAObject{constructor(e){super(Mo,"pattern",!0);this.id=e.id||"";this.type=getStringOption(e.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zi](e){e=e?e[Zi]():"#FFFFFF";const t=this.color?this.color[Zi]():"#000000",n="repeating-linear-gradient",a=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${n}(to top,${a}) ${n}(to right,${a})`;case"crossDiagonal":return`${n}(45deg,${a}) ${n}(-45deg,${a})`;case"diagonalLeft":return`${n}(45deg,${a})`;case"diagonalRight":return`${n}(-45deg,${a})`;case"horizontal":return`${n}(to top,${a})`;case"vertical":return`${n}(to right,${a})`}return""}}class Picture extends StringObject{constructor(e){super(Mo,"picture");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Proto extends XFAObject{constructor(e){super(Mo,"proto",!0);this.appearanceFilter=new XFAObjectArray;this.arc=new XFAObjectArray;this.area=new XFAObjectArray;this.assist=new XFAObjectArray;this.barcode=new XFAObjectArray;this.bindItems=new XFAObjectArray;this.bookend=new XFAObjectArray;this.boolean=new XFAObjectArray;this.border=new XFAObjectArray;this.break=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.button=new XFAObjectArray;this.calculate=new XFAObjectArray;this.caption=new XFAObjectArray;this.certificate=new XFAObjectArray;this.certificates=new XFAObjectArray;this.checkButton=new XFAObjectArray;this.choiceList=new XFAObjectArray;this.color=new XFAObjectArray;this.comb=new XFAObjectArray;this.connect=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.corner=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.dateTimeEdit=new XFAObjectArray;this.decimal=new XFAObjectArray;this.defaultUi=new XFAObjectArray;this.desc=new XFAObjectArray;this.digestMethod=new XFAObjectArray;this.digestMethods=new XFAObjectArray;this.draw=new XFAObjectArray;this.edge=new XFAObjectArray;this.encoding=new XFAObjectArray;this.encodings=new XFAObjectArray;this.encrypt=new XFAObjectArray;this.encryptData=new XFAObjectArray;this.encryption=new XFAObjectArray;this.encryptionMethod=new XFAObjectArray;this.encryptionMethods=new XFAObjectArray;this.event=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.execute=new XFAObjectArray;this.extras=new XFAObjectArray;this.field=new XFAObjectArray;this.fill=new XFAObjectArray;this.filter=new XFAObjectArray;this.float=new XFAObjectArray;this.font=new XFAObjectArray;this.format=new XFAObjectArray;this.handler=new XFAObjectArray;this.hyphenation=new XFAObjectArray;this.image=new XFAObjectArray;this.imageEdit=new XFAObjectArray;this.integer=new XFAObjectArray;this.issuers=new XFAObjectArray;this.items=new XFAObjectArray;this.keep=new XFAObjectArray;this.keyUsage=new XFAObjectArray;this.line=new XFAObjectArray;this.linear=new XFAObjectArray;this.lockDocument=new XFAObjectArray;this.manifest=new XFAObjectArray;this.margin=new XFAObjectArray;this.mdp=new XFAObjectArray;this.medium=new XFAObjectArray;this.message=new XFAObjectArray;this.numericEdit=new XFAObjectArray;this.occur=new XFAObjectArray;this.oid=new XFAObjectArray;this.oids=new XFAObjectArray;this.overflow=new XFAObjectArray;this.pageArea=new XFAObjectArray;this.pageSet=new XFAObjectArray;this.para=new XFAObjectArray;this.passwordEdit=new XFAObjectArray;this.pattern=new XFAObjectArray;this.picture=new XFAObjectArray;this.radial=new XFAObjectArray;this.reason=new XFAObjectArray;this.reasons=new XFAObjectArray;this.rectangle=new XFAObjectArray;this.ref=new XFAObjectArray;this.script=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.signData=new XFAObjectArray;this.signature=new XFAObjectArray;this.signing=new XFAObjectArray;this.solid=new XFAObjectArray;this.speak=new XFAObjectArray;this.stipple=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray;this.subjectDN=new XFAObjectArray;this.subjectDNs=new XFAObjectArray;this.submit=new XFAObjectArray;this.text=new XFAObjectArray;this.textEdit=new XFAObjectArray;this.time=new XFAObjectArray;this.timeStamp=new XFAObjectArray;this.toolTip=new XFAObjectArray;this.traversal=new XFAObjectArray;this.traverse=new XFAObjectArray;this.ui=new XFAObjectArray;this.validate=new XFAObjectArray;this.value=new XFAObjectArray;this.variables=new XFAObjectArray}}class Radial extends XFAObject{constructor(e){super(Mo,"radial",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toEdge","toCenter"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zi](e){e=e?e[Zi]():"#FFFFFF";const t=this.color?this.color[Zi]():"#000000";return`radial-gradient(circle at center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends StringObject{constructor(e){super(Mo,"reason");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Reasons extends XFAObject{constructor(e){super(Mo,"reasons",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.reason=new XFAObjectArray}}class Rectangle extends XFAObject{constructor(e){super(Mo,"rectangle",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.fill=null}[Ji](){const e=this.edge.children.length?this.edge.children[0]:new Edge({}),t=e[Zi](),n=Object.create(null);"visible"===this.fill?.presence?Object.assign(n,this.fill[Zi]()):n.fill="transparent";n.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);n.stroke=t.color;const a=(this.corner.children.length?this.corner.children[0]:new Corner({}))[Zi](),s={name:"svg",children:[{name:"rect",attributes:{xmlns:Po,width:"100%",height:"100%",x:0,y:0,rx:a.radius,ry:a.radius,style:n}}],attributes:{xmlns:Po,style:{overflow:"visible"},width:"100%",height:"100%"}};if(hasMargin(this[mi]()[mi]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[s]});s.attributes.style.position="absolute";return HTMLResult.success(s)}}class RefElement extends StringObject{constructor(e){super(Mo,"ref");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Script extends StringObject{constructor(e){super(Mo,"script");this.binding=e.binding||"";this.contentType=e.contentType||"";this.id=e.id||"";this.name=e.name||"";this.runAt=getStringOption(e.runAt,["client","both","server"]);this.use=e.use||"";this.usehref=e.usehref||""}}class SetProperty extends XFAObject{constructor(e){super(Mo,"setProperty");this.connection=e.connection||"";this.ref=e.ref||"";this.target=e.target||""}}class SignData extends XFAObject{constructor(e){super(Mo,"signData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["sign","clear","verify"]);this.ref=e.ref||"";this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Signature extends XFAObject{constructor(e){super(Mo,"signature",!0);this.id=e.id||"";this.type=getStringOption(e.type,["PDF1.3","PDF1.6"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.filter=null;this.manifest=null;this.margin=null}}class Signing extends XFAObject{constructor(e){super(Mo,"signing",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Solid extends XFAObject{constructor(e){super(Mo,"solid",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Zi](e){return e?e[Zi]():"#FFFFFF"}}class Speak extends StringObject{constructor(e){super(Mo,"speak");this.disable=getInteger({data:e.disable,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.priority=getStringOption(e.priority,["custom","caption","name","toolTip"]);this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Stipple extends XFAObject{constructor(e){super(Mo,"stipple",!0);this.id=e.id||"";this.rate=getInteger({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100});this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zi](e){const t=this.rate/100;return Util.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class Subform extends XFAObject{constructor(e){super(Mo,"subform",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.allowMacro=getInteger({data:e.allowMacro,defaultValue:0,validate:e=>1===e});this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.columnWidths=(e.columnWidths||"").trim().split(/\s+/).map(e=>"-1"===e?-1:getMeasurement(e));this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.mergeMode=getStringOption(e.mergeMode,["consumeData","matchTemplate"]);this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.restoreState=getStringOption(e.restoreState,["manual","auto"]);this.scope=getStringOption(e.scope,["name","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.bookend=null;this.border=null;this.break=null;this.calculate=null;this.desc=null;this.extras=null;this.keep=null;this.margin=null;this.occur=null;this.overflow=null;this.pageSet=null;this.para=null;this.traversal=null;this.validate=null;this.variables=null;this.area=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.connect=new XFAObjectArray;this.draw=new XFAObjectArray;this.event=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.proto=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}[ui](){const e=this[mi]();return e instanceof SubformSet?e[ui]():e}[yi](){return!0}[Ai](){return this.layout.endsWith("-tb")&&0===this[Jr].attempt&&this[Jr].numberInLine>0||this[mi]()[Ai]()}*[ci](){yield*getContainedChildren(this)}[Zr](){return flushHTML(this)}[zr](e,t){addHTML(this,e,t)}[ni](){return getAvailableSpace(this)}[xi](){const e=this[ui]();if(!e[xi]())return!1;if(void 0!==this[Jr]._isSplittable)return this[Jr]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[Jr]._isSplittable=!1;return!1}if(this.keep&&"none"!==this.keep.intact){this[Jr]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[Jr].numberInLine)return!1;this[Jr]._isSplittable=!0;return!0}[Ji](e){setTabIndex(this);if(this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const e=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[di]=this[di];this[Lr](e);this.breakAfter.push(e)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const e=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[di]=this[di];this[Lr](e);this.breakBefore.push(e)}if(""!==this.break.overflowTarget){const e=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[di]=this[di];this[Lr](e);this.overflow.push(e)}this[Ni](this.break);this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;(this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&warn("XFA - Several breakBefore or breakAfter in subforms: please file a bug.");if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(handleBreak(e))return HTMLResult.breakNode(e)}if(this[Jr]?.afterBreakAfter)return HTMLResult.EMPTY;fixDimensions(this);const t=[],n={id:this[eo],class:[]};setAccess(this,n.class);this[Jr]||=Object.create(null);Object.assign(this[Jr],{children:t,line:null,attributes:n,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const a=this[pi](),s=a[Jr].noLayoutFailure,r=this[xi]();r||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const i=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[ui]().columnWidths;if(Array.isArray(e)&&e.length>0){this[Jr].columnWidths=e;this[Jr].currentColumn=0}}const o=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),l=["xfaSubform"],f=layoutClass(this);f&&l.push(f);n.style=o;n.class=l;this.name&&(n.xfaName=this.name);if(this.overflow){const t=this.overflow[oi]();if(t.addLeader){t.addLeader=!1;handleOverflow(this,t.leader,e)}}this[Ei]();const c="lr-tb"===this.layout||"rl-tb"===this.layout,h=c?2:1;for(;this[Jr].attempt<h;this[Jr].attempt++){c&&1===this[Jr].attempt&&(this[Jr].numberInLine=0);const e=this[Ur]({filter:i,include:!0});if(e.success)break;if(e.isBreak()){this[Pi]();return e}if(c&&0===this[Jr].attempt&&0===this[Jr].numberInLine&&!a[Jr].noLayoutFailure){this[Jr].attempt=h;break}}this[Pi]();r||unsetFirstUnsplittable(this);a[Jr].noLayoutFailure=s;if(this[Jr].attempt===h){this.overflow&&(this[pi]()[Jr].overflowNode=this.overflow);r||delete this[Jr];return HTMLResult.FAILURE}if(this.overflow){const t=this.overflow[oi]();if(t.addTrailer){t.addTrailer=!1;handleOverflow(this,t.trailer,e)}}let u=0,m=0;if(this.margin){u=this.margin.leftInset+this.margin.rightInset;m=this.margin.topInset+this.margin.bottomInset}const p=Math.max(this[Jr].width+u,this.w||0),d=Math.max(this[Jr].height+m,this.h||0),g=[this.x,this.y,p,d];""===this.w&&(o.width=measureToString(p));""===this.h&&(o.height=measureToString(d));if(("0px"===o.width||"0px"===o.height)&&0===t.length)return HTMLResult.EMPTY;const b={name:"div",attributes:n,children:t};applyAssist(this,n);const w=HTMLResult.success(createWrapper(this,b),g);if(this.breakAfter.children.length>=1){const e=this.breakAfter.children[0];if(handleBreak(e)){this[Jr].afterBreakAfter=w;return HTMLResult.breakNode(e)}}delete this[Jr];return w}}class SubformSet extends XFAObject{constructor(e){super(Mo,"subformSet",!0);this.id=e.id||"";this.name=e.name||"";this.relation=getStringOption(e.relation,["ordered","choice","unordered"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.bookend=null;this.break=null;this.desc=null;this.extras=null;this.occur=null;this.overflow=null;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[ci](){yield*getContainedChildren(this)}[ui](){let e=this[mi]();for(;!(e instanceof Subform);)e=e[mi]();return e}[yi](){return!0}}class SubjectDN extends ContentObject{constructor(e){super(Mo,"subjectDN");this.delimiter=e.delimiter||",";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){this[Vr]=new Map(this[Vr].split(this.delimiter).map(e=>{(e=e.split("=",2))[0]=e[0].trim();return e}))}}class SubjectDNs extends XFAObject{constructor(e){super(Mo,"subjectDNs",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.subjectDN=new XFAObjectArray}}class Submit extends XFAObject{constructor(e){super(Mo,"submit",!0);this.embedPDF=getInteger({data:e.embedPDF,defaultValue:0,validate:e=>1===e});this.format=getStringOption(e.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]);this.id=e.id||"";this.target=e.target||"";this.textEncoding=getKeyword({data:e.textEncoding?e.textEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.use=e.use||"";this.usehref=e.usehref||"";this.xdpContent=e.xdpContent||"";this.encrypt=null;this.encryptData=new XFAObjectArray;this.signData=new XFAObjectArray}}class Template extends XFAObject{constructor(e){super(Mo,"template",!0);this.baseProfile=getStringOption(e.baseProfile,["full","interactiveForms"]);this.extras=null;this.subform=new XFAObjectArray}[Qr](){0===this.subform.children.length&&warn("XFA - No subforms in template node.");this.subform.children.length>=2&&warn("XFA - Several subforms in template node: please file a bug.");this[Vi]=5e3}[xi](){return!0}[Xi](e,t){return e.startsWith("#")?[this[bi].get(e.slice(1))]:searchNode(this,t,e,!0,!0)}*[Yi](){if(!this.subform.children.length)return HTMLResult.success({name:"div",children:[]});this[Jr]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const e=this.subform.children[0];e.pageSet[Xr]();const t=e.pageSet.pageArea.children,n={name:"div",children:[]};let a=null,s=null,r=null;if(e.breakBefore.children.length>=1){s=e.breakBefore.children[0];r=s.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){s=e.subform.children[0].breakBefore.children[0];r=s.target}else if(e.break?.beforeTarget){s=e.break;r=s.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break?.beforeTarget){s=e.subform.children[0].break;r=s.beforeTarget}if(s){const e=this[Xi](r,s[mi]());if(e instanceof PageArea){a=e;s[Jr]={}}}a||=t[0];a[Jr]={numberOfUse:1};const i=a[mi]();i[Jr]={numberOfUse:1,pageIndex:i.pageArea.children.indexOf(a),pageSetIndex:0};let o,l=null,f=null,c=!0,h=0,u=0;for(;;){if(c)h=0;else{n.children.pop();if(3===++h){warn("XFA - Something goes wrong: please file a bug.");return n}}o=null;this[Jr].currentPageArea=a;const t=a[Ji]().html;n.children.push(t);if(l){this[Jr].noLayoutFailure=!0;t.children.push(l[Ji](a[Jr].space).html);l=null}if(f){this[Jr].noLayoutFailure=!0;t.children.push(f[Ji](a[Jr].space).html);f=null}const s=a.contentArea.children,r=t.children.filter(e=>e.attributes.class.includes("xfaContentarea"));c=!1;this[Jr].firstUnsplittable=null;this[Jr].noLayoutFailure=!1;const flush=t=>{const n=e[Zr]();if(n){c||=n.children?.length>0;r[t].children.push(n)}};for(let t=u,a=s.length;t<a;t++){const a=this[Jr].currentContentArea=s[t],i={width:a.w,height:a.h};u=0;if(l){r[t].children.push(l[Ji](i).html);l=null}if(f){r[t].children.push(f[Ji](i).html);f=null}const h=e[Ji](i);if(h.success){if(h.html){c||=h.html.children?.length>0;r[t].children.push(h.html)}else!c&&n.children.length>1&&n.children.pop();return n}if(h.isBreak()){const e=h.breakNode;flush(t);if("auto"===e.targetType)continue;if(e.leader){l=this[Xi](e.leader,e[mi]());l=l?l[0]:null}if(e.trailer){f=this[Xi](e.trailer,e[mi]());f=f?f[0]:null}if("pageArea"===e.targetType){o=e[Jr].target;t=1/0}else if(e[Jr].target){o=e[Jr].target;u=e[Jr].index+1;t=1/0}else t=e[Jr].index;continue}if(this[Jr].overflowNode){const e=this[Jr].overflowNode;this[Jr].overflowNode=null;const n=e[oi](),a=n.target;n.addLeader=null!==n.leader;n.addTrailer=null!==n.trailer;flush(t);const r=t;t=1/0;if(a instanceof PageArea)o=a;else if(a instanceof ContentArea){const e=s.indexOf(a);if(-1!==e)e>r?t=e-1:u=e;else{o=a[mi]();u=o.contentArea.children.indexOf(a)}}continue}flush(t)}this[Jr].pageNumber+=1;o&&(o[Ii]()?o[Jr].numberOfUse+=1:o=null);a=o||a[hi]();yield null}}}class Text extends ContentObject{constructor(e){super(Mo,"text");this.id=e.id||"";this.maxChars=getInteger({data:e.maxChars,defaultValue:0,validate:e=>e>=0});this.name=e.name||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}[Nr](){return!0}[Bi](e){if(e[Ti]===no.xhtml.id){this[Vr]=e;return!0}warn(`XFA - Invalid content in Text: ${e[Hi]}.`);return!1}[Di](e){this[Vr]instanceof XFAObject||super[Di](e)}[Qr](){"string"==typeof this[Vr]&&(this[Vr]=this[Vr].replaceAll("\r\n","\n"))}[oi](){return"string"==typeof this[Vr]?this[Vr].split(/[\u2029\u2028\n]/).filter(e=>!!e).join("\n"):this[Vr][$i]()}[Ji](e){if("string"==typeof this[Vr]){const e=valueToHtml(this[Vr]).html;if(this[Vr].includes("\u2029")){e.name="div";e.children=[];this[Vr].split("\u2029").map(e=>e.split(/[\u2028\n]/).flatMap(e=>[{name:"span",value:e},{name:"br"}])).forEach(t=>{e.children.push({name:"p",children:t})})}else if(/[\u2028\n]/.test(this[Vr])){e.name="div";e.children=[];this[Vr].split(/[\u2028\n]/).forEach(t=>{e.children.push({name:"span",value:t},{name:"br"})})}return HTMLResult.success(e)}return this[Vr][Ji](e)}}class TextEdit extends XFAObject{constructor(e){super(Mo,"textEdit",!0);this.allowRichText=getInteger({data:e.allowRichText,defaultValue:0,validate:e=>1===e});this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.multiLine=getInteger({data:e.multiLine,defaultValue:"",validate:e=>0===e||1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.vScrollPolicy=getStringOption(e.vScrollPolicy,["auto","off","on"]);this.border=null;this.comb=null;this.extras=null;this.margin=null}[Ji](e){const t=toStyle(this,"border","font","margin");let n;const a=this[mi]()[mi]();""===this.multiLine&&(this.multiLine=a instanceof Draw?1:0);n=1===this.multiLine?{name:"textarea",attributes:{dataId:a[$r]?.[eo]||a[eo],fieldId:a[eo],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:a[$r]?.[eo]||a[eo],fieldId:a[eo],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){n.attributes["aria-required"]=!0;n.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[n]})}}class Time extends StringObject{constructor(e){super(Mo,"time");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qr](){const e=this[Vr].trim();this[Vr]=e?new Date(e):null}[Ji](e){return valueToHtml(this[Vr]?this[Vr].toString():"")}}class TimeStamp extends XFAObject{constructor(e){super(Mo,"timeStamp");this.id=e.id||"";this.server=e.server||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class ToolTip extends StringObject{constructor(e){super(Mo,"toolTip");this.id=e.id||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Traversal extends XFAObject{constructor(e){super(Mo,"traversal",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.traverse=new XFAObjectArray}}class Traverse extends XFAObject{constructor(e){super(Mo,"traverse",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["next","back","down","first","left","right","up"]);this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.script=null}get name(){return this.operation}[Ci](){return!1}}class Ui extends XFAObject{constructor(e){super(Mo,"ui",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null;this.barcode=null;this.button=null;this.checkButton=null;this.choiceList=null;this.dateTimeEdit=null;this.defaultUi=null;this.imageEdit=null;this.numericEdit=null;this.passwordEdit=null;this.signature=null;this.textEdit=null}[oi](){if(void 0===this[Jr]){for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"picture"===e)continue;const t=this[e];if(t instanceof XFAObject){this[Jr]=t;return t}}this[Jr]=null}return this[Jr]}[Ji](e){const t=this[oi]();return t?t[Ji](e):HTMLResult.EMPTY}}class Validate extends XFAObject{constructor(e){super(Mo,"validate",!0);this.formatTest=getStringOption(e.formatTest,["warning","disabled","error"]);this.id=e.id||"";this.nullTest=getStringOption(e.nullTest,["disabled","error","warning"]);this.scriptTest=getStringOption(e.scriptTest,["error","disabled","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.picture=null;this.script=null}}class Value extends XFAObject{constructor(e){super(Mo,"value",!0);this.id=e.id||"";this.override=getInteger({data:e.override,defaultValue:0,validate:e=>1===e});this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.arc=null;this.boolean=null;this.date=null;this.dateTime=null;this.decimal=null;this.exData=null;this.float=null;this.image=null;this.integer=null;this.line=null;this.rectangle=null;this.text=null;this.time=null}[Gi](e){const t=this[mi]();if(t instanceof Field&&t.ui?.imageEdit){if(!this.image){this.image=new Image({});this[Lr](this.image)}this.image[Vr]=e[Vr];return}const n=e[Hi];if(null===this[n]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof XFAObject){this[e]=null;this[Ni](t)}}this[e[Hi]]=e;this[Lr](e)}else this[n][Vr]=e[Vr]}[$i](){if(this.exData)return"string"==typeof this.exData[Vr]?this.exData[Vr].trim():this.exData[Vr][$i]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof XFAObject)return(t[Vr]||"").toString().trim()}return null}[Ji](e){for(const t of Object.getOwnPropertyNames(this)){const n=this[t];if(n instanceof XFAObject)return n[Ji](e)}return HTMLResult.EMPTY}}class Variables extends XFAObject{constructor(e){super(Mo,"variables",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.manifest=new XFAObjectArray;this.script=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Ci](){return!0}}class TemplateNamespace{static[to](e,t){if(TemplateNamespace.hasOwnProperty(e)){const n=TemplateNamespace[e](t);n[Ki](t);return n}}static appearanceFilter(e){return new AppearanceFilter(e)}static arc(e){return new Arc(e)}static area(e){return new Area(e)}static assist(e){return new Assist(e)}static barcode(e){return new Barcode(e)}static bind(e){return new Bind(e)}static bindItems(e){return new BindItems(e)}static bookend(e){return new Bookend(e)}static boolean(e){return new BooleanElement(e)}static border(e){return new Border(e)}static break(e){return new Break(e)}static breakAfter(e){return new BreakAfter(e)}static breakBefore(e){return new BreakBefore(e)}static button(e){return new Button(e)}static calculate(e){return new Calculate(e)}static caption(e){return new Caption(e)}static certificate(e){return new Certificate(e)}static certificates(e){return new Certificates(e)}static checkButton(e){return new CheckButton(e)}static choiceList(e){return new ChoiceList(e)}static color(e){return new Color(e)}static comb(e){return new Comb(e)}static connect(e){return new Connect(e)}static contentArea(e){return new ContentArea(e)}static corner(e){return new Corner(e)}static date(e){return new DateElement(e)}static dateTime(e){return new DateTime(e)}static dateTimeEdit(e){return new DateTimeEdit(e)}static decimal(e){return new Decimal(e)}static defaultUi(e){return new DefaultUi(e)}static desc(e){return new Desc(e)}static digestMethod(e){return new DigestMethod(e)}static digestMethods(e){return new DigestMethods(e)}static draw(e){return new Draw(e)}static edge(e){return new Edge(e)}static encoding(e){return new Encoding(e)}static encodings(e){return new Encodings(e)}static encrypt(e){return new Encrypt(e)}static encryptData(e){return new EncryptData(e)}static encryption(e){return new Encryption(e)}static encryptionMethod(e){return new EncryptionMethod(e)}static encryptionMethods(e){return new EncryptionMethods(e)}static event(e){return new Event(e)}static exData(e){return new ExData(e)}static exObject(e){return new ExObject(e)}static exclGroup(e){return new ExclGroup(e)}static execute(e){return new Execute(e)}static extras(e){return new Extras(e)}static field(e){return new Field(e)}static fill(e){return new Fill(e)}static filter(e){return new Filter(e)}static float(e){return new Float(e)}static font(e){return new template_Font(e)}static format(e){return new Format(e)}static handler(e){return new Handler(e)}static hyphenation(e){return new Hyphenation(e)}static image(e){return new Image(e)}static imageEdit(e){return new ImageEdit(e)}static integer(e){return new Integer(e)}static issuers(e){return new Issuers(e)}static items(e){return new Items(e)}static keep(e){return new Keep(e)}static keyUsage(e){return new KeyUsage(e)}static line(e){return new Line(e)}static linear(e){return new Linear(e)}static lockDocument(e){return new LockDocument(e)}static manifest(e){return new Manifest(e)}static margin(e){return new Margin(e)}static mdp(e){return new Mdp(e)}static medium(e){return new Medium(e)}static message(e){return new Message(e)}static numericEdit(e){return new NumericEdit(e)}static occur(e){return new Occur(e)}static oid(e){return new Oid(e)}static oids(e){return new Oids(e)}static overflow(e){return new Overflow(e)}static pageArea(e){return new PageArea(e)}static pageSet(e){return new PageSet(e)}static para(e){return new Para(e)}static passwordEdit(e){return new PasswordEdit(e)}static pattern(e){return new template_Pattern(e)}static picture(e){return new Picture(e)}static proto(e){return new Proto(e)}static radial(e){return new Radial(e)}static reason(e){return new Reason(e)}static reasons(e){return new Reasons(e)}static rectangle(e){return new Rectangle(e)}static ref(e){return new RefElement(e)}static script(e){return new Script(e)}static setProperty(e){return new SetProperty(e)}static signData(e){return new SignData(e)}static signature(e){return new Signature(e)}static signing(e){return new Signing(e)}static solid(e){return new Solid(e)}static speak(e){return new Speak(e)}static stipple(e){return new Stipple(e)}static subform(e){return new Subform(e)}static subformSet(e){return new SubformSet(e)}static subjectDN(e){return new SubjectDN(e)}static subjectDNs(e){return new SubjectDNs(e)}static submit(e){return new Submit(e)}static template(e){return new Template(e)}static text(e){return new Text(e)}static textEdit(e){return new TextEdit(e)}static time(e){return new Time(e)}static timeStamp(e){return new TimeStamp(e)}static toolTip(e){return new ToolTip(e)}static traversal(e){return new Traversal(e)}static traverse(e){return new Traverse(e)}static ui(e){return new Ui(e)}static validate(e){return new Validate(e)}static value(e){return new Value(e)}static variables(e){return new Variables(e)}}const Lo=no.datasets.id;function createText(e){const t=new Text({});t[Vr]=e;return t}class Binder{constructor(e){this.root=e;this.datasets=e.datasets;this.data=e.datasets?.data||new XmlObject(no.datasets.id,"data");this.emptyMerge=0===this.data[fi]().length;this.root.form=this.form=e.template[Kr]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){this._bindElement(this.form,this.data);return this.form}getData(){return this.data}_bindValue(e,t,n){e[$r]=t;if(e[gi]())if(t[qi]()){const n=t[ii]();e[Gi](createText(n))}else if(e instanceof Field&&"multiSelect"===e.ui?.choiceList?.open){const n=t[fi]().map(e=>e[Vr].trim()).join("\n");e[Gi](createText(n))}else this._isConsumeData()&&warn("XFA - Nodes haven't the same type.");else!t[qi]()||this._isMatchTemplate()?this._bindElement(e,t):warn("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,n,a){if(!e)return null;let s,r;for(let a=0;a<3;a++){s=n[li](e,!1,!0);for(;;){r=s.next().value;if(!r)break;if(t===r[qi]())return r}if(n[Ti]===no.datasets.id&&"data"===n[Hi])break;n=n[mi]()}if(!a)return null;s=this.data[li](e,!0,!1);r=s.next().value;if(r)return r;s=this.data[ei](e,!0);r=s.next().value;return r?.[qi]()?r:null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:n,target:a,connection:s}of e.setProperty.children){if(s)continue;if(!n)continue;const r=searchNode(this.root,t,n,!1,!1);if(!r){warn(`XFA - Invalid reference: ${n}.`);continue}const[i]=r;if(!i[vi](this.data)){warn("XFA - Invalid node: must be a data node.");continue}const o=searchNode(this.root,e,a,!1,!1);if(!o){warn(`XFA - Invalid target: ${a}.`);continue}const[l]=o;if(!l[vi](e)){warn("XFA - Invalid target: must be a property or subproperty.");continue}const f=l[mi]();if(l instanceof SetProperty||f instanceof SetProperty){warn("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(l instanceof BindItems||f instanceof BindItems){warn("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const c=i[$i](),h=l[Hi];if(l instanceof XFAAttribute){const e=Object.create(null);e[h]=c;const t=Reflect.construct(Object.getPrototypeOf(f).constructor,[e]);f[h]=t[h];continue}if(l.hasOwnProperty(Vr)){l[$r]=i;l[Vr]=c;l[Qr]()}else warn("XFA - Invalid node to use in setProperty")}}_bindItems(e,t){if(!e.hasOwnProperty("items")||!e.hasOwnProperty("bindItems")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[Ni](t);e.items.clear();const n=new Items({}),a=new Items({});e[Lr](n);e.items.push(n);e[Lr](a);e.items.push(a);for(const{ref:s,labelRef:r,valueRef:i,connection:o}of e.bindItems.children){if(o)continue;if(!s)continue;const e=searchNode(this.root,t,s,!1,!1);if(e)for(const t of e){if(!t[vi](this.datasets)){warn(`XFA - Invalid ref (${s}): must be a datasets child.`);continue}const e=searchNode(this.root,t,r,!0,!1);if(!e){warn(`XFA - Invalid label: ${r}.`);continue}const[o]=e;if(!o[vi](this.datasets)){warn("XFA - Invalid label: must be a datasets child.");continue}const l=searchNode(this.root,t,i,!0,!1);if(!l){warn(`XFA - Invalid value: ${i}.`);continue}const[f]=l;if(!f[vi](this.datasets)){warn("XFA - Invalid value: must be a datasets child.");continue}const c=createText(o[$i]()),h=createText(f[$i]());n[Lr](c);n.text.push(c);a[Lr](h);a.text.push(h)}else warn(`XFA - Invalid reference: ${s}.`)}}_bindOccurrences(e,t,n){let a;if(t.length>1){a=e[Kr]();a[Ni](a.occur);a.occur=null}this._bindValue(e,t[0],n);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const s=e[mi](),r=e[Hi],i=s[wi](e);for(let e=1,o=t.length;e<o;e++){const o=t[e],l=a[Kr]();s[r].push(l);s[ji](i+e,l);this._bindValue(l,o,n);this._setProperties(l,o);this._bindItems(l,o)}}_createOccurrences(e){if(!this.emptyMerge)return;const{occur:t}=e;if(!t||t.initial<=1)return;const n=e[mi](),a=e[Hi];if(!(n[a]instanceof XFAObjectArray))return;let s;s=e.name?n[a].children.filter(t=>t.name===e.name).length:n[a].children.length;const r=n[wi](e)+1,i=t.initial-s;if(i){const t=e[Kr]();t[Ni](t.occur);t.occur=null;n[a].push(t);n[ji](r,t);for(let e=1;e<i;e++){const s=t[Kr]();n[a].push(s);n[ji](r+e,s)}}}_getOccurInfo(e){const{name:t,occur:n}=e;if(!n||!t)return[1,1];const a=-1===n.max?1/0:n.max;return[n.min,a]}_setAndBind(e,t){this._setProperties(e,t);this._bindItems(e,t);this._bindElement(e,t)}_bindElement(e,t){const n=[];this._createOccurrences(e);for(const a of e[fi]()){if(a[$r])continue;if(void 0===this._mergeMode&&"subform"===a[Hi]){this._mergeMode="consumeData"===a.mergeMode;const e=t[fi]();if(e.length>0)this._bindOccurrences(a,[e[0]],null);else if(this.emptyMerge){const e=t[Ti]===Lo?-1:t[Ti],n=a[$r]=new XmlObject(e,a.name||"root");t[Lr](n);this._bindElement(a,n)}continue}if(!a[yi]())continue;let e=!1,s=null,r=null,i=null;if(a.bind){switch(a.bind.match){case"none":this._setAndBind(a,t);continue;case"global":e=!0;break;case"dataRef":if(!a.bind.ref){warn(`XFA - ref is empty in node ${a[Hi]}.`);this._setAndBind(a,t);continue}r=a.bind.ref}a.bind.picture&&(s=a.bind.picture[Vr])}const[o,l]=this._getOccurInfo(a);if(r){i=searchNode(this.root,t,r,!0,!1);if(null===i){i=createDataNode(this.data,t,r);if(!i)continue;this._isConsumeData()&&(i[Gr]=!0);this._setAndBind(a,i);continue}this._isConsumeData()&&(i=i.filter(e=>!e[Gr]));i.length>l?i=i.slice(0,l):0===i.length&&(i=null);i&&this._isConsumeData()&&i.forEach(e=>{e[Gr]=!0})}else{if(!a.name){this._setAndBind(a,t);continue}if(this._isConsumeData()){const n=[];for(;n.length<l;){const s=this._findDataByNameToConsume(a.name,a[gi](),t,e);if(!s)break;s[Gr]=!0;n.push(s)}i=n.length>0?n:null}else{i=t[li](a.name,!1,this.emptyMerge).next().value;if(!i){if(0===o){n.push(a);continue}const e=t[Ti]===Lo?-1:t[Ti];i=a[$r]=new XmlObject(e,a.name);this.emptyMerge&&(i[Gr]=!0);t[Lr](i);this._setAndBind(a,i);continue}this.emptyMerge&&(i[Gr]=!0);i=[i]}}i?this._bindOccurrences(a,i,s):o>0?this._setAndBind(a,t):n.push(a)}n.forEach(e=>e[mi]()[Ni](e))}}class DataHandler{constructor(e,t){this.data=t;this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[fi]()]];for(;t.length>0;){const n=t.at(-1),[a,s]=n;if(a+1===s.length){t.pop();continue}const r=s[++n[0]],i=e.get(r[eo]);if(i)r[Gi](i);else{const t=r[ti]();for(const n of t.values()){const t=e.get(n[eo]);if(t){n[Gi](t);break}}}const o=r[fi]();o.length>0&&t.push([-1,o])}const n=['<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">'];if(this.dataset)for(const e of this.dataset[fi]())"data"!==e[Hi]&&e[Qi](n);this.data[Qi](n);n.push("</xfa:datasets>");return n.join("")}}const Uo=no.config.id;class Acrobat extends XFAObject{constructor(e){super(Uo,"acrobat",!0);this.acrobat7=null;this.autoSave=null;this.common=null;this.validate=null;this.validateApprovalSignatures=null;this.submitUrl=new XFAObjectArray}}class Acrobat7 extends XFAObject{constructor(e){super(Uo,"acrobat7",!0);this.dynamicRender=null}}class ADBE_JSConsole extends OptionObject{constructor(e){super(Uo,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends OptionObject{constructor(e){super(Uo,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends Option01{constructor(e){super(Uo,"addSilentPrint")}}class AddViewerPreferences extends Option01{constructor(e){super(Uo,"addViewerPreferences")}}class AdjustData extends Option10{constructor(e){super(Uo,"adjustData")}}class AdobeExtensionLevel extends IntegerObject{constructor(e){super(Uo,"adobeExtensionLevel",0,e=>e>=1&&e<=8)}}class Agent extends XFAObject{constructor(e){super(Uo,"agent",!0);this.name=e.name?e.name.trim():"";this.common=new XFAObjectArray}}class AlwaysEmbed extends ContentObject{constructor(e){super(Uo,"alwaysEmbed")}}class Amd extends StringObject{constructor(e){super(Uo,"amd")}}class config_Area extends XFAObject{constructor(e){super(Uo,"area");this.level=getInteger({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=getStringOption(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends OptionObject{constructor(e){super(Uo,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends OptionObject{constructor(e){super(Uo,"autoSave",["disabled","enabled"])}}class Base extends StringObject{constructor(e){super(Uo,"base")}}class BatchOutput extends XFAObject{constructor(e){super(Uo,"batchOutput");this.format=getStringOption(e.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends ContentObject{constructor(e){super(Uo,"behaviorOverride")}[Qr](){this[Vr]=new Map(this[Vr].trim().split(/\s+/).filter(e=>e.includes(":")).map(e=>e.split(":",2)))}}class Cache extends XFAObject{constructor(e){super(Uo,"cache",!0);this.templateCache=null}}class Change extends Option01{constructor(e){super(Uo,"change")}}class Common extends XFAObject{constructor(e){super(Uo,"common",!0);this.data=null;this.locale=null;this.localeSet=null;this.messaging=null;this.suppressBanner=null;this.template=null;this.validationMessaging=null;this.versionControl=null;this.log=new XFAObjectArray}}class Compress extends XFAObject{constructor(e){super(Uo,"compress");this.scope=getStringOption(e.scope,["imageOnly","document"])}}class CompressLogicalStructure extends Option01{constructor(e){super(Uo,"compressLogicalStructure")}}class CompressObjectStream extends Option10{constructor(e){super(Uo,"compressObjectStream")}}class Compression extends XFAObject{constructor(e){super(Uo,"compression",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends XFAObject{constructor(e){super(Uo,"config",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new XFAObjectArray}}class Conformance extends OptionObject{constructor(e){super(Uo,"conformance",["A","B"])}}class ContentCopy extends Option01{constructor(e){super(Uo,"contentCopy")}}class Copies extends IntegerObject{constructor(e){super(Uo,"copies",1,e=>e>=1)}}class Creator extends StringObject{constructor(e){super(Uo,"creator")}}class CurrentPage extends IntegerObject{constructor(e){super(Uo,"currentPage",0,e=>e>=0)}}class Data extends XFAObject{constructor(e){super(Uo,"data",!0);this.adjustData=null;this.attributes=null;this.incrementalLoad=null;this.outputXSL=null;this.range=null;this.record=null;this.startNode=null;this.uri=null;this.window=null;this.xsl=null;this.excludeNS=new XFAObjectArray;this.transform=new XFAObjectArray}}class Debug extends XFAObject{constructor(e){super(Uo,"debug",!0);this.uri=null}}class DefaultTypeface extends ContentObject{constructor(e){super(Uo,"defaultTypeface");this.writingScript=getStringOption(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends OptionObject{constructor(e){super(Uo,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends Option01{constructor(e){super(Uo,"documentAssembly")}}class Driver extends XFAObject{constructor(e){super(Uo,"driver",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class DuplexOption extends OptionObject{constructor(e){super(Uo,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends OptionObject{constructor(e){super(Uo,"dynamicRender",["forbidden","required"])}}class Embed extends Option01{constructor(e){super(Uo,"embed")}}class config_Encrypt extends Option01{constructor(e){super(Uo,"encrypt")}}class config_Encryption extends XFAObject{constructor(e){super(Uo,"encryption",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends OptionObject{constructor(e){super(Uo,"encryptionLevel",["40bit","128bit"])}}class Enforce extends StringObject{constructor(e){super(Uo,"enforce")}}class Equate extends XFAObject{constructor(e){super(Uo,"equate");this.force=getInteger({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||"";this.to=e.to||""}}class EquateRange extends XFAObject{constructor(e){super(Uo,"equateRange");this.from=e.from||"";this.to=e.to||"";this._unicodeRange=e.unicodeRange||""}get unicodeRange(){const e=[],t=/U\+([0-9a-fA-F]+)/,n=this._unicodeRange;for(let a of n.split(",").map(e=>e.trim()).filter(e=>!!e)){a=a.split("-",2).map(e=>{const n=e.match(t);return n?parseInt(n[1],16):0});1===a.length&&a.push(a[0]);e.push(a)}return shadow(this,"unicodeRange",e)}}class Exclude extends ContentObject{constructor(e){super(Uo,"exclude")}[Qr](){this[Vr]=this[Vr].trim().split(/\s+/).filter(e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e))}}class ExcludeNS extends StringObject{constructor(e){super(Uo,"excludeNS")}}class FlipLabel extends OptionObject{constructor(e){super(Uo,"flipLabel",["usePrinterSetting","on","off"])}}class config_FontInfo extends XFAObject{constructor(e){super(Uo,"fontInfo",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new XFAObjectArray;this.defaultTypeface=new XFAObjectArray;this.neverEmbed=new XFAObjectArray}}class FormFieldFilling extends Option01{constructor(e){super(Uo,"formFieldFilling")}}class GroupParent extends StringObject{constructor(e){super(Uo,"groupParent")}}class IfEmpty extends OptionObject{constructor(e){super(Uo,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends StringObject{constructor(e){super(Uo,"includeXDPContent")}}class IncrementalLoad extends OptionObject{constructor(e){super(Uo,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends Option01{constructor(e){super(Uo,"incrementalMerge")}}class Interactive extends Option01{constructor(e){super(Uo,"interactive")}}class Jog extends OptionObject{constructor(e){super(Uo,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends XFAObject{constructor(e){super(Uo,"labelPrinter",!0);this.name=getStringOption(e.name,["zpl","dpl","ipl","tcpl"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends OptionObject{constructor(e){super(Uo,"layout",["paginate","panel"])}}class Level extends IntegerObject{constructor(e){super(Uo,"level",0,e=>e>0)}}class Linearized extends Option01{constructor(e){super(Uo,"linearized")}}class Locale extends StringObject{constructor(e){super(Uo,"locale")}}class LocaleSet extends StringObject{constructor(e){super(Uo,"localeSet")}}class Log extends XFAObject{constructor(e){super(Uo,"log",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends XFAObject{constructor(e){super(Uo,"map",!0);this.equate=new XFAObjectArray;this.equateRange=new XFAObjectArray}}class MediumInfo extends XFAObject{constructor(e){super(Uo,"mediumInfo",!0);this.map=null}}class config_Message extends XFAObject{constructor(e){super(Uo,"message",!0);this.msgId=null;this.severity=null}}class Messaging extends XFAObject{constructor(e){super(Uo,"messaging",!0);this.message=new XFAObjectArray}}class Mode extends OptionObject{constructor(e){super(Uo,"mode",["append","overwrite"])}}class ModifyAnnots extends Option01{constructor(e){super(Uo,"modifyAnnots")}}class MsgId extends IntegerObject{constructor(e){super(Uo,"msgId",1,e=>e>=1)}}class NameAttr extends StringObject{constructor(e){super(Uo,"nameAttr")}}class NeverEmbed extends ContentObject{constructor(e){super(Uo,"neverEmbed")}}class NumberOfCopies extends IntegerObject{constructor(e){super(Uo,"numberOfCopies",null,e=>e>=2&&e<=5)}}class OpenAction extends XFAObject{constructor(e){super(Uo,"openAction",!0);this.destination=null}}class Output extends XFAObject{constructor(e){super(Uo,"output",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends StringObject{constructor(e){super(Uo,"outputBin")}}class OutputXSL extends XFAObject{constructor(e){super(Uo,"outputXSL",!0);this.uri=null}}class Overprint extends OptionObject{constructor(e){super(Uo,"overprint",["none","both","draw","field"])}}class Packets extends StringObject{constructor(e){super(Uo,"packets")}[Qr](){"*"!==this[Vr]&&(this[Vr]=this[Vr].trim().split(/\s+/).filter(e=>["config","datasets","template","xfdf","xslt"].includes(e)))}}class PageOffset extends XFAObject{constructor(e){super(Uo,"pageOffset");this.x=getInteger({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0});this.y=getInteger({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class PageRange extends StringObject{constructor(e){super(Uo,"pageRange")}[Qr](){const e=this[Vr].trim().split(/\s+/).map(e=>parseInt(e,10)),t=[];for(let n=0,a=e.length;n<a;n+=2)t.push(e.slice(n,n+2));this[Vr]=t}}class Pagination extends OptionObject{constructor(e){super(Uo,"pagination",["simplex","duplexShortEdge","duplexLongEdge"])}}class PaginationOverride extends OptionObject{constructor(e){super(Uo,"paginationOverride",["none","forceDuplex","forceDuplexLongEdge","forceDuplexShortEdge","forceSimplex"])}}class Part extends IntegerObject{constructor(e){super(Uo,"part",1,e=>!1)}}class Pcl extends XFAObject{constructor(e){super(Uo,"pcl",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.pageOffset=null;this.staple=null;this.xdc=null}}class Pdf extends XFAObject{constructor(e){super(Uo,"pdf",!0);this.name=e.name||"";this.adobeExtensionLevel=null;this.batchOutput=null;this.compression=null;this.creator=null;this.encryption=null;this.fontInfo=null;this.interactive=null;this.linearized=null;this.openAction=null;this.pdfa=null;this.producer=null;this.renderPolicy=null;this.scriptModel=null;this.silentPrint=null;this.submitFormat=null;this.tagged=null;this.version=null;this.viewerPreferences=null;this.xdc=null}}class Pdfa extends XFAObject{constructor(e){super(Uo,"pdfa",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends XFAObject{constructor(e){super(Uo,"permissions",!0);this.accessibleContent=null;this.change=null;this.contentCopy=null;this.documentAssembly=null;this.formFieldFilling=null;this.modifyAnnots=null;this.plaintextMetadata=null;this.print=null;this.printHighQuality=null}}class PickTrayByPDFSize extends Option01{constructor(e){super(Uo,"pickTrayByPDFSize")}}class config_Picture extends StringObject{constructor(e){super(Uo,"picture")}}class PlaintextMetadata extends Option01{constructor(e){super(Uo,"plaintextMetadata")}}class Presence extends OptionObject{constructor(e){super(Uo,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends XFAObject{constructor(e){super(Uo,"present",!0);this.behaviorOverride=null;this.cache=null;this.common=null;this.copies=null;this.destination=null;this.incrementalMerge=null;this.layout=null;this.output=null;this.overprint=null;this.pagination=null;this.paginationOverride=null;this.script=null;this.validate=null;this.xdp=null;this.driver=new XFAObjectArray;this.labelPrinter=new XFAObjectArray;this.pcl=new XFAObjectArray;this.pdf=new XFAObjectArray;this.ps=new XFAObjectArray;this.submitUrl=new XFAObjectArray;this.webClient=new XFAObjectArray;this.zpl=new XFAObjectArray}}class Print extends Option01{constructor(e){super(Uo,"print")}}class PrintHighQuality extends Option01{constructor(e){super(Uo,"printHighQuality")}}class PrintScaling extends OptionObject{constructor(e){super(Uo,"printScaling",["appdefault","noScaling"])}}class PrinterName extends StringObject{constructor(e){super(Uo,"printerName")}}class Producer extends StringObject{constructor(e){super(Uo,"producer")}}class Ps extends XFAObject{constructor(e){super(Uo,"ps",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.staple=null;this.xdc=null}}class Range extends ContentObject{constructor(e){super(Uo,"range")}[Qr](){this[Vr]=this[Vr].split(",",2).map(e=>e.split("-").map(e=>parseInt(e.trim(),10))).filter(e=>e.every(e=>!isNaN(e))).map(e=>{1===e.length&&e.push(e[0]);return e})}}class Record extends ContentObject{constructor(e){super(Uo,"record")}[Qr](){this[Vr]=this[Vr].trim();const e=parseInt(this[Vr],10);!isNaN(e)&&e>=0&&(this[Vr]=e)}}class Relevant extends ContentObject{constructor(e){super(Uo,"relevant")}[Qr](){this[Vr]=this[Vr].trim().split(/\s+/)}}class Rename extends ContentObject{constructor(e){super(Uo,"rename")}[Qr](){this[Vr]=this[Vr].trim();(this[Vr].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[Vr]))&&warn("XFA - Rename: invalid XFA name")}}class RenderPolicy extends OptionObject{constructor(e){super(Uo,"renderPolicy",["server","client"])}}class RunScripts extends OptionObject{constructor(e){super(Uo,"runScripts",["both","client","none","server"])}}class config_Script extends XFAObject{constructor(e){super(Uo,"script",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends OptionObject{constructor(e){super(Uo,"scriptModel",["XFA","none"])}}class Severity extends OptionObject{constructor(e){super(Uo,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends XFAObject{constructor(e){super(Uo,"silentPrint",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends XFAObject{constructor(e){super(Uo,"staple");this.mode=getStringOption(e.mode,["usePrinterSetting","on","off"])}}class StartNode extends StringObject{constructor(e){super(Uo,"startNode")}}class StartPage extends IntegerObject{constructor(e){super(Uo,"startPage",0,e=>!0)}}class SubmitFormat extends OptionObject{constructor(e){super(Uo,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends StringObject{constructor(e){super(Uo,"submitUrl")}}class SubsetBelow extends IntegerObject{constructor(e){super(Uo,"subsetBelow",100,e=>e>=0&&e<=100)}}class SuppressBanner extends Option01{constructor(e){super(Uo,"suppressBanner")}}class Tagged extends Option01{constructor(e){super(Uo,"tagged")}}class config_Template extends XFAObject{constructor(e){super(Uo,"template",!0);this.base=null;this.relevant=null;this.startPage=null;this.uri=null;this.xsl=null}}class Threshold extends OptionObject{constructor(e){super(Uo,"threshold",["trace","error","information","warning"])}}class To extends OptionObject{constructor(e){super(Uo,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends XFAObject{constructor(e){super(Uo,"templateCache");this.maxEntries=getInteger({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends XFAObject{constructor(e){super(Uo,"trace",!0);this.area=new XFAObjectArray}}class Transform extends XFAObject{constructor(e){super(Uo,"transform",!0);this.groupParent=null;this.ifEmpty=null;this.nameAttr=null;this.picture=null;this.presence=null;this.rename=null;this.whitespace=null}}class Type extends OptionObject{constructor(e){super(Uo,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends StringObject{constructor(e){super(Uo,"uri")}}class config_Validate extends OptionObject{constructor(e){super(Uo,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends ContentObject{constructor(e){super(Uo,"validateApprovalSignatures")}[Qr](){this[Vr]=this[Vr].trim().split(/\s+/).filter(e=>["docReady","postSign"].includes(e))}}class ValidationMessaging extends OptionObject{constructor(e){super(Uo,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends OptionObject{constructor(e){super(Uo,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends XFAObject{constructor(e){super(Uo,"VersionControl");this.outputBelow=getStringOption(e.outputBelow,["warn","error","update"]);this.sourceAbove=getStringOption(e.sourceAbove,["warn","error"]);this.sourceBelow=getStringOption(e.sourceBelow,["update","maintain"])}}class ViewerPreferences extends XFAObject{constructor(e){super(Uo,"viewerPreferences",!0);this.ADBE_JSConsole=null;this.ADBE_JSDebugger=null;this.addViewerPreferences=null;this.duplexOption=null;this.enforce=null;this.numberOfCopies=null;this.pageRange=null;this.pickTrayByPDFSize=null;this.printScaling=null}}class WebClient extends XFAObject{constructor(e){super(Uo,"webClient",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class Whitespace extends OptionObject{constructor(e){super(Uo,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends ContentObject{constructor(e){super(Uo,"window")}[Qr](){const e=this[Vr].split(",",2).map(e=>parseInt(e.trim(),10));if(e.some(e=>isNaN(e)))this[Vr]=[0,0];else{1===e.length&&e.push(e[0]);this[Vr]=e}}}class Xdc extends XFAObject{constructor(e){super(Uo,"xdc",!0);this.uri=new XFAObjectArray;this.xsl=new XFAObjectArray}}class Xdp extends XFAObject{constructor(e){super(Uo,"xdp",!0);this.packets=null}}class Xsl extends XFAObject{constructor(e){super(Uo,"xsl",!0);this.debug=null;this.uri=null}}class Zpl extends XFAObject{constructor(e){super(Uo,"zpl",!0);this.name=e.name?e.name.trim():"";this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class ConfigNamespace{static[to](e,t){if(ConfigNamespace.hasOwnProperty(e))return ConfigNamespace[e](t)}static acrobat(e){return new Acrobat(e)}static acrobat7(e){return new Acrobat7(e)}static ADBE_JSConsole(e){return new ADBE_JSConsole(e)}static ADBE_JSDebugger(e){return new ADBE_JSDebugger(e)}static addSilentPrint(e){return new AddSilentPrint(e)}static addViewerPreferences(e){return new AddViewerPreferences(e)}static adjustData(e){return new AdjustData(e)}static adobeExtensionLevel(e){return new AdobeExtensionLevel(e)}static agent(e){return new Agent(e)}static alwaysEmbed(e){return new AlwaysEmbed(e)}static amd(e){return new Amd(e)}static area(e){return new config_Area(e)}static attributes(e){return new Attributes(e)}static autoSave(e){return new AutoSave(e)}static base(e){return new Base(e)}static batchOutput(e){return new BatchOutput(e)}static behaviorOverride(e){return new BehaviorOverride(e)}static cache(e){return new Cache(e)}static change(e){return new Change(e)}static common(e){return new Common(e)}static compress(e){return new Compress(e)}static compressLogicalStructure(e){return new CompressLogicalStructure(e)}static compressObjectStream(e){return new CompressObjectStream(e)}static compression(e){return new Compression(e)}static config(e){return new Config(e)}static conformance(e){return new Conformance(e)}static contentCopy(e){return new ContentCopy(e)}static copies(e){return new Copies(e)}static creator(e){return new Creator(e)}static currentPage(e){return new CurrentPage(e)}static data(e){return new Data(e)}static debug(e){return new Debug(e)}static defaultTypeface(e){return new DefaultTypeface(e)}static destination(e){return new Destination(e)}static documentAssembly(e){return new DocumentAssembly(e)}static driver(e){return new Driver(e)}static duplexOption(e){return new DuplexOption(e)}static dynamicRender(e){return new DynamicRender(e)}static embed(e){return new Embed(e)}static encrypt(e){return new config_Encrypt(e)}static encryption(e){return new config_Encryption(e)}static encryptionLevel(e){return new EncryptionLevel(e)}static enforce(e){return new Enforce(e)}static equate(e){return new Equate(e)}static equateRange(e){return new EquateRange(e)}static exclude(e){return new Exclude(e)}static excludeNS(e){return new ExcludeNS(e)}static flipLabel(e){return new FlipLabel(e)}static fontInfo(e){return new config_FontInfo(e)}static formFieldFilling(e){return new FormFieldFilling(e)}static groupParent(e){return new GroupParent(e)}static ifEmpty(e){return new IfEmpty(e)}static includeXDPContent(e){return new IncludeXDPContent(e)}static incrementalLoad(e){return new IncrementalLoad(e)}static incrementalMerge(e){return new IncrementalMerge(e)}static interactive(e){return new Interactive(e)}static jog(e){return new Jog(e)}static labelPrinter(e){return new LabelPrinter(e)}static layout(e){return new Layout(e)}static level(e){return new Level(e)}static linearized(e){return new Linearized(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static log(e){return new Log(e)}static map(e){return new MapElement(e)}static mediumInfo(e){return new MediumInfo(e)}static message(e){return new config_Message(e)}static messaging(e){return new Messaging(e)}static mode(e){return new Mode(e)}static modifyAnnots(e){return new ModifyAnnots(e)}static msgId(e){return new MsgId(e)}static nameAttr(e){return new NameAttr(e)}static neverEmbed(e){return new NeverEmbed(e)}static numberOfCopies(e){return new NumberOfCopies(e)}static openAction(e){return new OpenAction(e)}static output(e){return new Output(e)}static outputBin(e){return new OutputBin(e)}static outputXSL(e){return new OutputXSL(e)}static overprint(e){return new Overprint(e)}static packets(e){return new Packets(e)}static pageOffset(e){return new PageOffset(e)}static pageRange(e){return new PageRange(e)}static pagination(e){return new Pagination(e)}static paginationOverride(e){return new PaginationOverride(e)}static part(e){return new Part(e)}static pcl(e){return new Pcl(e)}static pdf(e){return new Pdf(e)}static pdfa(e){return new Pdfa(e)}static permissions(e){return new Permissions(e)}static pickTrayByPDFSize(e){return new PickTrayByPDFSize(e)}static picture(e){return new config_Picture(e)}static plaintextMetadata(e){return new PlaintextMetadata(e)}static presence(e){return new Presence(e)}static present(e){return new Present(e)}static print(e){return new Print(e)}static printHighQuality(e){return new PrintHighQuality(e)}static printScaling(e){return new PrintScaling(e)}static printerName(e){return new PrinterName(e)}static producer(e){return new Producer(e)}static ps(e){return new Ps(e)}static range(e){return new Range(e)}static record(e){return new Record(e)}static relevant(e){return new Relevant(e)}static rename(e){return new Rename(e)}static renderPolicy(e){return new RenderPolicy(e)}static runScripts(e){return new RunScripts(e)}static script(e){return new config_Script(e)}static scriptModel(e){return new ScriptModel(e)}static severity(e){return new Severity(e)}static silentPrint(e){return new SilentPrint(e)}static staple(e){return new Staple(e)}static startNode(e){return new StartNode(e)}static startPage(e){return new StartPage(e)}static submitFormat(e){return new SubmitFormat(e)}static submitUrl(e){return new SubmitUrl(e)}static subsetBelow(e){return new SubsetBelow(e)}static suppressBanner(e){return new SuppressBanner(e)}static tagged(e){return new Tagged(e)}static template(e){return new config_Template(e)}static templateCache(e){return new TemplateCache(e)}static threshold(e){return new Threshold(e)}static to(e){return new To(e)}static trace(e){return new Trace(e)}static transform(e){return new Transform(e)}static type(e){return new Type(e)}static uri(e){return new Uri(e)}static validate(e){return new config_Validate(e)}static validateApprovalSignatures(e){return new ValidateApprovalSignatures(e)}static validationMessaging(e){return new ValidationMessaging(e)}static version(e){return new Version(e)}static versionControl(e){return new VersionControl(e)}static viewerPreferences(e){return new ViewerPreferences(e)}static webClient(e){return new WebClient(e)}static whitespace(e){return new Whitespace(e)}static window(e){return new Window(e)}static xdc(e){return new Xdc(e)}static xdp(e){return new Xdp(e)}static xsl(e){return new Xsl(e)}static zpl(e){return new Zpl(e)}}const _o=no.connectionSet.id;class ConnectionSet extends XFAObject{constructor(e){super(_o,"connectionSet",!0);this.wsdlConnection=new XFAObjectArray;this.xmlConnection=new XFAObjectArray;this.xsdConnection=new XFAObjectArray}}class EffectiveInputPolicy extends XFAObject{constructor(e){super(_o,"effectiveInputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EffectiveOutputPolicy extends XFAObject{constructor(e){super(_o,"effectiveOutputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Operation extends StringObject{constructor(e){super(_o,"operation");this.id=e.id||"";this.input=e.input||"";this.name=e.name||"";this.output=e.output||"";this.use=e.use||"";this.usehref=e.usehref||""}}class RootElement extends StringObject{constructor(e){super(_o,"rootElement");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAction extends StringObject{constructor(e){super(_o,"soapAction");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAddress extends StringObject{constructor(e){super(_o,"soapAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class connection_set_Uri extends StringObject{constructor(e){super(_o,"uri");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlAddress extends StringObject{constructor(e){super(_o,"wsdlAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlConnection extends XFAObject{constructor(e){super(_o,"wsdlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.effectiveInputPolicy=null;this.effectiveOutputPolicy=null;this.operation=null;this.soapAction=null;this.soapAddress=null;this.wsdlAddress=null}}class XmlConnection extends XFAObject{constructor(e){super(_o,"xmlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.uri=null}}class XsdConnection extends XFAObject{constructor(e){super(_o,"xsdConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[to](e,t){if(ConnectionSetNamespace.hasOwnProperty(e))return ConnectionSetNamespace[e](t)}static connectionSet(e){return new ConnectionSet(e)}static effectiveInputPolicy(e){return new EffectiveInputPolicy(e)}static effectiveOutputPolicy(e){return new EffectiveOutputPolicy(e)}static operation(e){return new Operation(e)}static rootElement(e){return new RootElement(e)}static soapAction(e){return new SoapAction(e)}static soapAddress(e){return new SoapAddress(e)}static uri(e){return new connection_set_Uri(e)}static wsdlAddress(e){return new WsdlAddress(e)}static wsdlConnection(e){return new WsdlConnection(e)}static xmlConnection(e){return new XmlConnection(e)}static xsdConnection(e){return new XsdConnection(e)}}const Xo=no.datasets.id;class datasets_Data extends XmlObject{constructor(e){super(Xo,"data",e)}[Si](){return!0}}class Datasets extends XFAObject{constructor(e){super(Xo,"datasets",!0);this.data=null;this.Signature=null}[Bi](e){const t=e[Hi];("data"===t&&e[Ti]===Xo||"Signature"===t&&e[Ti]===no.signature.id)&&(this[t]=e);this[Lr](e)}}class DatasetsNamespace{static[to](e,t){if(DatasetsNamespace.hasOwnProperty(e))return DatasetsNamespace[e](t)}static datasets(e){return new Datasets(e)}static data(e){return new datasets_Data(e)}}const Wo=no.localeSet.id;class CalendarSymbols extends XFAObject{constructor(e){super(Wo,"calendarSymbols",!0);this.name="gregorian";this.dayNames=new XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new XFAObjectArray(2)}}class CurrencySymbol extends StringObject{constructor(e){super(Wo,"currencySymbol");this.name=getStringOption(e.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends XFAObject{constructor(e){super(Wo,"currencySymbols",!0);this.currencySymbol=new XFAObjectArray(3)}}class DatePattern extends StringObject{constructor(e){super(Wo,"datePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class DatePatterns extends XFAObject{constructor(e){super(Wo,"datePatterns",!0);this.datePattern=new XFAObjectArray(4)}}class DateTimeSymbols extends ContentObject{constructor(e){super(Wo,"dateTimeSymbols")}}class Day extends StringObject{constructor(e){super(Wo,"day")}}class DayNames extends XFAObject{constructor(e){super(Wo,"dayNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new XFAObjectArray(7)}}class Era extends StringObject{constructor(e){super(Wo,"era")}}class EraNames extends XFAObject{constructor(e){super(Wo,"eraNames",!0);this.era=new XFAObjectArray(2)}}class locale_set_Locale extends XFAObject{constructor(e){super(Wo,"locale",!0);this.desc=e.desc||"";this.name="isoname";this.calendarSymbols=null;this.currencySymbols=null;this.datePatterns=null;this.dateTimeSymbols=null;this.numberPatterns=null;this.numberSymbols=null;this.timePatterns=null;this.typeFaces=null}}class locale_set_LocaleSet extends XFAObject{constructor(e){super(Wo,"localeSet",!0);this.locale=new XFAObjectArray}}class Meridiem extends StringObject{constructor(e){super(Wo,"meridiem")}}class MeridiemNames extends XFAObject{constructor(e){super(Wo,"meridiemNames",!0);this.meridiem=new XFAObjectArray(2)}}class Month extends StringObject{constructor(e){super(Wo,"month")}}class MonthNames extends XFAObject{constructor(e){super(Wo,"monthNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new XFAObjectArray(12)}}class NumberPattern extends StringObject{constructor(e){super(Wo,"numberPattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class NumberPatterns extends XFAObject{constructor(e){super(Wo,"numberPatterns",!0);this.numberPattern=new XFAObjectArray(4)}}class NumberSymbol extends StringObject{constructor(e){super(Wo,"numberSymbol");this.name=getStringOption(e.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends XFAObject{constructor(e){super(Wo,"numberSymbols",!0);this.numberSymbol=new XFAObjectArray(5)}}class TimePattern extends StringObject{constructor(e){super(Wo,"timePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class TimePatterns extends XFAObject{constructor(e){super(Wo,"timePatterns",!0);this.timePattern=new XFAObjectArray(4)}}class TypeFace extends XFAObject{constructor(e){super(Wo,"typeFace",!0);this.name=""|e.name}}class TypeFaces extends XFAObject{constructor(e){super(Wo,"typeFaces",!0);this.typeFace=new XFAObjectArray}}class LocaleSetNamespace{static[to](e,t){if(LocaleSetNamespace.hasOwnProperty(e))return LocaleSetNamespace[e](t)}static calendarSymbols(e){return new CalendarSymbols(e)}static currencySymbol(e){return new CurrencySymbol(e)}static currencySymbols(e){return new CurrencySymbols(e)}static datePattern(e){return new DatePattern(e)}static datePatterns(e){return new DatePatterns(e)}static dateTimeSymbols(e){return new DateTimeSymbols(e)}static day(e){return new Day(e)}static dayNames(e){return new DayNames(e)}static era(e){return new Era(e)}static eraNames(e){return new EraNames(e)}static locale(e){return new locale_set_Locale(e)}static localeSet(e){return new locale_set_LocaleSet(e)}static meridiem(e){return new Meridiem(e)}static meridiemNames(e){return new MeridiemNames(e)}static month(e){return new Month(e)}static monthNames(e){return new MonthNames(e)}static numberPattern(e){return new NumberPattern(e)}static numberPatterns(e){return new NumberPatterns(e)}static numberSymbol(e){return new NumberSymbol(e)}static numberSymbols(e){return new NumberSymbols(e)}static timePattern(e){return new TimePattern(e)}static timePatterns(e){return new TimePatterns(e)}static typeFace(e){return new TypeFace(e)}static typeFaces(e){return new TypeFaces(e)}}const Ko=no.signature.id;class signature_Signature extends XFAObject{constructor(e){super(Ko,"signature",!0)}}class SignatureNamespace{static[to](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new signature_Signature(e)}}const Go=no.stylesheet.id;class Stylesheet extends XFAObject{constructor(e){super(Go,"stylesheet",!0)}}class StylesheetNamespace{static[to](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}const Vo=no.xdp.id;class xdp_Xdp extends XFAObject{constructor(e){super(Vo,"xdp",!0);this.uuid=e.uuid||"";this.timeStamp=e.timeStamp||"";this.config=null;this.connectionSet=null;this.datasets=null;this.localeSet=null;this.stylesheet=new XFAObjectArray;this.template=null}[Ri](e){const t=no[e[Hi]];return t&&e[Ti]===t.id}}class XdpNamespace{static[to](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new xdp_Xdp(e)}}const $o=no.xhtml.id,Yo=Symbol(),Jo=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),Qo=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e=>"none"===e?"none":"normal"],["xfa-font-horizontal-scale",e=>`scaleX(${Math.max(0,parseInt(e)/100).toFixed(2)})`],["xfa-font-vertical-scale",e=>`scaleY(${Math.max(0,parseInt(e)/100).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e,t)=>measureToString(.99*(e=t.fontSize=Math.abs(getMeasurement(e))))],["letter-spacing",e=>measureToString(getMeasurement(e))],["line-height",e=>measureToString(getMeasurement(e))],["margin",e=>measureToString(getMeasurement(e))],["margin-bottom",e=>measureToString(getMeasurement(e))],["margin-left",e=>measureToString(getMeasurement(e))],["margin-right",e=>measureToString(getMeasurement(e))],["margin-top",e=>measureToString(getMeasurement(e))],["text-indent",e=>measureToString(getMeasurement(e))],["font-family",e=>e],["vertical-align",e=>measureToString(getMeasurement(e))]]),Zo=/\s+/g,el=/[\r\n]+/g,tl=/\r\n?/g;function mapStyle(e,t,n){const a=Object.create(null);if(!e)return a;const s=Object.create(null);for(const[t,n]of e.split(";").map(e=>e.split(":",2))){const e=Qo.get(t);if(""===e)continue;let r=n;e&&(r="string"==typeof e?e:e(n,s));t.endsWith("scale")?a.transform=a.transform?`${a[t]} ${r}`:r:a[t.replaceAll(/-([a-zA-Z])/g,(e,t)=>t.toUpperCase())]=r}a.fontFamily&&setFontFamily({typeface:a.fontFamily,weight:a.fontWeight||"normal",posture:a.fontStyle||"normal",size:s.fontSize||0},t,t[di].fontFinder,a);if(n&&a.verticalAlign&&"0px"!==a.verticalAlign&&a.fontSize){const e=.583,t=.333,n=getMeasurement(a.fontSize);a.fontSize=measureToString(n*e);a.verticalAlign=measureToString(Math.sign(getMeasurement(a.verticalAlign))*n*t)}n&&a.fontSize&&(a.fontSize=`calc(${a.fontSize} * var(--total-scale-factor))`);fixTextIndent(a);return a}const nl=new Set(["body","html"]);class XhtmlObject extends XmlObject{constructor(e,t){super($o,t);this[Yo]=!1;this.style=e.style||""}[_r](e){super[_r](e);this.style=function checkStyle(e){return e.style?e.style.split(";").filter(e=>!!e.trim()).map(e=>e.split(":",2).map(e=>e.trim())).filter(([t,n])=>{"font-family"===t&&e[di].usedTypefaces.add(n);return Jo.has(t)}).map(e=>e.join(":")).join(";"):""}(this)}[Nr](){return!nl.has(this[Hi])}[Di](e,t=!1){if(t)this[Yo]=!0;else{e=e.replaceAll(el,"");this.style.includes("xfa-spacerun:yes")||(e=e.replaceAll(Zo," "))}e&&(this[Vr]+=e)}[Mi](e,t=!0){const n=Object.create(null),a={top:NaN,bottom:NaN,left:NaN,right:NaN};let s=null;for(const[e,t]of this.style.split(";").map(e=>e.split(":",2)))switch(e){case"font-family":n.typeface=stripQuotes(t);break;case"font-size":n.size=getMeasurement(t);break;case"font-weight":n.weight=t;break;case"font-style":n.posture=t;break;case"letter-spacing":n.letterSpacing=getMeasurement(t);break;case"margin":const e=t.split(/ \t/).map(e=>getMeasurement(e));switch(e.length){case 1:a.top=a.bottom=a.left=a.right=e[0];break;case 2:a.top=a.bottom=e[0];a.left=a.right=e[1];break;case 3:a.top=e[0];a.bottom=e[2];a.left=a.right=e[1];break;case 4:a.top=e[0];a.left=e[1];a.bottom=e[2];a.right=e[3]}break;case"margin-top":a.top=getMeasurement(t);break;case"margin-bottom":a.bottom=getMeasurement(t);break;case"margin-left":a.left=getMeasurement(t);break;case"margin-right":a.right=getMeasurement(t);break;case"line-height":s=getMeasurement(t)}e.pushData(n,a,s);if(this[Vr])e.addString(this[Vr]);else for(const t of this[fi]())"#text"!==t[Hi]?t[Mi](e):e.addString(t[Vr]);t&&e.popFont()}[Ji](e){const t=[];this[Jr]={children:t};this[Ur]({});if(0===t.length&&!this[Vr])return HTMLResult.EMPTY;let n;n=this[Yo]?this[Vr]?this[Vr].replaceAll(tl,"\n"):void 0:this[Vr]||void 0;return HTMLResult.success({name:this[Hi],attributes:{href:this.href,style:mapStyle(this.style,this,this[Yo])},children:t,value:n})}}class A extends XhtmlObject{constructor(e){super(e,"a");this.href=fixURL(e.href)||""}}class B extends XhtmlObject{constructor(e){super(e,"b")}[Mi](e){e.pushFont({weight:"bold"});super[Mi](e);e.popFont()}}class Body extends XhtmlObject{constructor(e){super(e,"body")}[Ji](e){const t=super[Ji](e),{html:n}=t;if(!n)return HTMLResult.EMPTY;n.name="div";n.attributes.class=["xfaRich"];return t}}class Br extends XhtmlObject{constructor(e){super(e,"br")}[$i](){return"\n"}[Mi](e){e.addString("\n")}[Ji](e){return HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(e){super(e,"html")}[Ji](e){const t=[];this[Jr]={children:t};this[Ur]({});if(0===t.length)return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[Vr]||""});if(1===t.length){const e=t[0];if(e.attributes?.class.includes("xfaRich"))return HTMLResult.success(e)}return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t})}}class I extends XhtmlObject{constructor(e){super(e,"i")}[Mi](e){e.pushFont({posture:"italic"});super[Mi](e);e.popFont()}}class Li extends XhtmlObject{constructor(e){super(e,"li")}}class Ol extends XhtmlObject{constructor(e){super(e,"ol")}}class P extends XhtmlObject{constructor(e){super(e,"p")}[Mi](e){super[Mi](e,!1);e.addString("\n");e.addPara();e.popFont()}[$i](){return this[mi]()[fi]().at(-1)===this?super[$i]():super[$i]()+"\n"}}class Span extends XhtmlObject{constructor(e){super(e,"span")}}class Sub extends XhtmlObject{constructor(e){super(e,"sub")}}class Sup extends XhtmlObject{constructor(e){super(e,"sup")}}class Ul extends XhtmlObject{constructor(e){super(e,"ul")}}class XhtmlNamespace{static[to](e,t){if(XhtmlNamespace.hasOwnProperty(e))return XhtmlNamespace[e](t)}static a(e){return new A(e)}static b(e){return new B(e)}static body(e){return new Body(e)}static br(e){return new Br(e)}static html(e){return new Html(e)}static i(e){return new I(e)}static li(e){return new Li(e)}static ol(e){return new Ol(e)}static p(e){return new P(e)}static span(e){return new Span(e)}static sub(e){return new Sub(e)}static sup(e){return new Sup(e)}static ul(e){return new Ul(e)}}const al={config:ConfigNamespace,connection:ConnectionSetNamespace,datasets:DatasetsNamespace,localeSet:LocaleSetNamespace,signature:SignatureNamespace,stylesheet:StylesheetNamespace,template:TemplateNamespace,xdp:XdpNamespace,xhtml:XhtmlNamespace};class UnknownNamespace{constructor(e){this.namespaceId=e}[to](e,t){return new XmlObject(this.namespaceId,e,t)}}class Root extends XFAObject{constructor(e){super(-1,"root",Object.create(null));this.element=null;this[bi]=e}[Bi](e){this.element=e;return!0}[Qr](){super[Qr]();if(this.element.template instanceof Template){this[bi].set(zi,this.element);this.element.template[_i](this[bi]);this.element.template[bi]=this[bi]}}}class Empty extends XFAObject{constructor(){super(-1,"",Object.create(null))}[Bi](e){return!1}}class Builder{constructor(e=null){this._namespaceStack=[];this._nsAgnosticLevel=0;this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(no).map(({id:e})=>e));this._currentNamespace=e||new UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build({nsPrefix:e,name:t,attributes:n,namespace:a,prefixes:s}){const r=null!==a;if(r){this._namespaceStack.push(this._currentNamespace);this._currentNamespace=this._searchNamespace(a)}s&&this._addNamespacePrefix(s);if(n.hasOwnProperty(Oi)){const e=al.datasets,t=n[Oi];let a=null;for(const[n,s]of Object.entries(t)){if(this._getNamespaceToUse(n)===e){a={xfa:s};break}}a?n[Oi]=a:delete n[Oi]}const i=this._getNamespaceToUse(e),o=i?.[to](t,n)||new Empty;o[Si]()&&this._nsAgnosticLevel++;(r||s||o[Si]())&&(o[Wr]={hasNamespace:r,prefixes:s,nsAgnostic:o[Si]()});return o}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[n,{check:a}]of Object.entries(no))if(a(e)){t=al[n];if(t){this._namespaces.set(e,t);return t}break}t=new UnknownNamespace(++this._nextNsId);this._namespaces.set(e,t);return t}_addNamespacePrefix(e){for(const{prefix:t,value:n}of e){const e=this._searchNamespace(n);this._namespacePrefixes.getOrInsertComputed(t,makeArr).push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t?.length>0)return t.at(-1);warn(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:n,nsAgnostic:a}=e;t&&(this._currentNamespace=this._namespaceStack.pop());n&&n.forEach(({prefix:e})=>{this._namespacePrefixes.get(e).pop()});a&&this._nsAgnosticLevel--}}class XFAParser extends XMLParserBase{constructor(e=null,t=!1){super();this._builder=new Builder(e);this._stack=[];this._globalData={usedTypefaces:new Set};this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=xr;this._whiteRegex=/^\s+$/;this._nbsps=/\xa0+/g;this._richText=t}parse(e){this.parseXml(e);if(this._errorCode===xr){this._current[Qr]();return this._current.element}}onText(e){e=e.replace(this._nbsps,e=>e.slice(1)+" ");this._richText||this._current[Nr]()?this._current[Di](e,this._richText):this._whiteRegex.test(e)||this._current[Di](e.trim())}onCdata(e){this._current[Di](e)}_mkAttributes(e,t){let n=null,a=null;const s=Object.create({});for(const{name:r,value:i}of e)if("xmlns"===r)n?warn(`XFA - multiple namespace definition in <${t}>`):n=i;else if(r.startsWith("xmlns:")){const e=r.substring(6);a??=[];a.push({prefix:e,value:i})}else{const e=r.indexOf(":");if(-1===e)s[r]=i;else{const t=s[Oi]??=Object.create(null),[n,a]=[r.slice(0,e),r.slice(e+1)];(t[n]||=Object.create(null))[a]=i}}return[n,a,s]}_getNameAndPrefix(e,t){const n=e.indexOf(":");return-1===n?[e,null]:[e.substring(n+1),t?"":e.substring(0,n)]}onBeginElement(e,t,n){const[a,s,r]=this._mkAttributes(t,e),[i,o]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),l=this._builder.build({nsPrefix:o,name:i,attributes:r,namespace:a,prefixes:s});l[di]=this._globalData;if(n){l[Qr]();this._current[Bi](l)&&l[Wi](this._ids);l[_r](this._builder)}else{this._stack.push(this._current);this._current=l}}onEndElement(e){const t=this._current;if(t[ki]()&&"string"==typeof t[Vr]){const e=new XFAParser;e._globalData=this._globalData;const n=e.parse(t[Vr]);t[Vr]=null;t[Bi](n)}t[Qr]();this._current=this._stack.pop();this._current[Bi](t)&&t[Wi](this._ids);t[_r](this._builder)}onError(e){this._errorCode=e}}class XFAFactory{constructor(e){try{this.root=(new XFAParser).parse(XFAFactory._createDocument(e));const t=new Binder(this.root);this.form=t.bind();this.dataHandler=new DataHandler(this.root,t.getData());this.form[di].template=this.form}catch(e){warn(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return!(!this.root||!this.form)}_createPagesHelper(){const e=this.form[Yi]();return new Promise((t,n)=>{const nextIteration=()=>{try{const n=e.next();n.done?t(n.value):setTimeout(nextIteration,0)}catch(e){n(e)}};setTimeout(nextIteration,0)})}async _createPages(){try{this.pages=await this._createPagesHelper();this.dims=this.pages.children.map(e=>{const{width:t,height:n}=e.attributes.style;return[0,0,parseInt(t),parseInt(n)]})}catch(e){warn(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){this.pages||await this._createPages();return this.dims.length}setImages(e){this.form[di].images=e}setFonts(e){this.form[di].fontFinder=new FontFinder(e);const t=[];for(let e of this.form[di].usedTypefaces){e=stripQuotes(e);this.form[di].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[di].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;this.pages=null;return e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}static getRichTextAsHtml(e){if(!e||"string"!=typeof e)return null;try{let t=new XFAParser(XhtmlNamespace,!0).parse(e);if(!["body","xhtml"].includes(t[Hi])){const e=XhtmlNamespace.body({});e[Lr](t);t=e}const n=t[Ji]();if(!n.success)return null;const{html:a}=n,{attributes:s}=a;if(s){s.class&&(s.class=s.class.filter(e=>!e.startsWith("xfa")));s.dir="auto"}return{html:a,str:t[$i]()}}catch(e){warn(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}class AnnotationFactory{static createGlobals(e){return Promise.all([e.ensureCatalog("acroForm"),e.ensureDoc("xfaDatasets"),e.ensureCatalog("structTreeRoot"),e.ensureCatalog("baseUrl"),e.ensureCatalog("attachments"),e.ensureCatalog("globalColorSpaceCache")]).then(([t,n,a,s,r,i])=>({pdfManager:e,acroForm:t instanceof Dict?t:Dict.empty,xfaDatasets:n,structTreeRoot:a,baseUrl:s,attachments:r,globalColorSpaceCache:i}),e=>{warn(`createGlobals: "${e}".`);return null})}static async create(e,t,n,a,s,r,i,o){const l=s?await this._getPageIndex(e,t,n.pdfManager):null;return n.pdfManager.ensure(this,"_create",[e,t,n,a,s,r,i,l,o])}static _create(e,t,n,a,s=!1,r=null,i=null,o=null,l=null){const f=e.fetchIfRef(t);if(!(f instanceof Dict))return;let c=f.get("Subtype");c=c instanceof Name?c.name:null;if(i&&!i.has(T[c?.toUpperCase()]))return null;const{acroForm:h,pdfManager:u}=n,m=t instanceof Ref?t.toString():`annot_${a.createObjId()}`,p={xref:e,ref:t,dict:f,subtype:c,id:m,annotationGlobals:n,collectFields:s,orphanFields:r,needAppearances:!s&&!0===h.get("NeedAppearances"),pageIndex:o,evaluatorOptions:u.evaluatorOptions,pageRef:l};switch(c){case"Link":return new LinkAnnotation(p);case"Text":return new TextAnnotation(p);case"Widget":let e=getInheritableProperty({dict:f,key:"FT"});e=e instanceof Name?e.name:null;switch(e){case"Tx":return new TextWidgetAnnotation(p);case"Btn":return new ButtonWidgetAnnotation(p);case"Ch":return new ChoiceWidgetAnnotation(p);case"Sig":return new SignatureWidgetAnnotation(p)}warn(`Unimplemented widget field type "${e}", falling back to base field type.`);return new WidgetAnnotation(p);case"Popup":return new PopupAnnotation(p);case"FreeText":return new FreeTextAnnotation(p);case"Line":return new LineAnnotation(p);case"Square":return new SquareAnnotation(p);case"Circle":return new CircleAnnotation(p);case"PolyLine":return new PolylineAnnotation(p);case"Polygon":return new PolygonAnnotation(p);case"Caret":return new CaretAnnotation(p);case"Ink":return new InkAnnotation(p);case"Highlight":return new HighlightAnnotation(p);case"Underline":return new UnderlineAnnotation(p);case"Squiggly":return new SquigglyAnnotation(p);case"StrikeOut":return new StrikeOutAnnotation(p);case"Stamp":return new StampAnnotation(p);case"FileAttachment":return new FileAttachmentAnnotation(p);default:s||warn(c?`Unimplemented annotation type "${c}", falling back to base annotation.`:"Annotation is missing the required /Subtype.");return new Annotation(p)}}static async _getPageIndex(e,t,n){try{const a=await e.fetchIfRefAsync(t);if(!(a instanceof Dict))return-1;const s=a.getRaw("P");if(s instanceof Ref)try{return await n.ensureCatalog("getPageIndex",[s])}catch(e){info(`_getPageIndex -- not a valid page reference: "${e}".`)}if(a.has("Kids"))return-1;const r=await n.ensureDoc("numPages");for(let e=0;e<r;e++){const a=await n.getPage(e),s=await n.ensure(a,"annotations");for(const n of s)if(n instanceof Ref&&isRefsEqual(n,t))return e}}catch(e){warn(`_getPageIndex: "${e}".`)}return-1}static generateImages(e,t,n){if(!n){warn("generateImages: OffscreenCanvas is not supported, cannot save or print some annotations with images.");return null}let a;for(const{bitmapId:n,bitmap:s}of e)if(s){a||=new Map;a.set(n,StampAnnotation.createImage(s,t))}return a}static async saveNewAnnotations(e,t,n,a,s){const r=e.xref;let i;const o=[],{isOffscreenCanvasSupported:l}=e.options;for(const f of n)if(!f.deleted)switch(f.annotationType){case p:if(!i){const e=new Dict(r);e.setIfName("BaseFont","Helvetica");e.setIfName("Type","Font");e.setIfName("Subtype","Type1");e.setIfName("Encoding","WinAnsiEncoding");i=r.getNewTemporaryRef();s.put(i,{data:e})}o.push(FreeTextAnnotation.createNewAnnotation(r,f,s,{evaluator:e,task:t,baseFontRef:i}));break;case d:f.quadPoints?o.push(HighlightAnnotation.createNewAnnotation(r,f,s)):o.push(InkAnnotation.createNewAnnotation(r,f,s));break;case b:o.push(InkAnnotation.createNewAnnotation(r,f,s));break;case g:const n=l?await(a?.get(f.bitmapId)):null;if(n?.imageStream){const{imageStream:e,smaskStream:t}=n;if(t){const n=r.getNewTemporaryRef();s.put(n,{data:t});e.dict.set("SMask",n)}const a=n.imageRef=r.getNewTemporaryRef();s.put(a,{data:e});n.imageStream=n.smaskStream=null}o.push(StampAnnotation.createNewAnnotation(r,f,s,{image:n}));break;case w:o.push(StampAnnotation.createNewAnnotation(r,f,s,{}))}return{annotations:(await Promise.all(o)).flat()}}static async printNewAnnotations(e,t,n,a,s){if(!a)return null;const{options:r,xref:i}=t,o=[];for(const l of a)if(!l.deleted)switch(l.annotationType){case p:o.push(FreeTextAnnotation.createNewPrintAnnotation(e,i,l,{evaluator:t,task:n,evaluatorOptions:r}));break;case d:l.quadPoints?o.push(HighlightAnnotation.createNewPrintAnnotation(e,i,l,{evaluatorOptions:r})):o.push(InkAnnotation.createNewPrintAnnotation(e,i,l,{evaluatorOptions:r}));break;case b:o.push(InkAnnotation.createNewPrintAnnotation(e,i,l,{evaluatorOptions:r}));break;case g:const a=r.isOffscreenCanvasSupported?await(s?.get(l.bitmapId)):null;if(a?.imageStream){const{imageStream:e,smaskStream:t}=a;t&&e.dict.set("SMask",t);a.imageRef=new JpegStream(e,e.length);a.imageStream=a.smaskStream=null}o.push(StampAnnotation.createNewPrintAnnotation(e,i,l,{image:a,evaluatorOptions:r}));break;case w:o.push(StampAnnotation.createNewPrintAnnotation(e,i,l,{evaluatorOptions:r}))}return Promise.all(o)}}function getRgbColor(e,t=new Uint8ClampedArray(3)){if(!Array.isArray(e))return t;const n=t||new Uint8ClampedArray(3);switch(e.length){case 0:return null;case 1:ColorSpaceUtils.gray.getRgbItem(e,0,n,0);return n;case 3:ColorSpaceUtils.rgb.getRgbItem(e,0,n,0);return n;case 4:ColorSpaceUtils.cmyk.getRgbItem(e,0,n,0);return n;default:return t}}function getPdfColorArray(e,t=null){return e&&Array.from(e,e=>e/255)||t}function getQuadPoints(e,t){const n=e.getArray("QuadPoints");if(!isNumberArray(n,null)||0===n.length||n.length%8>0)return null;const a=new Float32Array(n.length);for(let e=0,s=n.length;e<s;e+=8){const[s,r,i,o,l,f,c,h]=n.slice(e,e+8),u=Math.min(s,i,l,c),m=Math.max(s,i,l,c),p=Math.min(r,o,f,h),d=Math.max(r,o,f,h);if(null!==t&&(u<t[0]||m>t[2]||p<t[1]||d>t[3]))return null;a.set([u,d,m,d,u,p,m,p],e)}return a}function getTransformMatrix(e,t,n){const a=new Float32Array([1/0,1/0,-1/0,-1/0]);Util.axialAlignedBoundingBox(t,n,a);const[s,r,i,o]=a;if(s===i||r===o)return[1,0,0,1,e[0],e[1]];const l=(e[2]-e[0])/(i-s),f=(e[3]-e[1])/(o-r);return[l,0,0,f,e[0]-s*l,e[1]-r*f]}class Annotation{constructor(e){const{annotationGlobals:t,dict:n,orphanFields:a,ref:s,subtype:r,xref:i}=e,o=a?.get(s);o&&n.set("Parent",o);this.setTitle(n.get("T"));this.setContents(n.get("Contents"));this.setModificationDate(n.get("M"));this.setFlags(n.get("F"));this.setRectangle(n.getArray("Rect"));this.setColor(n.getArray("C"));this.setBorderStyle(n);this.setAppearance(n);this.setOptionalContent(n);const l=n.get("MK");this.setBorderAndBackgroundColors(l);this.setRotation(l,n);this.ref=e.ref instanceof Ref?e.ref:null;this._streams=[];this.appearance&&this._streams.push(this.appearance);const f=!!(this.flags&z),c=!!(this.flags&L);this.data={annotationType:T[r?.toUpperCase()],annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:r,hasOwnCanvas:!1,noRotate:!!(this.flags&E),noHTML:f&&c,isEditable:!1,structParent:-1};if(t.structTreeRoot){let a=n.get("StructParent");this.data.structParent=a=Number.isInteger(a)&&a>=0?a:-1;t.structTreeRoot.addAnnotationIdToPage(e.pageRef,a)}if(e.collectFields){const t=n.get("Kids");if(Array.isArray(t)){const e=[];for(const n of t)n instanceof Ref&&e.push(n.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=collectActions(i,n,se);this.data.fieldName=this._constructFieldName(n);this.data.pageIndex=e.pageIndex}const h=n.get("IT");h instanceof Name&&(this.data.it=h.name);this._isOffscreenCanvasSupported=e.evaluatorOptions.isOffscreenCanvasSupported;this._fallbackFontDict=null;this._needAppearances=!1}_hasFlag(e,t){return!!(e&t)}_buildFlags(e,t){let{flags:n}=this;if(void 0===e){if(void 0===t)return;return t?n&~M:n&~D|M}if(e){n|=M;return t?n&~N|D:n&~D|N}n&=~(D|N);return t?n&~M:n|M}_isViewable(e){return!this._hasFlag(e,R)&&!this._hasFlag(e,N)}_isPrintable(e){return this._hasFlag(e,M)&&!this._hasFlag(e,D)&&!this._hasFlag(e,R)}mustBeViewed(e,t){const n=e?.get(this.data.id)?.noView;return void 0!==n?!n:this.viewable&&!this._hasFlag(this.flags,D)}mustBePrinted(e){const t=e?.get(this.data.id)?.noPrint;return void 0!==t?!t:this.printable}mustBeViewedWhenEditing(e,t=null){return e?!this.data.isEditable:!t?.has(this.data.id)}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t="string"==typeof e?stringToPDFString(e):"";return{str:t,dir:t&&"rtl"===bidi(t).dir?"rtl":"ltr"}}setDefaultAppearance(e){const{dict:t,annotationGlobals:n}=e,a=getInheritableProperty({dict:t,key:"DA"})||n.acroForm.get("DA");this._defaultAppearance="string"==typeof a?a:"";this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance)}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate="string"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0;this.flags&R&&"Annotation"!==this.constructor.name&&(this.flags^=R)}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){this.rectangle=lookupNormalRect(e,[0,0,0,0])}setColor(e){this.color=getRgbColor(e)}setLineEndings(e){this.lineEndings=["None","None"];if(Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const n=e[t];if(n instanceof Name)switch(n.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t]=n.name;continue}warn(`Ignoring invalid lineEnding: ${n}`)}}setRotation(e,t){this.rotation=0;let n=e instanceof Dict?e.get("R")||0:t.get("Rotate")||0;if(Number.isInteger(n)&&0!==n){n%=360;n<0&&(n+=360);n%90==0&&(this.rotation=n)}}setBorderAndBackgroundColors(e){if(e instanceof Dict){this.borderColor=getRgbColor(e.getArray("BC"),null);this.backgroundColor=getRgbColor(e.getArray("BG"),null)}else this.borderColor=this.backgroundColor=null}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if(e instanceof Dict)if(e.has("BS")){const t=e.get("BS");if(t instanceof Dict){const e=t.get("Type");if(!e||isName(e,"Border")){this.borderStyle.setWidth(t.get("W"),this.rectangle);this.borderStyle.setStyle(t.get("S"));this.borderStyle.setDashArray(t.getArray("D"))}}}else if(e.has("Border")){const t=e.getArray("Border");if(Array.isArray(t)&&t.length>=3){this.borderStyle.setHorizontalCornerRadius(t[0]);this.borderStyle.setVerticalCornerRadius(t[1]);this.borderStyle.setWidth(t[2],this.rectangle);4===t.length&&this.borderStyle.setDashArray(t[3],!0)}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(t instanceof Dict))return;const n=t.get("N");if(n instanceof BaseStream){this.appearance=n;return}if(!(n instanceof Dict))return;const a=e.get("AS");if(!(a instanceof Name&&n.has(a.name)))return;const s=n.get(a.name);s instanceof BaseStream&&(this.appearance=s)}setOptionalContent(e){this.oc=null;const t=e.get("OC");t instanceof Name?warn("setOptionalContent: Support for /Name-entry is not implemented."):t instanceof Dict&&(this.oc=t)}async loadResources(e,t){const n=await t.dict.getAsync("Resources");n&&await ObjectLoader.load(n,e,n.xref);return n}async getOperatorList(e,t,n,a){const{hasOwnCanvas:s,id:r,rect:o}=this.data;let l=this.appearance;const f=!!(s&&n&i);if(f&&(0===this.width||0===this.height)){this.data.hasOwnCanvas=!1;return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}if(!l){if(!f)return{opList:new OperatorList,separateForm:!1,separateCanvas:!1};l=new StringStream("");l.dict=new Dict}const c=l.dict,h=await this.loadResources(dn,l),u=lookupRect(c.getArray("BBox"),[0,0,1,1]),m=lookupMatrix(c.getArray("Matrix"),pn),p=getTransformMatrix(o,u,m),d=new OperatorList;let g;this.oc&&(g=await e.parseMarkedContentProps(this.oc,null));void 0!==g&&d.addOp(St,["OC",g]);d.addOp(Ot,[r,o,p,m,f]);await e.getOperatorList({stream:l,task:t,resources:h,operatorList:d,fallbackFontDict:this._fallbackFontDict});d.addOp(Bt,[]);void 0!==g&&d.addOp(xt,[]);this.reset();return{opList:d,separateForm:!1,separateCanvas:f}}async save(e,t,n,a){return null}get overlaysTextContent(){return!1}get hasTextContent(){return!1}async extractTextContent(e,t,n){if(!this.appearance)return;const a=await this.loadResources(gn,this.appearance),s=[],r=[];let i=null;const o={desiredSize:Math.Infinity,ready:!0,enqueue(e,t){for(const t of e.items)if(void 0!==t.str){i||=t.transform.slice(-2);r.push(t.str);if(t.hasEOL){s.push(r.join("").trimEnd());r.length=0}}}};await e.getTextContent({stream:this.appearance,task:t,resources:a,includeMarkedContent:!0,keepWhiteSpace:!0,sink:o,viewBox:n});this.reset();r.length&&s.push(r.join("").trimEnd());if(s.length>1||s[0]){const e=this.appearance.dict,t=lookupRect(e.getArray("BBox"),null),n=lookupMatrix(e.getArray("Matrix"),null);this.data.textPosition=this._transformPoint(i,t,n);this.data.textContent=s}}_transformPoint(e,t,n){const{rect:a}=this.data;t||=[0,0,1,1];n||=[1,0,0,1,0,0];const s=getTransformMatrix(a,t,n);s[4]-=a[0];s[5]-=a[1];const r=e.slice();Util.applyTransform(r,s);Util.applyTransform(r,n);return r}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent")){warn("Unknown field name, falling back to empty field name.");return""}if(!e.has("Parent"))return stringToPDFString(e.get("T"));const t=[];e.has("T")&&t.unshift(stringToPDFString(e.get("T")));let n=e;const a=new RefSet;e.objId&&a.put(e.objId);for(;n.has("Parent");){n=n.get("Parent");if(!(n instanceof Dict)||n.objId&&a.has(n.objId))break;n.objId&&a.put(n.objId);n.has("T")&&t.unshift(stringToPDFString(n.get("T")))}return t.join(".")}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}}class AnnotationBorderStyle{width=1;rawWidth=1;style=Z;dashArray=[3];horizontalCornerRadius=0;verticalCornerRadius=0;setWidth(e,t=[0,0,0,0]){if(e instanceof Name)this.width=0;else if("number"==typeof e){if(e>0){this.rawWidth=e;const n=(t[2]-t[0])/2,a=(t[3]-t[1])/2;if(n>0&&a>0&&(e>n||e>a)){warn(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if(e instanceof Name)switch(e.name){case"S":this.style=Z;break;case"D":this.style=ee;break;case"B":this.style=te;break;case"I":this.style=ne;break;case"U":this.style=ae}}setDashArray(e,t=!1){if(Array.isArray(e)){let n=!0,a=!0;for(const t of e){if(!(+t>=0)){n=!1;break}t>0&&(a=!1)}if(0===e.length||n&&!a){this.dashArray=e;t&&this.setStyle(Name.get("D"))}else this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}class MarkupAnnotation extends Annotation{constructor(e){super(e);const{dict:t}=e;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=e instanceof Ref?e.toString():null;const n=t.get("RT");this.data.replyType=n instanceof Name?n.name:O}let n=null;if(this.data.replyType===H){const e=t.get("IRT");this.setTitle(e.get("T"));this.data.titleObj=this._title;this.setContents(e.get("Contents"));this.data.contentsObj=this._contents;if(e.has("CreationDate")){this.setCreationDate(e.get("CreationDate"));this.data.creationDate=this.creationDate}else this.data.creationDate=null;if(e.has("M")){this.setModificationDate(e.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;n=e.getRaw("Popup");if(e.has("C")){this.setColor(e.getArray("C"));this.data.color=this.color}else this.data.color=null}else{this.data.titleObj=this._title;this.setCreationDate(t.get("CreationDate"));this.data.creationDate=this.creationDate;n=t.getRaw("Popup");t.has("C")||(this.data.color=null)}this.data.popupRef=n instanceof Ref?n.toString():null;t.has("RC")&&(this.data.richText=XFAFactory.getRichTextAsHtml(t.get("RC")))}setCreationDate(e){this.creationDate="string"==typeof e?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:n,fillColor:a,blendMode:s,strokeAlpha:r,fillAlpha:i,pointsCallback:o}){const l=this.data.rect=[1/0,1/0,-1/0,-1/0],f=["q"];t&&f.push(t);n&&f.push(`${n[0]} ${n[1]} ${n[2]} RG`);a&&f.push(`${a[0]} ${a[1]} ${a[2]} rg`);const c=this.data.quadPoints||Float32Array.from([this.rectangle[0],this.rectangle[3],this.rectangle[2],this.rectangle[3],this.rectangle[0],this.rectangle[1],this.rectangle[2],this.rectangle[1]]);for(let e=0,t=c.length;e<t;e+=8){const t=o(f,c.subarray(e,e+8));Util.rectBoundingBox(...t,l)}f.push("Q");const h=new Dict(e),u=new Dict(e);u.setIfName("Subtype","Form");const m=new StringStream(f.join(" "));m.dict=u;h.set("Fm0",m);const p=new Dict(e);s&&p.setIfName("BM",s);p.setIfNumber("CA",r);p.setIfNumber("ca",i);const d=new Dict(e);d.set("GS0",p);const g=new Dict(e);g.set("ExtGState",d);g.set("XObject",h);const b=new Dict(e);b.set("Resources",g);b.set("BBox",l);this.appearance=new StringStream("/GS0 gs /Fm0 Do");this.appearance.dict=b;this._streams.push(this.appearance,m)}static async createNewAnnotation(e,t,n,a){const s=t.ref||=e.getNewTemporaryRef(),r=await this.createNewAppearanceStream(t,e,a);let i;if(r){const a=e.getNewTemporaryRef();i=this.createNewDict(t,e,{apRef:a});n.put(a,{data:r})}else i=this.createNewDict(t,e,{});Number.isInteger(t.parentTreeId)&&i.set("StructParent",t.parentTreeId);n.put(s,{data:i});const o={ref:s},{popup:l}=t;if(l){if(l.deleted){i.delete("Popup");i.delete("Contents");i.delete("RC");return o}const t=l.ref||=e.getNewTemporaryRef();l.parent=s;const a=PopupAnnotation.createNewDict(l,e);n.put(t,{data:a});i.setIfDefined("Contents",stringToAsciiOrUTF16BE(l.contents));i.set("Popup",t);return[o,{ref:t}]}return o}static async createNewPrintAnnotation(e,t,n,a){const s=await this.createNewAppearanceStream(n,t,a),r=this.createNewDict(n,t,s?{ap:s}:{}),i=new this.prototype.constructor({dict:r,xref:t,annotationGlobals:e,evaluatorOptions:a.evaluatorOptions});n.ref&&(i.ref=i.refToReplace=n.ref);return i}}class WidgetAnnotation extends Annotation{constructor(e){super(e);const{dict:t,xref:n,annotationGlobals:a}=e,s=this.data;this._needAppearances=e.needAppearances;void 0===s.fieldName&&(s.fieldName=this._constructFieldName(t));void 0===s.actions&&(s.actions=collectActions(n,t,se));let r=getInheritableProperty({dict:t,key:"V",getArray:!0});s.fieldValue=this._decodeFormValue(r);const i=getInheritableProperty({dict:t,key:"DV",getArray:!0});s.defaultFieldValue=this._decodeFormValue(i);if(void 0===r&&a.xfaDatasets){const e=this._title.str;if(e){this._hasValueFromXFA=!0;s.fieldValue=r=a.xfaDatasets.getValue(e)}}void 0===r&&null!==s.defaultFieldValue&&(s.fieldValue=s.defaultFieldValue);s.alternativeText=stringToPDFString(t.get("TU")||"");this.setDefaultAppearance(e);s.hasAppearance||=this._needAppearances&&void 0!==s.fieldValue&&null!==s.fieldValue;const o=getInheritableProperty({dict:t,key:"FT"});s.fieldType=o instanceof Name?o.name:null;const l=getInheritableProperty({dict:t,key:"DR"}),f=a.acroForm.get("DR"),c=this.appearance?.dict.get("Resources");this._fieldResources={localResources:l,acroFormResources:f,appearanceResources:c,mergedResources:Dict.merge({xref:n,dictArray:[l,c,f],mergeSubDicts:!0})};s.fieldFlags=getInheritableProperty({dict:t,key:"Ff"});(!Number.isInteger(s.fieldFlags)||s.fieldFlags<0)&&(s.fieldFlags=0);s.password=this.hasFieldFlag(W);s.readOnly=this.hasFieldFlag(U);s.required=this.hasFieldFlag(_);s.hidden=this._hasFlag(s.annotationFlags,D)||this._hasFlag(s.annotationFlags,N)}_decodeFormValue(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).map(e=>stringToPDFString(e)):e instanceof Name?stringToPDFString(e.name):"string"==typeof e?stringToPDFString(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}_isViewable(e){return!0}mustBeViewed(e,t){return t?this.viewable:super.mustBeViewed(e,t)&&!this._hasFlag(this.flags,N)}getRotationMatrix(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);return 0===t?pn:getRotationMatrix(t,this.width,this.height)}getBorderAndBackgroundAppearances(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(!this.backgroundColor&&!this.borderColor)return"";const n=0===t||180===t?`0 0 ${this.width} ${this.height} re`:`0 0 ${this.height} ${this.width} re`;let a="";this.backgroundColor&&(a=`${getPdfColor(this.backgroundColor,!0)} ${n} f `);if(this.borderColor){a+=`${this.borderStyle.width||1} w ${getPdfColor(this.borderColor,!1)} ${n} S `}return a}async getOperatorList(e,t,n,a){if(n&f&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(e,t,n,a);const s=await this._getAppearance(e,t,n,a);if(this.appearance&&null===s)return super.getOperatorList(e,t,n,a);const r=new OperatorList;if(!this._defaultAppearance||null===s)return{opList:r,separateForm:!1,separateCanvas:!1};const o=!!(this.data.hasOwnCanvas&&n&i),l=[0,0,this.width,this.height],c=getTransformMatrix(this.data.rect,l,[1,0,0,1,0,0]);let h;this.oc&&(h=await e.parseMarkedContentProps(this.oc,null));void 0!==h&&r.addOp(St,["OC",h]);r.addOp(Ot,[this.data.id,this.data.rect,c,this.getRotationMatrix(a),o]);const u=new StringStream(s);await e.getOperatorList({stream:u,task:t,resources:this._fieldResources.mergedResources,operatorList:r});r.addOp(Bt,[]);void 0!==h&&r.addOp(xt,[]);return{opList:r,separateForm:!1,separateCanvas:o}}_getMKDict(e){const t=new Dict(null);e&&t.set("R",e);t.setIfArray("BC",getPdfColorArray(this.borderColor));t.setIfArray("BG",getPdfColorArray(this.backgroundColor));return t.size>0?t:null}amendSavedDict(e,t){}setValue(e,t,n,a){const{dict:s,ref:r}=function getParentToUpdate(e,t,n){const a=new RefSet,s=e,r={dict:null,ref:null};for(;e instanceof Dict&&!a.has(t);){a.put(t);if(e.has("T"))break;if(!((t=e.getRaw("Parent"))instanceof Ref))return r;e=n.fetch(t)}if(e instanceof Dict&&e!==s){r.dict=e;r.ref=t}return r}(e,this.ref,n);if(s){if(!a.has(r)){const e=s.clone();e.set("V",t);a.put(r,{data:e});return e}}else e.set("V",t);return null}async save(e,t,n,a){const s=n?.get(this.data.id),r=this._buildFlags(s?.noView,s?.noPrint);let i=s?.value,o=s?.rotation;if(i===this.data.fieldValue||void 0===i){if(!this._hasValueFromXFA&&void 0===o&&void 0===r)return;i||=this.data.fieldValue}if(void 0===o&&!this._hasValueFromXFA&&Array.isArray(i)&&Array.isArray(this.data.fieldValue)&&isArrayEqual(i,this.data.fieldValue)&&void 0===r)return;void 0===o&&(o=this.rotation);let f=null;if(!this._needAppearances){f=await this._getAppearance(e,t,l,n);if(null===f&&void 0===r)return}let c=!1;if(f?.needAppearances){c=!0;f=null}const{xref:h}=e,u=h.fetchIfRef(this.ref);if(!(u instanceof Dict))return;const m=new Dict(h);for(const e of u.getKeys())"AP"!==e&&m.set(e,u.getRaw(e));if(void 0!==r){m.set("F",r);if(null===f&&!c){const e=u.getRaw("AP");e&&m.set("AP",e)}}const p={path:this.data.fieldName,value:i},d=this.setValue(m,Array.isArray(i)?i.map(stringToAsciiOrUTF16BE):stringToAsciiOrUTF16BE(i),h,a);this.amendSavedDict(n,d||m);const g=this._getMKDict(o);g&&m.set("MK",g);a.put(this.ref,{data:m,xfa:p,needAppearances:c});if(null!==f){const e=h.getNewTemporaryRef(),t=new Dict(h);m.set("AP",t);t.set("N",e);const s=this._getSaveFieldResources(h),r=new StringStream(f),i=r.dict=new Dict(h);i.setIfName("Subtype","Form");i.set("Resources",s);const l=o%180==0?[0,0,this.width,this.height]:[0,0,this.height,this.width];i.set("BBox",l);const c=this.getRotationMatrix(n);c!==pn&&i.set("Matrix",c);a.put(e,{data:r,xfa:null,needAppearances:!1})}m.set("M",`D:${getModificationDate()}`)}async _getAppearance(e,t,n,a){if(this.data.password)return null;const r=a?.get(this.data.id);let i,o;if(r){i=r.formattedValue||r.value;o=r.rotation}if(void 0===o&&void 0===i&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const f=this.getBorderAndBackgroundAppearances(a);if(void 0===i){i=this.data.fieldValue;if(!i)return`/Tx BMC q ${f}Q EMC`}Array.isArray(i)&&1===i.length&&(i=i[0]);assert("string"==typeof i,"Expected `value` to be a string.");i=i.trimEnd();if(this.data.combo){const e=this.data.options.find(({exportValue:e})=>i===e);i=e?.displayValue||i}if(""===i)return`/Tx BMC q ${f}Q EMC`;void 0===o&&(o=this.rotation);let c,h=-1;if(this.data.multiLine){c=i.split(/\r\n?|\n/).map(e=>e.normalize("NFC"));h=c.length}else c=[i.replace(/\r\n?|\n/,"").normalize("NFC")];let{width:u,height:m}=this;90!==o&&270!==o||([u,m]=[m,u]);this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let p,d,g,b=await WidgetAnnotation._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const w=[];let j=!1;for(const e of c){const t=b.encodeString(e);t.length>1&&(j=!0);w.push(t.join(""))}if(j&&n&l)return{needAppearances:!0};if(j&&this._isOffscreenCanvasSupported){const n=this.data.comb?"monospace":"sans-serif",a=new FakeUnicodeFont(e.xref,n),s=a.createFontResources(c.join("")),r=s.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const e=this._fieldResources.mergedResources.get("Font");for(const t of r.getKeys())e.set(t,r.getRaw(t))}else this._fieldResources.mergedResources.set("Font",r);const o=a.fontName.name;b=await WidgetAnnotation._getFontData(e,t,{fontName:o,fontSize:0},s);for(let e=0,t=w.length;e<t;e++)w[e]=stringToUTF16String(c[e]);const l=Object.assign(Object.create(null),this.data.defaultAppearanceData);this.data.defaultAppearanceData.fontSize=0;this.data.defaultAppearanceData.fontName=o;[p,d,g]=this._computeFontSize(m-2,u-4,i,b,h);this.data.defaultAppearanceData=l}else{this._isOffscreenCanvasSupported||warn("_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly.");[p,d,g]=this._computeFontSize(m-2,u-4,i,b,h)}let k=b.descent;k=isNaN(k)?s*g:Math.max(s*g,Math.abs(k)*d);const y=Math.min(Math.floor((m-d)/2),1),q=this.data.textAlignment;if(this.data.multiLine)return this._getMultilineAppearance(p,w,b,d,u,m,q,2,y,k,g,a);if(this.data.comb)return this._getCombAppearance(p,b,w[0],d,u,m,2,y,k,g,a);const v=y+k;if(0===q||q>2)return`/Tx BMC q ${f}BT `+p+` 1 0 0 1 ${numberToString(2)} ${numberToString(v)} Tm (${escapeString(w[0])}) Tj ET Q EMC`;return`/Tx BMC q ${f}BT `+p+` 1 0 0 1 0 0 Tm ${this._renderText(w[0],b,d,u,q,{shift:0},2,v)} ET Q EMC`}static async _getFontData(e,t,n,a){const s=new OperatorList,r={font:null,clone(){return this}},{fontName:i,fontSize:o}=n;await e.handleSetFont(a,[i&&Name.get(i),o],null,s,t,r,null);return r.font}_getTextWidth(e,t){return Math.sumPrecise(t.charsToGlyphs(e).map(e=>e.width))/1e3}_computeFontSize(e,t,a,s,r){let{fontSize:i}=this.data.defaultAppearanceData,o=(i||12)*n,l=Math.round(e/o);if(!i){const roundWithTwoDigits=e=>Math.floor(100*e)/100;if(-1===r){const r=this._getTextWidth(a,s);i=roundWithTwoDigits(Math.min(e/n,t/r));l=1}else{const f=a.split(/\r\n?|\n/),c=[];for(const e of f){const t=s.encodeString(e).join(""),n=s.charsToGlyphs(t),a=s.getCharPositions(t);c.push({line:t,glyphs:n,positions:a})}const isTooBig=n=>{let a=0;for(const r of c){a+=this._splitLine(null,s,n,t,r).length*n;if(a>e)return!0}return!1};l=Math.max(l,r);for(;;){o=e/l;i=roundWithTwoDigits(o/n);if(!isTooBig(i))break;l++}}const{fontName:f,fontColor:c}=this.data.defaultAppearanceData;this._defaultAppearance=function createDefaultAppearance({fontSize:e,fontName:t,fontColor:n}){return`/${escapePDFName(t)} ${e} Tf ${getPdfColor(n,!0)}`}({fontSize:i,fontName:f,fontColor:c})}return[this._defaultAppearance,i,e/l]}_renderText(e,t,n,a,s,r,i,o){let l;if(1===s){l=(a-this._getTextWidth(e,t)*n)/2}else if(2===s){l=a-this._getTextWidth(e,t)*n-i}else l=i;const f=numberToString(l-r.shift);r.shift=l;return`${f} ${o=numberToString(o)} Td (${escapeString(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:n,acroFormResources:a}=this._fieldResources,s=this.data.defaultAppearanceData?.fontName;if(!s)return t||Dict.empty;for(const e of[t,n])if(e instanceof Dict){const t=e.get("Font");if(t instanceof Dict&&t.has(s))return e}if(a instanceof Dict){const n=a.get("Font");if(n instanceof Dict&&n.has(s)){const a=new Dict(e);a.set(s,n.getRaw(s));const r=new Dict(e);r.set("Font",a);return Dict.merge({xref:e,dictArray:[r,t],mergeSubDicts:!0})}}return t||Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t}=e;if(t.has("PMD")){this.flags|=D;this.data.hidden=!0;warn("Barcodes are not supported")}this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML;this._hasText=!0;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let n=getInheritableProperty({dict:t,key:"Q"});(!Number.isInteger(n)||n<0||n>2)&&(n=null);this.data.textAlignment=n;let a=getInheritableProperty({dict:t,key:"MaxLen"});(!Number.isInteger(a)||a<0)&&(a=0);this.data.maxLen=a;this.data.multiLine=this.hasFieldFlag(X);this.data.comb=this.hasFieldFlag(Q)&&!this.data.multiLine&&!this.data.password&&!this.hasFieldFlag($)&&0!==this.data.maxLen;this.data.doNotScroll=this.hasFieldFlag(J);const{data:{actions:s}}=this;if(!s)return;const r=/^AF(Date|Time)_(?:Keystroke|Format)(?:Ex)?\(['"]?([^'"]+)['"]?\);$/;let i=!1;(1===s.Format?.length&&1===s.Keystroke?.length&&r.test(s.Format[0])&&r.test(s.Keystroke[0])||0===s.Format?.length&&1===s.Keystroke?.length&&r.test(s.Keystroke[0])||0===s.Keystroke?.length&&1===s.Format?.length&&r.test(s.Format[0]))&&(i=!0);const o=[];s.Format&&o.push(...s.Format);s.Keystroke&&o.push(...s.Keystroke);if(i){delete s.Keystroke;s.Format=o}for(const e of o){const t=e.match(r);if(!t)continue;const n="Date"===t[1];let a=t[2];const s=parseInt(a,10);isNaN(s)||Math.floor(Math.log10(s))+1!==t[2].length||(a=(n?vr:Sr)[s]??a);this.data.datetimeFormat=a;if(!i)break;if(n){if(/HH|MM|ss|h/.test(a)){this.data.datetimeType="datetime-local";this.data.timeStep=/ss/.test(a)?1:60}else this.data.datetimeType="date";break}this.data.datetimeType="time";this.data.timeStep=/ss/.test(a)?1:60;break}}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e,t,n,a,s,r,i,o,l,f,c){const h=s/this.data.maxLen,u=this.getBorderAndBackgroundAppearances(c),m=[],p=t.getCharPositions(n);for(const[e,t]of p)m.push(`(${escapeString(n.substring(e,t))}) Tj`);const d=m.join(` ${numberToString(h)} 0 Td `);return`/Tx BMC q ${u}BT `+e+` 1 0 0 1 ${numberToString(i)} ${numberToString(o+l)} Tm ${d} ET Q EMC`}_getMultilineAppearance(e,t,n,a,s,r,i,o,l,f,c,h){const u=[],m=s-2*o,p={shift:0};for(let e=0,r=t.length;e<r;e++){const r=t[e],h=this._splitLine(r,n,a,m);for(let t=0,r=h.length;t<r;t++){const r=h[t],m=0===e&&0===t?-l-(c-f):-c;u.push(this._renderText(r,n,a,s,i,p,o,m))}}const d=this.getBorderAndBackgroundAppearances(h),g=u.join("\n");return`/Tx BMC q ${d}BT `+e+` 1 0 0 1 0 ${numberToString(r)} Tm ${g} ET Q EMC`}_splitLine(e,t,n,a,s={}){e=s.line||e;const r=s.glyphs||t.charsToGlyphs(e);if(r.length<=1)return[e];const i=s.positions||t.getCharPositions(e),o=n/1e3,l=[];let f=-1,c=-1,h=-1,u=0,m=0;for(let t=0,n=r.length;t<n;t++){const[n,s]=i[t],p=r[t],d=p.width*o;if(" "===p.unicode)if(m+d>a){l.push(e.substring(u,n));u=n;m=d;f=-1;h=-1}else{m+=d;f=n;c=s;h=t}else if(m+d>a)if(-1!==f){l.push(e.substring(u,c));u=c;t=h+1;f=-1;m=0}else{l.push(e.substring(u,n));u=n;m=d}else m+=d}u<e.length&&l.push(e.substring(u,e.length));return l}async extractTextContent(e,t,n){await super.extractTextContent(e,t,n);const a=this.data.textContent;if(!a)return;const s=a.join("\n");if(s===this.data.fieldValue)return;const r=s.replaceAll(/([.*+?^${}()|[\]\\])|(\s+)/g,(e,t)=>t?`\\${t}`:"\\s+");new RegExp(`^\\s*${r}\\s*$`).test(this.data.fieldValue)&&(this.data.textContent=this.data.fieldValue.split("\n"))}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.data.password,charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,datetimeFormat:this.data.datetimeFormat,hasDatetimeHTML:!!this.data.datetimeType,type:"text"}}}class ButtonWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.checkedAppearance=null;this.uncheckedAppearance=null;const t=this.hasFieldFlag(K),n=this.hasFieldFlag(G);this.data.checkBox=!t&&!n;this.data.radioButton=t&&!n;this.data.pushButton=n;this.data.isTooltipOnly=!1;if(this.data.checkBox)this._processCheckBox(e);else if(this.data.radioButton)this._processRadioButton(e);else if(this.data.pushButton){this.data.hasOwnCanvas=!0;this.data.noHTML=!1;this._processPushButton(e)}else warn("Invalid field flags for button widget annotation")}async getOperatorList(e,t,n,a){if(this.data.pushButton)return super.getOperatorList(e,t,n,!1,a);let s=null,r=null;if(a){const e=a.get(this.data.id);s=e?e.value:null;r=e?e.rotation:null}if(null===s&&this.appearance)return super.getOperatorList(e,t,n,a);null==s&&(s=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue);const i=s?this.checkedAppearance:this.uncheckedAppearance;if(i){const s=this.appearance,o=lookupMatrix(i.dict.getArray("Matrix"),pn);r&&i.dict.set("Matrix",this.getRotationMatrix(a));this.appearance=i;const l=super.getOperatorList(e,t,n,a);this.appearance=s;i.dict.set("Matrix",o);return l}return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}async save(e,t,n,a){this.data.checkBox?this._saveCheckbox(e,t,n,a):this.data.radioButton&&this._saveRadioButton(e,t,n,a)}async _saveCheckbox(e,t,n,a){if(!n)return;const s=n.get(this.data.id),r=this._buildFlags(s?.noView,s?.noPrint);let i=s?.rotation,o=s?.value;if(void 0===i&&void 0===r){if(void 0===o)return;if(this.data.fieldValue===this.data.exportValue===o)return}let l=e.xref.fetchIfRef(this.ref);if(!(l instanceof Dict))return;l=l.clone();void 0===i&&(i=this.rotation);void 0===o&&(o=this.data.fieldValue===this.data.exportValue);const f={path:this.data.fieldName,value:o?this.data.exportValue:""},c=Name.get(o?this.data.exportValue:"Off");this.setValue(l,c,e.xref,a);l.set("AS",c);l.set("M",`D:${getModificationDate()}`);void 0!==r&&l.set("F",r);const h=this._getMKDict(i);h&&l.set("MK",h);a.put(this.ref,{data:l,xfa:f,needAppearances:!1})}async _saveRadioButton(e,t,n,a){if(!n)return;const s=n.get(this.data.id),r=this._buildFlags(s?.noView,s?.noPrint);let i=s?.rotation,o=s?.value;if(void 0===i&&void 0===r){if(void 0===o)return;if(this.data.fieldValue===this.data.buttonValue===o)return}let l=e.xref.fetchIfRef(this.ref);if(!(l instanceof Dict))return;l=l.clone();void 0===o&&(o=this.data.fieldValue===this.data.buttonValue);void 0===i&&(i=this.rotation);const f={path:this.data.fieldName,value:o?this.data.buttonValue:""},c=Name.get(o?this.data.buttonValue:"Off");o&&this.setValue(l,c,e.xref,a);l.set("AS",c);l.set("M",`D:${getModificationDate()}`);void 0!==r&&l.set("F",r);const h=this._getMKDict(i);h&&l.set("MK",h);a.put(this.ref,{data:l,xfa:f,needAppearances:!1})}_getDefaultCheckedAppearance(e,t){const{width:n,height:a}=this,s=[0,0,n,a],r=.8*Math.min(n,a);let i,o;if("check"===t){i={width:.755*r,height:.705*r};o="3"}else if("disc"===t){i={width:.791*r,height:.705*r};o="l"}else unreachable(`_getDefaultCheckedAppearance - unsupported type: ${t}`);const l=`q BT /PdfJsZaDb ${r} Tf 0 g ${numberToString((n-i.width)/2)} ${numberToString((a-i.height)/2)} Td (${o}) Tj ET Q`,f=new Dict(e.xref);f.set("FormType",1);f.setIfName("Subtype","Form");f.setIfName("Type","XObject");f.set("BBox",s);f.set("Matrix",[1,0,0,1,0,0]);f.set("Length",l.length);const c=new Dict(e.xref),h=new Dict(e.xref);h.set("PdfJsZaDb",this.fallbackFontDict);c.set("Font",h);f.set("Resources",c);this.checkedAppearance=new StringStream(l);this.checkedAppearance.dict=f;this._streams.push(this.checkedAppearance)}_processCheckBox(e){const t=e.dict.get("AP");if(!(t instanceof Dict))return;const n=t.get("N");if(!(n instanceof Dict))return;const a=this._decodeFormValue(e.dict.get("AS"));"string"==typeof a&&(this.data.fieldValue=a);const s=null!==this.data.fieldValue&&"Off"!==this.data.fieldValue?this.data.fieldValue:"Yes",r=this._decodeFormValue(n.getKeys());if(0===r.length)r.push("Off",s);else if(1===r.length)"Off"===r[0]?r.push(s):r.unshift("Off");else if(r.includes(s)){r.length=0;r.push("Off",s)}else{const e=r.find(e=>"Off"!==e);r.length=0;r.push("Off",e)}r.includes(this.data.fieldValue)||(this.data.fieldValue="Off");this.data.exportValue=r[1];const i=n.get(this.data.exportValue);this.checkedAppearance=i instanceof BaseStream?i:null;const o=n.get("Off");this.uncheckedAppearance=o instanceof BaseStream?o:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"check");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(e){this.data.buttonValue=null;const t=e.dict.get("Parent");if(t instanceof Dict){this.parent=e.dict.getRaw("Parent");const n=t.get("V");n instanceof Name&&(this.data.fieldValue=this._decodeFormValue(n))}const n=e.dict.get("AP");if(!(n instanceof Dict))return;const a=n.get("N");if(!(a instanceof Dict))return;for(const e of a.getKeys())if("Off"!==e){this.data.buttonValue=this._decodeFormValue(e);break}const s=a.get(this.data.buttonValue);this.checkedAppearance=s instanceof BaseStream?s:null;const r=a.get("Off");this.uncheckedAppearance=r instanceof BaseStream?r:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"disc");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(e){const{dict:t,annotationGlobals:n}=e;if(t.has("A")||t.has("AA")||this.data.alternativeText){this.data.isTooltipOnly=!t.has("A")&&!t.has("AA");Catalog.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:n.baseUrl,docAttachments:n.attachments})}else warn("Push buttons without action dictionaries are not supported")}getFieldObject(){let e,t="button";if(this.data.checkBox){t="checkbox";e=this.data.exportValue}else if(this.data.radioButton){t="radiobutton";e=this.data.buttonValue}return{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:t}}get fallbackFontDict(){const e=new Dict;e.setIfName("BaseFont","ZapfDingbats");e.setIfName("Type","FallbackType");e.setIfName("Subtype","FallbackType");e.setIfName("Encoding","ZapfDingbatsEncoding");return shadow(this,"fallbackFontDict",e)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;this.indices=t.getArray("I");this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0;this.data.options=[];const a=getInheritableProperty({dict:t,key:"Opt"});if(Array.isArray(a))for(let e=0,t=a.length;e<t;e++){const t=n.fetchIfRef(a[e]),s=Array.isArray(t);this.data.options[e]={exportValue:this._decodeFormValue(s?n.fetchIfRef(t[0]):t),displayValue:this._decodeFormValue(s?n.fetchIfRef(t[1]):t)}}if(this.hasIndices){this.data.fieldValue=[];const e=this.data.options.length;for(const t of this.indices)Number.isInteger(t)&&t>=0&&t<e&&this.data.fieldValue.push(this.data.options[t].exportValue)}else"string"==typeof this.data.fieldValue?this.data.fieldValue=[this.data.fieldValue]:this.data.fieldValue||=[];0===this.data.options.length&&this.data.fieldValue.length>0&&(this.data.options=this.data.fieldValue.map(e=>({exportValue:e,displayValue:e})));this.data.combo=this.hasFieldFlag(V);this.data.multiSelect=this.hasFieldFlag(Y);this._hasText=!0}getFieldObject(){const e=this.data.combo?"combobox":"listbox",t=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}amendSavedDict(e,t){if(!this.hasIndices)return;let n=e?.get(this.data.id)?.value;Array.isArray(n)||(n=[n]);const a=[],{options:s}=this.data;for(let e=0,t=0,r=s.length;e<r;e++)if(s[e].exportValue===n[t]){a.push(e);t+=1}t.set("I",a)}async _getAppearance(e,t,a,s){if(this.data.combo)return super._getAppearance(e,t,a,s);let r,i;const o=s?.get(this.data.id);if(o){i=o.rotation;r=o.value}if(void 0===i&&void 0===r&&!this._needAppearances)return null;void 0===r?r=this.data.fieldValue:Array.isArray(r)||(r=[r]);let{width:l,height:f}=this;90!==i&&270!==i||([l,f]=[f,l]);const c=this.data.options.length,h=[];for(let e=0;e<c;e++){const{exportValue:t}=this.data.options[e];r.includes(t)&&h.push(e)}this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));const u=await WidgetAnnotation._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);let m,{fontSize:p}=this.data.defaultAppearanceData;if(p)m=this._defaultAppearance;else{const e=(f-1)/c;let t,n=-1;for(const{displayValue:e}of this.data.options){const a=this._getTextWidth(e,u);if(a>n){n=a;t=e}}[m,p]=this._computeFontSize(e,l-4,t,u,-1)}const d=p*n,g=(d-p)/2,b=Math.floor(f/d);let w=0;if(h.length>0){const e=Math.min(...h),t=Math.max(...h);w=Math.max(0,t-b+1);w>e&&(w=e)}const j=Math.min(w+b+1,c),k=["/Tx BMC q",`1 1 ${l} ${f} re W n`];if(h.length){k.push("0.600006 0.756866 0.854904 rg");for(const e of h)w<=e&&e<j&&k.push(`1 ${f-(e-w+1)*d} ${l} ${d} re f`)}k.push("BT",m,`1 0 0 1 0 ${f} Tm`);const y={shift:0};for(let e=w;e<j;e++){const{displayValue:t}=this.data.options[e],n=e===w?g:0;k.push(this._renderText(t,u,p,l,0,y,2,-d+n))}k.push("ET Q EMC");return k.join("\n")}}class SignatureWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.data.fieldValue=null;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!this.data.hasOwnCanvas}getFieldObject(){return{id:this.data.id,value:null,page:this.data.pageIndex,type:"signature"}}}class TextAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.noRotate=!0;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;const{dict:t}=e;if(this.data.hasAppearance)this.data.name="NoIcon";else{this.data.rect[1]=this.data.rect[3]-22;this.data.rect[2]=this.data.rect[0]+22;this.data.name=t.has("Name")?t.get("Name").name:"Note"}if(t.has("State")){this.data.state=t.get("State")||null;this.data.stateModel=t.get("StateModel")||null}else{this.data.state=null;this.data.stateModel=null}}}class LinkAnnotation extends Annotation{constructor(e){super(e);const{dict:t,annotationGlobals:n}=e;this.data.noHTML=!1;const a=getQuadPoints(t,this.rectangle);a&&(this.data.quadPoints=a);this.data.borderColor||=this.data.color;Catalog.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:n.baseUrl,docAttachments:n.attachments})}get overlaysTextContent(){return!0}}class PopupAnnotation extends Annotation{constructor(e){super(e);const{dict:t}=e;this.data.noHTML=!1;0!==this.width&&0!==this.height||(this.data.rect=null);let n=t.get("Parent");if(!n){warn("Popup annotation has a missing or invalid parent annotation.");return}this.data.parentRect=lookupNormalRect(n.getArray("Rect"),null);this.data.creationDate=n.get("CreationDate")||"";isName(n.get("RT"),H)&&(n=n.get("IRT"));if(n.has("M")){this.setModificationDate(n.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;if(n.has("C")){this.setColor(n.getArray("C"));this.data.color=this.color}else this.data.color=null;if(!this.viewable){const e=n.get("F");this._isViewable(e)&&this.setFlags(e)}this.setTitle(n.get("T"));this.data.titleObj=this._title;this.setContents(n.get("Contents"));this.data.contentsObj=this._contents;n.has("RC")&&(this.data.richText=XFAFactory.getRichTextAsHtml(n.get("RC")));this.data.open=!!t.get("Open")}static createNewDict(e,t,n){const{oldAnnotation:a,rect:s,parent:r}=e,i=a||new Dict(t);i.setIfNotExists("Type",Name.get("Annot"));i.setIfNotExists("Subtype",Name.get("Popup"));i.setIfNotExists("Open",!1);i.setIfArray("Rect",s);i.set("Parent",r);return i}static async createNewAppearanceStream(e,t,n){return null}}class FreeTextAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.hasOwnCanvas=this.data.noRotate;this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1;const{annotationGlobals:t,evaluatorOptions:n,xref:a}=e;this.setDefaultAppearance(e);this._hasAppearance=!!this.appearance;if(this._hasAppearance){const{fontColor:e,fontSize:s}=function parseAppearanceStream(e,t,n,a){return new AppearanceStreamEvaluator(e,t,n,a).parse()}(this.appearance,n,a,t.globalColorSpaceCache);this.data.defaultAppearanceData.fontColor=e;this.data.defaultAppearanceData.fontSize=s||10}else{this.data.defaultAppearanceData.fontSize||=10;const{fontColor:t,fontSize:n}=this.data.defaultAppearanceData;if(this._contents.str){this.data.textContent=this._contents.str.split(/\r\n?|\n/).map(e=>e.trimEnd());const{coords:e,bbox:t,matrix:a}=FakeUnicodeFont.getFirstPositionInfo(this.rectangle,this.rotation,n);this.data.textPosition=this._transformPoint(e,t,a)}if(this._isOffscreenCanvasSupported){const s=e.dict.get("CA"),r=new FakeUnicodeFont(a,"sans-serif");this.appearance=r.createAppearance(this._contents.str,this.rectangle,this.rotation,n,t,s);this._streams.push(this.appearance)}else warn("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.")}}get hasTextContent(){return this._hasAppearance}static createNewDict(e,t,{apRef:n,ap:a}){const{color:s,date:r,fontSize:i,oldAnnotation:o,rect:l,rotation:f,user:c,value:h}=e,u=o||new Dict(t);u.setIfNotExists("Type",Name.get("Annot"));u.setIfNotExists("Subtype",Name.get("FreeText"));u.set(o?"M":"CreationDate",`D:${getModificationDate(r)}`);o&&u.delete("RC");u.setIfArray("Rect",l);const m=`/Helv ${i} Tf ${getPdfColor(s,!0)}`;u.set("DA",m);u.setIfDefined("Contents",stringToAsciiOrUTF16BE(h));u.setIfNotExists("F",4);u.setIfNotExists("Border",[0,0,0]);u.setIfNumber("Rotate",f);u.setIfDefined("T",stringToAsciiOrUTF16BE(c));if(n||a){const e=new Dict(t);u.set("AP",e);e.set("N",n||a)}return u}static async createNewAppearanceStream(e,t,a){const{baseFontRef:s,evaluator:r,task:i}=a,{color:o,fontSize:l,rect:f,rotation:c,value:h}=e;if(!o)return null;const u=new Dict(t),m=new Dict(t);if(s)m.set("Helv",s);else{const e=new Dict(t);e.setIfName("BaseFont","Helvetica");e.setIfName("Type","Font");e.setIfName("Subtype","Type1");e.setIfName("Encoding","WinAnsiEncoding");m.set("Helv",e)}u.set("Font",m);const p=await WidgetAnnotation._getFontData(r,i,{fontName:"Helv",fontSize:l},u),[d,g,b,w]=f;let j=b-d,k=w-g;c%180!=0&&([j,k]=[k,j]);const y=h.split("\n"),q=l/1e3;let v=-1/0;const S=[];for(let e of y){const t=p.encodeString(e);if(t.length>1)return null;e=t.join("");S.push(e);let n=0;const a=p.charsToGlyphs(e);for(const e of a)n+=e.width*q;v=Math.max(v,n)}let x=1;v>j&&(x=j/v);let C=1;const F=n*l,T=1*l,H=F*y.length;H>k&&(C=k/H);const O=l*Math.min(x,C);let R,D,M;switch(c){case 0:M=[1,0,0,1];D=[f[0],f[1],j,k];R=[f[0],f[3]-T];break;case 90:M=[0,1,-1,0];D=[f[1],-f[2],j,k];R=[f[1],-f[0]-T];break;case 180:M=[-1,0,0,-1];D=[-f[2],-f[3],j,k];R=[-f[2],-f[1]-T];break;case 270:M=[0,-1,1,0];D=[-f[3],f[0],j,k];R=[-f[3],f[2]-T]}const E=["q",`${M.join(" ")} 0 0 cm`,`${D.join(" ")} re W n`,"BT",`${getPdfColor(o,!0)}`,`0 Tc /Helv ${numberToString(O)} Tf`];E.push(`${R.join(" ")} Td (${escapeString(S[0])}) Tj`);const N=numberToString(F);for(let e=1,t=S.length;e<t;e++){const t=S[e];E.push(`0 -${N} Td (${escapeString(t)}) Tj`)}E.push("ET","Q");const z=E.join("\n"),L=new Dict(t);L.set("FormType",1);L.setIfName("Subtype","Form");L.setIfName("Type","XObject");L.set("BBox",f);L.set("Resources",u);L.set("Matrix",[1,0,0,1,-f[0],-f[1]]);const U=new StringStream(z);U.dict=L;return U}}class LineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;const a=lookupRect(t.getArray("L"),[0,0,0,0]);this.data.lineCoordinates=Util.normalizeRect(a);this.setLineEndings(t.getArray("LE"));this.data.lineEndings=this.lineEndings;if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),s=t.get("CA"),r=getPdfColorArray(getRgbColor(t.getArray("IC"),null)),i=r?s:null,o=this.borderStyle.width||1,l=2*o,f=[this.data.lineCoordinates[0]-l,this.data.lineCoordinates[1]-l,this.data.lineCoordinates[2]+l,this.data.lineCoordinates[3]+l];Util.intersect(this.rectangle,f)||(this.rectangle=f);this._setDefaultAppearance({xref:n,extra:`${o} w`,strokeColor:e,fillColor:r,strokeAlpha:s,fillAlpha:i,pointsCallback:(e,t)=>{e.push(`${a[0]} ${a[1]} m`,`${a[2]} ${a[3]} l`,"S");return[t[0]-o,t[7]-o,t[2]+o,t[3]+o]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA"),s=getPdfColorArray(getRgbColor(t.getArray("IC"),null)),r=s?a:null;if(0===this.borderStyle.width&&!s)return;this._setDefaultAppearance({xref:n,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:s,strokeAlpha:a,fillAlpha:r,pointsCallback:(e,t)=>{const n=t[4]+this.borderStyle.width/2,a=t[5]+this.borderStyle.width/2,r=t[6]-t[4]-this.borderStyle.width,i=t[3]-t[7]-this.borderStyle.width;e.push(`${n} ${a} ${r} ${i} re`);s?e.push("B"):e.push("S");return[t[0],t[7],t[2],t[3]]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA"),s=getPdfColorArray(getRgbColor(t.getArray("IC"),null)),r=s?a:null;if(0===this.borderStyle.width&&!s)return;const i=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:n,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:s,strokeAlpha:a,fillAlpha:r,pointsCallback:(e,t)=>{const n=t[0]+this.borderStyle.width/2,a=t[1]-this.borderStyle.width/2,r=t[6]-this.borderStyle.width/2,o=t[7]+this.borderStyle.width/2,l=n+(r-n)/2,f=a+(o-a)/2,c=(r-n)/2*i,h=(o-a)/2*i;e.push(`${l} ${o} m`,`${l+c} ${o} ${r} ${f+h} ${r} ${f} c`,`${r} ${f-h} ${l+c} ${a} ${l} ${a} c`,`${l-c} ${a} ${n} ${f-h} ${n} ${f} c`,`${n} ${f+h} ${l-c} ${o} ${l} ${o} c`,"h");s?e.push("B"):e.push("S");return[t[0],t[7],t[2],t[3]]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;this.data.vertices=null;if(!(this instanceof PolygonAnnotation)){this.setLineEndings(t.getArray("LE"));this.data.lineEndings=this.lineEndings}const a=t.getArray("Vertices");if(!isNumberArray(a,null))return;const s=this.data.vertices=Float32Array.from(a);if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA");let r,i=getRgbColor(t.getArray("IC"),null);i&&(i=getPdfColorArray(i));r=i?this.color?i.every((t,n)=>t===e[n])?"f":"B":"f":"S";const o=this.borderStyle.width||1,l=2*o,f=[1/0,1/0,-1/0,-1/0];for(let e=0,t=s.length;e<t;e+=2)Util.rectBoundingBox(s[e]-l,s[e+1]-l,s[e]+l,s[e+1]+l,f);Util.intersect(this.rectangle,f)||(this.rectangle=f);this._setDefaultAppearance({xref:n,extra:`${o} w`,strokeColor:e,strokeAlpha:a,fillColor:i,fillAlpha:i?a:null,pointsCallback:(e,t)=>{for(let t=0,n=s.length;t<n;t+=2)e.push(`${s[t]} ${s[t+1]} ${0===t?"m":"l"}`);e.push(r);return[t[0],t[7],t[2],t[3]]}})}}}class PolygonAnnotation extends PolylineAnnotation{}class CaretAnnotation extends MarkupAnnotation{}class InkAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;const{dict:t,xref:n}=e;this.data.inkLists=[];this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1;this.data.opacity=t.get("CA")||1;const a=t.getArray("InkList");if(Array.isArray(a)){for(let e=0,t=a.length;e<t;++e){if(!Array.isArray(a[e]))continue;const t=new Float32Array(a[e].length);this.data.inkLists.push(t);for(let s=0,r=a[e].length;s<r;s+=2){const r=n.fetchIfRef(a[e][s]),i=n.fetchIfRef(a[e][s+1]);if("number"==typeof r&&"number"==typeof i){t[s]=r;t[s+1]=i}}}if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA"),s=this.borderStyle.width||1,r=2*s,i=[1/0,1/0,-1/0,-1/0];for(const e of this.data.inkLists)for(let t=0,n=e.length;t<n;t+=2)Util.rectBoundingBox(e[t]-r,e[t+1]-r,e[t]+r,e[t+1]+r,i);Util.intersect(this.rectangle,i)||(this.rectangle=i);this._setDefaultAppearance({xref:n,extra:`${s} w`,strokeColor:e,strokeAlpha:a,pointsCallback:(e,t)=>{for(const t of this.data.inkLists){for(let n=0,a=t.length;n<a;n+=2)e.push(`${t[n]} ${t[n+1]} ${0===n?"m":"l"}`);e.push("S")}return[t[0],t[7],t[2],t[3]]}})}}}static createNewDict(e,t,{apRef:n,ap:a}){const{oldAnnotation:s,color:r,date:i,opacity:o,paths:l,outlines:f,rect:c,rotation:h,thickness:u,user:m}=e,p=s||new Dict(t);p.setIfNotExists("Type",Name.get("Annot"));p.setIfNotExists("Subtype",Name.get("Ink"));p.set(s?"M":"CreationDate",`D:${getModificationDate(i)}`);p.setIfArray("Rect",c);p.setIfArray("InkList",f?.points||l?.points);p.setIfNotExists("F",4);p.setIfNumber("Rotate",h);p.setIfDefined("T",stringToAsciiOrUTF16BE(m));f&&p.setIfName("IT","InkHighlight");if(u>0){const e=new Dict(t);p.set("BS",e);e.set("W",u)}p.setIfArray("C",getPdfColorArray(r));p.setIfNumber("CA",o);if(a||n){const e=new Dict(t);p.set("AP",e);e.set("N",n||a)}return p}static async createNewAppearanceStream(e,t,n){if(e.outlines)return this.createNewAppearanceStreamForHighlight(e,t,n);const{color:a,rect:s,paths:r,thickness:i,opacity:o}=e;if(!a)return null;const l=[`${i} w 1 J 1 j`,`${getPdfColor(a,!1)}`];1!==o&&l.push("/R0 gs");for(const e of r.lines){l.push(`${numberToString(e[4])} ${numberToString(e[5])} m`);for(let t=6,n=e.length;t<n;t+=6)if(isNaN(e[t]))l.push(`${numberToString(e[t+4])} ${numberToString(e[t+5])} l`);else{const[n,a,s,r,i,o]=e.slice(t,t+6);l.push([n,a,s,r,i,o].map(numberToString).join(" ")+" c")}6===e.length&&l.push(`${numberToString(e[4])} ${numberToString(e[5])} l`)}l.push("S");const f=l.join("\n"),c=new Dict(t);c.set("FormType",1);c.setIfName("Subtype","Form");c.setIfName("Type","XObject");c.set("BBox",s);c.set("Length",f.length);if(1!==o){const e=new Dict(t),n=new Dict(t),a=new Dict(t);a.set("CA",o);a.setIfName("Type","ExtGState");n.set("R0",a);e.set("ExtGState",n);c.set("Resources",e)}const h=new StringStream(f);h.dict=c;return h}static async createNewAppearanceStreamForHighlight(e,t,n){const{color:a,rect:s,outlines:{outline:r},opacity:i}=e;if(!a)return null;const o=[`${getPdfColor(a,!0)}`,"/R0 gs"];o.push(`${numberToString(r[4])} ${numberToString(r[5])} m`);for(let e=6,t=r.length;e<t;e+=6)if(isNaN(r[e]))o.push(`${numberToString(r[e+4])} ${numberToString(r[e+5])} l`);else{const[t,n,a,s,i,l]=r.slice(e,e+6);o.push([t,n,a,s,i,l].map(numberToString).join(" ")+" c")}o.push("h f");const l=o.join("\n"),f=new Dict(t);f.set("FormType",1);f.setIfName("Subtype","Form");f.setIfName("Type","XObject");f.set("BBox",s);f.set("Length",l.length);const c=new Dict(t),h=new Dict(t);c.set("ExtGState",h);f.set("Resources",c);const u=new Dict(t);h.set("R0",u);u.setIfName("BM","Multiply");if(1!==i){u.set("ca",i);u.setIfName("Type","ExtGState")}const m=new StringStream(l);m.dict=f;return m}}class HighlightAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1;this.data.opacity=t.get("CA")||1;if(this.data.quadPoints=getQuadPoints(t,null)){const e=this.appearance?.dict.get("Resources");if(!this.appearance||!e?.has("ExtGState")){this.appearance&&warn("HighlightAnnotation - ignoring built-in appearance stream.");const e=getPdfColorArray(this.color,[1,1,0]),a=t.get("CA");this._setDefaultAppearance({xref:n,fillColor:e,blendMode:"Multiply",fillAlpha:a,pointsCallback:(e,t)=>{e.push(`${t[0]} ${t[1]} m`,`${t[2]} ${t[3]} l`,`${t[6]} ${t[7]} l`,`${t[4]} ${t[5]} l`,"f");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}static createNewDict(e,t,{apRef:n,ap:a}){const{color:s,date:r,oldAnnotation:i,opacity:o,rect:l,rotation:f,user:c,quadPoints:h}=e,u=i||new Dict(t);u.setIfNotExists("Type",Name.get("Annot"));u.setIfNotExists("Subtype",Name.get("Highlight"));u.set(i?"M":"CreationDate",`D:${getModificationDate(r)}`);u.setIfArray("Rect",l);u.setIfNotExists("F",4);u.setIfNotExists("Border",[0,0,0]);u.setIfNumber("Rotate",f);u.setIfArray("QuadPoints",h);u.setIfArray("C",getPdfColorArray(s));u.setIfNumber("CA",o);u.setIfDefined("T",stringToAsciiOrUTF16BE(c));if(n||a){const e=new Dict(t);u.set("AP",e);e.set("N",n||a)}return u}static async createNewAppearanceStream(e,t,n){const{color:a,rect:s,outlines:r,opacity:i}=e;if(!a)return null;const o=[`${getPdfColor(a,!0)}`,"/R0 gs"],l=[];for(const e of r){l.length=0;l.push(`${numberToString(e[0])} ${numberToString(e[1])} m`);for(let t=2,n=e.length;t<n;t+=2)l.push(`${numberToString(e[t])} ${numberToString(e[t+1])} l`);l.push("h");o.push(l.join("\n"))}o.push("f*");const f=o.join("\n"),c=new Dict(t);c.set("FormType",1);c.setIfName("Subtype","Form");c.setIfName("Type","XObject");c.set("BBox",s);c.set("Length",f.length);const h=new Dict(t),u=new Dict(t);h.set("ExtGState",u);c.set("Resources",h);const m=new Dict(t);u.set("R0",m);m.setIfName("BM","Multiply");if(1!==i){m.set("ca",i);m.setIfName("Type","ExtGState")}const p=new StringStream(f);p.dict=c;return p}}class UnderlineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA");this._setDefaultAppearance({xref:n,extra:"[] 0 d 0.571 w",strokeColor:e,strokeAlpha:a,pointsCallback:(e,t)=>{e.push(`${t[4]} ${t[5]+1.3} m`,`${t[6]} ${t[7]+1.3} l`,"S");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}}class SquigglyAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA");this._setDefaultAppearance({xref:n,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:a,pointsCallback:(e,t)=>{const n=(t[1]-t[5])/6;let a=n,s=t[4];const r=t[5],i=t[6];e.push(`${s} ${r+a} m`);do{s+=2;a=0===a?n:0;e.push(`${s} ${r+a} l`)}while(s<i);e.push("S");return[t[4],r-2*n,i,r+2*n]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}}class StrikeOutAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:n}=e;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),a=t.get("CA");this._setDefaultAppearance({xref:n,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:a,pointsCallback:(e,t)=>{e.push((t[0]+t[4])/2+" "+(t[1]+t[5])/2+" m",(t[2]+t[6])/2+" "+(t[3]+t[7])/2+" l","S");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}}class StampAnnotation extends MarkupAnnotation{#Re=null;constructor(e){super(e);this.data.hasOwnCanvas=this.data.noRotate;this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1}mustBeViewedWhenEditing(e,t=null){if(e){if(!this.data.isEditable)return!0;this.#Re??=this.data.hasOwnCanvas;this.data.hasOwnCanvas=!0;return!0}if(null!==this.#Re){this.data.hasOwnCanvas=this.#Re;this.#Re=null}return!t?.has(this.data.id)}static async createImage(e,t){const{width:n,height:a}=e,s=new OffscreenCanvas(n,a),r=s.getContext("2d",{alpha:!0});r.drawImage(e,0,0);const i=r.getImageData(0,0,n,a).data,o=new Uint32Array(i.buffer),l=o.some(FeatureTest.isLittleEndian?e=>e>>>24!=255:e=>!!(255&~e));if(l){r.fillStyle="white";r.fillRect(0,0,n,a);r.drawImage(e,0,0)}const f=s.convertToBlob({type:"image/jpeg",quality:1}).then(e=>e.arrayBuffer()),c=Name.get("XObject"),h=Name.get("Image"),u=new Dict(t);u.set("Type",c);u.set("Subtype",h);u.set("BitsPerComponent",8);u.setIfName("ColorSpace","DeviceRGB");u.setIfName("Filter","DCTDecode");u.set("BBox",[0,0,n,a]);u.set("Width",n);u.set("Height",a);let m=null;if(l){const e=new Uint8Array(o.length);if(FeatureTest.isLittleEndian)for(let t=0,n=o.length;t<n;t++)e[t]=o[t]>>>24;else for(let t=0,n=o.length;t<n;t++)e[t]=255&o[t];const s=new Dict(t);s.set("Type",c);s.set("Subtype",h);s.set("BitsPerComponent",8);s.setIfName("ColorSpace","DeviceGray");s.set("Width",n);s.set("Height",a);m=new Stream(e,0,0,s)}return{imageStream:new Stream(await f,0,0,u),smaskStream:m,width:n,height:a}}static createNewDict(e,t,{apRef:n,ap:a}){const{date:s,oldAnnotation:r,rect:i,rotation:o,user:l}=e,f=r||new Dict(t);f.setIfNotExists("Type",Name.get("Annot"));f.setIfNotExists("Subtype",Name.get("Stamp"));f.set(r?"M":"CreationDate",`D:${getModificationDate(s)}`);f.setIfArray("Rect",i);f.setIfNotExists("F",4);f.setIfNotExists("Border",[0,0,0]);f.setIfNumber("Rotate",o);f.setIfDefined("T",stringToAsciiOrUTF16BE(l));if(n||a){const e=new Dict(t);f.set("AP",e);e.set("N",n||a)}return f}static async#De(e,t){const{areContours:n,color:a,rect:s,lines:r,thickness:i}=e;if(!a)return null;const o=[`${i} w 1 J 1 j`,`${getPdfColor(a,n)}`];for(const e of r){o.push(`${numberToString(e[4])} ${numberToString(e[5])} m`);for(let t=6,n=e.length;t<n;t+=6)if(isNaN(e[t]))o.push(`${numberToString(e[t+4])} ${numberToString(e[t+5])} l`);else{const[n,a,s,r,i,l]=e.slice(t,t+6);o.push([n,a,s,r,i,l].map(numberToString).join(" ")+" c")}6===e.length&&o.push(`${numberToString(e[4])} ${numberToString(e[5])} l`)}o.push(n?"F":"S");const l=o.join("\n"),f=new Dict(t);f.set("FormType",1);f.setIfName("Subtype","Form");f.setIfName("Type","XObject");f.set("BBox",s);f.set("Length",l.length);const c=new StringStream(l);c.dict=f;return c}static async createNewAppearanceStream(e,t,n){if(e.oldAnnotation)return null;if(e.isSignature)return this.#De(e,t);const{rotation:a}=e,{imageRef:s,width:r,height:i}=n.image,o=new Dict(t),l=new Dict(t);o.set("XObject",l);l.set("Im0",s);const f=`q ${r} 0 0 ${i} 0 0 cm /Im0 Do Q`,c=new Dict(t);c.set("FormType",1);c.setIfName("Subtype","Form");c.setIfName("Type","XObject");c.set("BBox",[0,0,r,i]);c.set("Resources",o);if(a){const e=getRotationMatrix(a,r,i);c.set("Matrix",e)}const h=new StringStream(f);h.dict=c;return h}}class FileAttachmentAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t}=e,n=new FileSpec(t.get("FS"));this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;this.data.file=n.serializable;const a=t.get("Name");this.data.name=a instanceof Name?stringToPDFString(a.name):"PushPin";const s=t.get("ca");this.data.fillAlpha="number"==typeof s&&s>=0&&s<=1?s:null}}const sl={get r(){return shadow(this,"r",new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]))},get k(){return shadow(this,"k",new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]))}};function calculateMD5(e,t,n){let a=1732584193,s=-271733879,r=-1732584194,i=271733878;const o=n+72&-64,l=new Uint8Array(o);let f,c;for(f=0;f<n;++f)l[f]=e[t++];l[f++]=128;const h=o-8;f<h&&(f=h);l[f++]=n<<3&255;l[f++]=n>>5&255;l[f++]=n>>13&255;l[f++]=n>>21&255;l[f++]=n>>>29&255;f+=3;const u=new Int32Array(16),{k:m,r:p}=sl;for(f=0;f<o;){for(c=0;c<16;++c,f+=4)u[c]=l[f]|l[f+1]<<8|l[f+2]<<16|l[f+3]<<24;let e,t,n=a,o=s,h=r,d=i;for(c=0;c<64;++c){if(c<16){e=o&h|~o&d;t=c}else if(c<32){e=d&o|~d&h;t=5*c+1&15}else if(c<48){e=o^h^d;t=3*c+5&15}else{e=h^(o|~d);t=7*c&15}const a=d,s=n+e+m[c]+u[t]|0,r=p[c];d=h;h=o;o=o+(s<<r|s>>>32-r)|0;n=a}a=a+n|0;s=s+o|0;r=r+h|0;i=i+d|0}return new Uint8Array([255&a,a>>8&255,a>>16&255,a>>>24&255,255&s,s>>8&255,s>>16&255,s>>>24&255,255&r,r>>8&255,r>>16&255,r>>>24&255,255&i,i>>8&255,i>>16&255,i>>>24&255])}function decodeString(e){try{return stringToUTF8String(e)}catch(t){warn(`UTF-8 decoding failed: "${t}".`);return e}}class DatasetXMLParser extends SimpleXMLParser{node=null;onEndElement(e){const t=super.onEndElement(e);if(t&&"xfa:datasets"===e){this.node=t;throw new Error("Aborting DatasetXMLParser.")}}}class DatasetReader{constructor(e){if(e.datasets)this.node=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new DatasetXMLParser({hasAttributes:!0});try{t.parseFromString(e["xdp:xdp"])}catch{}this.node=t.node}}getValue(e){if(!this.node||!e)return"";const t=this.node.searchNode(parseXFAPath(e),0);if(!t)return"";const n=t.firstChild;return"value"===n?.nodeName?t.children.map(e=>decodeString(e.textContent)):decodeString(t.textContent)}}class SingleIntersector{#Me;minX=1/0;minY=1/0;maxX=-1/0;maxY=-1/0;#Pe=null;#Ee=[];#Ne=[];#ze=-1;#Le=!1;constructor(e){this.#Me=e;const t=e.data.quadPoints;if(t){for(let e=0,n=t.length;e<n;e+=8){this.minX=Math.min(this.minX,t[e]);this.maxX=Math.max(this.maxX,t[e+2]);this.minY=Math.min(this.minY,t[e+5]);this.maxY=Math.max(this.maxY,t[e+1])}t.length>8&&(this.#Pe=t)}else[this.minX,this.minY,this.maxX,this.maxY]=e.data.rect}#Ue(e,t){if(this.minX>=e||this.maxX<=e||this.minY>=t||this.maxY<=t)return!1;const n=this.#Pe;if(!n)return!0;if(this.#ze>=0){const a=this.#ze;if(!(n[a]>=e||n[a+2]<=e||n[a+5]>=t||n[a+1]<=t))return!0;this.#ze=-1}for(let a=0,s=n.length;a<s;a+=8)if(!(n[a]>=e||n[a+2]<=e||n[a+5]>=t||n[a+1]<=t)){this.#ze=a;return!0}return!1}addGlyph(e,t,n){if(!this.#Ue(e,t)){this.disableExtraChars();return!1}if(this.#Ne.length>0){this.#Ee.push(this.#Ne.join(""));this.#Ne.length=0}this.#Ee.push(n);this.#Le=!0;return!0}addExtraChar(e){this.#Le&&this.#Ne.push(e)}disableExtraChars(){if(this.#Le){this.#Le=!1;this.#Ne.length=0}}setText(){this.#Me.data.overlaidText=this.#Ee.join("")}}const rl=64;class Intersector{#_e=[];#Xe=[];#We;#Ke;#Ge;#Ve;#$e;#Ye;constructor(e){let t=1/0,n=1/0,a=-1/0,s=-1/0;const r=this.#_e;for(const i of e){if(!i.data.quadPoints&&!i.data.rect)continue;const e=new SingleIntersector(i);r.push(e);t=Math.min(t,e.minX);n=Math.min(n,e.minY);a=Math.max(a,e.maxX);s=Math.max(s,e.maxY)}this.#We=t;this.#Ge=n;this.#Ke=a;this.#Ve=s;this.#$e=63/(a-t);this.#Ye=63/(s-n);for(const e of r){const t=this.#Je(e.minX,e.minY),n=this.#Je(e.maxX,e.maxY),a=(n-t)%rl,s=Math.floor((n-t)/rl);for(let n=t;n<=t+s*rl;n+=rl)for(let t=0;t<=a;t++){let a=this.#Xe[n+t];a||(this.#Xe[n+t]=a=[]);a.push(e)}}}#Je(e,t){return Math.floor((e-this.#We)*this.#$e)+Math.floor((t-this.#Ge)*this.#Ye)*rl}addGlyph(e,t,n,a){const s=e[4]+t/2,r=e[5]+n/2;if(s<this.#We||r<this.#Ge||s>this.#Ke||r>this.#Ve)return;const i=this.#Xe[this.#Je(s,r)];if(i)for(const e of i)e.addGlyph(s,r,a)}addExtraChar(e){for(const t of this.#_e)t.addExtraChar(e)}setText(){for(const e of this.#_e)e.setText()}}class Word64{constructor(e,t){this.high=0|e;this.low=0|t}and(e){this.high&=e.high;this.low&=e.low}xor(e){this.high^=e.high;this.low^=e.low}shiftRight(e){if(e>=32){this.low=this.high>>>e-32|0;this.high=0}else{this.low=this.low>>>e|this.high<<32-e;this.high=this.high>>>e|0}}rotateRight(e){let t,n;if(32&e){n=this.low;t=this.high}else{t=this.low;n=this.high}e&=31;this.low=t>>>e|n<<32-e;this.high=n>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let n=(this.high>>>0)+(e.high>>>0);t>4294967295&&(n+=1);this.low=0|t;this.high=0|n}copyTo(e,t){e[t]=this.high>>>24&255;e[t+1]=this.high>>16&255;e[t+2]=this.high>>8&255;e[t+3]=255&this.high;e[t+4]=this.low>>>24&255;e[t+5]=this.low>>16&255;e[t+6]=this.low>>8&255;e[t+7]=255&this.low}assign(e){this.high=e.high;this.low=e.low}}const il={get k(){return shadow(this,"k",[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)])}};function ch(e,t,n,a,s){e.assign(t);e.and(n);s.assign(t);s.not();s.and(a);e.xor(s)}function maj(e,t,n,a,s){e.assign(t);e.and(n);s.assign(t);s.and(a);e.xor(s);s.assign(n);s.and(a);e.xor(s)}function sigma(e,t,n){e.assign(t);e.rotateRight(28);n.assign(t);n.rotateRight(34);e.xor(n);n.assign(t);n.rotateRight(39);e.xor(n)}function sigmaPrime(e,t,n){e.assign(t);e.rotateRight(14);n.assign(t);n.rotateRight(18);e.xor(n);n.assign(t);n.rotateRight(41);e.xor(n)}function littleSigma(e,t,n){e.assign(t);e.rotateRight(1);n.assign(t);n.rotateRight(8);e.xor(n);n.assign(t);n.shiftRight(7);e.xor(n)}function littleSigmaPrime(e,t,n){e.assign(t);e.rotateRight(19);n.assign(t);n.rotateRight(61);e.xor(n);n.assign(t);n.shiftRight(6);e.xor(n)}function calculateSHA512(e,t,n,a=!1){let s,r,i,o,l,f,c,h;if(a){s=new Word64(3418070365,3238371032);r=new Word64(1654270250,914150663);i=new Word64(2438529370,812702999);o=new Word64(355462360,4144912697);l=new Word64(1731405415,4290775857);f=new Word64(2394180231,1750603025);c=new Word64(3675008525,1694076839);h=new Word64(1203062813,3204075428)}else{s=new Word64(1779033703,4089235720);r=new Word64(3144134277,2227873595);i=new Word64(1013904242,4271175723);o=new Word64(2773480762,1595750129);l=new Word64(1359893119,2917565137);f=new Word64(2600822924,725511199);c=new Word64(528734635,4215389547);h=new Word64(1541459225,327033209)}const u=128*Math.ceil((n+17)/128),m=new Uint8Array(u);let p,d;for(p=0;p<n;++p)m[p]=e[t++];m[p++]=128;const g=u-16;p<g&&(p=g);p+=11;m[p++]=n>>>29&255;m[p++]=n>>21&255;m[p++]=n>>13&255;m[p++]=n>>5&255;m[p++]=n<<3&255;const b=new Array(80);for(p=0;p<80;p++)b[p]=new Word64(0,0);const{k:w}=il;let j=new Word64(0,0),k=new Word64(0,0),y=new Word64(0,0),q=new Word64(0,0),v=new Word64(0,0),S=new Word64(0,0),x=new Word64(0,0),C=new Word64(0,0);const F=new Word64(0,0),T=new Word64(0,0),H=new Word64(0,0),O=new Word64(0,0);let R,D;for(p=0;p<u;){for(d=0;d<16;++d){b[d].high=m[p]<<24|m[p+1]<<16|m[p+2]<<8|m[p+3];b[d].low=m[p+4]<<24|m[p+5]<<16|m[p+6]<<8|m[p+7];p+=8}for(d=16;d<80;++d){R=b[d];littleSigmaPrime(R,b[d-2],O);R.add(b[d-7]);littleSigma(H,b[d-15],O);R.add(H);R.add(b[d-16])}j.assign(s);k.assign(r);y.assign(i);q.assign(o);v.assign(l);S.assign(f);x.assign(c);C.assign(h);for(d=0;d<80;++d){F.assign(C);sigmaPrime(H,v,O);F.add(H);ch(H,v,S,x,O);F.add(H);F.add(w[d]);F.add(b[d]);sigma(T,j,O);maj(H,j,k,y,O);T.add(H);R=C;C=x;x=S;S=v;q.add(F);v=q;q=y;y=k;k=j;R.assign(F);R.add(T);j=R}s.add(j);r.add(k);i.add(y);o.add(q);l.add(v);f.add(S);c.add(x);h.add(C)}if(a){D=new Uint8Array(48);s.copyTo(D,0);r.copyTo(D,8);i.copyTo(D,16);o.copyTo(D,24);l.copyTo(D,32);f.copyTo(D,40)}else{D=new Uint8Array(64);s.copyTo(D,0);r.copyTo(D,8);i.copyTo(D,16);o.copyTo(D,24);l.copyTo(D,32);f.copyTo(D,40);c.copyTo(D,48);h.copyTo(D,56)}return D}function calculateSHA384(e,t,n){return calculateSHA512(e,t,n,!0)}const ol={get k(){return shadow(this,"k",[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])}};function rotr(e,t){return e>>>t|e<<32-t}function calculate_sha256_ch(e,t,n){return e&t^~e&n}function calculate_sha256_maj(e,t,n){return e&t^e&n^t&n}function calculate_sha256_sigma(e){return rotr(e,2)^rotr(e,13)^rotr(e,22)}function calculate_sha256_sigmaPrime(e){return rotr(e,6)^rotr(e,11)^rotr(e,25)}function calculate_sha256_littleSigma(e){return rotr(e,7)^rotr(e,18)^e>>>3}function calculate_sha256_littleSigmaPrime(e){return rotr(e,17)^rotr(e,19)^e>>>10}function calculateSHA256(e,t,n){let a=1779033703,s=3144134277,r=1013904242,i=2773480762,o=1359893119,l=2600822924,f=528734635,c=1541459225;const h=64*Math.ceil((n+9)/64),u=new Uint8Array(h);let m,p;for(m=0;m<n;++m)u[m]=e[t++];u[m++]=128;const d=h-8;m<d&&(m=d);m+=3;u[m++]=n>>>29&255;u[m++]=n>>21&255;u[m++]=n>>13&255;u[m++]=n>>5&255;u[m++]=n<<3&255;const g=new Uint32Array(64),{k:b}=ol;for(m=0;m<h;){for(p=0;p<16;++p){g[p]=u[m]<<24|u[m+1]<<16|u[m+2]<<8|u[m+3];m+=4}for(p=16;p<64;++p)g[p]=calculate_sha256_littleSigmaPrime(g[p-2])+g[p-7]+calculate_sha256_littleSigma(g[p-15])+g[p-16]|0;let e,t,n=a,h=s,d=r,w=i,j=o,k=l,y=f,q=c;for(p=0;p<64;++p){e=q+calculate_sha256_sigmaPrime(j)+calculate_sha256_ch(j,k,y)+b[p]+g[p];t=calculate_sha256_sigma(n)+calculate_sha256_maj(n,h,d);q=y;y=k;k=j;j=w+e|0;w=d;d=h;h=n;n=e+t|0}a=a+n|0;s=s+h|0;r=r+d|0;i=i+w|0;o=o+j|0;l=l+k|0;f=f+y|0;c=c+q|0}return new Uint8Array([a>>24&255,a>>16&255,a>>8&255,255&a,s>>24&255,s>>16&255,s>>8&255,255&s,r>>24&255,r>>16&255,r>>8&255,255&r,i>>24&255,i>>16&255,i>>8&255,255&i,o>>24&255,o>>16&255,o>>8&255,255&o,l>>24&255,l>>16&255,l>>8&255,255&l,f>>24&255,f>>16&255,f>>8&255,255&f,c>>24&255,c>>16&255,c>>8&255,255&c])}class DecryptStream extends DecodeStream{constructor(e,t,n){super(t);this.stream=e;this.dict=e.dict;this.decrypt=n;this.nextChunk=null;this.initialized=!1}readBlock(){let e;if(this.initialized)e=this.nextChunk;else{e=this.stream.getBytes(512);this.initialized=!0}if(!e?.length){this.eof=!0;return}this.nextChunk=this.stream.getBytes(512);const t=this.nextChunk?.length>0;e=(0,this.decrypt)(e,!t);const n=this.bufferLength,a=n+e.length;this.ensureBuffer(a).set(e,n);this.bufferLength=a}getOriginalStream(){return this}}class ARCFourCipher{a=0;b=0;constructor(e){const t=new Uint8Array(256),n=e.length;for(let e=0;e<256;++e)t[e]=e;for(let a=0,s=0;a<256;++a){const r=t[a];s=s+r+e[a%n]&255;t[a]=t[s];t[s]=r}this.s=t}encryptBlock(e){let t=this.a,n=this.b;const a=this.s,s=e.length,r=new Uint8Array(s);for(let i=0;i<s;++i){t=t+1&255;const s=a[t];n=n+s&255;const o=a[n];a[t]=o;a[n]=s;r[i]=e[i]^a[s+o&255]}this.a=t;this.b=n;return r}decryptBlock(e){return this.encryptBlock(e)}encrypt(e){return this.encryptBlock(e)}}class NullCipher{decryptBlock(e){return e}encrypt(e){return e}}class AESBaseCipher{_s=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]);_inv_s=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]);_mix=new Uint32Array([0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795]);_mixCol=new Uint8Array(256).map((e,t)=>t<128?t<<1:t<<1^27);constructor(){this.buffer=new Uint8Array(16);this.bufferPosition=0}_expandKey(e){unreachable("Cannot call `_expandKey` on the base class")}_decrypt(e,t){let n,a,s;const r=new Uint8Array(16);r.set(e);for(let e=0,n=this._keySize;e<16;++e,++n)r[e]^=t[n];for(let e=this._cyclesOfRepetition-1;e>=1;--e){n=r[13];r[13]=r[9];r[9]=r[5];r[5]=r[1];r[1]=n;n=r[14];a=r[10];r[14]=r[6];r[10]=r[2];r[6]=n;r[2]=a;n=r[15];a=r[11];s=r[7];r[15]=r[3];r[11]=n;r[7]=a;r[3]=s;for(let e=0;e<16;++e)r[e]=this._inv_s[r[e]];for(let n=0,a=16*e;n<16;++n,++a)r[n]^=t[a];for(let e=0;e<16;e+=4){const t=this._mix[r[e]],a=this._mix[r[e+1]],s=this._mix[r[e+2]],i=this._mix[r[e+3]];n=t^a>>>8^a<<24^s>>>16^s<<16^i>>>24^i<<8;r[e]=n>>>24&255;r[e+1]=n>>16&255;r[e+2]=n>>8&255;r[e+3]=255&n}}n=r[13];r[13]=r[9];r[9]=r[5];r[5]=r[1];r[1]=n;n=r[14];a=r[10];r[14]=r[6];r[10]=r[2];r[6]=n;r[2]=a;n=r[15];a=r[11];s=r[7];r[15]=r[3];r[11]=n;r[7]=a;r[3]=s;for(let e=0;e<16;++e){r[e]=this._inv_s[r[e]];r[e]^=t[e]}return r}_encrypt(e,t){const n=this._s;let a,s,r;const i=new Uint8Array(16);i.set(e);for(let e=0;e<16;++e)i[e]^=t[e];for(let e=1;e<this._cyclesOfRepetition;e++){for(let e=0;e<16;++e)i[e]=n[i[e]];r=i[1];i[1]=i[5];i[5]=i[9];i[9]=i[13];i[13]=r;r=i[2];s=i[6];i[2]=i[10];i[6]=i[14];i[10]=r;i[14]=s;r=i[3];s=i[7];a=i[11];i[3]=i[15];i[7]=r;i[11]=s;i[15]=a;for(let e=0;e<16;e+=4){const t=i[e],n=i[e+1],s=i[e+2],r=i[e+3];a=t^n^s^r;i[e]^=a^this._mixCol[t^n];i[e+1]^=a^this._mixCol[n^s];i[e+2]^=a^this._mixCol[s^r];i[e+3]^=a^this._mixCol[r^t]}for(let n=0,a=16*e;n<16;++n,++a)i[n]^=t[a]}for(let e=0;e<16;++e)i[e]=n[i[e]];r=i[1];i[1]=i[5];i[5]=i[9];i[9]=i[13];i[13]=r;r=i[2];s=i[6];i[2]=i[10];i[6]=i[14];i[10]=r;i[14]=s;r=i[3];s=i[7];a=i[11];i[3]=i[15];i[7]=r;i[11]=s;i[15]=a;for(let e=0,n=this._keySize;e<16;++e,++n)i[e]^=t[n];return i}_decryptBlock2(e,t){const n=e.length;let a=this.buffer,s=this.bufferPosition;const r=[];let i=this.iv;for(let t=0;t<n;++t){a[s]=e[t];++s;if(s<16)continue;const n=this._decrypt(a,this._key);for(let e=0;e<16;++e)n[e]^=i[e];i=a;r.push(n);a=new Uint8Array(16);s=0}this.buffer=a;this.bufferLength=s;this.iv=i;if(0===r.length)return new Uint8Array(0);let o=16*r.length;if(t){const e=r.at(-1);let t=e[15];if(t<=16){for(let n=15,a=16-t;n>=a;--n)if(e[n]!==t){t=0;break}o-=t;r[r.length-1]=e.subarray(0,16-t)}}const l=new Uint8Array(o);for(let e=0,t=0,n=r.length;e<n;++e,t+=16)l.set(r[e],t);return l}decryptBlock(e,t,n=null){const a=e.length,s=this.buffer;let r=this.bufferPosition;if(n)this.iv=n;else{for(let t=0;r<16&&t<a;++t,++r)s[r]=e[t];if(r<16){this.bufferLength=r;return new Uint8Array(0)}this.iv=s;e=e.subarray(16)}this.buffer=new Uint8Array(16);this.bufferLength=0;this.decryptBlock=this._decryptBlock2;return this.decryptBlock(e,t)}encrypt(e,t){const n=e.length;let a=this.buffer,s=this.bufferPosition;const r=[];t||=new Uint8Array(16);for(let i=0;i<n;++i){a[s]=e[i];++s;if(s<16)continue;for(let e=0;e<16;++e)a[e]^=t[e];const n=this._encrypt(a,this._key);t=n;r.push(n);a=new Uint8Array(16);s=0}this.buffer=a;this.bufferLength=s;this.iv=t;if(0===r.length)return new Uint8Array(0);const i=16*r.length,o=new Uint8Array(i);for(let e=0,t=0,n=r.length;e<n;++e,t+=16)o.set(r[e],t);return o}}class AES128Cipher extends AESBaseCipher{_rcon=new Uint8Array([141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141,1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,57,114,228,211,189,97,194,159,37,74,148,51,102,204,131,29,58,116,232,203,141]);constructor(e){super();this._cyclesOfRepetition=10;this._keySize=160;this._key=this._expandKey(e)}_expandKey(e){const t=this._s,n=this._rcon,a=new Uint8Array(176);a.set(e);for(let e=16,s=1;e<176;++s){let r=a[e-3],i=a[e-2],o=a[e-1],l=a[e-4];r=t[r];i=t[i];o=t[o];l=t[l];r^=n[s];for(let t=0;t<4;++t){a[e]=r^=a[e-16];e++;a[e]=i^=a[e-16];e++;a[e]=o^=a[e-16];e++;a[e]=l^=a[e-16];e++}}return a}}class AES256Cipher extends AESBaseCipher{constructor(e){super();this._cyclesOfRepetition=14;this._keySize=224;this._key=this._expandKey(e)}_expandKey(e){const t=this._s,n=new Uint8Array(240);n.set(e);let a,s,r,i,o=1;for(let e=32,l=1;e<240;++l){if(e%32==16){a=t[a];s=t[s];r=t[r];i=t[i]}else if(e%32==0){a=n[e-3];s=n[e-2];r=n[e-1];i=n[e-4];a=t[a];s=t[s];r=t[r];i=t[i];a^=o;(o<<=1)>=256&&(o=255&(27^o))}for(let t=0;t<4;++t){n[e]=a^=n[e-32];e++;n[e]=s^=n[e-32];e++;n[e]=r^=n[e-32];e++;n[e]=i^=n[e-32];e++}}return n}}class PDFBase{_hash(e,t,n){unreachable("Abstract method `_hash` called")}checkOwnerPassword(e,t,n,a){const s=new Uint8Array(e.length+56);s.set(e,0);s.set(t,e.length);s.set(n,e.length+t.length);return isArrayEqual(this._hash(e,s,n),a)}checkUserPassword(e,t,n){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);return isArrayEqual(this._hash(e,a,[]),n)}getOwnerKey(e,t,n,a){const s=new Uint8Array(e.length+56);s.set(e,0);s.set(t,e.length);s.set(n,e.length+t.length);const r=this._hash(e,s,n);return new AES256Cipher(r).decryptBlock(a,!1,new Uint8Array(16))}getUserKey(e,t,n){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);const s=this._hash(e,a,[]);return new AES256Cipher(s).decryptBlock(n,!1,new Uint8Array(16))}}class PDF17 extends PDFBase{_hash(e,t,n){return calculateSHA256(t,0,t.length)}}class PDF20 extends PDFBase{_hash(e,t,n){let a=calculateSHA256(t,0,t.length).subarray(0,32),s=[0],r=0;for(;r<64||s.at(-1)>r-32;){const t=e.length+a.length+n.length,i=new Uint8Array(t);let o=0;i.set(e,o);o+=e.length;i.set(a,o);o+=a.length;i.set(n,o);const l=new Uint8Array(64*t);for(let e=0,n=0;e<64;e++,n+=t)l.set(i,n);s=new AES128Cipher(a.subarray(0,16)).encrypt(l,a.subarray(16,32));const f=Math.sumPrecise(s.slice(0,16))%3;0===f?a=calculateSHA256(s,0,s.length):1===f?a=calculateSHA384(s,0,s.length):2===f&&(a=calculateSHA512(s,0,s.length));r++}return a.subarray(0,32)}}class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const n=new this.StreamCipherConstructor;return new DecryptStream(e,t,function cipherTransformDecryptStream(e,t){return n.decryptBlock(e,t)})}decryptString(e){const t=new this.StringCipherConstructor;let n=stringToBytes(e);n=t.decryptBlock(n,!0);return bytesToString(n)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const n=16-e.length%16;e+=String.fromCharCode(n).repeat(n);const a=new Uint8Array(16);crypto.getRandomValues(a);let s=stringToBytes(e);s=t.encrypt(s,a);const r=new Uint8Array(16+s.length);r.set(a);r.set(s,16);return bytesToString(r)}let n=stringToBytes(e);n=t.encrypt(n);return bytesToString(n)}}class CipherTransformFactory{static get _defaultPasswordBytes(){return shadow(this,"_defaultPasswordBytes",new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]))}#Qe(e,t,n,a,s,r,i,o,l,f,c,h){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];const u=6===e?new PDF20:new PDF17;return u.checkUserPassword(t,o,i)?u.getUserKey(t,l,c):t.length&&u.checkOwnerPassword(t,a,r,n)?u.getOwnerKey(t,s,r,f):null}#Ze(e,t,n,a,s,r,i,o){const l=40+n.length+e.length,f=new Uint8Array(l);let c,h,u=0;if(t){h=Math.min(32,t.length);for(;u<h;++u)f[u]=t[u]}c=0;for(;u<32;)f[u++]=CipherTransformFactory._defaultPasswordBytes[c++];f.set(n,u);u+=n.length;f[u++]=255&s;f[u++]=s>>8&255;f[u++]=s>>16&255;f[u++]=s>>>24&255;f.set(e,u);u+=e.length;if(r>=4&&!o){f.fill(255,u,u+4);u+=4}let m=calculateMD5(f,0,u);const p=i>>3;if(r>=3)for(c=0;c<50;++c)m=calculateMD5(m,0,p);const d=m.subarray(0,p);let g,b;if(r>=3){u=0;f.set(CipherTransformFactory._defaultPasswordBytes,u);u+=32;f.set(e,u);u+=e.length;g=new ARCFourCipher(d);b=g.encryptBlock(calculateMD5(f,0,u));h=d.length;const t=new Uint8Array(h);for(c=1;c<=19;++c){for(let e=0;e<h;++e)t[e]=d[e]^c;g=new ARCFourCipher(t);b=g.encryptBlock(b)}}else{g=new ARCFourCipher(d);b=g.encryptBlock(CipherTransformFactory._defaultPasswordBytes)}return b.every((e,t)=>a[t]===e)?d:null}#et(e,t,n,a){const s=new Uint8Array(32);let r=0;const i=Math.min(32,e.length);for(;r<i;++r)s[r]=e[r];let o=0;for(;r<32;)s[r++]=CipherTransformFactory._defaultPasswordBytes[o++];let l=calculateMD5(s,0,r);const f=a>>3;if(n>=3)for(o=0;o<50;++o)l=calculateMD5(l,0,l.length);let c,h;if(n>=3){h=t;const e=new Uint8Array(f);for(o=19;o>=0;o--){for(let t=0;t<f;++t)e[t]=l[t]^o;c=new ARCFourCipher(e);h=c.encryptBlock(h)}}else{c=new ARCFourCipher(l.subarray(0,f));h=c.encryptBlock(t)}return h}#tt(e,t,n,a=!1){const s=n.length,r=new Uint8Array(s+9);r.set(n);let i=s;r[i++]=255&e;r[i++]=e>>8&255;r[i++]=e>>16&255;r[i++]=255&t;r[i++]=t>>8&255;if(a){r[i++]=115;r[i++]=65;r[i++]=108;r[i++]=84}return calculateMD5(r,0,i).subarray(0,Math.min(s+5,16))}#nt(e,t,n,a,s){if(!(t instanceof Name))throw new FormatError("Invalid crypt filter name.");const r=this,i=e.get(t.name),o=i?.get("CFM");if(!o||"None"===o.name)return function(){return new NullCipher};if("V2"===o.name)return function(){return new ARCFourCipher(r.#tt(n,a,s,!1))};if("AESV2"===o.name)return function(){return new AES128Cipher(r.#tt(n,a,s,!0))};if("AESV3"===o.name)return function(){return new AES256Cipher(s)};throw new FormatError("Unknown crypto method")}constructor(e,t,n){const a=e.get("Filter");if(!isName(a,"Standard"))throw new FormatError("unknown encryption method");this.filterName=a.name;this.dict=e;const s=e.get("V");if(!Number.isInteger(s)||1!==s&&2!==s&&4!==s&&5!==s)throw new FormatError("unsupported encryption algorithm");this.algorithm=s;let r=e.get("Length");if(!r)if(s<=3)r=40;else{const t=e.get("CF"),n=e.get("StmF");if(t instanceof Dict&&n instanceof Name){t.suppressEncryption=!0;const e=t.get(n.name);r=e?.get("Length")||128;r<40&&(r<<=3)}}if(!Number.isInteger(r)||r<40||r%8!=0)throw new FormatError("invalid key length");const i=stringToBytes(e.get("O")),o=stringToBytes(e.get("U")),l=i.subarray(0,32),f=o.subarray(0,32),c=e.get("P"),h=e.get("R"),u=(4===s||5===s)&&!1!==e.get("EncryptMetadata");this.encryptMetadata=u;const m=stringToBytes(t);let p,d;if(n){if(6===h)try{n=utf8StringToString(n)}catch{warn("CipherTransformFactory: Unable to convert UTF8 encoded password.")}p=stringToBytes(n)}if(5!==s)d=this.#Ze(m,p,l,f,c,h,r,u);else{const t=i.subarray(32,40),n=i.subarray(40,48),a=o.subarray(0,48),s=o.subarray(32,40),r=o.subarray(40,48),c=stringToBytes(e.get("OE")),u=stringToBytes(e.get("UE")),m=stringToBytes(e.get("Perms"));d=this.#Qe(h,p,l,t,n,a,f,s,r,c,u,m)}if(!d){if(!n)throw new PasswordException("No password given",Jt);const e=this.#et(p,l,h,r);d=this.#Ze(m,e,l,f,c,h,r,u)}if(!d)throw new PasswordException("Incorrect Password",Qt);if(4===s&&d.length<16){this.encryptionKey=new Uint8Array(16);this.encryptionKey.set(d)}else this.encryptionKey=d;if(s>=4){const t=e.get("CF");t instanceof Dict&&(t.suppressEncryption=!0);this.cf=t;this.stmf=e.get("StmF")||Name.get("Identity");this.strf=e.get("StrF")||Name.get("Identity");this.eff=e.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(this.#nt(this.cf,this.strf,e,t,this.encryptionKey),this.#nt(this.cf,this.stmf,e,t,this.encryptionKey));const n=this.#tt(e,t,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(n)};return new CipherTransform(cipherConstructor,cipherConstructor)}}class XRef{constructor(e,t){this.stream=e;this.pdfManager=t;this.entries=[];this._xrefStms=new Set;this._cacheMap=new Map;this._pendingRefs=new RefSet;this._newPersistentRefNum=null;this._newTemporaryRefNum=null;this._persistentRefsCache=null}getNewPersistentRef(e){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const t=this._newPersistentRefNum++;this._cacheMap.set(t,e);return Ref.get(t,0)}getNewTemporaryRef(){if(null===this._newTemporaryRefNum){this._newTemporaryRefNum=this.entries.length||1;if(this._newPersistentRefNum){this._persistentRefsCache=new Map;for(let e=this._newTemporaryRefNum;e<this._newPersistentRefNum;e++){this._persistentRefsCache.set(e,this._cacheMap.get(e));this._cacheMap.delete(e)}}}return Ref.get(this._newTemporaryRefNum++,0)}resetNewTemporaryRef(){this._newTemporaryRefNum=null;if(this._persistentRefsCache)for(const[e,t]of this._persistentRefsCache)this._cacheMap.set(e,t);this._persistentRefsCache=null}setStartXRef(e){this.startXRefQueue=[e]}parse(e=!1){let t,n,a;if(e){warn("Indexing all PDF objects");t=this.indexObjects()}else t=this.readXRef();t.assignXref(this);this.trailer=t;try{n=t.get("Encrypt")}catch(e){if(e instanceof MissingDataException)throw e;warn(`XRef.parse - Invalid "Encrypt" reference: "${e}".`)}if(n instanceof Dict){const e=t.get("ID"),a=e?.length?e[0]:"";n.suppressEncryption=!0;this.encrypt=new CipherTransformFactory(n,a,this.pdfManager.password)}try{a=t.get("Root")}catch(e){if(e instanceof MissingDataException)throw e;warn(`XRef.parse - Invalid "Root" reference: "${e}".`)}if(a instanceof Dict)try{if(a.get("Pages")instanceof Dict){this.root=a;return}}catch(e){if(e instanceof MissingDataException)throw e;warn(`XRef.parse - Invalid "Pages" reference: "${e}".`)}if(!e)throw new XRefParseException;throw new InvalidPDFException("Invalid Root reference.")}processXRefTable(e){"tableState"in this||(this.tableState={entryNum:0,streamPos:e.lexer.stream.pos,parserBuf1:e.buf1,parserBuf2:e.buf2});if(!isCmd(this.readXRefTable(e),"trailer"))throw new FormatError("Invalid XRef table: could not find trailer dictionary");let t=e.getObj();t instanceof Dict||!t.dict||(t=t.dict);if(!(t instanceof Dict))throw new FormatError("Invalid XRef table: could not parse trailer dictionary");delete this.tableState;return t}readXRefTable(e){const t=e.lexer.stream,n=this.tableState;t.pos=n.streamPos;e.buf1=n.parserBuf1;e.buf2=n.parserBuf2;let a;for(;;){if(!("firstEntryNum"in n)||!("entryCount"in n)){if(isCmd(a=e.getObj(),"trailer"))break;n.firstEntryNum=a;n.entryCount=e.getObj()}let s=n.firstEntryNum;const r=n.entryCount;if(!Number.isInteger(s)||!Number.isInteger(r))throw new FormatError("Invalid XRef table: wrong types in subsection header");for(let a=n.entryNum;a<r;a++){n.streamPos=t.pos;n.entryNum=a;n.parserBuf1=e.buf1;n.parserBuf2=e.buf2;const i={};i.offset=e.getObj();i.gen=e.getObj();const o=e.getObj();if(o instanceof Cmd)switch(o.cmd){case"f":i.free=!0;break;case"n":i.uncompressed=!0}if(!Number.isInteger(i.offset)||!Number.isInteger(i.gen)||!i.free&&!i.uncompressed)throw new FormatError(`Invalid entry in XRef subsection: ${s}, ${r}`);0===a&&i.free&&1===s&&(s=0);this.entries[a+s]||(this.entries[a+s]=i)}n.entryNum=0;n.streamPos=t.pos;n.parserBuf1=e.buf1;n.parserBuf2=e.buf2;delete n.firstEntryNum;delete n.entryCount}if(this.entries[0]&&!this.entries[0].free)throw new FormatError("Invalid XRef table: unexpected first object");return a}processXRefStream(e){if(!("streamState"in this)){const{dict:t,pos:n}=e,a=t.get("W"),s=t.get("Index")||[0,t.get("Size")];this.streamState={entryRanges:s,byteWidths:a,entryNum:0,streamPos:n}}this.readXRefStream(e);delete this.streamState;return e.dict}readXRefStream(e){const t=this.streamState;e.pos=t.streamPos;const[n,a,s]=t.byteWidths,r=t.entryRanges;for(;r.length>0;){const[i,o]=r;if(!Number.isInteger(i)||!Number.isInteger(o))throw new FormatError(`Invalid XRef range fields: ${i}, ${o}`);if(!Number.isInteger(n)||!Number.isInteger(a)||!Number.isInteger(s))throw new FormatError(`Invalid XRef entry fields length: ${i}, ${o}`);for(let r=t.entryNum;r<o;++r){t.entryNum=r;t.streamPos=e.pos;let o=0,l=0,f=0;for(let t=0;t<n;++t){const t=e.getByte();if(-1===t)throw new FormatError("Invalid XRef byteWidths 'type'.");o=o<<8|t}0===n&&(o=1);for(let t=0;t<a;++t){const t=e.getByte();if(-1===t)throw new FormatError("Invalid XRef byteWidths 'offset'.");l=l<<8|t}for(let t=0;t<s;++t){const t=e.getByte();if(-1===t)throw new FormatError("Invalid XRef byteWidths 'generation'.");f=f<<8|t}const c={};c.offset=l;c.gen=f;switch(o){case 0:c.free=!0;break;case 1:c.uncompressed=!0;break;case 2:break;default:throw new FormatError(`Invalid XRef entry type: ${o}`)}this.entries[i+r]||(this.entries[i+r]=c)}t.entryNum=0;t.streamPos=e.pos;r.splice(0,2)}}indexObjects(){function readToken(e,t){let n="",a=e[t];for(;10!==a&&13!==a&&60!==a&&!(++t>=e.length);){n+=String.fromCharCode(a);a=e[t]}return n}function skipUntil(e,t,n){const a=n.length,s=e.length;let r=0;for(;t<s;){let s=0;for(;s<a&&e[t+s]===n[s];)++s;if(s>=a)break;t++;r++}return r}const e=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,t=/\b(startxref|\d+\s+\d+\s+obj)\b/g,n=/^(\d+)\s+(\d+)\s+obj\b/,a=new Uint8Array([116,114,97,105,108,101,114]),s=new Uint8Array([115,116,97,114,116,120,114,101,102]),r=new Uint8Array([47,88,82,101,102]);this.entries.length=0;this._cacheMap.clear();const i=this.stream;i.pos=0;const o=i.getBytes(),l=bytesToString(o),f=o.length;let c=i.start;const h=[],u=[];for(;c<f;){let m=o[c];if(9===m||10===m||13===m||32===m){++c;continue}if(37===m){do{++c;if(c>=f)break;m=o[c]}while(10!==m&&13!==m);continue}const p=readToken(o,c);let d;if(p.startsWith("xref")&&(4===p.length||/\s/.test(p[4]))){c+=skipUntil(o,c,a);h.push(c);c+=skipUntil(o,c,s)}else if(d=n.exec(p)){const t=0|d[1],n=0|d[2],a=c+p.length;let s,h=!1;if(this.entries[t]){if(this.entries[t].gen===n)try{new Parser({lexer:new Lexer(i.makeSubStream(a))}).getObj();h=!0}catch(e){e instanceof ParserEOFException?warn(`indexObjects -- checking object (${p}): "${e}".`):h=!0}}else h=!0;h&&(this.entries[t]={offset:c-i.start,gen:n,uncompressed:!0});e.lastIndex=a;const m=e.exec(l);if(m){s=e.lastIndex+1-c;if("endobj"!==m[1]){warn(`indexObjects: Found "${m[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`);s-=m[1].length+1}}else s=f-c;const g=o.subarray(c,c+s),b=skipUntil(g,0,r);if(b<s&&g[b+5]<64){u.push(c-i.start);this._xrefStms.add(c-i.start)}c+=s}else if(p.startsWith("trailer")&&(7===p.length||/\s/.test(p[7]))){h.push(c);const e=c+p.length;let n;t.lastIndex=e;const a=t.exec(l);if(a){n=t.lastIndex+1-c;if("startxref"!==a[1]){warn(`indexObjects: Found "${a[1]}" after "trailer", caused by missing "startxref" -- trying to recover.`);n-=a[1].length+1}}else n=f-c;c+=n}else c+=p.length+1}for(const e of u){this.startXRefQueue.push(e);this.readXRef(!0)}const m=[];let p,d,g=!1;for(const e of h){i.pos=e;const t=new Parser({lexer:new Lexer(i),xref:this,allowStreams:!0,recoveryMode:!0});if(!isCmd(t.getObj(),"trailer"))continue;const n=t.getObj();if(n instanceof Dict){m.push(n);n.has("Encrypt")&&(g=!0)}}for(const e of[...m,"genFallback",...m]){if("genFallback"===e){if(!d)break;this._generationFallback=!0;continue}let t=!1;try{const n=e.get("Root");if(!(n instanceof Dict))continue;const a=n.get("Pages");if(!(a instanceof Dict))continue;const s=a.get("Count");Number.isInteger(s)&&(t=!0)}catch(e){d=e;continue}if(t&&(!g||e.has("Encrypt"))&&e.has("ID"))return e;p=e}if(p)return p;if(this.topDict)return this.topDict;if(!m.length)for(const e in this.entries){const t=this.entries[e];if(!t)continue;const n=Ref.get(parseInt(e),t.gen);let a;try{a=this.fetch(n)}catch{continue}a instanceof BaseStream&&(a=a.dict);if(a instanceof Dict&&a.has("Root"))return a}throw new InvalidPDFException("Invalid PDF structure.")}readXRef(e=!1){const t=this.stream,n=new Set;for(;this.startXRefQueue.length;){try{const e=this.startXRefQueue[0];if(n.has(e)){warn("readXRef - skipping XRef table since it was already parsed.");this.startXRefQueue.shift();continue}n.add(e);t.pos=e+t.start;const a=new Parser({lexer:new Lexer(t),xref:this,allowStreams:!0});let s,r=a.getObj();if(isCmd(r,"xref")){s=this.processXRefTable(a);this.topDict||(this.topDict=s);r=s.get("XRefStm");if(Number.isInteger(r)&&!this._xrefStms.has(r)){this._xrefStms.add(r);this.startXRefQueue.push(r)}}else{if(!Number.isInteger(r))throw new FormatError("Invalid XRef stream header");if(!(Number.isInteger(a.getObj())&&isCmd(a.getObj(),"obj")&&(r=a.getObj())instanceof BaseStream))throw new FormatError("Invalid XRef stream");s=this.processXRefStream(r);this.topDict||(this.topDict=s);if(!s)throw new FormatError("Failed to read XRef stream")}r=s.get("Prev");Number.isInteger(r)?this.startXRefQueue.push(r):r instanceof Ref&&this.startXRefQueue.push(r.num)}catch(e){if(e instanceof MissingDataException)throw e;info("(while reading XRef): "+e)}this.startXRefQueue.shift()}if(this.topDict)return this.topDict;if(!e)throw new XRefParseException}getEntry(e){const t=this.entries[e];return t&&!t.free&&t.offset?t:null}fetchIfRef(e,t=!1){return e instanceof Ref?this.fetch(e,t):e}fetch(e,t=!1){if(!(e instanceof Ref))throw new Error("ref object is not a reference");const n=e.num,a=this._cacheMap.get(n);if(void 0!==a){a instanceof Dict&&!a.objId&&(a.objId=e.toString());return a}let s=this.getEntry(n);if(null===s)return s;if(this._pendingRefs.has(e)){this._pendingRefs.remove(e);warn(`Ignoring circular reference: ${e}.`);return rn}this._pendingRefs.put(e);try{s=s.uncompressed?this.fetchUncompressed(e,s,t):this.fetchCompressed(e,s,t);this._pendingRefs.remove(e)}catch(t){this._pendingRefs.remove(e);throw t}s instanceof Dict?s.objId=e.toString():s instanceof BaseStream&&(s.dict.objId=e.toString());return s}fetchUncompressed(e,t,n=!1){const a=e.gen;let s=e.num;if(t.gen!==a){const r=`Inconsistent generation in XRef: ${e}`;if(this._generationFallback&&t.gen<a){warn(r);return this.fetchUncompressed(Ref.get(s,t.gen),t,n)}throw new XRefEntryException(r)}const r=this.stream.makeSubStream(t.offset+this.stream.start),i=new Parser({lexer:new Lexer(r),xref:this,allowStreams:!0}),o=i.getObj(),l=i.getObj(),f=i.getObj();if(o!==s||l!==a||!(f instanceof Cmd))throw new XRefEntryException(`Bad (uncompressed) XRef entry: ${e}`);if("obj"!==f.cmd){if(f.cmd.startsWith("obj")){s=parseInt(f.cmd.substring(3),10);if(!Number.isNaN(s))return s}throw new XRefEntryException(`Bad (uncompressed) XRef entry: ${e}`)}(t=this.encrypt&&!n?i.getObj(this.encrypt.createCipherTransform(s,a)):i.getObj())instanceof BaseStream||this._cacheMap.set(s,t);return t}fetchCompressed(e,t,n=!1){const a=t.offset,s=this.fetch(Ref.get(a,0));if(!(s instanceof BaseStream))throw new FormatError("bad ObjStm stream");const r=s.dict.get("First"),i=s.dict.get("N");if(!Number.isInteger(r)||!Number.isInteger(i))throw new FormatError("invalid first and n parameters for ObjStm stream");let o=new Parser({lexer:new Lexer(s),xref:this,allowStreams:!0});const l=new Array(i),f=new Array(i);for(let e=0;e<i;++e){const t=o.getObj();if(!Number.isInteger(t))throw new FormatError(`invalid object number in the ObjStm stream: ${t}`);const n=o.getObj();if(!Number.isInteger(n))throw new FormatError(`invalid object offset in the ObjStm stream: ${n}`);l[e]=t;const s=this.getEntry(t);s?.offset===a&&s.gen!==e&&(s.gen=e);f[e]=n}const c=(s.start||0)+r,h=new Array(i);for(let e=0;e<i;++e){const t=e<i-1?f[e+1]-f[e]:void 0;if(t<0)throw new FormatError("Invalid offset in the ObjStm stream.");o=new Parser({lexer:new Lexer(s.makeSubStream(c+f[e],t,s.dict)),xref:this,allowStreams:!0});const n=o.getObj();h[e]=n;if(n instanceof BaseStream)continue;const r=l[e],u=this.entries[r];u&&u.offset===a&&u.gen===e&&this._cacheMap.set(r,n)}if(void 0===(t=h[t.gen]))throw new XRefEntryException(`Bad (compressed) XRef entry: ${e}`);return t}async fetchIfRefAsync(e,t){return e instanceof Ref?this.fetchAsync(e,t):e}async fetchAsync(e,t){try{return this.fetch(e,t)}catch(n){if(!(n instanceof MissingDataException))throw n;await this.pdfManager.requestRange(n.begin,n.end);return this.fetchAsync(e,t)}}getCatalogObj(){return this.root}}const ll=[0,0,612,792];class Page{#at=!1;#st=null;constructor({pdfManager:e,xref:t,pageIndex:n,pageDict:a,ref:s,globalIdFactory:r,fontCache:i,builtInCMapCache:o,standardFontDataCache:l,globalColorSpaceCache:f,globalImageCache:c,systemFontCache:h,nonBlendModesSet:u,xfaFactory:m}){this.pdfManager=e;this.pageIndex=n;this.pageDict=a;this.xref=t;this.ref=s;this.fontCache=i;this.builtInCMapCache=o;this.standardFontDataCache=l;this.globalColorSpaceCache=f;this.globalImageCache=c;this.systemFontCache=h;this.nonBlendModesSet=u;this.evaluatorOptions=e.evaluatorOptions;this.xfaFactory=m;const p={obj:0};this._localIdFactory=class extends r{static createObjId(){return`p${n}_${++p.obj}`}static getPageObjId(){return`p${s.toString()}`}}}#rt(e,t=this.pageIndex){return new PartialEvaluator({xref:this.xref,handler:e,pageIndex:t,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions})}#it(e,t=!1){const n=getInheritableProperty({dict:this.pageDict,key:e,getArray:t,stopWhenFound:!1});return Array.isArray(n)?1!==n.length&&n[0]instanceof Dict?Dict.merge({xref:this.xref,dictArray:n}):n[0]:n}get content(){return this.pageDict.getArray("Contents")}get resources(){const e=this.#it("Resources");return shadow(this,"resources",e instanceof Dict?e:Dict.empty)}getBoundingBox(e){if(this.xfaData)return this.xfaData.bbox;const t=lookupNormalRect(this.#it(e,!0),null);if(t){if(t[2]-t[0]>0&&t[3]-t[1]>0)return t;warn(`Empty, or invalid, /${e} entry.`)}return null}get mediaBox(){return shadow(this,"mediaBox",this.getBoundingBox("MediaBox")||ll)}get cropBox(){return shadow(this,"cropBox",this.getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){const e=this.pageDict.get("UserUnit");return shadow(this,"userUnit","number"==typeof e&&e>0?e:1)}get view(){const{cropBox:e,mediaBox:t}=this;if(e!==t&&!isArrayEqual(e,t)){const n=Util.intersect(e,t);if(n&&n[2]-n[0]>0&&n[3]-n[1]>0)return shadow(this,"view",n);warn("Empty /CropBox and /MediaBox intersection.")}return shadow(this,"view",t)}get rotate(){let e=this.#it("Rotate")||0;e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360);return shadow(this,"rotate",e)}#ot(e,t){if(!this.evaluatorOptions.ignoreErrors)throw e;warn(`getContentStream - ignoring sub-stream (${t}): "${e}".`)}async getContentStream(){const e=await this.pdfManager.ensure(this,"content");if(e instanceof BaseStream&&!e.isImageStream){if(e.isAsync){const t=await e.asyncGetBytes();if(t)return new Stream(t,0,t.length,e.dict)}return e}if(Array.isArray(e)){const t=[];for(let n=0,a=e.length;n<a;n++){const a=e[n];a instanceof BaseStream&&a.isAsync&&t.push(a.asyncGetBytes().then(t=>{t&&(e[n]=new Stream(t,0,t.length,a.dict))}))}t.length>0&&await Promise.all(t);return new StreamsSequenceStream(e,this.#ot.bind(this))}return new NullStream}get xfaData(){return shadow(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async#lt(e,t,n){const a=[];for(const s of e)if(s.id){const e=Ref.fromString(s.id);if(!e){warn(`A non-linked annotation cannot be modified: ${s.id}`);continue}if(s.deleted){t.put(e,e);if(s.popupRef){const e=Ref.fromString(s.popupRef);e&&t.put(e,e)}continue}if(s.popup?.deleted){const e=Ref.fromString(s.popupRef);e&&t.put(e,e)}n?.put(e);s.ref=e;a.push(this.xref.fetchAsync(e).then(e=>{e instanceof Dict&&(s.oldAnnotation=e.clone())},()=>{warn(`Cannot fetch \`oldAnnotation\` for: ${e}.`)}));delete s.id}await Promise.all(a)}async saveNewAnnotations(e,t,n,a,s){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const r=this.#rt(e),i=new RefSetCache,o=new RefSet;await this.#lt(n,i,o);const l=this.pageDict,f=this.annotations.filter(e=>!(e instanceof Ref&&i.has(e))),c=await AnnotationFactory.saveNewAnnotations(r,t,n,a,s);for(const{ref:e}of c.annotations)e instanceof Ref&&!o.has(e)&&f.push(e);const h=l.clone();h.set("Annots",f);s.put(this.ref,{data:h});for(const e of i)s.put(e,{data:null})}async save(e,t,n,a){const s=this.#rt(e),r=await this._parsedAnnotations,i=[];for(const e of r)i.push(e.save(s,t,n,a).catch(function(e){warn(`save - ignoring annotation data during "${t.name}" task: "${e}".`);return null}));return Promise.all(i)}async loadResources(e){await(this.#st??=this.pdfManager.ensure(this,"resources"));await ObjectLoader.load(this.resources,e,this.xref)}async#ft(e,t){const n=e?.get("Resources");if(!(n instanceof Dict&&n.size))return this.resources;await ObjectLoader.load(n,t,this.xref);return Dict.merge({xref:this.xref,dictArray:[n,this.resources],mergeSubDicts:!0})}async getOperatorList({handler:e,sink:t,task:n,intent:a,cacheKey:s,pageIndex:l=this.pageIndex,annotationStorage:u=null,modifiedIds:p=null}){const d=this.getContentStream(),g=this.loadResources(dn),b=this.#rt(e,l),w=this.xfaFactory?null:getNewAnnotationsMap(u),j=w?.get(this.pageIndex);let k=Promise.resolve(null),y=null;if(j){const e=this.pdfManager.ensureDoc("annotationGlobals");let t;const a=new Set;for(const{bitmapId:e,bitmap:t}of j)!e||t||a.has(e)||a.add(e);const{isOffscreenCanvasSupported:s}=this.evaluatorOptions;if(a.size>0){const e=j.slice();for(const[t,n]of u)t.startsWith(m)&&n.bitmap&&a.has(n.bitmapId)&&e.push(n);t=AnnotationFactory.generateImages(e,this.xref,s)}else t=AnnotationFactory.generateImages(j,this.xref,s);y=new RefSet;k=Promise.all([e,this.#lt(j,y,null)]).then(([e])=>e?AnnotationFactory.printNewAnnotations(e,b,n,j,t):null)}const q=Promise.all([d,g]).then(async([r])=>{const i=await this.#ft(r.dict,dn),o=new OperatorList(a,t);e.send("StartRenderPage",{transparency:b.hasBlendModes(i,this.nonBlendModesSet),pageIndex:l,cacheKey:s});await b.getOperatorList({stream:r,task:n,resources:i,operatorList:o});return o});let[v,S,x]=await Promise.all([q,this._parsedAnnotations,k]);if(x){S=S.filter(e=>!(e.ref&&y.has(e.ref)));for(let e=0,t=x.length;e<t;e++){const n=x[e];if(n.refToReplace){const a=S.findIndex(e=>e.ref&&isRefsEqual(e.ref,n.refToReplace));if(a>=0){S.splice(a,1,n);x.splice(e--,1);t--}}}S=S.concat(x)}if(0===S.length||a&c){v.flush(!0);return{length:v.totalLength}}const C=!!(a&f),F=!!(a&h),T=!!(a&r),H=!!(a&i),O=!!(a&o),R=[];for(const e of S)(T||H&&e.mustBeViewed(u,C)&&e.mustBeViewedWhenEditing(F,p)||O&&e.mustBePrinted(u))&&R.push(e.getOperatorList(b,n,a,u).catch(function(e){warn(`getOperatorList - ignoring annotation data during "${n.name}" task: "${e}".`);return{opList:null,separateForm:!1,separateCanvas:!1}}));const D=await Promise.all(R);let M=!1,E=!1;for(const{opList:e,separateForm:t,separateCanvas:n}of D){v.addOpList(e);M||=t;E||=n}v.flush(!0,{form:M,canvas:E});return{length:v.totalLength}}async extractTextContent({handler:e,task:t,includeMarkedContent:n,disableNormalization:a,sink:s,intersector:r=null}){const i=this.getContentStream(),o=this.loadResources(gn),l=this.pdfManager.ensureCatalog("lang"),[f,,c]=await Promise.all([i,o,l]),h=await this.#ft(f.dict,gn);return this.#rt(e).getTextContent({stream:f,task:t,resources:h,includeMarkedContent:n,disableNormalization:a,sink:s,viewBox:this.view,lang:c,intersector:r})}async getStructTree(){const e=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e)return null;await this._parsedAnnotations;try{const t=await this.pdfManager.ensure(this,"_parseStructTree",[e]);return await this.pdfManager.ensure(t,"serializable")}catch(e){warn(`getStructTree: "${e}".`);return null}}_parseStructTree(e){const t=new StructTreePage(e,this.pageDict);t.parse(this.ref);return t}async getAnnotationsData(e,t,n){const a=await this._parsedAnnotations;if(0===a.length)return a;const s=[],l=[];let f;const c=!!(n&r),h=!!(n&i),u=!!(n&o),m=[];for(const n of a){const a=c||h&&n.viewable;(a||u&&n.printable)&&s.push(n.data);if(n.hasTextContent&&a){f??=this.#rt(e);l.push(n.extractTextContent(f,t,[-1/0,-1/0,1/0,1/0]).catch(function(e){warn(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`)}))}else n.overlaysTextContent&&a&&m.push(n)}if(m.length>0){const n=new Intersector(m);l.push(this.extractTextContent({handler:e,task:t,includeMarkedContent:!1,disableNormalization:!1,sink:null,viewBox:this.view,lang:null,intersector:n}).then(()=>{n.setText()}))}await Promise.all(l);return s}get annotations(){const e=this.#it("Annots");return shadow(this,"annotations",Array.isArray(e)?e:[])}get _parsedAnnotations(){const e=this.pdfManager.ensure(this,"annotations").then(async e=>{if(0===e.length)return e;const[t,n]=await Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureDoc("fieldObjects")]);if(!t)return[];const a=n?.orphanFields,s=[];for(const n of e)s.push(AnnotationFactory.create(this.xref,n,t,this._localIdFactory,!1,a,null,this.ref).catch(function(e){warn(`_parsedAnnotations: "${e}".`);return null}));const r=[];let i,o;for(const e of await Promise.all(s))e&&(e instanceof WidgetAnnotation?(o||=[]).push(e):e instanceof PopupAnnotation?(i||=[]).push(e):r.push(e));o&&r.push(...o);i&&r.push(...i);return r});this.#at=!0;return shadow(this,"_parsedAnnotations",e)}get jsActions(){return shadow(this,"jsActions",collectActions(this.xref,this.pageDict,ie))}async collectAnnotationsByType(e,t,n,a,s){const{pageIndex:r}=this;if(this.#at){const e=await this._parsedAnnotations;for(const{data:t}of e)if(!n||n.has(t.annotationType)){t.pageIndex=r;a.push(Promise.resolve(t))}return}const i=await this.pdfManager.ensure(this,"annotations");for(const o of i)a.push(AnnotationFactory.create(this.xref,o,s,this._localIdFactory,!1,null,n,this.ref).then(async n=>{if(!n)return null;n.data.pageIndex=r;if(n.hasTextContent&&n.viewable){const a=this.#rt(e);await n.extractTextContent(a,t,[-1/0,-1/0,1/0,1/0])}return n.data}).catch(function(e){warn(`collectAnnotationsByType: "${e}".`);return null}))}}const fl=new Uint8Array([37,80,68,70,45]),cl=new Uint8Array([115,116,97,114,116,120,114,101,102]),hl=new Uint8Array([101,110,100,111,98,106]);function find(e,t,n=1024,a=!1){const s=t.length,r=e.peekBytes(n),i=r.length-s;if(i<=0)return!1;if(a){const n=s-1;let a=r.length-1;for(;a>=n;){let i=0;for(;i<s&&r[a-i]===t[n-i];)i++;if(i>=s){e.pos+=a-n;return!0}a--}}else{let n=0;for(;n<=i;){let a=0;for(;a<s&&r[n+a]===t[a];)a++;if(a>=s){e.pos+=n;return!0}n++}}return!1}class PDFDocument{#ct=new Map;#ht=null;constructor(e,t){if(t.length<=0)throw new InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e;this.stream=t;this.xref=new XRef(t,e);const n={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++n.font}static createObjId(){unreachable("Abstract method `createObjId` called.")}static getPageObjId(){unreachable("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e);this.catalog=new Catalog(this.pdfManager,this.xref)}get linearization(){let e=null;try{e=Linearization.create(this.stream)}catch(e){if(e instanceof MissingDataException)throw e;info(e)}return shadow(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();if(find(e,hl)){e.skip(6);let n=e.peekByte();for(;isWhiteSpace(n);){e.pos++;n=e.peekByte()}t=e.pos-e.start}}else{const n=1024,a=cl.length;let s=!1,r=e.end;for(;!s&&r>0;){r-=n-a;r<0&&(r=0);e.pos=r;s=find(e,cl,n,!0)}if(s){e.skip(9);let n;do{n=e.getByte()}while(isWhiteSpace(n));let a="";for(;n>=32&&n<=57;){a+=String.fromCharCode(n);n=e.getByte()}t=parseInt(a,10);isNaN(t)&&(t=0)}}return shadow(this,"startXRef",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,fl))return;e.moveStart();e.skip(fl.length);let t,n="";for(;(t=e.getByte())>32&&n.length<7;)n+=String.fromCharCode(t);un.test(n)?this.#ht=n:warn(`Invalid PDF header version: ${n}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages;return shadow(this,"numPages",e)}#ut(e,t=0){return!!Array.isArray(e)&&e.every(e=>{if(!((e=this.xref.fetchIfRef(e))instanceof Dict))return!1;if(e.has("Kids")){if(++t>10){warn("#hasOnlyDocumentSignatures: maximum recursion depth reached");return!1}return this.#ut(e.get("Kids"),t)}const n=isName(e.get("FT"),"Sig"),a=e.get("Rect"),s=Array.isArray(a)&&a.every(e=>0===e);return n&&s})}get _xfaStreams(){const{acroForm:e}=this.catalog;if(!e)return null;const t=e.get("XFA"),n=new Map(["xdp:xdp","template","datasets","config","connectionSet","localeSet","stylesheet","/xdp:xdp"].map(e=>[e,null]));if(t instanceof BaseStream&&!t.isEmpty){n.set("xdp:xdp",t);return n}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,a=t.length;e<a;e+=2){let s;s=0===e?"xdp:xdp":e===a-2?"/xdp:xdp":t[e];if(!n.has(s))continue;const r=this.xref.fetchIfRef(t[e+1]);r instanceof BaseStream&&!r.isEmpty&&n.set(s,r)}return n}get xfaDatasets(){const e=this._xfaStreams;if(!e)return shadow(this,"xfaDatasets",null);for(const t of["datasets","xdp:xdp"]){const n=e.get(t);if(n)try{const e=stringToUTF8String(n.getString());return shadow(this,"xfaDatasets",new DatasetReader({[t]:e}))}catch{warn("XFA - Invalid utf-8 string.");break}}return shadow(this,"xfaDatasets",null)}get xfaData(){const e=this._xfaStreams;if(!e)return null;const t=Object.create(null);for(const[n,a]of e)if(a)try{t[n]=stringToUTF8String(a.getString())}catch{warn("XFA - Invalid utf-8 string.");return null}return t}get xfaFactory(){let e;this.pdfManager.enableXfa&&this.catalog.needsRendering&&this.formInfo.hasXfa&&!this.formInfo.hasAcroForm&&(e=this.xfaData);return shadow(this,"xfaFactory",e?new XFAFactory(e):null)}get isPureXfa(){return!!this.xfaFactory&&this.xfaFactory.isValid()}get htmlForXfa(){return this.xfaFactory?this.xfaFactory.getPages():null}async#mt(){const e=await this.pdfManager.ensureCatalog("xfaImages");e&&this.xfaFactory.setImages(e)}async#pt(e,t){const n=await this.pdfManager.ensureCatalog("acroForm");if(!n)return;const a=await n.getAsync("DR");if(!(a instanceof Dict))return;await ObjectLoader.load(a,["Font"],this.xref);const s=a.get("Font");if(!(s instanceof Dict))return;const r=Object.assign(Object.create(null),this.pdfManager.evaluatorOptions,{useSystemFonts:!1}),{builtInCMapCache:i,fontCache:o,standardFontDataCache:l}=this.catalog,f=new PartialEvaluator({xref:this.xref,handler:e,pageIndex:-1,idFactory:this._globalIdFactory,fontCache:o,builtInCMapCache:i,standardFontDataCache:l,options:r}),c=new OperatorList,h=[],u={get font(){return h.at(-1)},set font(e){h.push(e)},clone(){return this}},parseFont=(e,n,s)=>f.handleSetFont(a,[Name.get(e),1],null,c,t,u,n,s).catch(e=>{warn(`loadXfaFonts: "${e}".`);return null}),m=[];for(const[e,t]of s){const n=t.get("FontDescriptor");if(!(n instanceof Dict))continue;let a=n.get("FontFamily");a=a.replaceAll(/[ ]+(\d)/g,"$1");const s={fontFamily:a,fontWeight:n.get("FontWeight"),italicAngle:-n.get("ItalicAngle")};validateCSSFont(s)&&m.push(parseFont(e,null,s))}await Promise.all(m);const p=this.xfaFactory.setFonts(h);if(!p)return;r.ignoreErrors=!0;m.length=0;h.length=0;const d=new Set;for(const e of p)getXfaFontName(`${e}-Regular`)||d.add(e);d.size&&p.push("PdfJS-Fallback");for(const e of p)if(!d.has(e))for(const t of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const n=`${e}-${t.name}`;m.push(parseFont(n,getXfaFontDict(n),{fontFamily:e,fontWeight:t.fontWeight,italicAngle:t.italicAngle}))}await Promise.all(m);this.xfaFactory.appendFonts(h,d)}loadXfaResources(e,t){return Promise.all([this.#pt(e,t).catch(()=>{}),this.#mt()])}serializeXfaData(e){return this.xfaFactory?this.xfaFactory.serializeData(e):null}get version(){return this.catalog.version||this.#ht}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},{acroForm:t}=this.catalog;if(!t)return shadow(this,"formInfo",e);try{const n=t.get("Fields"),a=Array.isArray(n)&&n.length>0;e.hasFields=a;const s=t.get("XFA");e.hasXfa=Array.isArray(s)&&s.length>0||s instanceof BaseStream&&!s.isEmpty;const r=!!(1&t.get("SigFlags")),i=r&&this.#ut(n);e.hasAcroForm=a&&!i;e.hasSignatures=r}catch(e){if(e instanceof MissingDataException)throw e;warn(`Cannot fetch form information: "${e}".`)}return shadow(this,"formInfo",e)}get documentInfo(){const{catalog:e,formInfo:t,xref:n}=this,a={PDFFormatVersion:this.version,Language:e.lang,EncryptFilterName:n.encrypt?.filterName??null,IsLinearized:!!this.linearization,IsAcroFormPresent:t.hasAcroForm,IsXFAPresent:t.hasXfa,IsCollectionPresent:!!e.collection,IsSignaturesPresent:t.hasSignatures};let s;try{s=n.trailer.get("Info")}catch(e){if(e instanceof MissingDataException)throw e;info("The document information dictionary is invalid.")}if(!(s instanceof Dict))return shadow(this,"documentInfo",a);for(const[e,t]of s){switch(e){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof t){a[e]=stringToPDFString(t);continue}break;case"Trapped":if(t instanceof Name){a[e]=t;continue}break;default:let n;switch(typeof t){case"string":n=stringToPDFString(t);break;case"number":case"boolean":n=t;break;default:t instanceof Name&&(n=t)}if(void 0===n){warn(`Bad value, for custom key "${e}", in Info: ${t}.`);continue}a.Custom??=Object.create(null);a.Custom[e]=n;continue}warn(`Bad value, for key "${e}", in Info: ${t}.`)}return shadow(this,"documentInfo",a)}get fingerprints(){const e="\0".repeat(16);function validate(t){return"string"==typeof t&&16===t.length&&t!==e}const t=this.xref.trailer.get("ID");let n,a;if(Array.isArray(t)&&validate(t[0])){n=stringToBytes(t[0]);t[1]!==t[0]&&validate(t[1])&&(a=stringToBytes(t[1]))}else n=calculateMD5(this.stream.getByteRange(0,1024),0,1024);return shadow(this,"fingerprints",[n.toHex(),a?.toHex()??null])}async#dt(e){const{catalog:t,linearization:n,xref:a}=this,s=Ref.get(n.objectNumberFirst,0);try{const e=await a.fetchAsync(s);if(e instanceof Dict){let n=e.getRaw("Type");n instanceof Ref&&(n=await a.fetchAsync(n));if(isName(n,"Page")||!e.has("Type")&&!e.has("Kids")&&e.has("Contents")){t.pageKidsCountCache.has(s)||t.pageKidsCountCache.put(s,1);t.pageIndexCache.has(s)||t.pageIndexCache.put(s,0);return[e,s]}}throw new FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(n){warn(`_getLinearizationPage: "${n.message}".`);return t.getPageDict(e)}}getPage(e){const t=this.#ct.get(e);if(t)return t;const{catalog:n,linearization:a,xfaFactory:s}=this;let r;r=s?Promise.resolve([Dict.empty,null]):a?.pageFirst===e?this.#dt(e):n.getPageDict(e);r=r.then(([t,a])=>new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:t,ref:a,globalIdFactory:this._globalIdFactory,fontCache:n.fontCache,builtInCMapCache:n.builtInCMapCache,standardFontDataCache:n.standardFontDataCache,globalColorSpaceCache:n.globalColorSpaceCache,globalImageCache:n.globalImageCache,systemFontCache:n.systemFontCache,nonBlendModesSet:n.nonBlendModesSet,xfaFactory:s}));this.#ct.set(e,r);return r}async checkFirstPage(e=!1){if(!e)try{await this.getPage(0)}catch(e){if(e instanceof XRefEntryException){this.#ct.delete(0);await this.cleanup();throw new XRefParseException}}}async checkLastPage(e=!1){const{catalog:t,pdfManager:n}=this;t.setActualNumPages();let a;try{await Promise.all([n.ensureDoc("xfaFactory"),n.ensureDoc("linearization"),n.ensureCatalog("numPages")]);if(this.xfaFactory)return;a=this.linearization?this.linearization.numPages:t.numPages;if(!Number.isInteger(a))throw new FormatError("Page count is not an integer.");if(a<=1)return;await this.getPage(a-1)}catch(s){this.#ct.delete(a-1);await this.cleanup();if(s instanceof XRefEntryException&&!e)throw new XRefParseException;warn(`checkLastPage - invalid /Pages tree /Count: ${a}.`);let r;try{r=await t.getAllPageDicts(e)}catch(n){if(n instanceof XRefEntryException&&!e)throw new XRefParseException;t.setActualNumPages(1);return}for(const[e,[a,s]]of r){let r;if(a instanceof Error){r=Promise.reject(a);r.catch(()=>{})}else r=Promise.resolve(new Page({pdfManager:n,xref:this.xref,pageIndex:e,pageDict:a,ref:s,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null}));this.#ct.set(e,r)}t.setActualNumPages(r.size)}}async fontFallback(e,t){const{catalog:n,pdfManager:a}=this;for(const s of await Promise.all(n.fontCache))if(s.loadedName===e){s.fallback(t,a.evaluatorOptions);return}}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):clearGlobalCaches()}async#gt(e,t,n,a,s,r,i){const{xref:o}=this;if(!(n instanceof Ref)||r.has(n))return;r.put(n);const l=await o.fetchAsync(n);if(!(l instanceof Dict))return;let f=await l.getAsync("Subtype");f=f instanceof Name?f.name:null;if("Link"===f)return;if(l.has("T")){const t=stringToPDFString(await l.getAsync("T"));e=""===e?t:`${e}.${t}`}else{let n=l;for(;;){n=n.getRaw("Parent")||t;if(n instanceof Ref){if(r.has(n))break;n=await o.fetchAsync(n)}if(!(n instanceof Dict))break;if(n.has("T")){const t=stringToPDFString(await n.getAsync("T"));e=""===e?t:`${e}.${t}`;break}}}t&&!l.has("Parent")&&isName(l.get("Subtype"),"Widget")&&i.put(n,t);a.getOrInsertComputed(e,makeArr).push(AnnotationFactory.create(o,n,s,null,!0,i,null,null).then(e=>e?.getFieldObject()).catch(function(e){warn(`#collectFieldObjects: "${e}".`);return null}));if(!l.has("Kids"))return;const c=await l.getAsync("Kids");if(Array.isArray(c))for(const t of c)await this.#gt(e,n,t,a,s,r,i)}get fieldObjects(){return shadow(this,"fieldObjects",this.pdfManager.ensureDoc("formInfo").then(async e=>{if(!e.hasFields)return null;const t=await this.annotationGlobals;if(!t)return null;const{acroForm:n}=t,a=new RefSet,s=Object.create(null),r=new Map,i=new RefSetCache;for(const e of n.get("Fields"))await this.#gt("",null,e,r,t,a,i);const o=[];for(const[e,t]of r)o.push(Promise.all(t).then(t=>{(t=t.filter(e=>!!e)).length>0&&(s[e]=t)}));await Promise.all(o);return{allFields:objectSize(s)>0?s:null,orphanFields:i}}))}get hasJSActions(){return shadow(this,"hasJSActions",this.pdfManager.ensureDoc("_parseHasJSActions"))}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!e||!!t?.allFields&&Object.values(t.allFields).some(e=>e.some(e=>null!==e.actions))}get calculationOrderIds(){const e=this.catalog.acroForm?.get("CO");if(!Array.isArray(e)||0===e.length)return shadow(this,"calculationOrderIds",null);const t=[];for(const n of e)n instanceof Ref&&t.push(n.toString());return shadow(this,"calculationOrderIds",t.length?t:null)}get annotationGlobals(){return shadow(this,"annotationGlobals",AnnotationFactory.createGlobals(this.pdfManager))}}class BasePdfManager{constructor({docBaseUrl:e,docId:t,enableXfa:n,evaluatorOptions:a,handler:s,password:r}){this._docBaseUrl=function parseDocBaseUrl(e){if(e){const t=createValidAbsoluteUrl(e);if(t)return t.href;warn(`Invalid absolute docBaseUrl: "${e}".`)}return null}(e);this._docId=t;this._password=r;this.enableXfa=n;a.isOffscreenCanvasSupported&&=FeatureTest.isOffscreenCanvasSupported;a.isImageDecoderSupported&&=FeatureTest.isImageDecoderSupported;this.evaluatorOptions=Object.freeze(a);ImageResizer.setOptions(a);JpegStream.setOptions(a);OperatorList.setOptions(a);const i={...a,handler:s};JpxImage.setOptions(i);IccColorSpace.setOptions(i);CmykICCBasedCS.setOptions(i);JBig2CCITTFaxWasmImage.setOptions(i)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,n){unreachable("Abstract method `ensure` called")}requestRange(e,t){unreachable("Abstract method `requestRange` called")}requestLoadedStream(e=!1){unreachable("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){unreachable("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){unreachable("Abstract method `terminate` called")}}class LocalPdfManager extends BasePdfManager{constructor(e){super(e);const t=new Stream(e.source);this.pdfDocument=new PDFDocument(this,t);this._loadedStreamPromise=Promise.resolve(t)}async ensure(e,t,n){const a=e[t];return"function"==typeof a?a.apply(e,n):a}requestRange(e,t){return Promise.resolve()}requestLoadedStream(e=!1){return this._loadedStreamPromise}terminate(e){}}class NetworkPdfManager extends BasePdfManager{constructor(e){super(e);this.streamManager=new ChunkedStreamManager(e.source,{msgHandler:e.handler,length:e.length,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize});this.pdfDocument=new PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,n){try{const a=e[t];return"function"==typeof a?a.apply(e,n):a}catch(a){if(!(a instanceof MissingDataException))throw a;await this.requestRange(a.begin,a.end);return this.ensure(e,t,n)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(e=!1){return this.streamManager.requestAllChunks(e)}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}terminate(e){this.streamManager.abort(e)}}const ul=1,ml=2,pl=1,dl=2,gl=3,bl=4,wl=5,jl=6,kl=7,yl=8;function onFn(){}function wrapReason(e){if(e instanceof AbortException||e instanceof InvalidPDFException||e instanceof PasswordException||e instanceof ResponseException||e instanceof UnknownErrorException)return e;e instanceof Error||"object"==typeof e&&null!==e||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new AbortException(e.message);case"InvalidPDFException":return new InvalidPDFException(e.message);case"PasswordException":return new PasswordException(e.message,e.code);case"ResponseException":return new ResponseException(e.message,e.status,e.missing);case"UnknownErrorException":return new UnknownErrorException(e.message,e.details)}return new UnknownErrorException(e.message,e.toString())}class MessageHandler{#bt=new AbortController;constructor(e,t,n){this.sourceName=e;this.targetName=t;this.comObj=n;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);n.addEventListener("message",this.#wt.bind(this),{signal:this.#bt.signal})}#wt({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#jt(e);return}if(e.callback){const t=e.callbackId,n=this.callbackCapabilities[t];if(!n)throw new Error(`Cannot resolve callback ${t}`);delete this.callbackCapabilities[t];if(e.callback===ul)n.resolve(e.data);else{if(e.callback!==ml)throw new Error("Unexpected callback case");n.reject(wrapReason(e.reason))}return}const t=this.actionHandler[e.action];if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const n=this.sourceName,a=e.sourceName,s=this.comObj;Promise.try(t,e.data).then(function(t){s.postMessage({sourceName:n,targetName:a,callback:ul,callbackId:e.callbackId,data:t})},function(t){s.postMessage({sourceName:n,targetName:a,callback:ml,callbackId:e.callbackId,reason:wrapReason(t)})});return}e.streamId?this.#kt(e):t(e.data)}on(e,t){const n=this.actionHandler;if(n[e])throw new Error(`There is already an actionName called "${e}"`);n[e]=t}send(e,t,n){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},n)}sendWithPromise(e,t,n){const a=this.callbackId++,s=Promise.withResolvers();this.callbackCapabilities[a]=s;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:a,data:t},n)}catch(e){s.reject(e)}return s.promise}sendWithStream(e,t,n,a){const s=this.streamId++,r=this.sourceName,i=this.targetName,o=this.comObj;return new ReadableStream({start:n=>{const l=Promise.withResolvers();this.streamControllers[s]={controller:n,startCall:l,pullCall:null,cancelCall:null,isClosed:!1};o.postMessage({sourceName:r,targetName:i,action:e,streamId:s,data:t,desiredSize:n.desiredSize},a);return l.promise},pull:e=>{const t=Promise.withResolvers();this.streamControllers[s].pullCall=t;o.postMessage({sourceName:r,targetName:i,stream:jl,streamId:s,desiredSize:e.desiredSize});return t.promise},cancel:e=>{assert(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();this.streamControllers[s].cancelCall=t;this.streamControllers[s].isClosed=!0;o.postMessage({sourceName:r,targetName:i,stream:pl,streamId:s,reason:wrapReason(e)});return t.promise}},n)}#kt(e){const t=e.streamId,n=this.sourceName,a=e.sourceName,s=this.comObj,r=this,i=this.actionHandler[e.action],o={enqueue(e,r=1,i){if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=r;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}s.postMessage({sourceName:n,targetName:a,stream:bl,streamId:t,chunk:e},i)},close(){if(!this.isCancelled){this.isCancelled=!0;s.postMessage({sourceName:n,targetName:a,stream:gl,streamId:t});delete r.streamSinks[t]}},error(e){assert(e instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;s.postMessage({sourceName:n,targetName:a,stream:wl,streamId:t,reason:wrapReason(e)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;this.streamSinks[t]=o;Promise.try(i,e.data,o).then(function(){s.postMessage({sourceName:n,targetName:a,stream:yl,streamId:t,success:!0})},function(e){s.postMessage({sourceName:n,targetName:a,stream:yl,streamId:t,reason:wrapReason(e)})})}#jt(e){const t=e.streamId,n=this.sourceName,a=e.sourceName,s=this.comObj,r=this.streamControllers[t],i=this.streamSinks[t];switch(e.stream){case yl:e.success?r.startCall.resolve():r.startCall.reject(wrapReason(e.reason));break;case kl:e.success?r.pullCall.resolve():r.pullCall.reject(wrapReason(e.reason));break;case jl:if(!i){s.postMessage({sourceName:n,targetName:a,stream:kl,streamId:t,success:!0});break}i.desiredSize<=0&&e.desiredSize>0&&i.sinkCapability.resolve();i.desiredSize=e.desiredSize;Promise.try(i.onPull||onFn).then(function(){s.postMessage({sourceName:n,targetName:a,stream:kl,streamId:t,success:!0})},function(e){s.postMessage({sourceName:n,targetName:a,stream:kl,streamId:t,reason:wrapReason(e)})});break;case bl:assert(r,"enqueue should have stream controller");if(r.isClosed)break;r.controller.enqueue(e.chunk);break;case gl:assert(r,"close should have stream controller");if(r.isClosed)break;r.isClosed=!0;r.controller.close();this.#yt(r,t);break;case wl:assert(r,"error should have stream controller");r.controller.error(wrapReason(e.reason));this.#yt(r,t);break;case dl:e.success?r.cancelCall.resolve():r.cancelCall.reject(wrapReason(e.reason));this.#yt(r,t);break;case pl:if(!i)break;const o=wrapReason(e.reason);Promise.try(i.onCancel||onFn,o).then(function(){s.postMessage({sourceName:n,targetName:a,stream:dl,streamId:t,success:!0})},function(e){s.postMessage({sourceName:n,targetName:a,stream:dl,streamId:t,reason:wrapReason(e)})});i.sinkCapability.reject(o);i.isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async#yt(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]);delete this.streamControllers[t]}destroy(){this.#bt?.abort();this.#bt=null}}async function writeObject(e,t,n,{encrypt:a=null,encryptRef:s=null}){const r=a&&s!==e?a.createCipherTransform(e.num,e.gen):null;n.push(`${e.num} ${e.gen} obj\n`);await writeValue(t,n,r);n.push("\nendobj\n")}async function writeDict(e,t,n){t.push("<<");for(const[a,s]of e.getRawEntries()){t.push(` /${escapePDFName(a)} `);await writeValue(s,t,n)}t.push(">>")}async function writeValue(e,t,n){if(e instanceof Name)t.push(`/${escapePDFName(e.name)}`);else if(e instanceof Ref)t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e)||ArrayBuffer.isView(e))await async function writeArray(e,t,n){t.push("[");for(let a=0,s=e.length;a<s;a++){await writeValue(e[a],t,n);a<s-1&&t.push(" ")}t.push("]")}(e,t,n);else if("string"==typeof e){n&&(e=n.encryptString(e));t.push(`(${escapeString(e)})`)}else"number"==typeof e||"boolean"==typeof e?t.push(e.toString()):e instanceof Dict?await writeDict(e,t,n):e instanceof BaseStream?await async function writeStream(e,t,n){(e=e.getOriginalStream()).reset();let a=e.getBytes();const{dict:s}=e,[r,i]=await Promise.all([s.getAsync("Filter"),s.getAsync("DecodeParms")]),o=isName(Array.isArray(r)?await s.xref.fetchIfRefAsync(r[0]):r,"FlateDecode");if(a.length>=256&&!o)try{const e=new CompressionStream("deflate"),t=e.writable.getWriter();await t.ready;t.write(a).then(async()=>{await t.ready;await t.close()}).catch(()=>{});const n=await new Response(e.readable).arrayBuffer();a=new Uint8Array(n);let l,f;if(r){if(!o){l=Array.isArray(r)?[Name.get("FlateDecode"),...r]:[Name.get("FlateDecode"),r];i&&(f=Array.isArray(i)?[null,...i]:[null,i])}}else l=Name.get("FlateDecode");l&&s.set("Filter",l);f&&s.set("DecodeParms",f)}catch(e){info(`writeStream - cannot compress data: "${e}".`)}let l=bytesToString(a);n&&(l=n.encryptString(l));s.set("Length",l.length);await writeDict(s,t,n);t.push(" stream\n",l,"\nendstream")}(e,t,n):null===e?t.push("null"):warn(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function writeInt(e,t,n,a){for(let s=t+n-1;s>n-1;s--){a[s]=255&e;e>>=8}return n+t}function writeString(e,t,n){const a=e.length;for(let s=0;s<a;s++)n[t+s]=255&e.charCodeAt(s);return t+a}function updateXFA({xfaData:e,xfaDatasetsRef:t,changes:n,xref:a}){if(null===e){e=function writeXFADataForAcroform(e,t){const n=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e);for(const{xfa:e}of t){if(!e)continue;const{path:t,value:a}=e;if(!t)continue;const s=parseXFAPath(t);let r=n.documentElement.searchNode(s,0);!r&&s.length>1&&(r=n.documentElement.searchNode([s.at(-1)],0));r?r.childNodes=Array.isArray(a)?a.map(e=>new SimpleDOMNode("value",e)):[new SimpleDOMNode("#text",a)]:warn(`Node not found for path: ${t}`)}const a=[];n.documentElement.dump(a);return a.join("")}(a.fetchIfRef(t).getString(),n)}const s=new StringStream(e);s.dict=new Dict(a);s.dict.setIfName("Type","EmbeddedFile");n.put(t,{data:s})}function getIndexes(e){const t=[];for(const{ref:n}of e)n.num===t.at(-2)+t.at(-1)?t[t.length-1]+=1:t.push(n.num,1);return t}function computeIDs(e,t,n){if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const a=function computeMD5(e,t){const n=Math.floor(Date.now()/1e3),a=t.filename||"",s=[n.toString(),a,e.toString(),...t.infoMap.values()],r=Math.sumPrecise(s.map(e=>e.length)),i=new Uint8Array(r);let o=0;for(const e of s)o=writeString(e,o,i);return bytesToString(calculateMD5(i,0,i.length))}(e,t);n.set("ID",[t.fileIds[0]||a,a])}}async function incrementalUpdate({originalData:e,xrefInfo:t,changes:n,xref:a=null,hasXfa:s=!1,xfaDatasetsRef:r=null,hasXfaDatasetsEntry:i=!1,needAppearances:o,acroFormRef:l=null,acroForm:f=null,xfaData:c=null,useXrefStream:h=!1}){await async function updateAcroform({xref:e,acroForm:t,acroFormRef:n,hasXfa:a,hasXfaDatasetsEntry:s,xfaDatasetsRef:r,needAppearances:i,changes:o}){!a||s||r||warn("XFA - Cannot save it");if(!i&&(!a||!r||s))return;const l=t.clone();if(a&&!s){const e=t.get("XFA").slice();e.splice(2,0,"datasets");e.splice(3,0,r);l.set("XFA",e)}i&&l.set("NeedAppearances",!0);o.put(n,{data:l})}({xref:a,acroForm:f,acroFormRef:l,hasXfa:s,hasXfaDatasetsEntry:i,xfaDatasetsRef:r,needAppearances:o,changes:n});s&&updateXFA({xfaData:c,xfaDatasetsRef:r,changes:n,xref:a});const u=function getTrailerDict(e,t,n){const a=new Dict(null);a.setIfDefined("Prev",e?.startXRef);const s=e.newRef;if(n){t.put(s,{data:""});a.set("Size",s.num+1);a.setIfName("Type","XRef")}else a.set("Size",s.num);a.setIfDefined("Root",e?.rootRef);a.setIfDefined("Info",e?.infoRef);a.setIfDefined("Encrypt",e?.encryptRef);return a}(t,n,h),m=[],p=await async function writeChanges(e,t,n=[]){const a=[];for(const[s,{data:r,objStreamRef:i,index:o}]of e.items())if(i)a.push({ref:s,data:r,objStreamRef:i,index:o});else if(null!==r&&"string"!=typeof r){await writeObject(s,r,n,t);a.push({ref:s,data:n.join("")});n.length=0}else a.push({ref:s,data:r});return a.sort((e,t)=>e.ref.num-t.ref.num)}(n,a,m);let d=e.length;const g=e.at(-1);if(10!==g&&13!==g){m.push("\n");d+=1}for(const{data:e}of p)null!==e&&m.push(e);await(h?async function getXRefStreamTable(e,t,n,a,s){const r=[];let i=0,o=0;for(const{ref:e,data:a,objStreamRef:s,index:l}of n){let n;i=Math.max(i,t);if(s){n=l;r.push([2,s.num,n])}else if(null!==a){n=Math.min(e.gen,65535);r.push([1,t,n]);t+=a.length}else{n=Math.min(e.gen+1,65535);r.push([0,0,n])}o=Math.max(o,n)}a.set("Index",getIndexes(n));const l=[1,getSizeInBytes(i),getSizeInBytes(o)];a.set("W",l);computeIDs(t,e,a);const f=Math.sumPrecise(l),c=new Uint8Array(f*r.length),h=new Stream(c);h.dict=a;let u=0;for(const[e,t,n]of r){u=writeInt(e,l[0],u,c);u=writeInt(t,l[1],u,c);u=writeInt(n,l[2],u,c)}await writeObject(e.newRef,h,s,{});s.push("startxref\n",t.toString(),"\n%%EOF\n")}(t,d,p,u,m):async function getXRefTable(e,t,n,a,s){s.push("xref\n");const r=getIndexes(n);let i=0;for(const{ref:e,data:a}of n){if(e.num===r[i]){s.push(`${r[i]} ${r[i+1]}\n`);i+=2}if(null!==a){s.push(`${t.toString().padStart(10,"0")} ${Math.min(e.gen,65535).toString().padStart(5,"0")} n\r\n`);t+=a.length}else s.push(`0000000000 ${Math.min(e.gen+1,65535).toString().padStart(5,"0")} f\r\n`)}computeIDs(t,e,a);s.push("trailer\n");await writeDict(a,s,null);s.push("\nstartxref\n",t.toString(),"\n%%EOF\n")}(t,d,p,u,m));const b=e.length+Math.sumPrecise(m.map(e=>e.length)),w=new Uint8Array(b);w.set(e);let j=e.length;for(const e of m)j=writeString(e,j,w);return w}class PageData{constructor(e,t){this.page=e;this.documentData=t;this.annotations=null;this.pointingNamedDestinations=null;t.pagesMap.put(e.ref,this)}}class DocumentData{constructor(e){this.document=e;this.destinations=null;this.pageLabels=null;this.pagesMap=new RefSetCache;this.oldRefMapping=new RefSetCache;this.dedupNamedDestinations=new Map;this.usedNamedDestinations=new Set;this.postponedRefCopies=new RefSetCache;this.usedStructParents=new Set;this.oldStructParentMapping=new Map;this.structTreeRoot=null;this.parentTree=null;this.idTree=null;this.roleMap=null;this.classMap=null;this.namespaces=null;this.structTreeAF=null;this.structTreePronunciationLexicon=[]}}class XRefWrapper{constructor(e){this.entries=e}fetch(e){return e instanceof Ref?this.entries[e.num]:e}}class PDFEditor{hasSingleFile=!1;currentDocument=null;oldPages=[];newPages=[];xref=[null];xrefWrapper=new XRefWrapper(this.xref);newRefCount=1;namesDict=null;version="1.7";pageLabels=null;namedDestinations=new Map;parentTree=new Map;structTreeKids=[];idTree=new Map;classMap=new Dict;roleMap=new Dict;namespaces=new Map;structTreeAF=[];structTreePronunciationLexicon=[];constructor({useObjectStreams:e=!0,title:t="",author:n=""}={}){[this.rootRef,this.rootDict]=this.newDict;[this.infoRef,this.infoDict]=this.newDict;[this.pagesRef,this.pagesDict]=this.newDict;this.useObjectStreams=e;this.objStreamRefs=e?new Set:null;this.title=t;this.author=n}get newRef(){return Ref.get(this.newRefCount++,0)}get newDict(){const e=this.newRef;return[e,this.xref[e.num]=new Dict]}async#qt(e,t){const n=this.newRef;this.xref[n.num]=await this.#vt(e,!0,t);return n}cloneDict(e){const t=e.clone();t.xref=this.xrefWrapper;return t}async#vt(e,t,n){if(e instanceof Ref){const{currentDocument:{oldRefMapping:t}}=this;let a=t.get(e);if(a)return a;const s=e;if("number"==typeof(e=await n.fetchAsync(s)))return e;a=this.newRef;t.put(s,a);this.xref[a.num]=await this.#vt(e,!0,n);return a}const a=[],{currentDocument:{postponedRefCopies:s}}=this;if(Array.isArray(e)){t&&(e=e.slice());for(let t=0,r=e.length;t<r;t++){const r=s.get(e[t]);r?r.push(n=>e[t]=n):a.push(this.#vt(e[t],!0,n).then(n=>e[t]=n))}await Promise.all(a);return e}let r;if(e instanceof BaseStream){({dict:r}=e=e.getOriginalStream().clone());r.xref=this.xrefWrapper}else if(e instanceof Dict){t&&((e=e.clone()).xref=this.xrefWrapper);r=e}if(r){for(const[e,t]of r.getRawEntries()){const i=s.get(t);i?i.push(t=>r.set(e,t)):a.push(this.#vt(t,!0,n).then(t=>r.set(e,t)))}await Promise.all(a)}return e}async#St(e,t,n,a,s,r,i,o=new RefSet){const{currentDocument:{pagesMap:l,oldRefMapping:f}}=this,c=t.getRaw("Pg");if(c instanceof Ref&&!l.has(c))return null;let h;const u=h=t.getRaw("K");if(u instanceof Ref){if(o.has(u))return null;h=await n.fetchAsync(u);Array.isArray(h)||(h=[u])}h=Array.isArray(h)?h:[h];const m=[],p=[];for(let t of h){const c=t instanceof Ref?t:null;if(c){if(o.has(c))continue;o.put(c);t=await n.fetchAsync(c)}if("number"==typeof t){m.push(t);continue}if(!(t instanceof Dict))continue;const h=t.getRaw("Pg");if(h instanceof Ref&&!l.has(h))continue;const u=t.get("Type");if(!u||isName(u,"StructElem")){let e=!1;if(c&&a.has(c)){if(!isName(t.get("S"),"Link"))continue;e=!0}const l=await this.#St(c,t,n,a,s,r,i,o);if(l){p.push(m.length);m.push(l);c&&f.put(c,l);e&&this.xref[l.num].setIfName("S","Span")}continue}if(isName(u,"OBJR")){if(!c)continue;const t=f.get(c);if(!t)continue;const n=this.xref[t.num].getRaw("Obj");if(n instanceof Ref){const t=this.xref[n.num];if(t instanceof Dict&&!t.has("StructParent")&&e){const n=this.parentTree.size;this.parentTree.set(n,[f,e]);t.set("StructParent",n)}}m.push(t);continue}if(isName(u,"MCR")){const e=await this.#vt(c||t,!0,n);m.push(e);continue}if(c){const e=await this.#vt(c,!0,n);m.push(e)}}if(0!==h.length&&0===m.length)return null;const d=this.newRef,g=this.xref[d.num]=this.cloneDict(t);g.delete("ID");g.delete("C");g.delete("K");g.delete("P");g.delete("S");await this.#vt(g,!1,n);const b=t.get("C");if(b instanceof Name){const e=r.get(b.name);e?g.set("C",Name.get(e)):g.set("C",b)}else if(Array.isArray(b)){const e=[];for(const t of b)if(t instanceof Name){const n=r.get(t.name);n?e.push(Name.get(n)):e.push(t)}g.set("C",e)}const w=t.get("S");if(w instanceof Name){const e=i.get(w.name);e?g.set("S",Name.get(e)):g.set("S",w)}const j=t.get("ID");if("string"==typeof j){const e=stringToPDFString(j,!1),t=s.get(e);t?g.set("ID",stringToAsciiOrUTF16BE(t)):g.set("ID",j)}let k=g.get("A");if(k){Array.isArray(k)||(k=[k]);for(let e of k){e=this.xrefWrapper.fetch(e);if(isName(e.get("O"),"Table")&&e.has("Headers")){const t=this.xrefWrapper.fetch(e.getRaw("Headers"));if(Array.isArray(t))for(let e=0,n=t.length;e<n;e++){const n=s.get(stringToPDFString(t[e],!1));n&&(t[e]=n)}}}}for(const e of p){const t=m[e];this.xref[t.num].set("P",d)}1===m.length?g.set("K",m[0]):m.length>1&&g.set("K",m);return d}async extractPages(e){const t=[];let n=0;this.hasSingleFile=1===e.length;const a=[];for(const{document:s,includePages:r,excludePages:i,pageIndices:o}of e){if(!s)continue;o&&(n=-1);const e=new DocumentData(s);a.push(e);t.push(this.#xt(e));let l,f,c,h;for(const e of r||[])Array.isArray(e)?(f||=[]).push(e):(l||=new Set).add(e);for(const e of i||[])Array.isArray(e)?(h||=[]).push(e):(c||=new Set).add(e);let u=0;for(let a=0,r=s.numPages;a<r;a++){if(c?.has(a))continue;if(h){let e=!1;for(const[t,n]of h)if(a>=t&&a<=n){e=!0;break}if(e)continue}let r,i=!1;l&&(i=l.has(a));if(!i&&f)for(const[e,t]of f)if(a>=e&&a<=t){i=!0;break}i||l||f||(i=!0);if(i){o&&(r=o[u++]);if(void 0===r)if(-1!==n)r=n++;else for(r=0;void 0===this.oldPages[r];r++);t.push(s.getPage(a).then(t=>{this.oldPages[r]=new PageData(t,e)}))}}}await Promise.all(t);t.length=0;this.#At(a);this.#Ct();for(const e of this.oldPages)t.push(this.#It(e));await Promise.all(t);this.#Ft();this.#Tt(a);for(let e=0,t=this.oldPages.length;e<t;e++)this.newPages[e]=await this.#Ht(e,null);this.#Ot(a);await this.#Bt(a);return this.writePDF()}async#xt(e){const{document:{pdfManager:t,xref:n}}=e;await Promise.all([t.ensureCatalog("destinations").then(t=>e.destinations=t),t.ensureCatalog("rawPageLabels").then(t=>e.pageLabels=t),t.ensureCatalog("structTreeRoot").then(t=>e.structTreeRoot=t)]);const a=e.structTreeRoot;if(a){const t=a.dict,s=t.get("ParentTree");if(s){const t=new NumberTree(s,n);e.parentTree=t.getAll(!0)}const r=t.get("IDTree");if(r){const t=new NameTree(r,n);e.idTree=t.getAll(!0)}e.roleMap=t.get("RoleMap")||null;e.classMap=t.get("ClassMap")||null;let i=t.get("Namespaces")||null;i&&!Array.isArray(i)&&(i=[i]);e.namespaces=i;e.structTreeAF=t.get("AF")||null;e.structTreePronunciationLexicon=t.get("PronunciationLexicon")||null}}async#It(e){const{page:{xref:t,annotations:n},documentData:{pagesMap:a,destinations:s,usedNamedDestinations:r}}=e;if(!n)return;const i=[];let o=[],l=0;for(const e of n){const n=l++;i.push(t.fetchIfRefAsync(e).then(async t=>{if(!isName(t.get("Subtype"),"Link")){o[n]=e;return}const i=t.get("A"),l=i instanceof Dict?i.get("D"):t.get("Dest");if(l&&(!Array.isArray(l)||l[0]instanceof Ref&&!a.has(l[0]))){if("string"==typeof l){const t=stringToPDFString(l,!0);if(s.has(t)){o[n]=e;r.add(t)}}}else o[n]=e}))}await Promise.all(i);o=o.filter(e=>!!e);e.annotations=o.length>0?o:null}#Tt(e){for(const{postponedRefCopies:t,pagesMap:n}of e)for(const e of n.keys())t.put(e,[])}#Ot(e){for(const{postponedRefCopies:t,oldRefMapping:n}of e){for(const[e,a]of t.items()){const t=n.get(e);for(const e of a)e(t)}t.clear()}}#Rt(e,t,n=new RefSet){if(e instanceof Ref){if(!n.has(e)){n.put(e);this.#Rt(this.xref[e.num],t,n)}return}if(Array.isArray(e)){for(const a of e)this.#Rt(a,t,n);return}let a;e instanceof BaseStream?({dict:a}=e):e instanceof Dict&&(a=e);if(a){t(a);for(const e of a.getRawValues())this.#Rt(e,t,n)}}async#Bt(e){let t=0;const{parentTree:n}=this;for(let e=0,a=this.newPages.length;e<a;e++){const{documentData:{parentTree:a,oldRefMapping:s,oldStructParentMapping:r,usedStructParents:i,document:{xref:o}}}=this.oldPages[e];if(!a)continue;const l=this.newPages[e],f=this.xref[l.num];this.#Rt(f,e=>{const l=e.get("StructParent")??e.get("StructParents");if("number"!=typeof l)return;i.add(l);let f=a.get(l);const c=f instanceof Ref?f:null;if(c){const e=o.fetch(c);Array.isArray(e)&&(f=e)}Array.isArray(f)&&f.every(e=>null===e)&&(f=null);if(!f){e.has("StructParent")?e.delete("StructParent"):e.delete("StructParents");return}let h=r.get(l);if(void 0===h){h=t++;r.set(l,h);n.set(h,[s,f])}e.has("StructParent")?e.set("StructParent",h):e.set("StructParents",h)})}const{structTreeKids:a,idTree:s,classMap:r,roleMap:i,namespaces:o,structTreeAF:l,structTreePronunciationLexicon:f}=this;for(const t of e){const{document:{xref:e},oldRefMapping:n,parentTree:c,usedStructParents:h,structTreeRoot:u,idTree:m,classMap:p,roleMap:d,namespaces:g,structTreeAF:b,structTreePronunciationLexicon:w}=t;if(!u)continue;this.currentDocument=t;const j=new RefSet;for(const[e,t]of c||[])!h.has(e)&&t instanceof Ref&&j.put(t);const k=new Map;for(const[e,t]of m||[]){let n=e;if(s.has(e))for(let t=1;;t++){const a=`${e}_${t}`;if(!s.has(a)){k.set(e,a);n=a;break}}s.set(n,t)}const y=new Map;if(p?.size>0)for(let[t,n]of p){n=await this.#vt(n,!0,e);if(r.has(t))for(let e=1;;e++){const n=`${t}_${e}`;if(!r.has(n)){y.set(t,n);t=n;break}}r.set(t,n)}const q=new Map;if(d?.size>0)for(const[e,t]of d){const n=i.get(e);if(n){if(n!==t)for(let n=1;;n++){const a=`${e}_${n}`;if(!i.has(a)){q.set(e,a);i.set(a,t);break}}}else i.set(e,t)}if(g?.length>0)for(const t of g){const n=await e.fetchIfRefAsync(t);let a=n.get("NS");if(!a||o.has(a))continue;a=stringToPDFString(a,!1);const s=await this.#vt(n,!0,e);o.set(a,s)}if(b)for(const t of b)l.push(await this.#vt(t,!0,e));if(w)for(const t of w)f.push(await this.#vt(t,!0,e));let v=u.dict.get("K");if(v){v=Array.isArray(v)?v:[v];for(let t of v){const n=t instanceof Ref?t:null;if(n&&j.has(n))continue;t=await e.fetchIfRefAsync(t);const s=await this.#St(n,t,e,j,k,y,q);s&&a.push(s)}for(const[e,t]of m||[]){const a=n.get(t),r=k.get(e)||e;a?s.set(r,a):s.delete(r)}}}for(const[e,[t,a]]of n){if(!a){n.delete(e);continue}if(!Array.isArray(a)){const s=t.get(a);void 0===s?n.delete(e):n.set(e,s);continue}const s=a.map(e=>e instanceof Ref&&t.get(e)||null);0===s.length||s.every(e=>null===e)?n.delete(e):n.set(e,s)}this.currentDocument=null}#At(e){for(const t of e){if(!t.destinations)continue;const{destinations:e,pagesMap:n}=t,a=t.destinations=new Map;for(const[t,s]of Object.entries(e)){const e=s[0],r=n.get(e);if(r){(r.pointingNamedDestinations||=new Set).add(t);a.set(t,s)}}}}#Ft(){const{namedDestinations:e}=this;for(let t=0,n=this.oldPages.length;t<n;t++){const n=this.oldPages[t],{documentData:{destinations:a,dedupNamedDestinations:s,usedNamedDestinations:r}}=n;let{pointingNamedDestinations:i}=n;if(i){n.pointingNamedDestinations=i=i.intersection(r);for(const n of i){if(!r.has(n))continue;const i=a.get(n).slice();if(!e.has(n)){e.set(n,i);continue}const o=`${n}_p${t+1}`;s.set(n,o);e.set(o,i)}}}}#Dt(e,t){if(0===t.size)return;const fixDestination=(e,n,a)=>{"string"==typeof a&&e.set(n,t.get(stringToPDFString(a,!0))||a)};for(const t of e){const e=this.xref[t.num];if(!isName(e.get("Subtype"),"Link"))continue;const n=e.get("A");if(n instanceof Dict&&n.has("D")){const e=n.get("D");fixDestination(n,"D",e);continue}const a=e.get("Dest");fixDestination(e,"Dest",a)}}async#Ct(){if(!this.hasSingleFile)return;const{documentData:{document:e,pageLabels:t}}=this.oldPages[0];if(!t)return;const n=e.numPages,a=[],s=new Set(this.oldPages.map(({page:{pageIndex:e}})=>e));let r=null,i=-1;for(let e=0;e<n;e++){const n=t.get(e);if(n){r=n;i=r.has("St")?e:-1}if(s.has(e)){if(-1!==i){const t=r.get("St");r=this.cloneDict(r);r.set("St",t+(e-i));i=-1}a.push(r)}}r=a[0];let o=0;const l=this.pageLabels=[[0,r]];for(let e=0,t=a.length;e<t;e++){const t=a[e];if(t!==r){o=e;r=t;l.push([o,r])}}}async#Ht(e){const{page:t,documentData:n,annotations:a,pointingNamedDestinations:s}=this.oldPages[e];this.currentDocument=n;const{dedupNamedDestinations:r,oldRefMapping:i}=n,{xref:o,rotate:l,mediaBox:f,resources:c,ref:h}=t,u=this.newRef,m=this.xref[u.num]=this.cloneDict(t.pageDict);i.put(h,u);if(s)for(const e of s){const t=r.get(e)||e;this.namedDestinations.get(t)[0]=u}for(const e of["Rotate","MediaBox","CropBox","BleedBox","TrimBox","ArtBox","Resources","Annots","Parent","UserUnit"])m.delete(e);const p=this.newRefCount;await this.#vt(m,!1,o);m.set("Rotate",l);m.set("MediaBox",f);for(const e of["CropBox","BleedBox","TrimBox","ArtBox"]){const n=t.getBoundingBox(e);n?.some((e,t)=>e!==f[t])&&m.set(e,n)}const d=t.userUnit;1!==d&&m.set("UserUnit",d);m.setIfDict("Resources",await this.#vt(c,!0,o));if(a){const e=await this.#vt(a,!0,o);this.#Dt(e,r);m.setIfArray("Annots",e)}if(this.useObjectStreams){const e=this.newRefCount,t=[];for(let n=p;n<e;n++){this.xref[n]instanceof BaseStream||t.push(Ref.get(n,0))}for(let e=0;e<t.length;e+=65535){const n=this.newRef;this.objStreamRefs.add(n.num);this.xref[n.num]=t.slice(e,e+65535)}}this.currentDocument=null;return u}#Mt(){const{newPages:e,rootDict:t,pagesRef:n,pagesDict:a}=this;t.set("Pages",n);a.setIfName("Type","Pages");a.set("Count",e.length);const s=[{dict:a,kids:e,parentRef:n}];for(;s.length>0;){const{dict:e,kids:t,parentRef:n}=s.pop();if(t.length<=16){e.set("Kids",t);for(const e of t)this.xref[e.num].set("Parent",n);continue}const a=Math.max(16,Math.ceil(t.length/16)),r=[];for(let e=0;e<t.length;e+=a)r.push(t.slice(e,e+a));const i=[];e.set("Kids",i);for(const e of r){const[t,a]=this.newDict;i.push(t);a.setIfName("Type","Pages");a.set("Parent",n);a.set("Count",e.length);s.push({dict:a,kids:e,parentRef:t})}}}#Pt(e,t){const n=e.sort(t?([e],[t])=>e.localeCompare(t):([e],[t])=>e-t),[a,s]=this.newDict,r=[{dict:s,entries:n}],i=t?"Names":"Nums";for(;r.length>0;){const{dict:e,entries:t}=r.pop();if(t.length<=64){e.set("Limits",[t[0][0],t.at(-1)[0]]);e.set(i,t.flat());continue}const n=[],a=Math.max(64,Math.ceil(t.length/64));for(let e=0;e<t.length;e+=a)n.push(t.slice(e,e+a));const s=[];e.set("Kids",s);for(const e of n){const[t,n]=this.newDict;s.push(t);n.set("Limits",[e[0][0],e.at(-1)[0]]);r.push({dict:n,entries:e})}}return a}#Et(){const{pageLabels:e}=this;if(!e||0===e.length)return;const{rootDict:t}=this,n=this.#Pt(this.pageLabels,!1);t.set("PageLabels",n)}#Nt(){const{namedDestinations:e}=this;if(0!==e.size){if(!this.namesDict){[this.namesRef,this.namesDict]=this.newDict;this.rootDict.set("Names",this.namesRef)}this.namesDict.set("Dests",this.#Pt(Array.from(e.entries()),!0))}}#zt(){const{structTreeKids:e}=this;if(!e||0===e.length)return;const{rootDict:t}=this,n=this.newRef,a=this.xref[n.num]=new Dict;a.setIfName("Type","StructTreeRoot");a.setIfArray("K",e);for(const t of e){const e=this.xref[t.num],a=e.get("Type");a&&!isName(a,"StructElem")||e.set("P",n)}if(this.parentTree.size>0){const e=this.#Pt(Array.from(this.parentTree.entries()),!1);this.xref[e.num].setIfName("Type","ParentTree");a.set("ParentTree",e);a.set("ParentTreeNextKey",this.parentTree.size)}if(this.idTree.size>0){const e=this.#Pt(Array.from(this.idTree.entries()),!0);this.xref[e.num].setIfName("Type","IDTree");a.set("IDTree",e)}if(this.classMap.size>0){const e=this.newRef;this.xref[e.num]=this.classMap;a.set("ClassMap",e)}if(this.roleMap.size>0){const e=this.newRef;this.xref[e.num]=this.roleMap;a.set("RoleMap",e)}if(this.namespaces.size>0){const e=this.newRef;this.xref[e.num]=Array.from(this.namespaces.values());a.set("Namespaces",e)}if(this.structTreeAF.length>0){const e=this.newRef;this.xref[e.num]=this.structTreeAF;a.set("AF",e)}if(this.structTreePronunciationLexicon.length>0){const e=this.newRef;this.xref[e.num]=this.structTreePronunciationLexicon;a.set("PronunciationLexicon",e)}t.set("StructTreeRoot",n)}async#Lt(){const{rootDict:e}=this;e.setIfName("Type","Catalog");e.setIfName("Version",this.version);this.#Mt();this.#Et();this.#Nt();this.#zt()}#Ut(){const e=new Map;if(this.hasSingleFile){const{xref:{trailer:t}}=this.oldPages[0].documentData.document,n=t.get("Info");for(const[t,a]of n||[])"string"==typeof a&&e.set(t,stringToPDFString(a))}e.delete("ModDate");e.set("CreationDate",getModificationDate());e.set("Creator","PDF.js");e.set("Producer","Firefox");this.author&&e.set("Author",this.author);this.title&&e.set("Title",this.title);for(const[t,n]of e)this.infoDict.set(t,stringToAsciiOrUTF16BE(n));return e}async#_t(){if(!this.hasSingleFile)return[null,null,null];const{documentData:e}=this.oldPages[0],{document:{xref:{trailer:t,encrypt:n}}}=e;if(!t.has("Encrypt"))return[null,null,null];const a=t.get("Encrypt");if(!(a instanceof Dict))return[null,null,null];this.currentDocument=e;const s=[await this.#qt(a,t.xref),n,t.get("ID")];this.currentDocument=null;return s}async#Xt(){const e=new RefSetCache;e.put(Ref.get(0,65535),{data:null});for(let t=1,n=this.xref.length;t<n;t++)this.objStreamRefs?.has(t)?await this.#Wt(Ref.get(t,0),this.xref[t],e):e.put(Ref.get(t,0),{data:this.xref[t]});return[e,this.newRef]}async#Wt(e,t,n){const a=[""],s=[];let r=0;const i=[];for(let o=0,l=t.length;o<l;o++){const l=t[o];n.put(l,{data:null,objStreamRef:e,index:o});s.push(`${l.num} ${r}`);const f=this.xref[l.num];await writeValue(f,i,null);const c=i.join("");i.length=0;a.push(c);r+=c.length+1}a[0]=s.join("\n");const o=new StringStream(a.join("\n")),l=o.dict=new Dict;l.setIfName("Type","ObjStm");l.set("N",t.length);l.set("First",a[0].length+1);n.put(e,{data:o})}async writePDF(){await this.#Lt();const e=this.#Ut(),[t,n,a]=await this.#_t(),[s,r]=await this.#Xt(),i=[...`%PDF-${this.version}\n%`.split("").map(e=>e.charCodeAt(0)),250,222,250,206];return incrementalUpdate({originalData:new Uint8Array(i),changes:s,xrefInfo:{startXRef:null,rootRef:this.rootRef,infoRef:this.infoRef,encryptRef:t,newRef:r,fileIds:a||[null,null],infoMap:e},useXrefStream:this.useObjectStreams,xref:{encrypt:n,encryptRef:t}})}}class BasePDFStream{#Kt=null;#Gt=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e,t,n){this._source=e;this.#Kt=t;this.#Gt=n}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){assert(!this._fullReader,"BasePDFStream.getFullReader can only be called once.");return this._fullReader=new this.#Kt(this)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const n=new this.#Gt(this,e,t);this._rangeReaders.add(n);return n}cancelAllRequests(e){this._fullReader?.cancel(e);for(const t of new Set(this._rangeReaders))t.cancel(e)}}class BasePDFStreamReader{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e){this._stream=e}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){unreachable("Abstract method `read` called")}cancel(e){unreachable("Abstract method `cancel` called")}}class BasePDFStreamRangeReader{_stream=null;constructor(e,t,n){this._stream=e}async read(){unreachable("Abstract method `read` called")}cancel(e){unreachable("Abstract method `cancel` called")}}class PDFWorkerStream extends BasePDFStream{constructor(e){super(e,PDFWorkerStreamReader,PDFWorkerStreamRangeReader)}}class PDFWorkerStreamReader extends BasePDFStreamReader{_reader=null;constructor(e){super(e);const{msgHandler:t}=e._source,n=t.sendWithStream("GetReader");this._reader=n.getReader();t.sendWithPromise("ReaderHeadersReady").then(e=>{this._contentLength=e.contentLength;this._isStreamingSupported=e.isStreamingSupported;this._isRangeSupported=e.isRangeSupported;this._headersCapability.resolve()},this._headersCapability.reject)}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class PDFWorkerStreamRangeReader extends BasePDFStreamRangeReader{_reader=null;constructor(e,t,n){super(e,t,n);const{msgHandler:a}=e._source,s=a.sendWithStream("GetRangeReader",{begin:t,end:n});this._reader=s.getReader()}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}class WorkerMessageHandler{static{"undefined"==typeof window&&!e&&"undefined"!=typeof self&&"function"==typeof self.postMessage&&"onmessage"in self&&this.initializeFromPort(self)}static setup(e,t){let n=!1;e.on("test",t=>{if(!n){n=!0;e.send("test",t instanceof Uint8Array)}});e.on("configure",e=>{!function setVerbosityLevel(e){Number.isInteger(e)&&(Zt=e)}(e.verbosity)});e.on("GetDocRequest",e=>this.createDocumentHandler(e,t))}static createDocumentHandler(e,t){let n,a=!1,s=null;const r=new Set,i=getVerbosityLevel(),{docId:o,apiVersion:l}=e,f="5.5.207";if(l!==f)throw new Error(`The API version "${l}" does not match the Worker version "${f}".`);const buildMsg=(e,t)=>`The \`${e}.prototype\` contains unexpected enumerable property "${t}", thus breaking e.g. \`for...in\` iteration of ${e}s.`;for(const e in{})throw new Error(buildMsg("Object",e));for(const e in[])throw new Error(buildMsg("Array",e));const c=o+"_worker";let h=new MessageHandler(c,o,t);function ensureNotTerminated(){if(a)throw new Error("Worker was terminated")}function startWorkerTask(e){r.add(e)}function finishWorkerTask(e){e.finish();r.delete(e)}async function loadDocument(e){await n.ensureDoc("checkHeader");await n.ensureDoc("parseStartXRef");await n.ensureDoc("parse",[e]);await n.ensureDoc("checkFirstPage",[e]);await n.ensureDoc("checkLastPage",[e]);const t=await n.ensureDoc("isPureXfa");if(t){const e=new WorkerTask("loadXfaResources");startWorkerTask(e);await n.ensureDoc("loadXfaResources",[h,e]);finishWorkerTask(e)}const[a,s]=await Promise.all([n.ensureDoc("numPages"),n.ensureDoc("fingerprints")]);return{numPages:a,fingerprints:s,htmlForXfa:t?await n.ensureDoc("htmlForXfa"):null}}function setupDoc(e){function onSuccess(e){ensureNotTerminated();h.send("GetDoc",{pdfInfo:e})}function onFailure(e){if(!a)if(e instanceof PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);h.sendWithPromise("PasswordRequest",e).then(function({password:e}){finishWorkerTask(t);n.updatePassword(e);pdfManagerReady()}).catch(function(){finishWorkerTask(t);h.send("DocException",e)})}else h.send("DocException",wrapReason(e))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,function(e){ensureNotTerminated();e instanceof XRefParseException?n.requestLoadedStream().then(function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)}):onFailure(e)})}ensureNotTerminated();(async function getPdfManager({data:e,password:t,disableAutoFetch:n,rangeChunkSize:a,length:r,docBaseUrl:i,enableXfa:l,evaluatorOptions:f}){const c={source:null,disableAutoFetch:n,docBaseUrl:i,docId:o,enableXfa:l,evaluatorOptions:f,handler:h,length:r,password:t,rangeChunkSize:a};if(e){c.source=e;return new LocalPdfManager(c)}const u=new PDFWorkerStream({msgHandler:h}),m=u.getFullReader(),p=Promise.withResolvers();let d,g=[],b=0;m.headersReady.then(function(){if(m.isRangeSupported){c.source=u;c.length=m.contentLength;c.disableAutoFetch||=m.isStreamingSupported;d=new NetworkPdfManager(c);for(const e of g)d.sendProgressiveData(e);g=[];p.resolve(d);s=null}}).catch(function(e){p.reject(e);s=null});new Promise(function(e,t){const readChunk=function({value:e,done:n}){try{ensureNotTerminated();if(n){if(!d){const e=arrayBuffersToBytes(g);g=[];r&&e.length!==r&&warn("reported HTTP length is different from actual");c.source=e;d=new LocalPdfManager(c);p.resolve(d)}s=null;return}b+=e.byteLength;m.isStreamingSupported||h.send("DocProgress",{loaded:b,total:Math.max(b,m.contentLength||0)});d?d.sendProgressiveData(e):g.push(e);m.read().then(readChunk,t)}catch(e){t(e)}};m.read().then(readChunk,t)}).catch(function(e){p.reject(e);s=null});s=e=>{u.cancelAllRequests(e)};return p.promise})(e).then(function(e){if(a){e.terminate(new AbortException("Worker was terminated."));throw new Error("Worker was terminated")}n=e;n.requestLoadedStream(!0).then(e=>{h.send("DataLoaded",{length:e.bytes.byteLength})})}).then(pdfManagerReady,onFailure)}h.on("GetPage",function(e){return n.getPage(e.pageIndex).then(function(e){return Promise.all([n.ensure(e,"rotate"),n.ensure(e,"ref"),n.ensure(e,"userUnit"),n.ensure(e,"view")]).then(function([e,t,n,a]){return{rotate:e,ref:t,refStr:t?.toString()??null,userUnit:n,view:a}})})});h.on("GetPageIndex",function(e){const t=Ref.get(e.num,e.gen);return n.ensureCatalog("getPageIndex",[t])});h.on("GetDestinations",function(e){return n.ensureCatalog("destinations")});h.on("GetDestination",function(e){return n.ensureCatalog("getDestination",[e.id])});h.on("GetPageLabels",function(e){return n.ensureCatalog("pageLabels")});h.on("GetPageLayout",function(e){return n.ensureCatalog("pageLayout")});h.on("GetPageMode",function(e){return n.ensureCatalog("pageMode")});h.on("GetViewerPreferences",function(e){return n.ensureCatalog("viewerPreferences")});h.on("GetOpenAction",function(e){return n.ensureCatalog("openAction")});h.on("GetAttachments",function(e){return n.ensureCatalog("attachments")});h.on("GetDocJSActions",function(e){return n.ensureCatalog("jsActions")});h.on("GetPageJSActions",function({pageIndex:e}){return n.getPage(e).then(e=>n.ensure(e,"jsActions"))});h.on("GetAnnotationsByType",async function({types:e,pageIndexesToSkip:t}){const[a,s]=await Promise.all([n.ensureDoc("numPages"),n.ensureDoc("annotationGlobals")]);if(!s)return null;const r=[],i=[];let o=null;try{for(let l=0,f=a;l<f;l++)if(!t?.has(l)){if(!o){o=new WorkerTask("GetAnnotationsByType");startWorkerTask(o)}r.push(n.getPage(l).then(async t=>t&&t.collectAnnotationsByType(h,o,e,i,s)||[]))}await Promise.all(r);return(await Promise.all(i)).filter(e=>!!e)}finally{o&&finishWorkerTask(o)}});h.on("GetOutline",function(e){return n.ensureCatalog("documentOutline")});h.on("GetOptionalContentConfig",function(e){return n.ensureCatalog("optionalContentConfig")});h.on("GetPermissions",function(e){return n.ensureCatalog("permissions")});h.on("GetMetadata",function(e){return Promise.all([n.ensureDoc("documentInfo"),n.ensureCatalog("metadata"),n.ensureCatalog("hasStructTree")])});h.on("GetMarkInfo",function(e){return n.ensureCatalog("markInfo")});h.on("GetData",function(e){return n.requestLoadedStream().then(e=>e.bytes)});h.on("GetAnnotations",function({pageIndex:e,intent:t}){return n.getPage(e).then(function(n){const a=new WorkerTask(`GetAnnotations: page ${e}`);startWorkerTask(a);return n.getAnnotationsData(h,a,t).then(e=>{finishWorkerTask(a);return e},e=>{finishWorkerTask(a);throw e})})});h.on("GetFieldObjects",function(e){return n.ensureDoc("fieldObjects").then(e=>e?.allFields||null)});h.on("HasJSActions",function(e){return n.ensureDoc("hasJSActions")});h.on("GetCalculationOrderIds",function(e){return n.ensureDoc("calculationOrderIds")});h.on("ExtractPages",async function({pageInfos:e}){if(!e){warn("extractPages: nothing to extract.");return null}Array.isArray(e)||(e=[e]);let t=0;for(const a of e)if(null===a.document)a.document=n.pdfDocument;else if(ArrayBuffer.isView(a.document)){const e=new LocalPdfManager({source:a.document,docId:`${o}_extractPages_${t++}`,handler:h,password:a.password??null,evaluatorOptions:Object.assign({},n.evaluatorOptions)});let s=!1,r=!0;for(;;)try{await e.requestLoadedStream();await e.ensureDoc("checkHeader");await e.ensureDoc("parseStartXRef");await e.ensureDoc("parse",[s]);break}catch(t){if(t instanceof XRefParseException){if(!1===s){s=!0;continue}r=!1;warn("extractPages: XRefParseException.")}else if(t instanceof PasswordException){const n=new WorkerTask(`PasswordException: response ${t.code}`);startWorkerTask(n);try{const{password:n}=await h.sendWithPromise("PasswordRequest",t);e.updatePassword(n)}catch{r=!1;warn("extractPages: invalid password.")}finally{finishWorkerTask(n)}}else{r=!1;warn("extractPages: invalid document.")}if(!r)break}r||(a.document=null);if(await e.ensureDoc("isPureXfa")){a.document=null;warn("extractPages does not support pure XFA documents.")}else a.document=e.pdfDocument}else warn("extractPages: invalid document.");try{const t=new PDFEditor;return await t.extractPages(e)}catch(e){console.error(e);return null}});h.on("SaveDocument",async function({isPureXfa:e,numPages:t,annotationStorage:a,filename:s}){const r=[n.requestLoadedStream(),n.ensureCatalog("acroForm"),n.ensureCatalog("acroFormRef"),n.ensureDoc("startXRef"),n.ensureDoc("xref"),n.ensureCatalog("structTreeRoot")],i=new RefSetCache,o=[],l=e?null:getNewAnnotationsMap(a),[f,c,u,m,p,d]=await Promise.all(r),g=p.trailer.getRaw("Root")||null;let b;if(l){d?await d.canUpdateStructTree({pdfManager:n,newAnnotationsByPage:l})&&(b=d):await StructTreeRoot.canCreateStructureTree({catalogRef:g,pdfManager:n,newAnnotationsByPage:l})&&(b=null);const e=AnnotationFactory.generateImages(a.values(),p,n.evaluatorOptions.isOffscreenCanvasSupported),t=void 0===b?o:[];for(const[a,s]of l)t.push(n.getPage(a).then(t=>{const n=new WorkerTask(`Save (editor): page ${a}`);startWorkerTask(n);return t.saveNewAnnotations(h,n,s,e,i).finally(function(){finishWorkerTask(n)})}));null===b?o.push(Promise.all(t).then(async()=>{await StructTreeRoot.createStructureTree({newAnnotationsByPage:l,xref:p,catalogRef:g,pdfManager:n,changes:i})})):b&&o.push(Promise.all(t).then(async()=>{await b.updateStructureTree({newAnnotationsByPage:l,pdfManager:n,changes:i})}))}if(e)o.push(n.ensureDoc("serializeXfaData",[a]));else for(let e=0;e<t;e++)o.push(n.getPage(e).then(function(t){const n=new WorkerTask(`Save: page ${e}`);startWorkerTask(n);return t.save(h,n,a,i).finally(function(){finishWorkerTask(n)})}));const w=await Promise.all(o);let j=null;if(e){j=w[0];if(!j)return f.bytes}else if(0===i.size)return f.bytes;const k=u&&c instanceof Dict&&i.values().some(e=>e.needAppearances),y=c instanceof Dict&&c.get("XFA")||null;let q=null,v=!1;if(Array.isArray(y)){for(let e=0,t=y.length;e<t;e+=2)if("datasets"===y[e]){q=y[e+1];v=!0}null===q&&(q=p.getNewTemporaryRef())}else y&&warn("Unsupported XFA type.");let S=Object.create(null);if(p.trailer){const e=new Map,t=p.trailer.get("Info")||null;if(t instanceof Dict)for(const[n,a]of t)"string"==typeof a&&e.set(n,stringToPDFString(a));S={rootRef:g,encryptRef:p.trailer.getRaw("Encrypt")||null,newRef:p.getNewTemporaryRef(),infoRef:p.trailer.getRaw("Info")||null,infoMap:e,fileIds:p.trailer.get("ID")||null,startXRef:m,filename:s}}return incrementalUpdate({originalData:f.bytes,xrefInfo:S,changes:i,xref:p,hasXfa:!!y,xfaDatasetsRef:q,hasXfaDatasetsEntry:v,needAppearances:k,acroFormRef:u,acroForm:c,xfaData:j,useXrefStream:isDict(p.topDict,"XRef")}).finally(()=>{p.resetNewTemporaryRef()})});h.on("GetOperatorList",function(e,t){const{pageId:a,pageIndex:s}=e;n.getPage(a).then(function(n){const a=new WorkerTask(`GetOperatorList: page ${s}`);startWorkerTask(a);const r=i>=le?Date.now():0;n.getOperatorList({handler:h,sink:t,task:a,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage,modifiedIds:e.modifiedIds,pageIndex:s}).then(function(e){finishWorkerTask(a);r&&info(`page=${s+1} - getOperatorList: time=${Date.now()-r}ms, len=${e.length}`);t.close()},function(e){finishWorkerTask(a);a.terminated||t.error(e)})})});h.on("GetTextContent",function(e,t){const{pageId:a,pageIndex:s,includeMarkedContent:r,disableNormalization:o}=e;n.getPage(a).then(function(e){const n=new WorkerTask("GetTextContent: page "+s);startWorkerTask(n);const a=i>=le?Date.now():0;e.extractTextContent({handler:h,task:n,sink:t,includeMarkedContent:r,disableNormalization:o}).then(function(){finishWorkerTask(n);a&&info(`page=${s+1} - getTextContent: time=`+(Date.now()-a)+"ms");t.close()},function(e){finishWorkerTask(n);n.terminated||t.error(e)})})});h.on("GetStructTree",function(e){return n.getPage(e.pageIndex).then(e=>n.ensure(e,"getStructTree"))});h.on("FontFallback",function(e){return n.fontFallback(e.id,h)});h.on("Cleanup",function(e){return n.cleanup(!0)});h.on("Terminate",function(e){a=!0;const t=[];if(n){n.terminate(new AbortException("Worker was terminated."));const e=n.cleanup();t.push(e);n=null}else clearGlobalCaches();s?.(new AbortException("Worker was terminated."));for(const e of r){t.push(e.finished);e.terminate()}return Promise.all(t).then(function(){h.destroy();h=null})});h.on("Ready",function(t){setupDoc(e);e=null});return c}static initializeFromPort(e){const t=new MessageHandler("worker","main",e);this.setup(t,e);t.send("ready",null)}}globalThis.pdfjsWorker={WorkerMessageHandler};export{WorkerMessageHandler}; \ No newline at end of file diff --git a/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/package.json b/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/package.json new file mode 100644 index 00000000..04a7769b --- /dev/null +++ b/go/cmd/kjol-web/frontend/vendor/pdfjs-dist/package.json @@ -0,0 +1,34 @@ +{ + "name": "pdfjs-dist", + "version": "5.5.207", + "main": "build/pdf.mjs", + "types": "types/src/pdf.d.ts", + "description": "Generic build of Mozilla's PDF.js library.", + "keywords": [ + "Mozilla", + "pdf", + "pdf.js" + ], + "homepage": "https://mozilla.github.io/pdf.js/", + "bugs": "https://github.com/mozilla/pdf.js/issues", + "license": "Apache-2.0", + "optionalDependencies": { + "@napi-rs/canvas": "^0.1.95", + "node-readable-to-web-readable-stream": "^0.4.2" + }, + "browser": { + "canvas": false, + "fs": false, + "http": false, + "https": false, + "url": false + }, + "repository": { + "type": "git", + "url": "git+https://github.com/mozilla/pdf.js.git" + }, + "engines": { + "node": ">=20.19.0 || >=22.13.0 || >=24" + }, + "scripts": {} +} \ No newline at end of file diff --git a/go/cmd/kjol-web/frontend/vendor/vendor.json b/go/cmd/kjol-web/frontend/vendor/vendor.json new file mode 100644 index 00000000..e70f842e --- /dev/null +++ b/go/cmd/kjol-web/frontend/vendor/vendor.json @@ -0,0 +1,12 @@ +{ + "//": "This app's vendored packages, MERGED on top of kjol's base manifest (go/jsruntime/runtime/vendor.json), which pins solid-js, solid-js/web, solid-js/html, solid-js/store, @solidjs/router and solid-refresh. kjol's manifest is searched FIRST, so its solid-js wins and there is exactly one reactive instance — a split instance does not error, it silently stops flushing effects, so onMount never fires and nothing updates.", + + "//2": "pdf-lib and pdfjs-dist are here because @ui/AutoTable imports them at the TOP LEVEL for PDF export. That makes them a hard dependency of the kit, not an optional extra: leave them out and esbuild emits a bare `import ... from \"pdf-lib\"`, the browser cannot resolve it, and the entire bundle fails to evaluate — you get an empty page and one line in the console. Any app that uses AutoTable must vendor these two.", + + "//3": "Only the files the bundler actually pins are vendored, not the whole npm packages — 3.5 MB rather than 62 MB of type definitions, CJS builds and documentation. If a subpath import is ever added that reaches outside dist/ or build/, this is the first place it will fail.", + + "entrypoints": { + "pdf-lib": "pdf-lib/dist/pdf-lib.esm.js", + "pdfjs-dist": "pdfjs-dist/build/pdf.mjs" + } +} diff --git a/go/cmd/kjol-web/go.mod b/go/cmd/kjol-web/go.mod new file mode 100644 index 00000000..c27fee21 --- /dev/null +++ b/go/cmd/kjol-web/go.mod @@ -0,0 +1,28 @@ +// The example is its own module so its go-chart dependency (and freetype / +// x/image) stays out of the kjol module — kjol's engine packages are +// stdlib-only. kjol is resolved locally via the replace below (no publish step). +module kjolweb + +go 1.26.3 + +require ( + github.com/wcharczuk/go-chart/v2 v2.1.2 + kjol v0.0.0 +) + +require ( + github.com/dlclark/regexp2/v2 v2.2.1 // indirect + github.com/dop251/goja v0.0.0-20260618133527-c9b2ea77db59 // indirect + github.com/evanw/esbuild v0.28.0 // indirect + github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect + github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect + github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect + github.com/tdewolff/minify/v2 v2.24.13 // indirect + github.com/tdewolff/parse/v2 v2.8.13 // indirect + golang.org/x/image v0.18.0 // indirect + golang.org/x/net v0.55.0 // indirect + golang.org/x/sys v0.45.0 // indirect + golang.org/x/text v0.37.0 // indirect +) + +replace kjol => ../.. diff --git a/go/cmd/examples/go-wasm-web/go.sum b/go/cmd/kjol-web/go.sum similarity index 70% rename from go/cmd/examples/go-wasm-web/go.sum rename to go/cmd/kjol-web/go.sum index d8c9226a..aee5218a 100644 --- a/go/cmd/examples/go-wasm-web/go.sum +++ b/go/cmd/kjol-web/go.sum @@ -1,6 +1,26 @@ +github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= +github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/dlclark/regexp2/v2 v2.2.1 h1:mf4KkFUj0gJuarK8P+LgiS+Lit7m9N1yAwEfPbee7R0= +github.com/dlclark/regexp2/v2 v2.2.1/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU= +github.com/dop251/goja v0.0.0-20260618133527-c9b2ea77db59 h1:DjKLmvKK9u15djHZ88N8M0DhgnHVgJJ8bnEe0h7Lga8= +github.com/dop251/goja v0.0.0-20260618133527-c9b2ea77db59/go.mod h1:Sc+QOu1WruvaaeT/cxFez/pXHpI9ZDjg/E8QNfSVveI= +github.com/evanw/esbuild v0.28.0 h1:V96ghtc5p5JnNUQIUsc5H3kr+AcFcMqOJll2ZmJW6Lo= +github.com/evanw/esbuild v0.28.0/go.mod h1:D2vIQZqV/vIf/VRHtViaUtViZmG7o+kKmlBfVQuRi48= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20230207041349-798e818bf904 h1:4/hN5RUoecvl+RmJRE2YxKWtnnQls6rQjjW5oV7qg2U= +github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg= +github.com/tdewolff/minify/v2 v2.24.13 h1:xrcF7gKDnUszseEY9WX9mUlZII2v2Go/QAcAwRASw58= +github.com/tdewolff/minify/v2 v2.24.13/go.mod h1:emvwoYeIl8bfAKqRU5ww95LX9Gpggpqv/naal9a8Yq0= +github.com/tdewolff/parse/v2 v2.8.13 h1:si/8rLw5BZZTWCCiMm9A3f6x+RmqYfrkEeXCgpX5ick= +github.com/tdewolff/parse/v2 v2.8.13/go.mod h1:XdsoSFThlVIRIajAuqz1evNY7bagZS8LBOPA3aVopwQ= +github.com/tdewolff/test v1.0.12 h1:7F21DqIajswxuche0geHdrUZRCWE4oko4b7bcmkkrxk= +github.com/tdewolff/test v1.0.12/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= github.com/wcharczuk/go-chart/v2 v2.1.2 h1:Y17/oYNuXwZg6TFag06qe8sBajwwsuvPiJJXcUcLL6E= github.com/wcharczuk/go-chart/v2 v2.1.2/go.mod h1:Zi4hbaqlWpYajnXB2K22IUYVXRXaLfSGNNR7P4ukyyQ= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= @@ -24,6 +44,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -34,12 +56,15 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= +golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -57,6 +82,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/go/cmd/kjol-web/internal/handlers/public.go b/go/cmd/kjol-web/internal/handlers/public.go new file mode 100644 index 00000000..5daf12ca --- /dev/null +++ b/go/cmd/kjol-web/internal/handlers/public.go @@ -0,0 +1,117 @@ +// Package handlers serves the server-rendered public pages of the Kjol JS Web +// section. +// +// This file is the APP side of a coupling inversion. kjol's bundler renders each +// public page at build time and generates public_pages.gen.go — a list of routes, +// titles, baked HTML, and (for dynamic pages) the render bundle. It does not know +// what a page is served as: no document shell, no stylesheet paths, no data. That +// is all here, because all of it is the application's business. +// +// The generated file declares `var publicPages = []publicPage{...}` and nothing +// else. The TYPE is ours — which is what lets the shape of a page be an app concern +// while the rendering of one stays the framework's. +package handlers + +import ( + "encoding/json" + "fmt" + "log" + "net/http" + "time" + + "kjol/jsbundler" + "kjol/webui" +) + +// publicPage is the app-side shape the generated registry is written against. +// Field names and order are the generator's contract (jsbundler/genssr.go). +type publicPage struct { + route string // URL path, e.g. "/js/ssr" + title string // <title> text + module string // page module relative to frontend/src (informational) + component string // exported body component name (informational) + html string // pre-rendered, data-free page body (PublicLayout + page content) + renderJS string // bundled render entry; baked ONLY for dynamic (ISR) pages +} + +// buildInfo is the payload injected into the /js/ssr page. It mirrors the +// `BuildInfo` interface the component reads via serverData<T>() — the two have to +// agree, and the JSON tags are the whole of that agreement. +type buildInfo struct { + RenderedAt string `json:"renderedAt"` + Stage string `json:"stage"` +} + +// RegisterPublicPages binds every generated public page to its route. +// +// A page with a render bundle is rendered PER REQUEST with live data (the ISR +// path). A page without one serves the skeleton that was baked at build time. Both +// ship complete HTML; the difference is only whether the numbers in it are fresh. +func RegisterPublicPages(mux *http.ServeMux) { + for _, p := range publicPages { + mux.HandleFunc("GET "+p.route, servePublicPage(p)) + } +} + +func servePublicPage(p publicPage) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + body := p.html + data := "" + + // The ISR path. The SAME Solid component that was baked at build time is run + // again here, in goja, with data injected — so the server's markup is not a + // template with holes punched in it, it is the component's own output. + if p.renderJS != "" { + payload, err := json.Marshal(buildInfo{ + RenderedAt: time.Now().UTC().Format("2006-01-02 15:04:05 UTC"), + Stage: "request time, in goja", + }) + if err != nil { + log.Printf("public page %s: marshalling data: %v", p.route, err) + } else if rendered, err := jsbundler.RenderBundleWithData(p.renderJS, string(payload)); err != nil { + // Fall through to the baked skeleton rather than 500. A page that cannot + // render with data is still a page; serving nothing helps no one. + log.Printf("public page %s: ISR render failed, serving skeleton: %v", p.route, err) + } else { + body, data = rendered, string(payload) + } + } + + w.Header().Set("Content-Type", "text/html; charset=utf-8") + fmt.Fprint(w, document(p.title, body, data)) + } +} + +// document wraps a rendered body in the page shell. +// +// __SERVER_DATA__ is inlined BEFORE the bundle, and it is the same JSON the server +// just rendered with. That is what makes the client takeover silent: public.tsx +// re-renders the identical component against the identical data and produces the +// identical markup, so the swap is invisible. Omit it and the page would render, then +// visibly collapse back to its loading skeleton the moment the bundle loaded. +func document(title, body, data string) string { + serverData := "" + if data != "" { + serverData = "\n<script>window.__SERVER_DATA__ = " + data + ";</script>" + } + + // webui.ThemeBootScript is the Go/WASM kit's — reused verbatim, because it reads the + // same "kjol-theme" key the Solid kit's controller writes. One script, one key, and a + // reader's choice of theme survives crossing between two front-ends that share + // nothing else. It goes BEFORE the stylesheet, or a dark-mode reader gets a white + // page until the CSS lands. + return `<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<title>` + title + ` +` + webui.ThemeBootScript + ` + + + +
        ` + body + `
        ` + serverData + ` + + +` +} diff --git a/go/cmd/examples/go-wasm-web/server/main.go b/go/cmd/kjol-web/server/main.go similarity index 50% rename from go/cmd/examples/go-wasm-web/server/main.go rename to go/cmd/kjol-web/server/main.go index 1869a709..4aeb02f4 100644 --- a/go/cmd/examples/go-wasm-web/server/main.go +++ b/go/cmd/kjol-web/server/main.go @@ -1,4 +1,4 @@ -// Command server runs the go-wasm-web example on kjol's reusable wasmdevserver: +// Command server runs the kjol-web site on kjol's reusable wasmdevserver: // it SSRs the app's static routes, hosts the /rsc server-component endpoint, and // hot-swaps the wasm into the browser on change. It shows the coupling // inversion — the framework (wasmdevserver) imports no app code; the app injects @@ -6,11 +6,12 @@ // // Run it from THIS directory (the relative paths below are resolved against it): // -// go run ./server # from cmd/examples/go-wasm-web +// go run ./server # from go/cmd/kjol-web package main import ( "flag" + "fmt" "log" "net/http" @@ -19,8 +20,9 @@ import ( "kjol/wasmdevserver" "kjol/webui" - "gowasmweb/app" - "gowasmweb/buildsteps" + "kjolweb/app" + "kjolweb/buildsteps" + "kjolweb/internal/handlers" ) func main() { @@ -29,27 +31,69 @@ func main() { flag.Parse() log.Fatal(wasmdevserver.Serve(wasmdevserver.Config{ - Addr: *addr, - Dir: "./wwwroot", - Watch: *watch, - WatchDirs: []string{"app", "wasm", "css", "../../../webui", "../../../vdom", "../../../wasmruntime", "../../../rsc"}, // example + kjol engine + kit - Build: buildsteps.All, - BuildCSS: buildsteps.Tailwind, // a .css save skips codegen+wasm and hot-swaps the stylesheet - Render: render, - Document: document, - Handle: apiRoutes, + Addr: *addr, + Dir: "./wwwroot", + Watch: *watch, + WatchDirs: []string{ + "app", "wasm", "css", // this app's Go/WASM half + "frontend", // its Solid half — a .tsx save rebuilds the JS bundle + "../../webui", "../../vdom", "../../wasmruntime", "../../rsc", // the wasm engine + "../../jsruntime/uikit", "../../jsruntime/styles", // the Solid kit + the shared theme + }, + Build: buildsteps.All, + BuildCSS: buildsteps.Tailwind, // a .css save skips codegen+wasm and hot-swaps the stylesheet + Render: render, + Document: document, + Handle: routes, })) } -// apiRoutes registers the example's API endpoints. /api/quotes responds with a -// gob-encoded []app.Quote (via httputil.RespondGob) — the /data page fetches and -// decodes it on the client with encoding/gob (Go types end to end, no JSON). -func apiRoutes(mux *http.ServeMux) { +// routes registers everything the WASM app does not own. +// +// Order does not matter here — Go's ServeMux picks the most specific pattern, not the +// first — but the shape does: /js/* belongs to a completely different front-end, and it +// is claimed BEFORE the wasm app's "/" catch-all ever sees it. Two SPAs, one server, no +// argument about who owns a URL. +func routes(mux *http.ServeMux) { + handlers.RegisterPublicPages(mux) // the SSR'd public pages (/js/ssr) + mux.HandleFunc("GET /js/", serveJSApp) + mux.HandleFunc("GET /js", serveJSApp) + + // /api/quotes responds with a gob-encoded []app.Quote (via httputil.RespondGob) — + // the /wasm/data page fetches and decodes it on the client with encoding/gob (Go + // types end to end, no JSON). mux.HandleFunc("GET /api/quotes", func(w http.ResponseWriter, r *http.Request) { httputil.RespondGob(w, http.StatusOK, sampleQuotes()) }) } +// serveJSApp ships the shell for the Solid SPA. Every /js/* route gets the SAME empty +// document — the client router reads the URL and decides what to render, which is what +// makes it a single-page app. +// +// It carries no server-rendered markup, and that is a real difference from the Go/WASM +// half rather than an oversight: this section is a docs section behind a click, where a +// blank first frame costs nothing. Where it WOULD cost something, the public-page path +// (see internal/handlers) renders on the server instead — /js/ssr is that, and it is +// registered above, so it never reaches this handler. +func serveJSApp(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/html; charset=utf-8") + fmt.Fprint(w, ` + + + + +Kjol JS Web +`+webui.ThemeBootScript+` + + + +
        + + +`) +} + func sampleQuotes() []app.Quote { return []app.Quote{ {Author: "Rob Pike", Text: "A little copying is better than a little dependency."}, @@ -86,7 +130,7 @@ func document(inner string) string { -Kjol Web — Go + WASM +kjol — a shared base layer ` + webui.ThemeBootScript + ` diff --git a/go/cmd/examples/go-wasm-web/wasm/main.go b/go/cmd/kjol-web/wasm/main.go similarity index 98% rename from go/cmd/examples/go-wasm-web/wasm/main.go rename to go/cmd/kjol-web/wasm/main.go index 2157ef2d..a5c3833b 100644 --- a/go/cmd/examples/go-wasm-web/wasm/main.go +++ b/go/cmd/kjol-web/wasm/main.go @@ -5,7 +5,7 @@ package main import ( - "gowasmweb/app" + "kjolweb/app" "kjol/vdom" "kjol/wasmruntime" ) diff --git a/go/cmd/examples/go-wasm-web/wasm/main_native.go b/go/cmd/kjol-web/wasm/main_native.go similarity index 100% rename from go/cmd/examples/go-wasm-web/wasm/main_native.go rename to go/cmd/kjol-web/wasm/main_native.go diff --git a/go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-ext-italic.woff2 b/go/cmd/kjol-web/wwwroot/fonts/lora-latin-ext-italic.woff2 similarity index 100% rename from go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-ext-italic.woff2 rename to go/cmd/kjol-web/wwwroot/fonts/lora-latin-ext-italic.woff2 diff --git a/go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-ext-normal.woff2 b/go/cmd/kjol-web/wwwroot/fonts/lora-latin-ext-normal.woff2 similarity index 100% rename from go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-ext-normal.woff2 rename to go/cmd/kjol-web/wwwroot/fonts/lora-latin-ext-normal.woff2 diff --git a/go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-italic.woff2 b/go/cmd/kjol-web/wwwroot/fonts/lora-latin-italic.woff2 similarity index 100% rename from go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-italic.woff2 rename to go/cmd/kjol-web/wwwroot/fonts/lora-latin-italic.woff2 diff --git a/go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-normal.woff2 b/go/cmd/kjol-web/wwwroot/fonts/lora-latin-normal.woff2 similarity index 100% rename from go/cmd/examples/go-wasm-web/wwwroot/fonts/lora-latin-normal.woff2 rename to go/cmd/kjol-web/wwwroot/fonts/lora-latin-normal.woff2 diff --git a/go/cmd/examples/go-wasm-web/wwwroot/wasmboot.js b/go/cmd/kjol-web/wwwroot/wasmboot.js similarity index 100% rename from go/cmd/examples/go-wasm-web/wwwroot/wasmboot.js rename to go/cmd/kjol-web/wwwroot/wasmboot.js diff --git a/go/cmd/twcss/main.go b/go/cmd/twcss/main.go index 899ed982..80e9b440 100644 --- a/go/cmd/twcss/main.go +++ b/go/cmd/twcss/main.go @@ -2,7 +2,7 @@ // scanning explicit content globs for utility candidates. Unlike the app bundler // (which is wired to the frontend tree) it takes the entry, output, and content // globs as flags/args, so it works for markup authored in any language — used by -// the go-wasm-web example, whose UI is written in Go. +// the kjol-web site, whose Go/WASM half writes its UI in Go. // // Usage (globs are relative to -base; pass "**" for a recursive walk): // diff --git a/go/webbundler/alias.go b/go/jsbundler/alias.go similarity index 90% rename from go/webbundler/alias.go rename to go/jsbundler/alias.go index 6ff46d80..b8b564cb 100644 --- a/go/webbundler/alias.go +++ b/go/jsbundler/alias.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler import ( "fmt" @@ -11,8 +11,8 @@ import ( // aliasRoots maps the framework import prefixes to absolute filesystem roots: // -// @ui/* -> kjol web kit (shared Solid components) -// @kjol/* -> kjol web root (auth, utils, hooks, ssr, env.ts, ...) +// @ui/* -> kjol JS kit (shared Solid components) +// @kjol/* -> kjol JS root (auth, utils, hooks, ssr, env.ts, ...) // @appgen/* -> the app's generated dir (faIcons registry etc. — app-owned) // // In single-tree mode @ui/@kjol resolve back under the app frontend. @@ -49,7 +49,7 @@ func resolveAlias(root, rest string) (string, bool) { } // aliasPlugin resolves @ui / @kjol / @appgen imports to absolute paths across the -// app and kjol web trees. It sits before the vendor resolvers; the Solid +// app and kjol JS trees. It sits before the vendor resolvers; the Solid // compiler's OnLoad then compiles any .tsx/.jsx it points at. func aliasPlugin() esbuild.Plugin { roots := aliasRoots() diff --git a/go/webbundler/build.go b/go/jsbundler/build.go similarity index 96% rename from go/webbundler/build.go rename to go/jsbundler/build.go index 4cd6ab0e..199fdc00 100644 --- a/go/webbundler/build.go +++ b/go/jsbundler/build.go @@ -1,4 +1,4 @@ -// Package bundler is the frontend build system: it drives esbuild's Go API for +// Package jsbundler is the frontend build system: it drives esbuild's Go API for // JS bundling, compiles Solid JSX/TSX and Tailwind v4 CSS with Go-native // compilers (no Node, no Babel, no goja on the build path), and bakes the // public-page SSR (which does still use goja to execute components). The @@ -18,7 +18,7 @@ // genssr.go public-page SSR bake + Go registry generation // ssr.go/renderer.go the goja SSR engine (also used by the server at runtime) // watch.go poll-and-rebuild watch loop -package webbundler +package jsbundler import ( "fmt" @@ -34,7 +34,7 @@ type bundleStats struct { // Build runs the full one-shot build: FA icon subset, public-route generation, // the JS/CSS bundles, and the SSR bake, printing a stats summary. c selects the -// app + kjol web trees (see Config); zero-value fields fall back to the +// app + kjol JS trees (see Config); zero-value fields fall back to the // single-tree defaults. func Build(c Config) error { Configure(c) diff --git a/go/webbundler/compile_solid.go b/go/jsbundler/compile_solid.go similarity index 99% rename from go/webbundler/compile_solid.go rename to go/jsbundler/compile_solid.go index 038cdddc..643491e0 100644 --- a/go/webbundler/compile_solid.go +++ b/go/jsbundler/compile_solid.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler // Go-native Solid JSX compiler (replaces babel-preset-solid running in goja). // diff --git a/go/webbundler/compile_solid_gen.go b/go/jsbundler/compile_solid_gen.go similarity index 94% rename from go/webbundler/compile_solid_gen.go rename to go/jsbundler/compile_solid_gen.go index 66768e8f..c66b8a0e 100644 --- a/go/webbundler/compile_solid_gen.go +++ b/go/jsbundler/compile_solid_gen.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler // Go-native Solid codegen: JSX tree -> dom-expressions runtime output. // @@ -950,25 +950,61 @@ func isDOMChild(ch *jsxNode) bool { // collapseText applies JSX whitespace normalization: lines are trimmed and // joined by a single space; text that is only whitespace-with-newline vanishes. +// collapseText applies JSX's whitespace rules to one text child. It is a port of +// Babel's cleanJSXElementLiteralChild, and it has to be, because the rules are not +// what you would guess: +// +// leading whitespace is stripped from every line EXCEPT the first, +// trailing whitespace is stripped from every line EXCEPT the last. +// +// That asymmetry is the whole point. In +// +// +// +// the text before the expression is "\n Clicked " and the text after it is +// " times\n". The indentation must go; the single space before `{` and after `}` +// must NOT — they are the spaces between the words. Trimming both ends of every +// line (as this did) renders "Clicked0times", and it does it silently, in every +// multi-line component in the codebase. +// +// Blank lines vanish, and the surviving lines are joined with a single space, so a +// paragraph broken across source lines still reads as a sentence. func collapseText(s string) string { - if strings.TrimSpace(s) == "" { - if strings.ContainsAny(s, "\n") { - return "" - } - return s // significant single-line whitespace (e.g. "a {x} b") - } - if !strings.ContainsAny(s, "\n") { - return s - } + s = strings.ReplaceAll(s, "\r\n", "\n") + s = strings.ReplaceAll(s, "\r", "\n") lines := strings.Split(s, "\n") - var kept []string - for _, l := range lines { - l = strings.Trim(l, " \t\r") - if l != "" { - kept = append(kept, l) + + // The last line with any non-whitespace on it. Every kept line before this one + // gets a separating space; this one does not, or every text child would end in a + // trailing space. Starts at 0 (not -1) so an all-whitespace chunk is left exactly + // as it is — " " between two elements is a real, significant space. + lastNonEmpty := 0 + for i, l := range lines { + if strings.Trim(l, " \t") != "" { + lastNonEmpty = i } } - return strings.Join(kept, " ") + + var b strings.Builder + for i, l := range lines { + line := strings.ReplaceAll(l, "\t", " ") + if i != 0 { + line = strings.TrimLeft(line, " ") + } + if i != len(lines)-1 { + line = strings.TrimRight(line, " ") + } + if line == "" { + continue + } + if i != lastNonEmpty { + line += " " + } + b.WriteString(line) + } + return b.String() } func escapeTemplateText(s string) string { diff --git a/go/webbundler/compile_solid_render_test.go b/go/jsbundler/compile_solid_render_test.go similarity index 84% rename from go/webbundler/compile_solid_render_test.go rename to go/jsbundler/compile_solid_render_test.go index 7a265f6d..bb911c5b 100644 --- a/go/webbundler/compile_solid_render_test.go +++ b/go/jsbundler/compile_solid_render_test.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler import ( "os" @@ -42,6 +42,23 @@ func assertRenderEquivalent(t *testing.T, name, src string) { if err != nil { t.Fatal(err) } + // Point the bundler at kjol's own vendored Solid before chdir'ing — the path is + // relative to the package dir, and Configure stores it for vendorDirs(). + // + // Without this the oracle silently never ran: webDir defaults to "", so + // vendorDirs() resolved to /frontend/vendor — a directory kjol does not + // have and never had (it is a framework; there is no app frontend here). Every + // render then failed to resolve solid-js/web. It only looked green if a test + // that calls Configure happened to run first, and none does: the sole callers + // are in crosstree_test.go, which sorts after this file. + webAbs, err := filepath.Abs(filepath.Join("..", "jsruntime")) + if err != nil { + t.Fatal(err) + } + if _, err := os.Stat(filepath.Join(webAbs, "runtime", "vendor.json")); err != nil { + t.Skipf("kjol vendored solid runtime not present (%v)", err) + } + Configure(Config{WebDir: webAbs}) t.Chdir(root) babelJS, err := Compile(src, name+".tsx") @@ -77,6 +94,33 @@ func TestGoCompilerRenderCore(t *testing.T) { {"list", `export const A = () => { const items = ["a", "b", "c"]; return
          {items.map((i) =>
        • {i}
        • )}
        ; };`}, {"deep-static", `export const A = () =>

        Title

        body text

        ;`}, {"multi-attr", `export const A = () => ;`}, + + // Multi-line children. Every case above is written on ONE line, which is why + // they all passed while the compiler was eating the spaces around an expression + // the moment the JSX was indented — i.e. in essentially all real code. These + // pin JSX's asymmetric whitespace rule: indentation goes, the space between the + // words stays. + {"ml-text-around-expr", `export const A = () => { const c = () => 0; return ( + + ); };`}, + {"ml-text-before-el", `export const A = () => ( +

        + selected: day +

        + );`}, + {"ml-wrapped-prose", `export const A = () => ( +

        + one two + three four +

        + );`}, + {"ml-expr-both-sides", `export const A = () => { const x = () => "X"; const y = () => "Y"; return ( +
        + a {x()} b {y()} c +
        + ); };`}, } for _, c := range cases { c := c diff --git a/go/webbundler/compile_solid_test.go b/go/jsbundler/compile_solid_test.go similarity index 99% rename from go/webbundler/compile_solid_test.go rename to go/jsbundler/compile_solid_test.go index 26cd05fb..bbbc040c 100644 --- a/go/webbundler/compile_solid_test.go +++ b/go/jsbundler/compile_solid_test.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler import "testing" diff --git a/go/webbundler/config.go b/go/jsbundler/config.go similarity index 67% rename from go/webbundler/config.go rename to go/jsbundler/config.go index a98cddfb..9ce0bcb5 100644 --- a/go/webbundler/config.go +++ b/go/jsbundler/config.go @@ -1,18 +1,18 @@ -package webbundler +package jsbundler import "path/filepath" -// Config tells the bundler where the application tree and the shared kjol web +// Config tells the bundler where the application tree and the shared kjol JS // tree live. The bundler always runs from the app root, so relative paths are // resolved against that working directory (absolute paths also work). // // When WebDir is empty the bundler runs in single-tree mode: the kit, vendored // runtime, icons, and styles are expected under AppFrontend (the pre-extraction -// layout). When WebDir points at kjol/web, those come from the shared tree and -// the app supplies only its pages/routes/brand. +// layout). When WebDir points at kjol/go/jsruntime, those come from the shared +// tree and the app supplies only its pages/routes/brand. type Config struct { AppFrontend string // app frontend source root (default "frontend") - WebDir string // path to kjol/web; "" => single-tree under AppFrontend + WebDir string // path to kjol/go/jsruntime; "" => single-tree under AppFrontend Output string // build output dir (default "wwwroot") GenGoDir string // dir for generated Go, e.g. public_pages.gen.go (default "internal/handlers") GenTSDir string // dir for generated TS, e.g. faIcons.ts (default AppFrontend/src/ui/generated) @@ -24,7 +24,7 @@ type Config struct { var ( frontendDir = "frontend" outputDir = "wwwroot" - webDir = "" // kjol/web; empty => single-tree + webDir = "" // kjol/go/jsruntime; empty => single-tree genGoDir = "internal/handlers" genTSDir = filepath.Join("frontend", "src", "ui", "generated") ) @@ -48,7 +48,7 @@ func Configure(c Config) { } } -// webRoot is the kjol web tree (@kjol/* root), falling back to the app frontend +// webRoot is the kjol JS tree (@kjol/* root), falling back to the app frontend // in single-tree mode. func webRoot() string { if webDir != "" { @@ -65,12 +65,23 @@ func uikitDir() string { return filepath.Join(frontendDir, "src", "ui") } -// iconsDir is the FontAwesome SVG source kit. -func iconsDir() string { +// iconsDirs lists the FontAwesome SVG source roots in resolution precedence +// order: the app's own kit first, kjol's second. +// +// The app has to win. kjol ships a SUBSET — the icons its own kit and example +// reference — while an app carries the full FontAwesome kit it licensed. If kjol +// were searched first (or searched alone, as this used to be when WebDir was +// set), an app adopting the shared tree would silently regenerate its registry +// from kjol's few dozen icons and lose every other icon it uses, with no error: +// the registry would simply come back smaller and the icons would render blank. +// +// Searching both, app-first, means an app-side icon of the same name overrides +// kjol's, and an icon kjol has never heard of still resolves. +func iconsDirs() []string { if webDir != "" { - return filepath.Join(webDir, "icons") + return []string{filepath.Join(frontendDir, "icons"), filepath.Join(webDir, "icons")} } - return filepath.Join(frontendDir, "icons") + return []string{filepath.Join(frontendDir, "icons")} } // vendorDirs lists the vendored-runtime roots in resolution precedence order. diff --git a/go/webbundler/crosstree_test.go b/go/jsbundler/crosstree_test.go similarity index 87% rename from go/webbundler/crosstree_test.go rename to go/jsbundler/crosstree_test.go index b1d5cd4d..b9d43af5 100644 --- a/go/webbundler/crosstree_test.go +++ b/go/jsbundler/crosstree_test.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler import ( "os" @@ -9,16 +9,16 @@ import ( // TestCrossTreeJSBundle proves the bundler resolves the shared kit across the // app/kjol tree boundary: a temp app entry imports @ui/Buttons, which pulls the -// real kjol web/uikit (Buttons -> ./Icons -> @appgen/faIcons stub) and the solid -// runtime from web/runtime. If the alias plugin, merged vendor manifest, and +// real kjol jsruntime/uikit (Buttons -> ./Icons -> @appgen/faIcons stub) and the solid +// runtime from jsruntime/runtime. If the alias plugin, merged vendor manifest, and // multi-dir NodePaths all work, esbuild produces a non-empty bundle. func TestCrossTreeJSBundle(t *testing.T) { - webAbs, err := filepath.Abs(filepath.Join("..", "..", "web")) + webAbs, err := filepath.Abs(filepath.Join("..", "jsruntime")) if err != nil { t.Fatal(err) } if _, err := os.Stat(filepath.Join(webAbs, "uikit", "Buttons.tsx")); err != nil { - t.Skipf("kjol web kit not present (%v)", err) + t.Skipf("kjol JS kit not present (%v)", err) } app := t.TempDir() @@ -58,12 +58,12 @@ func TestCrossTreeJSBundle(t *testing.T) { // for utility candidates across the boundary (WebDir set) without error, and // that an app-side utility class makes it into the output. func TestCrossTreeCSS(t *testing.T) { - webAbs, err := filepath.Abs(filepath.Join("..", "..", "web")) + webAbs, err := filepath.Abs(filepath.Join("..", "jsruntime")) if err != nil { t.Fatal(err) } if _, err := os.Stat(filepath.Join(webAbs, "uikit")); err != nil { - t.Skipf("kjol web kit not present (%v)", err) + t.Skipf("kjol JS kit not present (%v)", err) } app := t.TempDir() diff --git a/go/webbundler/css.go b/go/jsbundler/css.go similarity index 97% rename from go/webbundler/css.go rename to go/jsbundler/css.go index 80092803..78599423 100644 --- a/go/webbundler/css.go +++ b/go/jsbundler/css.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler // CSS pipeline: compiles the Tailwind entry stylesheet (frontend/css/style.css) // with the native Go Tailwind v4 engine (tailwind.go — twCompile/scanSources, no @@ -78,7 +78,7 @@ func compileCSSBundle(label string, twSources []string, outName string) (bundleS kitCands := tw.Scan(uikitDir(), []string{"**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"}) candidates = dedupStrings(append(candidates, kitCands...)) - // Prepend the shared @theme scaffold (kjol web/styles/theme.css) ahead of the + // Prepend the shared @theme scaffold (kjol jsruntime/styles/theme.css) ahead of the // app's brand style.css so its tokens/vars are in scope. Absent in single-tree // mode (the app's style.css is already complete). input := string(src) diff --git a/go/webbundler/export_shim.go b/go/jsbundler/export_shim.go similarity index 99% rename from go/webbundler/export_shim.go rename to go/jsbundler/export_shim.go index a4cc6008..1dc446fe 100644 --- a/go/webbundler/export_shim.go +++ b/go/jsbundler/export_shim.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler // defaultExportShimPlugin bridges two ESM-strictness mismatches that // existed in the previous custom bundler: diff --git a/go/webbundler/faicons.go b/go/jsbundler/faicons.go similarity index 82% rename from go/webbundler/faicons.go rename to go/jsbundler/faicons.go index af9df873..8158771d 100644 --- a/go/webbundler/faicons.go +++ b/go/jsbundler/faicons.go @@ -1,4 +1,4 @@ -package webbundler +package jsbundler import ( "fmt" @@ -13,19 +13,20 @@ import ( // Tree-shaken FontAwesome. Instead of shipping the 41.5 MB `all.min.js` kit and // looking icons up by runtime string, we scan the app for the icon names it // actually references and emit a registry of just those icons' SVG data, pulled -// from the FontAwesome SVGs under frontend/icons/. Icons.tsx looks up that +// from the FontAwesome SVGs under the icon roots. Icons.tsx looks up that // registry exactly like it used to call FontAwesome.findIconDefinition. -// FA prefix -> frontend/icons/. cdrateline renders classic far/fas; a Sharp +// FA prefix -> /. cdrateline renders classic far/fas; a Sharp // project (fasr/fass) would add "fasr": "sharp-regular", "fass": "sharp-solid". var faStyleDirs = map[string]string{ "far": "regular", "fas": "solid", } -// The FA SVG source dir (iconsDir) and the generated registry output path -// (faOutPath) are resolved from Config — see config.go. Only the styles in -// faStyleDirs are read; the rest of the kit is unused. +// The FA SVG source roots (iconsDirs — the app's kit, then kjol's) and the +// generated registry output path (faOutPath) are resolved from Config — see +// config.go. Only the styles in faStyleDirs are read; the rest of the kit is +// unused. var ( // icon="name" / icon: "name" @@ -39,10 +40,34 @@ var ( reRegisterIcon = regexp.MustCompile(`registerIcon\(\s*"([a-z0-9][a-z0-9-]*)"`) ) +// presentIconsDirs is iconsDirs filtered to the roots that actually exist, so a +// missing kit is skipped rather than failing every icon lookup against it. +func presentIconsDirs() []string { + var roots []string + for _, d := range iconsDirs() { + if _, err := os.Stat(d); err == nil { + roots = append(roots, d) + } + } + return roots +} + +// readIconSVG returns the first /
      2. *`W7;U@nOQ` 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

      0iU_~QR5&g>&GR1s-~RhKPNgD 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%0AIrQ8^+oz$`eJrdN_`bG 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� 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%0DXxIOqM^n%(pqnXYGsQ8FBsiR+z5qp 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