igv 3.8.1 → 3.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/igv.esm.js CHANGED
@@ -10606,7 +10606,7 @@ function didSelectSingleTrackType(types) {
10606
10606
  return 1 === unique.length
10607
10607
  }
10608
10608
 
10609
- /*! @license DOMPurify 3.4.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.7/LICENSE */
10609
+ /*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */
10610
10610
 
10611
10611
  function _arrayLikeToArray(r, a) {
10612
10612
  (null == a || a > r.length) && (a = r.length);
@@ -10935,8 +10935,14 @@ const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205
10935
10935
  );
10936
10936
  const DOCTYPE_NAME = seal(/^html$/i);
10937
10937
  const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
10938
+ // Markup-significant character probes used by _sanitizeElements.
10939
+ // Shared module-level instances are safe despite the sticky /g flags:
10940
+ // unapply() resets lastIndex for RegExp receivers before every call.
10941
+ const ELEMENT_MARKUP_PROBE = seal(/<[/\w!]/g);
10942
+ const COMMENT_MARKUP_PROBE = seal(/<[/\w]/g);
10943
+ const FALLBACK_TAG_CLOSE = seal(/<\/no(script|embed|frames)/i);
10944
+ const SELF_CLOSING_TAG = seal(/\/>/i);
10938
10945
 
10939
- /* eslint-disable @typescript-eslint/indent */
10940
10946
  // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
10941
10947
  const NODE_TYPE = {
10942
10948
  element: 1,
@@ -10947,7 +10953,7 @@ const NODE_TYPE = {
10947
10953
  // Deprecated
10948
10954
  entityNode: 6,
10949
10955
  // Deprecated
10950
- progressingInstruction: 7,
10956
+ processingInstruction: 7,
10951
10957
  comment: 8,
10952
10958
  document: 9,
10953
10959
  documentType: 10,
@@ -11008,10 +11014,25 @@ const _createHooksMap = function _createHooksMap() {
11008
11014
  uponSanitizeShadowNode: []
11009
11015
  };
11010
11016
  };
11017
+ /**
11018
+ * Resolve a set-valued configuration option: a fresh set built from
11019
+ * cfg[key] when it is an own array property (seeded with a clone of
11020
+ * options.base when given, case-normalized via options.transform),
11021
+ * the fallback set otherwise.
11022
+ *
11023
+ * @param cfg the cloned, prototype-free configuration object
11024
+ * @param key the configuration property to read
11025
+ * @param fallback the set to use when the option is absent or not an array
11026
+ * @param options transform and optional base set to merge into
11027
+ * @returns the resolved set
11028
+ */
11029
+ const _resolveSetOption = function _resolveSetOption(cfg, key, fallback, options) {
11030
+ return objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;
11031
+ };
11011
11032
  function createDOMPurify() {
11012
11033
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
11013
11034
  const DOMPurify = root => createDOMPurify(root);
11014
- DOMPurify.version = '3.4.7';
11035
+ DOMPurify.version = '3.4.11';
11015
11036
  DOMPurify.removed = [];
11016
11037
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
11017
11038
  // Not running in a browser, provide a factory function
@@ -11056,6 +11077,54 @@ function createDOMPurify() {
11056
11077
  }
11057
11078
  let trustedTypesPolicy;
11058
11079
  let emptyHTML = '';
11080
+ // The instance's own internal Trusted Types policy. Unlike a caller-supplied
11081
+ // `TRUSTED_TYPES_POLICY`, this is created at most once — Trusted Types throws
11082
+ // on duplicate policy names — and is the only policy allowed to persist
11083
+ // across configurations and survive `clearConfig()`.
11084
+ let defaultTrustedTypesPolicy;
11085
+ let defaultTrustedTypesPolicyResolved = false;
11086
+ // Tracks whether we are already inside a call to the configured Trusted Types
11087
+ // policy (`createHTML` or `createScriptURL`). If a supplied policy callback
11088
+ // itself calls `DOMPurify.sanitize` (the cause of #1422), `sanitize` would
11089
+ // re-enter the policy and recurse until the stack overflows. We detect that
11090
+ // re-entry and throw a clear, actionable error instead. The guard is shared
11091
+ // across both callbacks, because either one re-entering `sanitize` triggers
11092
+ // the same unbounded recursion.
11093
+ let IN_TRUSTED_TYPES_POLICY = 0;
11094
+ const _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy() {
11095
+ if (IN_TRUSTED_TYPES_POLICY > 0) {
11096
+ throw typeErrorCreate('A configured TRUSTED_TYPES_POLICY callback (createHTML or ' + 'createScriptURL) must not call DOMPurify.sanitize, as that causes ' + 'infinite recursion. Do not pass a policy whose callbacks wrap ' + 'DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted ' + 'Types" section of the README.');
11097
+ }
11098
+ };
11099
+ const _createTrustedHTML = function _createTrustedHTML(html) {
11100
+ _assertNotInTrustedTypesPolicy();
11101
+ IN_TRUSTED_TYPES_POLICY++;
11102
+ try {
11103
+ return trustedTypesPolicy.createHTML(html);
11104
+ } finally {
11105
+ IN_TRUSTED_TYPES_POLICY--;
11106
+ }
11107
+ };
11108
+ const _createTrustedScriptURL = function _createTrustedScriptURL(scriptUrl) {
11109
+ _assertNotInTrustedTypesPolicy();
11110
+ IN_TRUSTED_TYPES_POLICY++;
11111
+ try {
11112
+ return trustedTypesPolicy.createScriptURL(scriptUrl);
11113
+ } finally {
11114
+ IN_TRUSTED_TYPES_POLICY--;
11115
+ }
11116
+ };
11117
+ // Lazily resolve (and cache) the instance's internal default policy.
11118
+ // Resolution is attempted at most once: a successful `createPolicy` cannot be
11119
+ // repeated (Trusted Types throws on duplicate names), and a failed or
11120
+ // unsupported attempt must not be retried on every parse.
11121
+ const _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy() {
11122
+ if (!defaultTrustedTypesPolicyResolved) {
11123
+ defaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
11124
+ defaultTrustedTypesPolicyResolved = true;
11125
+ }
11126
+ return defaultTrustedTypesPolicy;
11127
+ };
11059
11128
  const _document = document,
11060
11129
  implementation = _document.implementation,
11061
11130
  createNodeIterator = _document.createNodeIterator,
@@ -11152,6 +11221,13 @@ function createDOMPurify() {
11152
11221
  let WHOLE_DOCUMENT = false;
11153
11222
  /* Track whether config is already set on this instance of DOMPurify. */
11154
11223
  let SET_CONFIG = false;
11224
+ /* Pristine allowlist bindings captured at setConfig() time. On the
11225
+ * persistent-config path sanitize() restores the sets from these before
11226
+ * the per-walk hook clone-guard, so a hook's in-call widening cannot
11227
+ * carry across calls. Null until setConfig() is called; reset by
11228
+ * clearConfig(). */
11229
+ let SET_CONFIG_ALLOWED_TAGS = null;
11230
+ let SET_CONFIG_ALLOWED_ATTR = null;
11155
11231
  /* Decide if all elements (e.g. style, script) must be children of
11156
11232
  * document.body. By default, browsers might move them to document.head */
11157
11233
  let FORCE_BODY = false;
@@ -11194,7 +11270,17 @@ function createDOMPurify() {
11194
11270
  let USE_PROFILES = {};
11195
11271
  /* Tags to ignore content of when KEEP_CONTENT is true */
11196
11272
  let FORBID_CONTENTS = null;
11197
- const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
11273
+ const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script',
11274
+ // <selectedcontent> mirrors the selected <option>'s subtree, cloned by
11275
+ // the UA (customizable <select>) — including any on* handlers — and the
11276
+ // engine re-mirrors synchronously whenever a removal changes which
11277
+ // option/selectedcontent is current, even inside DOMPurify's inert
11278
+ // DOMParser document. Hoisting its children on removal re-inserts a fresh
11279
+ // mirror target ahead of the walk, which the engine refills, looping
11280
+ // forever (DoS) and amplifying output. Dropping its content on removal
11281
+ // (rather than hoisting) breaks that cascade; the content is a duplicate
11282
+ // of the option, which is sanitized on its own. See campaign-3 F1/F6.
11283
+ 'selectedcontent', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
11198
11284
  /* Tags that are safe for data: URIs */
11199
11285
  let DATA_URI_TAGS = null;
11200
11286
  const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
@@ -11210,8 +11296,10 @@ function createDOMPurify() {
11210
11296
  /* Allowed XHTML+XML namespaces */
11211
11297
  let ALLOWED_NAMESPACES = null;
11212
11298
  const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
11213
- let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
11214
- let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);
11299
+ const DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze(['mi', 'mo', 'mn', 'ms', 'mtext']);
11300
+ let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);
11301
+ const DEFAULT_HTML_INTEGRATION_POINTS = freeze(['annotation-xml']);
11302
+ let HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);
11215
11303
  // Certain elements are allowed in both SVG and HTML
11216
11304
  // namespace. We need to specify them explicitly
11217
11305
  // so that they don't get erroneously deleted from
@@ -11253,14 +11341,32 @@ function createDOMPurify() {
11253
11341
  // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.
11254
11342
  transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;
11255
11343
  /* Set configuration parameters */
11256
- ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') && arrayIsArray(cfg.ALLOWED_TAGS) ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
11257
- ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') && arrayIsArray(cfg.ALLOWED_ATTR) ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
11258
- ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') && arrayIsArray(cfg.ALLOWED_NAMESPACES) ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
11259
- URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') && arrayIsArray(cfg.ADD_URI_SAFE_ATTR) ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
11260
- DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') && arrayIsArray(cfg.ADD_DATA_URI_TAGS) ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
11261
- FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') && arrayIsArray(cfg.FORBID_CONTENTS) ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
11262
- FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') && arrayIsArray(cfg.FORBID_TAGS) ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});
11263
- FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') && arrayIsArray(cfg.FORBID_ATTR) ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});
11344
+ ALLOWED_TAGS = _resolveSetOption(cfg, 'ALLOWED_TAGS', DEFAULT_ALLOWED_TAGS, {
11345
+ transform: transformCaseFunc
11346
+ });
11347
+ ALLOWED_ATTR = _resolveSetOption(cfg, 'ALLOWED_ATTR', DEFAULT_ALLOWED_ATTR, {
11348
+ transform: transformCaseFunc
11349
+ });
11350
+ ALLOWED_NAMESPACES = _resolveSetOption(cfg, 'ALLOWED_NAMESPACES', DEFAULT_ALLOWED_NAMESPACES, {
11351
+ transform: stringToString
11352
+ });
11353
+ URI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, 'ADD_URI_SAFE_ATTR', DEFAULT_URI_SAFE_ATTRIBUTES, {
11354
+ transform: transformCaseFunc,
11355
+ base: DEFAULT_URI_SAFE_ATTRIBUTES
11356
+ });
11357
+ DATA_URI_TAGS = _resolveSetOption(cfg, 'ADD_DATA_URI_TAGS', DEFAULT_DATA_URI_TAGS, {
11358
+ transform: transformCaseFunc,
11359
+ base: DEFAULT_DATA_URI_TAGS
11360
+ });
11361
+ FORBID_CONTENTS = _resolveSetOption(cfg, 'FORBID_CONTENTS', DEFAULT_FORBID_CONTENTS, {
11362
+ transform: transformCaseFunc
11363
+ });
11364
+ FORBID_TAGS = _resolveSetOption(cfg, 'FORBID_TAGS', clone({}), {
11365
+ transform: transformCaseFunc
11366
+ });
11367
+ FORBID_ATTR = _resolveSetOption(cfg, 'FORBID_ATTR', clone({}), {
11368
+ transform: transformCaseFunc
11369
+ });
11264
11370
  USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === 'object' ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;
11265
11371
  ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
11266
11372
  ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
@@ -11279,8 +11385,8 @@ function createDOMPurify() {
11279
11385
  IN_PLACE = cfg.IN_PLACE || false; // Default false
11280
11386
  IS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI; // Default regexp
11281
11387
  NAMESPACE = typeof cfg.NAMESPACE === 'string' ? cfg.NAMESPACE : HTML_NAMESPACE; // Default HTML namespace
11282
- MATHML_TEXT_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'MATHML_TEXT_INTEGRATION_POINTS') && cfg.MATHML_TEXT_INTEGRATION_POINTS && typeof cfg.MATHML_TEXT_INTEGRATION_POINTS === 'object' ? clone(cfg.MATHML_TEXT_INTEGRATION_POINTS) : addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']); // Default built-in map
11283
- HTML_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'HTML_INTEGRATION_POINTS') && cfg.HTML_INTEGRATION_POINTS && typeof cfg.HTML_INTEGRATION_POINTS === 'object' ? clone(cfg.HTML_INTEGRATION_POINTS) : addToSet({}, ['annotation-xml']); // Default built-in map
11388
+ MATHML_TEXT_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'MATHML_TEXT_INTEGRATION_POINTS') && cfg.MATHML_TEXT_INTEGRATION_POINTS && typeof cfg.MATHML_TEXT_INTEGRATION_POINTS === 'object' ? clone(cfg.MATHML_TEXT_INTEGRATION_POINTS) : addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS); // Default built-in map
11389
+ HTML_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'HTML_INTEGRATION_POINTS') && cfg.HTML_INTEGRATION_POINTS && typeof cfg.HTML_INTEGRATION_POINTS === 'object' ? clone(cfg.HTML_INTEGRATION_POINTS) : addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS); // Default built-in map
11284
11390
  const customElementHandling = objectHasOwnProperty(cfg, 'CUSTOM_ELEMENT_HANDLING') && cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING === 'object' ? clone(cfg.CUSTOM_ELEMENT_HANDLING) : create(null);
11285
11391
  CUSTOM_ELEMENT_HANDLING = create(null);
11286
11392
  if (objectHasOwnProperty(customElementHandling, 'tagNameCheck') && isRegexOrFunction(customElementHandling.tagNameCheck)) {
@@ -11292,6 +11398,7 @@ function createDOMPurify() {
11292
11398
  if (objectHasOwnProperty(customElementHandling, 'allowCustomizedBuiltInElements') && typeof customElementHandling.allowCustomizedBuiltInElements === 'boolean') {
11293
11399
  CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements; // Default undefined
11294
11400
  }
11401
+ seal(CUSTOM_ELEMENT_HANDLING);
11295
11402
  if (SAFE_FOR_TEMPLATES) {
11296
11403
  ALLOW_DATA_ATTR = false;
11297
11404
  }
@@ -11375,6 +11482,13 @@ function createDOMPurify() {
11375
11482
  addToSet(ALLOWED_TAGS, ['tbody']);
11376
11483
  delete FORBID_TAGS.tbody;
11377
11484
  }
11485
+ // Re-derive the active Trusted Types policy from this configuration on
11486
+ // every parse. The active policy must never be sticky closure state that
11487
+ // outlives the config that set it: a caller-supplied policy left in place
11488
+ // after `clearConfig()` — or after a later call that supplied none, or
11489
+ // `TRUSTED_TYPES_POLICY: null` — could sign a subsequent "default"
11490
+ // `RETURN_TRUSTED_TYPE` result with a foreign, possibly unsafe policy.
11491
+ // See GHSA-vxr8-fq34-vvx9.
11378
11492
  if (cfg.TRUSTED_TYPES_POLICY) {
11379
11493
  if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {
11380
11494
  throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
@@ -11382,35 +11496,47 @@ function createDOMPurify() {
11382
11496
  if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {
11383
11497
  throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
11384
11498
  }
11385
- // Overwrite existing TrustedTypes policy.
11499
+ // A caller-supplied policy applies to this configuration only.
11500
+ const previousTrustedTypesPolicy = trustedTypesPolicy;
11386
11501
  trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
11387
- // Sign local variables required by `sanitize`.
11388
- emptyHTML = trustedTypesPolicy.createHTML('');
11502
+ // Sign local variables required by `sanitize`. If the supplied policy's
11503
+ // `createHTML` is circular (i.e. it calls `DOMPurify.sanitize`), this
11504
+ // throws via the re-entrancy guard. Restore the previous policy first so
11505
+ // the instance is not left in a poisoned state. See #1422.
11506
+ try {
11507
+ emptyHTML = _createTrustedHTML('');
11508
+ } catch (error) {
11509
+ trustedTypesPolicy = previousTrustedTypesPolicy;
11510
+ throw error;
11511
+ }
11512
+ } else if (cfg.TRUSTED_TYPES_POLICY === null) {
11513
+ // Explicit opt-out for this call: perform no Trusted Types signing and
11514
+ // create nothing (so a strict `trusted-types` CSP that disallows a
11515
+ // `dompurify` policy can still call `sanitize` from inside its own
11516
+ // policy — see #1422). Resetting to `undefined` rather than a sticky
11517
+ // `null` also drops any previously retained caller policy, so it cannot
11518
+ // resurface on a later call, while still allowing the next config-less
11519
+ // call to restore the internal default policy. See GHSA-vxr8-fq34-vvx9.
11520
+ trustedTypesPolicy = undefined;
11521
+ emptyHTML = '';
11389
11522
  } else {
11390
- // Uninitialized policy, attempt to initialize the internal dompurify policy.
11523
+ // No policy supplied: keep the currently active policy if one is set — a
11524
+ // previously supplied policy is intentionally sticky across config-less
11525
+ // calls — otherwise fall back to the instance's own internal policy,
11526
+ // created at most once. (A policy supplied for a *single* call still
11527
+ // lingers by design; what must not linger is a policy whose configuration
11528
+ // has been torn down via `clearConfig()`, which restores the default.)
11391
11529
  if (trustedTypesPolicy === undefined) {
11392
- trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
11530
+ trustedTypesPolicy = _getDefaultTrustedTypesPolicy();
11393
11531
  }
11394
- // If creating the internal policy succeeded sign internal variables.
11395
- if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {
11396
- emptyHTML = trustedTypesPolicy.createHTML('');
11532
+ // Sign internal variables only when a policy is active. A falsy policy
11533
+ // (Trusted Types unsupported, creation failed, or an explicit opt-out)
11534
+ // leaves `emptyHTML` as a plain string, so we never call `.createHTML` on
11535
+ // a non-policy and throw. See #1422.
11536
+ if (trustedTypesPolicy && typeof emptyHTML === 'string') {
11537
+ emptyHTML = _createTrustedHTML('');
11397
11538
  }
11398
11539
  }
11399
- /*
11400
- * Mirror the clone-before-mutate pattern already applied above for
11401
- * cfg.ADD_TAGS / cfg.ADD_ATTR: if any uponSanitize* hook is
11402
- * registered AND the set still points at the default constant,
11403
- * clone it. The hook then mutates the clone (in-call widening
11404
- * still works exactly as documented) and the next default-cfg
11405
- * call rebinds to the untouched original via the reassignment at
11406
- * the top of this function.
11407
- */
11408
- if ((hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) && ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
11409
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
11410
- }
11411
- if (hooks.uponSanitizeAttribute.length > 0 && ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
11412
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
11413
- }
11414
11540
  // Prevent further manipulation of configuration.
11415
11541
  // Not available in IE8, Safari 5, etc.
11416
11542
  if (freeze) {
@@ -11423,6 +11549,77 @@ function createDOMPurify() {
11423
11549
  * correctly. */
11424
11550
  const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);
11425
11551
  const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
11552
+ /**
11553
+ * Namespace rules for an element in the SVG namespace.
11554
+ *
11555
+ * @param tagName the element's lowercase tag name
11556
+ * @param parent the (possibly simulated) parent node
11557
+ * @param parentTagName the parent's lowercase tag name
11558
+ * @returns true if a spec-compliant parser could produce this element
11559
+ */
11560
+ const _checkSvgNamespace = function _checkSvgNamespace(tagName, parent, parentTagName) {
11561
+ // The only way to switch from HTML namespace to SVG
11562
+ // is via <svg>. If it happens via any other tag, then
11563
+ // it should be killed.
11564
+ if (parent.namespaceURI === HTML_NAMESPACE) {
11565
+ return tagName === 'svg';
11566
+ }
11567
+ // The only way to switch from MathML to SVG is via <svg>
11568
+ // if the parent is either <annotation-xml> or a MathML
11569
+ // text integration point.
11570
+ if (parent.namespaceURI === MATHML_NAMESPACE) {
11571
+ return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
11572
+ }
11573
+ // We only allow elements that are defined in SVG
11574
+ // spec. All others are disallowed in SVG namespace.
11575
+ return Boolean(ALL_SVG_TAGS[tagName]);
11576
+ };
11577
+ /**
11578
+ * Namespace rules for an element in the MathML namespace.
11579
+ *
11580
+ * @param tagName the element's lowercase tag name
11581
+ * @param parent the (possibly simulated) parent node
11582
+ * @param parentTagName the parent's lowercase tag name
11583
+ * @returns true if a spec-compliant parser could produce this element
11584
+ */
11585
+ const _checkMathMlNamespace = function _checkMathMlNamespace(tagName, parent, parentTagName) {
11586
+ // The only way to switch from HTML namespace to MathML
11587
+ // is via <math>. If it happens via any other tag, then
11588
+ // it should be killed.
11589
+ if (parent.namespaceURI === HTML_NAMESPACE) {
11590
+ return tagName === 'math';
11591
+ }
11592
+ // The only way to switch from SVG to MathML is via
11593
+ // <math> and HTML integration points
11594
+ if (parent.namespaceURI === SVG_NAMESPACE) {
11595
+ return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];
11596
+ }
11597
+ // We only allow elements that are defined in MathML
11598
+ // spec. All others are disallowed in MathML namespace.
11599
+ return Boolean(ALL_MATHML_TAGS[tagName]);
11600
+ };
11601
+ /**
11602
+ * Namespace rules for an element in the HTML namespace.
11603
+ *
11604
+ * @param tagName the element's lowercase tag name
11605
+ * @param parent the (possibly simulated) parent node
11606
+ * @param parentTagName the parent's lowercase tag name
11607
+ * @returns true if a spec-compliant parser could produce this element
11608
+ */
11609
+ const _checkHtmlNamespace = function _checkHtmlNamespace(tagName, parent, parentTagName) {
11610
+ // The only way to switch from SVG to HTML is via
11611
+ // HTML integration points, and from MathML to HTML
11612
+ // is via MathML text integration points
11613
+ if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
11614
+ return false;
11615
+ }
11616
+ if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
11617
+ return false;
11618
+ }
11619
+ // We disallow tags that are specific for MathML
11620
+ // or SVG and should never appear in HTML namespace
11621
+ return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
11622
+ };
11426
11623
  /**
11427
11624
  * @param element a DOM element whose namespace is being checked
11428
11625
  * @returns Return false if the element has a
@@ -11445,51 +11642,13 @@ function createDOMPurify() {
11445
11642
  return false;
11446
11643
  }
11447
11644
  if (element.namespaceURI === SVG_NAMESPACE) {
11448
- // The only way to switch from HTML namespace to SVG
11449
- // is via <svg>. If it happens via any other tag, then
11450
- // it should be killed.
11451
- if (parent.namespaceURI === HTML_NAMESPACE) {
11452
- return tagName === 'svg';
11453
- }
11454
- // The only way to switch from MathML to SVG is via`
11455
- // svg if parent is either <annotation-xml> or MathML
11456
- // text integration points.
11457
- if (parent.namespaceURI === MATHML_NAMESPACE) {
11458
- return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
11459
- }
11460
- // We only allow elements that are defined in SVG
11461
- // spec. All others are disallowed in SVG namespace.
11462
- return Boolean(ALL_SVG_TAGS[tagName]);
11645
+ return _checkSvgNamespace(tagName, parent, parentTagName);
11463
11646
  }
11464
11647
  if (element.namespaceURI === MATHML_NAMESPACE) {
11465
- // The only way to switch from HTML namespace to MathML
11466
- // is via <math>. If it happens via any other tag, then
11467
- // it should be killed.
11468
- if (parent.namespaceURI === HTML_NAMESPACE) {
11469
- return tagName === 'math';
11470
- }
11471
- // The only way to switch from SVG to MathML is via
11472
- // <math> and HTML integration points
11473
- if (parent.namespaceURI === SVG_NAMESPACE) {
11474
- return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];
11475
- }
11476
- // We only allow elements that are defined in MathML
11477
- // spec. All others are disallowed in MathML namespace.
11478
- return Boolean(ALL_MATHML_TAGS[tagName]);
11648
+ return _checkMathMlNamespace(tagName, parent, parentTagName);
11479
11649
  }
11480
11650
  if (element.namespaceURI === HTML_NAMESPACE) {
11481
- // The only way to switch from SVG to HTML is via
11482
- // HTML integration points, and from MathML to HTML
11483
- // is via MathML text integration points
11484
- if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
11485
- return false;
11486
- }
11487
- if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
11488
- return false;
11489
- }
11490
- // We disallow tags that are specific for MathML
11491
- // or SVG and should never appear in HTML namespace
11492
- return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
11651
+ return _checkHtmlNamespace(tagName, parent, parentTagName);
11493
11652
  }
11494
11653
  // For XHTML and XML documents that support custom namespaces
11495
11654
  if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {
@@ -11514,7 +11673,74 @@ function createDOMPurify() {
11514
11673
  // eslint-disable-next-line unicorn/prefer-dom-node-remove
11515
11674
  getParentNode(node).removeChild(node);
11516
11675
  } catch (_) {
11676
+ /* The normal detach failed — this is reached for a parentless node
11677
+ (getParentNode() is null, so .removeChild throws). Element.prototype
11678
+ .remove() is itself a spec no-op on a parentless node, so a recorded
11679
+ "removal" would otherwise hand the caller back an intact,
11680
+ payload-bearing node (e.g. a detached IN_PLACE root the mXSS canary or
11681
+ the style-with-element-child rule decided to kill). Fail closed by
11682
+ throwing — exactly as a clobbered root does at the IN_PLACE entry —
11683
+ rather than trying to "neutralize" the node via its own methods.
11684
+ Neutralizing would mean calling getAttributeNames()/removeAttribute()
11685
+ on the node, both of which a <form> root can clobber via a named child
11686
+ (and _isClobbered does not even probe getAttributeNames), so the
11687
+ neutralize step could itself be silently defeated, leaving the payload
11688
+ intact. A throw touches only the cached, clobber-safe remove() and
11689
+ getParentNode(). Generalizes GHSA-r47g-fvhr-h676 (clobbered-form root)
11690
+ to every root-kill reason. REPORT-3.
11691
+ This lives inside the catch, so it never fires for a normally-removed
11692
+ in-tree node: those have a parent, removeChild() succeeds, and the
11693
+ catch is not entered. Only a kept (parentless) root reaches here. */
11517
11694
  remove(node);
11695
+ if (!getParentNode(node)) {
11696
+ throw typeErrorCreate('a node selected for removal could not be detached from its tree ' + 'and cannot be safely returned; refusing to sanitize in place');
11697
+ }
11698
+ }
11699
+ };
11700
+ /**
11701
+ * _neutralizeRoot
11702
+ *
11703
+ * Fail-closed teardown of an in-place root after the sanitize walk aborts
11704
+ * (campaign-3 F2). An internal throw mid-walk — e.g. a page-registered
11705
+ * custom element's reaction detaches a node so `_forceRemove`'s deliberate
11706
+ * parentless guard throws, or any other re-entrant engine mutation — would
11707
+ * otherwise leave the caller's *live* tree half-sanitized, with everything
11708
+ * after the abort point still carrying its handlers. There is no safe way
11709
+ * to resume the walk (the tree mutated under us), so we strip the root bare:
11710
+ * remove every child and every attribute, then let the caller's catch see
11711
+ * the original error. Clobber-safe (cached `remove`/`childNodes`/`attributes`
11712
+ * getters; the root was already clobber-pre-flighted at the IN_PLACE entry).
11713
+ *
11714
+ * @param root the in-place root to empty
11715
+ */
11716
+ const _neutralizeRoot = function _neutralizeRoot(root) {
11717
+ const childNodes = getChildNodes(root);
11718
+ if (childNodes) {
11719
+ const snapshot = [];
11720
+ arrayForEach(childNodes, child => {
11721
+ arrayPush(snapshot, child);
11722
+ });
11723
+ arrayForEach(snapshot, child => {
11724
+ try {
11725
+ remove(child);
11726
+ } catch (_) {
11727
+ /* Best-effort teardown; a still-attached child is handled below */
11728
+ }
11729
+ });
11730
+ }
11731
+ const attributes = getAttributes(root);
11732
+ if (attributes) {
11733
+ for (let i = attributes.length - 1; i >= 0; --i) {
11734
+ const attribute = attributes[i];
11735
+ const name = attribute && attribute.name;
11736
+ if (typeof name === 'string') {
11737
+ try {
11738
+ root.removeAttribute(name);
11739
+ } catch (_) {
11740
+ /* Clobbered removeAttribute — ignore (fail-closed best effort) */
11741
+ }
11742
+ }
11743
+ }
11518
11744
  }
11519
11745
  };
11520
11746
  /**
@@ -11549,6 +11775,72 @@ function createDOMPurify() {
11549
11775
  }
11550
11776
  }
11551
11777
  };
11778
+ /**
11779
+ * _stripDisallowedAttributes
11780
+ *
11781
+ * Removes every attribute the active configuration does not allow from a
11782
+ * single element, using the same allowlist as the main attribute pass (so
11783
+ * `on*` handlers go, but no `/^on/` blocklist is introduced). Used only to
11784
+ * neutralise nodes that are being discarded from an in-place tree.
11785
+ *
11786
+ * @param element the element to strip
11787
+ */
11788
+ const _stripDisallowedAttributes = function _stripDisallowedAttributes(element) {
11789
+ const attributes = getAttributes(element);
11790
+ if (!attributes) {
11791
+ return;
11792
+ }
11793
+ for (let i = attributes.length - 1; i >= 0; --i) {
11794
+ const attribute = attributes[i];
11795
+ const name = attribute && attribute.name;
11796
+ if (typeof name !== 'string' || ALLOWED_ATTR[transformCaseFunc(name)]) {
11797
+ continue;
11798
+ }
11799
+ try {
11800
+ element.removeAttribute(name);
11801
+ } catch (_) {
11802
+ /* Clobbered removeAttribute on a doomed node — ignore */
11803
+ }
11804
+ }
11805
+ };
11806
+ /**
11807
+ * _neutralizeSubtree
11808
+ *
11809
+ * Completes the audit-5 F1 fix across every removal path. The KEEP_CONTENT
11810
+ * move-hoist neutralises only disallowed-tag removals; clobber, mXSS-canary,
11811
+ * namespace, comment, processing-instruction and KEEP_CONTENT:false removals
11812
+ * all drop their subtree wholesale via `_forceRemove`. On the IN_PLACE path
11813
+ * those dropped nodes are detached from the caller's LIVE tree but a
11814
+ * handler-bearing original among them (an `<img onerror>`/`<video>` that was
11815
+ * loading) keeps its queued resource event, which fires in page scope after
11816
+ * sanitize returns. This walks a removed subtree and strips every attribute
11817
+ * the active configuration does not allow — so `on*` handlers are cancelled
11818
+ * through the SAME allowlist that governs kept nodes, not a separate `/^on/`
11819
+ * blocklist. Run synchronously before sanitize returns, i.e. before any
11820
+ * queued event can fire. Hook-free by design: these nodes leave the output,
11821
+ * so firing attribute hooks for them would be surprising. Clobber-safe reads;
11822
+ * a doomed clobbered node may shadow `removeAttribute` (its own attributes are
11823
+ * irrelevant — it is discarded — while its non-clobbered descendants, e.g.
11824
+ * the `<img>`, are reached and scrubbed).
11825
+ *
11826
+ * @param root the root of a removed subtree to neutralise
11827
+ */
11828
+ const _neutralizeSubtree = function _neutralizeSubtree(root) {
11829
+ const stack = [root];
11830
+ while (stack.length > 0) {
11831
+ const node = stack.pop();
11832
+ const nodeType = getNodeType ? getNodeType(node) : node.nodeType;
11833
+ if (nodeType === NODE_TYPE.element) {
11834
+ _stripDisallowedAttributes(node);
11835
+ }
11836
+ const childNodes = getChildNodes(node);
11837
+ if (childNodes) {
11838
+ for (let i = childNodes.length - 1; i >= 0; --i) {
11839
+ stack.push(childNodes[i]);
11840
+ }
11841
+ }
11842
+ }
11843
+ };
11552
11844
  /**
11553
11845
  * _initDocument
11554
11846
  *
@@ -11570,7 +11862,7 @@ function createDOMPurify() {
11570
11862
  // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)
11571
11863
  dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + '</body></html>';
11572
11864
  }
11573
- const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
11865
+ const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;
11574
11866
  /*
11575
11867
  * Use the DOMParser API by default, fallback later if needs be
11576
11868
  * DOMParser not work for svg when has multiple root element.
@@ -11610,6 +11902,20 @@ function createDOMPurify() {
11610
11902
  // eslint-disable-next-line no-bitwise
11611
11903
  NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
11612
11904
  };
11905
+ /**
11906
+ * Replace template expression syntax (mustache, ERB, template
11907
+ * literal) with a space; shared by all SAFE_FOR_TEMPLATES scrub
11908
+ * sites. Order matters: mustache, then ERB, then template literal.
11909
+ *
11910
+ * @param value the string to scrub
11911
+ * @returns the scrubbed string
11912
+ */
11913
+ const _stripTemplateExpressions = function _stripTemplateExpressions(value) {
11914
+ value = stringReplace(value, MUSTACHE_EXPR$1, ' ');
11915
+ value = stringReplace(value, ERB_EXPR$1, ' ');
11916
+ value = stringReplace(value, TMPLIT_EXPR$1, ' ');
11917
+ return value;
11918
+ };
11613
11919
  /**
11614
11920
  * Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the
11615
11921
  * character data of an element subtree. Used as the final safety net for
@@ -11629,20 +11935,28 @@ function createDOMPurify() {
11629
11935
  *
11630
11936
  * @param node The root element whose character data should be scrubbed.
11631
11937
  */
11632
- const _scrubTemplateExpressions = function _scrubTemplateExpressions(node) {
11938
+ const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {
11939
+ var _node$querySelectorAl;
11633
11940
  node.normalize();
11634
11941
  const walker = createNodeIterator.call(node.ownerDocument || node, node,
11635
11942
  // eslint-disable-next-line no-bitwise
11636
11943
  NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);
11637
11944
  let currentNode = walker.nextNode();
11638
11945
  while (currentNode) {
11639
- let data = currentNode.data;
11640
- arrayForEach([MUSTACHE_EXPR$1, ERB_EXPR$1, TMPLIT_EXPR$1], expr => {
11641
- data = stringReplace(data, expr, ' ');
11642
- });
11643
- currentNode.data = data;
11946
+ currentNode.data = _stripTemplateExpressions(currentNode.data);
11644
11947
  currentNode = walker.nextNode();
11645
11948
  }
11949
+ // NodeIterator does not descend into <template>.content per the DOM spec,
11950
+ // so we must explicitly recurse into each template's content fragment,
11951
+ // mirroring the approach used by _sanitizeShadowDOM.
11952
+ const templates = (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 ? void 0 : _node$querySelectorAl.call(node, 'template');
11953
+ if (templates) {
11954
+ arrayForEach(templates, tmpl => {
11955
+ if (_isDocumentFragment(tmpl.content)) {
11956
+ _scrubTemplateExpressions2(tmpl.content);
11957
+ }
11958
+ });
11959
+ }
11646
11960
  };
11647
11961
  /**
11648
11962
  * _isClobbered
@@ -11738,67 +12052,64 @@ function createDOMPurify() {
11738
12052
  }
11739
12053
  };
11740
12054
  function _executeHooks(hooks, currentNode, data) {
12055
+ if (hooks.length === 0) {
12056
+ return;
12057
+ }
11741
12058
  arrayForEach(hooks, hook => {
11742
12059
  hook.call(DOMPurify, currentNode, data, CONFIG);
11743
12060
  });
11744
12061
  }
11745
12062
  /**
11746
- * _sanitizeElements
12063
+ * Structural-threat checks that condemn a node regardless of the
12064
+ * allowlists: mXSS via namespace confusion, risky CSS construction,
12065
+ * processing instructions, markup-bearing comments. Pure predicate;
12066
+ * the caller removes. Check order is load-bearing.
11747
12067
  *
11748
- * @protect nodeName
11749
- * @protect textContent
11750
- * @protect removeChild
11751
- * @param currentNode to check for permission to exist
11752
- * @return true if node was killed, false if left alive
12068
+ * @param currentNode the node to inspect
12069
+ * @param tagName the node's transformCaseFunc'd tag name
12070
+ * @return true if the node must be removed
11753
12071
  */
11754
- const _sanitizeElements = function _sanitizeElements(currentNode) {
11755
- let content = null;
11756
- /* Execute a hook if present */
11757
- _executeHooks(hooks.beforeSanitizeElements, currentNode, null);
11758
- /* Check if element is clobbered or can clobber */
11759
- if (_isClobbered(currentNode)) {
11760
- _forceRemove(currentNode);
11761
- return true;
11762
- }
11763
- /* Now let's check the element's type and name */
11764
- const tagName = transformCaseFunc(currentNode.nodeName);
11765
- /* Execute a hook if present */
11766
- _executeHooks(hooks.uponSanitizeElement, currentNode, {
11767
- tagName,
11768
- allowedTags: ALLOWED_TAGS
11769
- });
12072
+ const _isUnsafeNode = function _isUnsafeNode(currentNode, tagName) {
11770
12073
  /* Detect mXSS attempts abusing namespace confusion */
11771
- if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
11772
- _forceRemove(currentNode);
12074
+ if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) {
11773
12075
  return true;
11774
12076
  }
11775
12077
  /* Remove risky CSS construction leading to mXSS */
11776
12078
  if (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && tagName === 'style' && _isNode(currentNode.firstElementChild)) {
11777
- _forceRemove(currentNode);
11778
12079
  return true;
11779
12080
  }
11780
12081
  /* Remove any occurrence of processing instructions */
11781
- if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
11782
- _forceRemove(currentNode);
12082
+ if (currentNode.nodeType === NODE_TYPE.processingInstruction) {
11783
12083
  return true;
11784
12084
  }
11785
12085
  /* Remove any kind of possibly harmful comments */
11786
- if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) {
11787
- _forceRemove(currentNode);
12086
+ if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) {
11788
12087
  return true;
11789
12088
  }
11790
- /* Remove element if anything forbids its presence */
11791
- if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
11792
- /* Check if we have a custom element to handle */
11793
- if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
11794
- if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
11795
- return false;
11796
- }
11797
- if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
11798
- return false;
11799
- }
12089
+ return false;
12090
+ };
12091
+ /**
12092
+ * Handle a node whose tag is forbidden or not allowlisted: keep
12093
+ * allowed custom elements (false return exits _sanitizeElements
12094
+ * early - namespace/fallback checks and the afterSanitizeElements
12095
+ * hook are intentionally skipped for kept custom elements), else
12096
+ * hoist content per KEEP_CONTENT and remove.
12097
+ *
12098
+ * @param currentNode the disallowed node
12099
+ * @param tagName the node's transformCaseFunc'd tag name
12100
+ * @return true if the node was removed, false if kept
12101
+ */
12102
+ const _sanitizeDisallowedNode = function _sanitizeDisallowedNode(currentNode, tagName) {
12103
+ /* Check if we have a custom element to handle */
12104
+ if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
12105
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
12106
+ return false;
12107
+ }
12108
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
12109
+ return false;
11800
12110
  }
11801
- /* Keep content except for bad-listed elements.
12111
+ }
12112
+ /* Keep content except for bad-listed elements.
11802
12113
  Use the cached prototype getters exclusively — the previous code
11803
12114
  had `|| currentNode.parentNode` / `|| currentNode.childNodes`
11804
12115
  fallbacks, but the cached getters always return the canonical
@@ -11806,20 +12117,72 @@ function createDOMPurify() {
11806
12117
  path was dead in safe cases and a clobbering surface in unsafe
11807
12118
  ones. Falsy cached results stay falsy; the `if (childNodes &&
11808
12119
  parentNode)` check already gates correctly. */
11809
- if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
11810
- const parentNode = getParentNode(currentNode);
11811
- const childNodes = getChildNodes(currentNode);
11812
- if (childNodes && parentNode) {
11813
- const childCount = childNodes.length;
11814
- for (let i = childCount - 1; i >= 0; --i) {
11815
- const childClone = cloneNode(childNodes[i], true);
11816
- parentNode.insertBefore(childClone, getNextSibling(currentNode));
11817
- }
12120
+ if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
12121
+ const parentNode = getParentNode(currentNode);
12122
+ const childNodes = getChildNodes(currentNode);
12123
+ if (childNodes && parentNode) {
12124
+ const childCount = childNodes.length;
12125
+ /* In-place: hoist the *original* children so the iterator visits
12126
+ and sanitises them through the same allowlist pass as every other
12127
+ node. The caller built the tree in the live document, so the
12128
+ originals carry already-queued resource events (`<img onerror>`,
12129
+ `<video>`/`<audio>` error, lazy/`onload`, …); cloning would leave
12130
+ those originals detached but still armed, firing in page scope
12131
+ while the returned tree looked clean. Moving is safe in-place: the
12132
+ root is pre-validated as an allowed tag and so is never the node
12133
+ being removed, which keeps `parentNode` inside the iterator root
12134
+ and the relocated child inside the serialised tree.
12135
+ Otherwise (string / DOM-copy paths): clone. The iterator is rooted
12136
+ at — and the result serialised from — `body`, so a restrictive
12137
+ ALLOWED_TAGS that removes `body` itself must leave its content in
12138
+ place, which only cloning does; and those paths parse into an
12139
+ inert document, so their discarded originals never had a queued
12140
+ event to neutralise.
12141
+ `childNodes` is live; a tail-to-head walk keeps `childNodes[i]`
12142
+ valid whether we move (drops the trailing entry) or clone (leaves
12143
+ the list intact). */
12144
+ for (let i = childCount - 1; i >= 0; --i) {
12145
+ const hoisted = IN_PLACE ? childNodes[i] : cloneNode(childNodes[i], true);
12146
+ parentNode.insertBefore(hoisted, getNextSibling(currentNode));
11818
12147
  }
11819
12148
  }
12149
+ }
12150
+ _forceRemove(currentNode);
12151
+ return true;
12152
+ };
12153
+ /**
12154
+ * _sanitizeElements
12155
+ *
12156
+ * @protect nodeName
12157
+ * @protect textContent
12158
+ * @protect removeChild
12159
+ * @param currentNode to check for permission to exist
12160
+ * @return true if node was killed, false if left alive
12161
+ */
12162
+ const _sanitizeElements = function _sanitizeElements(currentNode) {
12163
+ /* Execute a hook if present */
12164
+ _executeHooks(hooks.beforeSanitizeElements, currentNode, null);
12165
+ /* Check if element is clobbered or can clobber */
12166
+ if (_isClobbered(currentNode)) {
11820
12167
  _forceRemove(currentNode);
11821
12168
  return true;
11822
12169
  }
12170
+ /* Now let's check the element's type and name */
12171
+ const tagName = transformCaseFunc(getNodeName ? getNodeName(currentNode) : currentNode.nodeName);
12172
+ /* Execute a hook if present */
12173
+ _executeHooks(hooks.uponSanitizeElement, currentNode, {
12174
+ tagName,
12175
+ allowedTags: ALLOWED_TAGS
12176
+ });
12177
+ /* Remove mXSS vectors, processing instructions and risky comments */
12178
+ if (_isUnsafeNode(currentNode, tagName)) {
12179
+ _forceRemove(currentNode);
12180
+ return true;
12181
+ }
12182
+ /* Remove element if anything forbids its presence */
12183
+ if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
12184
+ return _sanitizeDisallowedNode(currentNode, tagName);
12185
+ }
11823
12186
  /* Check whether element has a valid namespace.
11824
12187
  Realm-safe check (GHSA-hpcv-96wg-7vj8): use the cached Node.prototype
11825
12188
  nodeType getter rather than `instanceof Element`, which is realm-
@@ -11832,17 +12195,14 @@ function createDOMPurify() {
11832
12195
  return true;
11833
12196
  }
11834
12197
  /* Make sure that older browsers don't get fallback-tag mXSS */
11835
- if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) {
12198
+ if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(FALLBACK_TAG_CLOSE, currentNode.innerHTML)) {
11836
12199
  _forceRemove(currentNode);
11837
12200
  return true;
11838
12201
  }
11839
12202
  /* Sanitize element content to be template-safe */
11840
12203
  if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
11841
12204
  /* Get the element's text content */
11842
- content = currentNode.textContent;
11843
- arrayForEach([MUSTACHE_EXPR$1, ERB_EXPR$1, TMPLIT_EXPR$1], expr => {
11844
- content = stringReplace(content, expr, ' ');
11845
- });
12205
+ const content = _stripTemplateExpressions(currentNode.textContent);
11846
12206
  if (currentNode.textContent !== content) {
11847
12207
  arrayPush(DOMPurify.removed, {
11848
12208
  element: currentNode.cloneNode()
@@ -11877,7 +12237,7 @@ function createDOMPurify() {
11877
12237
  (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
11878
12238
  XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
11879
12239
  We don't need to check the value; it's always URI safe. */
11880
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!nameIsPermitted || FORBID_ATTR[lcName]) {
12240
+ if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!nameIsPermitted) {
11881
12241
  if (
11882
12242
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
11883
12243
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
@@ -11909,6 +12269,63 @@ function createDOMPurify() {
11909
12269
  const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
11910
12270
  return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);
11911
12271
  };
12272
+ /**
12273
+ * Wrap an attribute value in the matching Trusted Types object when
12274
+ * the active policy requires it. Namespaced attributes pass through
12275
+ * unchanged (no TT support yet, see
12276
+ * https://bugs.chromium.org/p/chromium/issues/detail?id=1305293).
12277
+ *
12278
+ * @param lcTag lowercase tag name of the containing element
12279
+ * @param lcName lowercase attribute name
12280
+ * @param namespaceURI the attribute's namespace, if any
12281
+ * @param value the attribute value to wrap
12282
+ * @return the value, wrapped when Trusted Types demand it
12283
+ */
12284
+ const _applyTrustedTypesToAttribute = function _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value) {
12285
+ if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function' && !namespaceURI) {
12286
+ switch (trustedTypes.getAttributeType(lcTag, lcName)) {
12287
+ case 'TrustedHTML':
12288
+ {
12289
+ return _createTrustedHTML(value);
12290
+ }
12291
+ case 'TrustedScriptURL':
12292
+ {
12293
+ return _createTrustedScriptURL(value);
12294
+ }
12295
+ }
12296
+ }
12297
+ return value;
12298
+ };
12299
+ /**
12300
+ * Write a modified attribute value back onto the element. On
12301
+ * success, re-probe for clobbering introduced by the new value and
12302
+ * remove the element when found; otherwise pop the removal entry
12303
+ * recorded by the earlier _removeAttribute (long-standing pairing
12304
+ * with the SANITIZE_NAMED_PROPS path - do not "fix" casually). On
12305
+ * failure, remove the attribute instead.
12306
+ *
12307
+ * @param currentNode the element carrying the attribute
12308
+ * @param name the attribute name as present on the element
12309
+ * @param namespaceURI the attribute's namespace, if any
12310
+ * @param value the new attribute value
12311
+ */
12312
+ const _setAttributeValue = function _setAttributeValue(currentNode, name, namespaceURI, value) {
12313
+ try {
12314
+ if (namespaceURI) {
12315
+ currentNode.setAttributeNS(namespaceURI, name, value);
12316
+ } else {
12317
+ /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
12318
+ currentNode.setAttribute(name, value);
12319
+ }
12320
+ if (_isClobbered(currentNode)) {
12321
+ _forceRemove(currentNode);
12322
+ } else {
12323
+ arrayPop(DOMPurify.removed);
12324
+ }
12325
+ } catch (_) {
12326
+ _removeAttribute(name, currentNode);
12327
+ }
12328
+ };
11912
12329
  /**
11913
12330
  * _sanitizeAttributes
11914
12331
  *
@@ -11935,6 +12352,7 @@ function createDOMPurify() {
11935
12352
  forceKeepAttr: undefined
11936
12353
  };
11937
12354
  let l = attributes.length;
12355
+ const lcTag = transformCaseFunc(currentNode.nodeName);
11938
12356
  /* Go backwards over all attributes; safely remove bad ones */
11939
12357
  while (l--) {
11940
12358
  const attr = attributes[l];
@@ -11972,7 +12390,7 @@ function createDOMPurify() {
11972
12390
  _removeAttribute(name, currentNode);
11973
12391
  continue;
11974
12392
  }
11975
- /* Did the hooks approve of the attribute? */
12393
+ /* Did the hooks force-keep the attribute? */
11976
12394
  if (hookEvent.forceKeepAttr) {
11977
12395
  continue;
11978
12396
  }
@@ -11982,56 +12400,24 @@ function createDOMPurify() {
11982
12400
  continue;
11983
12401
  }
11984
12402
  /* Work around a security issue in jQuery 3.0 */
11985
- if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
12403
+ if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value)) {
11986
12404
  _removeAttribute(name, currentNode);
11987
12405
  continue;
11988
12406
  }
11989
12407
  /* Sanitize attribute content to be template-safe */
11990
12408
  if (SAFE_FOR_TEMPLATES) {
11991
- arrayForEach([MUSTACHE_EXPR$1, ERB_EXPR$1, TMPLIT_EXPR$1], expr => {
11992
- value = stringReplace(value, expr, ' ');
11993
- });
12409
+ value = _stripTemplateExpressions(value);
11994
12410
  }
11995
12411
  /* Is `value` valid for this attribute? */
11996
- const lcTag = transformCaseFunc(currentNode.nodeName);
11997
12412
  if (!_isValidAttribute(lcTag, lcName, value)) {
11998
12413
  _removeAttribute(name, currentNode);
11999
12414
  continue;
12000
12415
  }
12001
12416
  /* Handle attributes that require Trusted Types */
12002
- if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
12003
- if (namespaceURI) ; else {
12004
- switch (trustedTypes.getAttributeType(lcTag, lcName)) {
12005
- case 'TrustedHTML':
12006
- {
12007
- value = trustedTypesPolicy.createHTML(value);
12008
- break;
12009
- }
12010
- case 'TrustedScriptURL':
12011
- {
12012
- value = trustedTypesPolicy.createScriptURL(value);
12013
- break;
12014
- }
12015
- }
12016
- }
12017
- }
12417
+ value = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);
12018
12418
  /* Handle invalid data-* attribute set by try-catching it */
12019
12419
  if (value !== initValue) {
12020
- try {
12021
- if (namespaceURI) {
12022
- currentNode.setAttributeNS(namespaceURI, name, value);
12023
- } else {
12024
- /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
12025
- currentNode.setAttribute(name, value);
12026
- }
12027
- if (_isClobbered(currentNode)) {
12028
- _forceRemove(currentNode);
12029
- } else {
12030
- arrayPop(DOMPurify.removed);
12031
- }
12032
- } catch (_) {
12033
- _removeAttribute(name, currentNode);
12034
- }
12420
+ _setAttributeValue(currentNode, name, namespaceURI, value);
12035
12421
  }
12036
12422
  }
12037
12423
  /* Execute a hook if present */
@@ -12073,9 +12459,9 @@ function createDOMPurify() {
12073
12459
  iterator also surfaces. */
12074
12460
  const shadowNodeType = getNodeType ? getNodeType(shadowNode) : shadowNode.nodeType;
12075
12461
  if (shadowNodeType === NODE_TYPE.element) {
12076
- const innerSr = getShadowRoot ? getShadowRoot(shadowNode) : shadowNode.shadowRoot;
12462
+ const innerSr = getShadowRoot(shadowNode);
12077
12463
  if (_isDocumentFragment(innerSr)) {
12078
- _sanitizeAttachedShadowRoots2(innerSr);
12464
+ _sanitizeAttachedShadowRoots(innerSr);
12079
12465
  _sanitizeShadowDOM2(innerSr);
12080
12466
  }
12081
12467
  }
@@ -12102,46 +12488,81 @@ function createDOMPurify() {
12102
12488
  *
12103
12489
  * @param root the subtree root to walk for attached shadow roots
12104
12490
  */
12105
- const _sanitizeAttachedShadowRoots2 = function _sanitizeAttachedShadowRoots(root) {
12106
- const nodeType = getNodeType ? getNodeType(root) : root.nodeType;
12107
- if (nodeType === NODE_TYPE.element) {
12108
- const sr = getShadowRoot ? getShadowRoot(root) : root.shadowRoot;
12109
- // Realm-safe check (GHSA-hpcv-96wg-7vj8): use nodeType-based
12110
- // detection rather than `instanceof DocumentFragment`, which is
12111
- // realm-bound and silently skipped shadow roots whose host element
12112
- // belonged to a foreign realm (e.g. iframe.contentDocument
12113
- // attachShadow). A foreign-realm ShadowRoot extends the foreign
12114
- // realm's DocumentFragment, not ours, so the old instanceof check
12115
- // returned false and the shadow subtree was never walked.
12116
- if (_isDocumentFragment(sr)) {
12117
- // Recurse first so that nested shadow roots are reached even if
12118
- // _sanitizeShadowDOM removes hosts at this level.
12119
- _sanitizeAttachedShadowRoots2(sr);
12120
- _sanitizeShadowDOM2(sr);
12491
+ const _sanitizeAttachedShadowRoots = function _sanitizeAttachedShadowRoots(root) {
12492
+ /* Iterative (explicit stack) rather than per-child recursion. DOM APIs
12493
+ impose no depth cap, so an attacker-shaped tree (JSON/CRDT/editor data
12494
+ built straight into the DOM — the IN_PLACE surface) deeper than the JS
12495
+ call-stack budget would otherwise overflow native recursion here and
12496
+ throw at the IN_PLACE entry pre-pass, before a single node is
12497
+ sanitized, leaving the caller's live tree untouched (fail-open). See
12498
+ campaign-3 F4. A heap stack keeps depth off the call stack.
12499
+ Each work item is either a node to descend into, or a deferred
12500
+ `_sanitizeShadowDOM` for an already-walked shadow root. The deferred
12501
+ form preserves the original post-order discipline: a shadow root's
12502
+ nested shadow roots are discovered before the outer shadow is
12503
+ sanitized (which may remove hosts). Pushes are in reverse of the
12504
+ desired processing order (LIFO): template content, then children, then
12505
+ the shadow-sanitize, then the shadow walk — so the order matches the
12506
+ previous recursion exactly. */
12507
+ const stack = [{
12508
+ node: root,
12509
+ shadow: null
12510
+ }];
12511
+ while (stack.length > 0) {
12512
+ const item = stack.pop();
12513
+ /* Deferred shadow-DOM sanitisation: runs after its subtree was walked. */
12514
+ if (item.shadow) {
12515
+ _sanitizeShadowDOM2(item.shadow);
12516
+ continue;
12121
12517
  }
12122
- }
12123
- // Snapshot children before recursing. Sanitization of one subtree
12124
- // (e.g. via an uponSanitizeShadowNode hook) may detach siblings,
12125
- // and naive nextSibling traversal would silently skip the rest of
12126
- // the list once a node is detached.
12127
- const childNodes = getChildNodes ? getChildNodes(root) : root.childNodes;
12128
- if (!childNodes) {
12129
- return;
12130
- }
12131
- const snapshot = [];
12132
- arrayForEach(childNodes, child => {
12133
- arrayPush(snapshot, child);
12134
- });
12135
- for (const child of snapshot) {
12136
- _sanitizeAttachedShadowRoots2(child);
12137
- }
12138
- /* When the root is a <template>, also descend into root.content */
12139
- if (nodeType === NODE_TYPE.element) {
12140
- const rootName = getNodeName ? getNodeName(root) : null;
12141
- if (typeof rootName === 'string' && transformCaseFunc(rootName) === 'template') {
12142
- const content = root.content;
12143
- if (_isDocumentFragment(content)) {
12144
- _sanitizeAttachedShadowRoots2(content);
12518
+ const node = item.node;
12519
+ const nodeType = getNodeType ? getNodeType(node) : node.nodeType;
12520
+ const isElement = nodeType === NODE_TYPE.element;
12521
+ /* (pushed last processed first) Children, snapshotted in reverse so
12522
+ the first child is processed first. Snapshotting matters because a
12523
+ hook may detach siblings mid-walk. */
12524
+ const childNodes = getChildNodes(node);
12525
+ if (childNodes) {
12526
+ for (let i = childNodes.length - 1; i >= 0; --i) {
12527
+ stack.push({
12528
+ node: childNodes[i],
12529
+ shadow: null
12530
+ });
12531
+ }
12532
+ }
12533
+ /* (pushed before children → processed after them, matching the old
12534
+ "template content last" order) When the node is a <template>,
12535
+ descend into its content. */
12536
+ if (isElement) {
12537
+ const rootName = getNodeName ? getNodeName(node) : null;
12538
+ if (typeof rootName === 'string' && transformCaseFunc(rootName) === 'template') {
12539
+ const content = node.content;
12540
+ if (_isDocumentFragment(content)) {
12541
+ stack.push({
12542
+ node: content,
12543
+ shadow: null
12544
+ });
12545
+ }
12546
+ }
12547
+ }
12548
+ /* Shadow root (processed first): walk its subtree, then sanitise it.
12549
+ Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection
12550
+ rather than `instanceof DocumentFragment`, which is realm-bound and
12551
+ silently skipped foreign-realm shadow roots (e.g.
12552
+ iframe.contentDocument attachShadow). */
12553
+ if (isElement) {
12554
+ const sr = getShadowRoot(node);
12555
+ if (_isDocumentFragment(sr)) {
12556
+ /* Push the deferred sanitise first so it pops after the shadow
12557
+ walk we push next, i.e. nested shadow roots are discovered
12558
+ before this one is sanitised. */
12559
+ stack.push({
12560
+ node: null,
12561
+ shadow: sr
12562
+ }, {
12563
+ node: sr,
12564
+ shadow: null
12565
+ });
12145
12566
  }
12146
12567
  }
12147
12568
  }
@@ -12172,16 +12593,41 @@ function createDOMPurify() {
12172
12593
  return dirty;
12173
12594
  }
12174
12595
  /* Assign config vars */
12175
- if (!SET_CONFIG) {
12596
+ if (SET_CONFIG) {
12597
+ /* Persistent setConfig() path: _parseConfig is skipped, so the sets are
12598
+ * not re-derived per call. Restore them from the pristine bindings
12599
+ * captured at setConfig() time so a previous call's hook clone (mutated
12600
+ * below) does not carry over. */
12601
+ ALLOWED_TAGS = SET_CONFIG_ALLOWED_TAGS;
12602
+ ALLOWED_ATTR = SET_CONFIG_ALLOWED_ATTR;
12603
+ } else {
12176
12604
  _parseConfig(cfg);
12177
12605
  }
12606
+ /* Clone the hook-mutable allowlists before the walk whenever an
12607
+ * uponSanitize* hook is registered. The hook event exposes ALLOWED_TAGS
12608
+ * and ALLOWED_ATTR by reference (as allowedTags / allowedAttributes), so
12609
+ * a hook that widens them would otherwise mutate the shared set
12610
+ * permanently: across later calls and across every element. Cloning per
12611
+ * walk keeps documented in-call widening working while scoping it to the
12612
+ * call. A single guard for both config paths - the per-call path rebinds
12613
+ * the sets in _parseConfig each call, the persistent path restores them
12614
+ * from the captured bindings just above - so the two cannot diverge. */
12615
+ if (hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) {
12616
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
12617
+ }
12618
+ if (hooks.uponSanitizeAttribute.length > 0) {
12619
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
12620
+ }
12178
12621
  /* Clean up removed elements */
12179
12622
  DOMPurify.removed = [];
12180
- /* Check if dirty is correctly typed for IN_PLACE */
12181
- if (typeof dirty === 'string') {
12182
- IN_PLACE = false;
12183
- }
12184
- if (IN_PLACE) {
12623
+ /* Resolve IN_PLACE for this call without mutating persistent config.
12624
+ Writing the IN_PLACE closure variable here leaks under setConfig(),
12625
+ where _parseConfig is skipped on later calls: a single string call would
12626
+ disable in-place mode for every subsequent node call, returning a
12627
+ sanitized copy while leaving the caller's node — which in-place callers
12628
+ keep using and whose return value they ignore — unsanitized. REPORT-2. */
12629
+ const inPlace = IN_PLACE && typeof dirty !== 'string' && _isNode(dirty);
12630
+ if (inPlace) {
12185
12631
  /* Do some early pre-sanitization to avoid unsafe root nodes.
12186
12632
  Read nodeName through the cached prototype getter — a clobbering
12187
12633
  child named "nodeName" on the form root would otherwise shadow
@@ -12208,8 +12654,16 @@ function createDOMPurify() {
12208
12654
  throw typeErrorCreate('root node is clobbered and cannot be sanitized in-place');
12209
12655
  }
12210
12656
  /* Sanitize attached shadow roots before the main iterator runs.
12211
- The iterator does not descend into shadow trees. */
12212
- _sanitizeAttachedShadowRoots2(dirty);
12657
+ The iterator does not descend into shadow trees. Same fail-closed
12658
+ barrier as the main walk (campaign-3 F2): a custom-element reaction
12659
+ inside a shadow root could abort this pre-pass before the walk runs,
12660
+ which would otherwise leave the entire live tree unsanitized. */
12661
+ try {
12662
+ _sanitizeAttachedShadowRoots(dirty);
12663
+ } catch (error) {
12664
+ _neutralizeRoot(dirty);
12665
+ throw error;
12666
+ }
12213
12667
  } else if (_isNode(dirty)) {
12214
12668
  /* If dirty is a DOM element, append to an empty document to avoid
12215
12669
  elements being stripped by the parser */
@@ -12229,13 +12683,13 @@ function createDOMPurify() {
12229
12683
  descend into shadow trees. The walk routes every read through a
12230
12684
  cached prototype getter so clobbering descendants on a form root
12231
12685
  cannot hide a shadow host from this pass. */
12232
- _sanitizeAttachedShadowRoots2(importedNode);
12686
+ _sanitizeAttachedShadowRoots(importedNode);
12233
12687
  } else {
12234
12688
  /* Exit directly if we have nothing to do */
12235
12689
  if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&
12236
12690
  // eslint-disable-next-line unicorn/prefer-includes
12237
12691
  dirty.indexOf('<') === -1) {
12238
- return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
12692
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;
12239
12693
  }
12240
12694
  /* Initialize the document to work on */
12241
12695
  body = _initDocument(dirty);
@@ -12249,32 +12703,59 @@ function createDOMPurify() {
12249
12703
  _forceRemove(body.firstChild);
12250
12704
  }
12251
12705
  /* Get node iterator */
12252
- const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
12253
- /* Now start iterating over the created document */
12254
- while (currentNode = nodeIterator.nextNode()) {
12255
- /* Sanitize tags and elements */
12256
- _sanitizeElements(currentNode);
12257
- /* Check attributes next */
12258
- _sanitizeAttributes(currentNode);
12259
- /* Shadow DOM detected, sanitize it.
12260
- Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection
12261
- instead of instanceof, so foreign-realm <template>.content is
12262
- walked correctly. */
12263
- if (_isDocumentFragment(currentNode.content)) {
12264
- _sanitizeShadowDOM2(currentNode.content);
12706
+ const nodeIterator = _createNodeIterator(inPlace ? dirty : body);
12707
+ /* Now start iterating over the created document.
12708
+ The walk runs inside an exception barrier (campaign-3 F2): a re-entrant
12709
+ engine/custom-element mutation can detach a node mid-walk so
12710
+ `_forceRemove`'s parentless guard throws, aborting the loop. Without the
12711
+ barrier the caller's in-place tree would be left half-sanitized with the
12712
+ unvisited tail still armed. On any throw we fail closed — strip the
12713
+ in-place root bare then rethrow so the existing throw contract is
12714
+ preserved. (String/DOM-copy paths never return the partial body, so the
12715
+ propagating throw is already fail-closed there.) */
12716
+ try {
12717
+ while (currentNode = nodeIterator.nextNode()) {
12718
+ /* Sanitize tags and elements */
12719
+ _sanitizeElements(currentNode);
12720
+ /* Check attributes next */
12721
+ _sanitizeAttributes(currentNode);
12722
+ /* Shadow DOM detected, sanitize it.
12723
+ Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection
12724
+ instead of instanceof, so foreign-realm <template>.content is
12725
+ walked correctly. */
12726
+ if (_isDocumentFragment(currentNode.content)) {
12727
+ _sanitizeShadowDOM2(currentNode.content);
12728
+ }
12265
12729
  }
12730
+ } catch (error) {
12731
+ if (inPlace) {
12732
+ _neutralizeRoot(dirty);
12733
+ }
12734
+ throw error;
12266
12735
  }
12267
12736
  /* If we sanitized `dirty` in-place, return it. */
12268
- if (IN_PLACE) {
12737
+ if (inPlace) {
12738
+ /* Fail-closed completion of the audit-5 F1 fix: every node removed from
12739
+ the caller's live tree is detached but may still hold a queued
12740
+ resource-event handler that fires in page scope after we return. The
12741
+ move-hoist covers only disallowed-tag KEEP_CONTENT removals; strip the
12742
+ non-allow-listed attributes off every other removed subtree (clobber,
12743
+ mXSS, namespace, comments, KEEP_CONTENT:false, …) so those handlers are
12744
+ cancelled before any event can fire. Runs synchronously, pre-return. */
12745
+ arrayForEach(DOMPurify.removed, entry => {
12746
+ if (entry.element) {
12747
+ _neutralizeSubtree(entry.element);
12748
+ }
12749
+ });
12269
12750
  if (SAFE_FOR_TEMPLATES) {
12270
- _scrubTemplateExpressions(dirty);
12751
+ _scrubTemplateExpressions2(dirty);
12271
12752
  }
12272
12753
  return dirty;
12273
12754
  }
12274
12755
  /* Return sanitized string or DOM */
12275
12756
  if (RETURN_DOM) {
12276
12757
  if (SAFE_FOR_TEMPLATES) {
12277
- _scrubTemplateExpressions(body);
12758
+ _scrubTemplateExpressions2(body);
12278
12759
  }
12279
12760
  if (RETURN_DOM_FRAGMENT) {
12280
12761
  returnNode = createDocumentFragment.call(body.ownerDocument);
@@ -12304,20 +12785,28 @@ function createDOMPurify() {
12304
12785
  }
12305
12786
  /* Sanitize final string template-safe */
12306
12787
  if (SAFE_FOR_TEMPLATES) {
12307
- arrayForEach([MUSTACHE_EXPR$1, ERB_EXPR$1, TMPLIT_EXPR$1], expr => {
12308
- serializedHTML = stringReplace(serializedHTML, expr, ' ');
12309
- });
12788
+ serializedHTML = _stripTemplateExpressions(serializedHTML);
12310
12789
  }
12311
- return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
12790
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;
12312
12791
  };
12313
12792
  DOMPurify.setConfig = function () {
12314
12793
  let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
12315
12794
  _parseConfig(cfg);
12316
12795
  SET_CONFIG = true;
12796
+ SET_CONFIG_ALLOWED_TAGS = ALLOWED_TAGS;
12797
+ SET_CONFIG_ALLOWED_ATTR = ALLOWED_ATTR;
12317
12798
  };
12318
12799
  DOMPurify.clearConfig = function () {
12319
12800
  CONFIG = null;
12320
12801
  SET_CONFIG = false;
12802
+ SET_CONFIG_ALLOWED_TAGS = null;
12803
+ SET_CONFIG_ALLOWED_ATTR = null;
12804
+ // Drop any caller-supplied Trusted Types policy so it cannot poison later
12805
+ // `RETURN_TRUSTED_TYPE` output. The internal default policy (cached, and
12806
+ // never recreated — Trusted Types throws on duplicate names) is restored by
12807
+ // the next `_parseConfig`. See GHSA-vxr8-fq34-vvx9.
12808
+ trustedTypesPolicy = defaultTrustedTypesPolicy;
12809
+ emptyHTML = '';
12321
12810
  };
12322
12811
  DOMPurify.isValidAttribute = function (tag, attr, value) {
12323
12812
  /* Initialize shared config vars if necessary. */
@@ -12332,9 +12821,19 @@ function createDOMPurify() {
12332
12821
  if (typeof hookFunction !== 'function') {
12333
12822
  return;
12334
12823
  }
12824
+ /* Reject unknown entry points. Without this, a non-hook key (e.g.
12825
+ * '__proto__') indexes off the prototype chain rather than a real
12826
+ * hook array, and arrayPush then writes to Object.prototype. Guard
12827
+ * with an own-property check against the known hook names. */
12828
+ if (!objectHasOwnProperty(hooks, entryPoint)) {
12829
+ return;
12830
+ }
12335
12831
  arrayPush(hooks[entryPoint], hookFunction);
12336
12832
  };
12337
12833
  DOMPurify.removeHook = function (entryPoint, hookFunction) {
12834
+ if (!objectHasOwnProperty(hooks, entryPoint)) {
12835
+ return undefined;
12836
+ }
12338
12837
  if (hookFunction !== undefined) {
12339
12838
  const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);
12340
12839
  return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];
@@ -12342,6 +12841,9 @@ function createDOMPurify() {
12342
12841
  return arrayPop(hooks[entryPoint]);
12343
12842
  };
12344
12843
  DOMPurify.removeHooks = function (entryPoint) {
12844
+ if (!objectHasOwnProperty(hooks, entryPoint)) {
12845
+ return;
12846
+ }
12345
12847
  hooks[entryPoint] = [];
12346
12848
  };
12347
12849
  DOMPurify.removeAllHooks = function () {
@@ -39588,7 +40090,7 @@ class TrackDbHub {
39588
40090
  */
39589
40091
  #getTrackConfig(t) {
39590
40092
 
39591
- const format = typeFormatMap.get(t.format) || t.format;
40093
+ const format = typeFormatMap.get(t.format.toLowerCase()) || t.format;
39592
40094
 
39593
40095
  const config = {
39594
40096
  "id": t.getProperty("track"),
@@ -39687,14 +40189,9 @@ class TrackDbHub {
39687
40189
  config.visibilityWindow = maxWindowToDraw;
39688
40190
  }
39689
40191
 
39690
- // IGV does not support "maxWindowCoverage" in the same way as UCSC. Use to limit visibility window
39691
- if (t.hasProperty("maxWindowCoverage")) {
39692
- let maxWindowToDraw = parseInt(t.getProperty("maxWindowCoverage"), 10);
39693
- if (maxWindowToDraw > Number.MAX_SAFE_INTEGER) {
39694
- maxWindowToDraw = Number.MAX_SAFE_INTEGER;
39695
- }
39696
- config.visibilityWindow = maxWindowToDraw;
39697
- }
40192
+ // TODO - support "maxWindowCoverage"
40193
+ // if (t.hasProperty("maxWindowCoverage")) {
40194
+ // }
39698
40195
 
39699
40196
  return config
39700
40197
  }
@@ -52050,7 +52547,9 @@ class HtsgetBamReader extends HtsgetReader {
52050
52547
  }
52051
52548
 
52052
52549
  /*! For license information please see cram-bundle.js.LICENSE.txt */
52053
- var gmodCRAM = (()=>{var e={24:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toHex=function(e){let t="";for(let r=0,i=e.length;r<i;r++)t+=n[e[r]];return t};const r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"],n=new Array(256);for(let e=0;e<256;e++)n[e]=`${r[e>>>4&15]}${r[15&e]}`;},78:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(24),i=[0,1,3,7,15,31,63,127,255];t.default=class{constructor(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1;}_ensureByte(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0);}read(e){let t=0;for(;e>0;){this._ensureByte();const r=8-this.bitOffset;if(e>=r)t<<=r,t|=i[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else {t<<=e;const n=r-e;t|=(this.curByte&i[e]<<n)>>n,this.bitOffset+=e,e=0;}}return t}seek(e){const t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1;}pi(){const e=new Uint8Array(6);for(let t=0;t<e.length;t++)e[t]=this.read(8);return (0, n.toHex)(e)}};},86:(e,t,r)=>{const n=r(1308).A;e.exports=n,e.exports.default=n;},500:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(6272),a=r(6761),s=n(r(588)),A=n(r(9685)),o=n(r(7480)),c=r(7580),d=r(2549);function l(e,t,r,n){const a=!!(n.mate||void 0!==n.mateRecordNumber&&n.mateRecordNumber!==t);r.readName||(r.readName=String(r.uniqueId),n.readName=r.readName),r.mate={sequenceId:n.sequenceId,alignmentStart:n.alignmentStart,uniqueId:n.uniqueId},n.readName&&(r.mate.readName=n.readName),n.mate||void 0!==n.mateRecordNumber||(n.mate={sequenceId:r.sequenceId,alignmentStart:r.alignmentStart,uniqueId:r.uniqueId},r.readName&&(n.mate.readName=r.readName)),r.flags|=s.default.BAM_FPAIRED,n.flags&s.default.BAM_FUNMAP&&(r.flags|=s.default.BAM_FMUNMAP),r.flags&s.default.BAM_FUNMAP&&(n.flags|=s.default.BAM_FMUNMAP),n.flags&s.default.BAM_FREVERSE&&(r.flags|=s.default.BAM_FMREVERSE),r.flags&s.default.BAM_FREVERSE&&(n.flags|=s.default.BAM_FMREVERSE),void 0===r.templateLength&&(a?function(e,t,r){const n=function t(r){const n=[r];if(void 0!==r.mateRecordNumber&&r.mateRecordNumber>=0){const a=e[r.mateRecordNumber];if(!a)throw new i.CramMalformedError("intra-slice mate record not found, this file seems malformed");n.push(...t(a));}return n}(r),a=n.map((e=>e.alignmentStart)),s=n.map((e=>e.alignmentStart+e.readLength-1)),A=Math.max(...s)-Math.min(...a)+1;A>=0&&n.forEach((e=>{if(void 0!==e.templateLength)throw new i.CramMalformedError("mate pair group has some members that have template lengths already, this file seems malformed");e.templateLength=A;}));}(e,0,r):function(e,t){const r=Math.min(e.alignmentStart,t.alignmentStart),n=Math.max(e.alignmentStart+e.readLength-1,t.alignmentStart+t.readLength-1)-r+1;e.templateLength=n,t.templateLength=n;}(r,n)),r.mateRecordNumber=void 0;}class f{constructor(e,t,r){this.container=e,this.containerPosition=t,this.sliceSize=r,this.file=e.file;}async getHeader(){const{majorVersion:e}=await this.file.getDefinition(),t=(0, c.getSectionParsers)(e),r=await this.container.getHeader(),n=await this.file.readBlock(r._endPosition+this.containerPosition);if("MAPPED_SLICE_HEADER"===n.contentType){const e=(0, d.parseItem)(n.content,t.cramMappedSliceHeader.parser,0,r._endPosition);return {...n,parsedContent:e}}if("UNMAPPED_SLICE_HEADER"===n.contentType){const e=(0, d.parseItem)(n.content,t.cramUnmappedSliceHeader.parser,0,r._endPosition);return {...n,parsedContent:e}}throw new i.CramMalformedError(`error reading slice header block, invalid content type ${n.contentType}`)}async getBlocks(){const e=await this.getHeader();let t=e._endPosition;const r=new Array(e.parsedContent.numBlocks);for(let e=0;e<r.length;e++){const n=await this.file.readBlock(t);r[e]=n,t=r[e]._endPosition;}return r}async getCoreDataBlock(){return (await this.getBlocks())[0]}async _getBlocksContentIdIndex(){const e=await this.getBlocks(),t={};return e.forEach((e=>{"EXTERNAL_DATA"===e.contentType&&(t[e.contentId]=e);})),t}async getBlockByContentId(e){return (await this._getBlocksContentIdIndex())[e]}async getReferenceRegion(){const e=new TextDecoder("utf8"),t=(await this.getHeader()).parsedContent;if(!(0, c.isMappedSliceHeader)(t))throw new Error("slice header not mapped");if(t.refSeqId<0)return;const r=await this.container.getCompressionScheme();if(void 0===r)throw new Error("compression scheme undefined");if(t.refBaseBlockId>=0){const r=await this.getBlockByContentId(t.refBaseBlockId);if(!r)throw new i.CramMalformedError("embedded reference specified, but reference block does not exist");return {seq:e.decode(r.data),start:t.refSeqStart,end:t.refSeqStart+t.refSeqSpan-1,span:t.refSeqSpan}}if(r.referenceRequired||this.file.fetchReferenceSequenceCallback){if(!this.file.fetchReferenceSequenceCallback)throw new Error("reference sequence not embedded, and seqFetch callback not provided, cannot fetch reference sequence");const e=await this.file.fetchReferenceSequenceCallback(t.refSeqId,t.refSeqStart,t.refSeqStart+t.refSeqSpan-1);if(e.length!==t.refSeqSpan)throw new i.CramArgumentError("seqFetch callback returned a reference sequence of the wrong length");return {seq:e,start:t.refSeqStart,end:t.refSeqStart+t.refSeqSpan-1,span:t.refSeqSpan}}}getAllRecords(){return this.getRecords((()=>!0))}async _fetchRecords(){const{majorVersion:e}=await this.file.getDefinition(),t=await this.container.getCompressionScheme();if(void 0===t)throw new Error("compression scheme undefined");const r=await this.getHeader(),n=await this._getBlocksContentIdIndex();if(e>1&&this.file.options.checkSequenceMD5&&(0, c.isMappedSliceHeader)(r.parsedContent)&&r.parsedContent.refSeqId>=0&&"0000000000000000"!==r.parsedContent.md5?.join("")){const e=await this.getReferenceRegion();if(e){const{seq:t,start:n,end:a}=e,s=(0, d.sequenceMD5)(t),A=r.parsedContent.md5?.map((e=>(e<16?"0":"")+e.toString(16))).join("");if(s!==A)throw new i.CramMalformedError(`MD5 checksum reference mismatch for ref ${r.parsedContent.refSeqId} pos ${n}..${a}. recorded MD5: ${A}, calculated MD5: ${s}`)}}const s=await this.getCoreDataBlock(),f={lastAlignmentStart:(0, c.isMappedSliceHeader)(r.parsedContent)?r.parsedContent.refSeqStart:0,coreBlock:{bitPosition:7,bytePosition:0},externalBlocks:{map:new Map,getCursor(e){let t=this.map.get(e);return void 0===t&&(t={bitPosition:7,bytePosition:0},this.map.set(e,t)),t}}},u=e=>{const r=t.getCodecForDataSeries(e);if(!r)throw new i.CramMalformedError(`no codec defined for ${e} data series`);return r.decode(this,s,n,f)},g=new Array(r.parsedContent.numRecords);for(let i=0;i<g.length;i+=1)try{const a=(0,A.default)(this,u,t,r,s,n,f,e,i);g[i]=new o.default({...a,uniqueId:r.contentPosition+r.parsedContent.recordCounter+i+1});}catch(e){if(e instanceof a.CramBufferOverrunError){console.warn("read attempted beyond end of buffer, file seems truncated.");break}throw e}for(let e=0;e<g.length;e+=1){const t=g[e];if(t){const{mateRecordNumber:r}=t;void 0!==r&&r>=0&&g[r]&&l(g,e,t,g[r]);}}return g}async getRecords(e){const t=this.container.filePosition+this.containerPosition;let r=this.file.featureCache.get(t.toString());r||(r=this._fetchRecords(),this.file.featureCache.set(t.toString(),r));const n=(await r).filter(e);if(n.length&&this.file.fetchReferenceSequenceCallback){const e=await this.getHeader();if((0, c.isMappedSliceHeader)(e.parsedContent)&&(e.parsedContent.refSeqId>=0||-2===e.parsedContent.refSeqId)){const t=e.parsedContent.refSeqId>=0?e.parsedContent.refSeqId:void 0,r=await this.container.getCompressionScheme();if(void 0===r)throw new Error("compression scheme undefined");const i={};for(const e of n){const r=void 0!==t?t:e.sequenceId;let n=i[r];n||(n={id:r,start:e.alignmentStart,end:Number.NEGATIVE_INFINITY,seq:null},i[r]=n);const a=e.alignmentStart+(e.lengthOnRef||e.readLength)-1;a>n.end&&(n.end=a),e.alignmentStart<n.start&&(n.start=e.alignmentStart);}await Promise.all(Object.values(i).map((async e=>{-1!==e.id&&e.start<=e.end&&this.file.fetchReferenceSequenceCallback&&(e.seq=await this.file.fetchReferenceSequenceCallback(e.id,e.start,e.end));})));for(const e of n){const n=i[void 0!==t?t:e.sequenceId];if(n?.seq){const t=n.seq;e.addReferenceSequence({...n,seq:t},r);}}}}return n}}t.default=f,"getHeader getBlocks _getBlocksContentIdIndex".split(" ").forEach((e=>{(0, d.tinyMemoize)(f,e);}));},588:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default={CRAM_FLAG_PRESERVE_QUAL_SCORES:1,CRAM_FLAG_DETACHED:2,CRAM_FLAG_MATE_DOWNSTREAM:4,CRAM_FLAG_NO_SEQ:8,CRAM_FLAG_MASK:15,CRAM_M_REVERSE:1,CRAM_M_UNMAP:2,BAM_FPAIRED:1,BAM_FPROPER_PAIR:2,BAM_FUNMAP:4,BAM_FMUNMAP:8,BAM_FREVERSE:16,BAM_FMREVERSE:32,BAM_FREAD1:64,BAM_FREAD2:128,BAM_FSECONDARY:256,BAM_FQCFAIL:512,BAM_FDUP:1024,BAM_FSUPPLEMENTARY:2048,BAM_CMATCH:0,BAM_CINS:1,BAM_CDEL:2,BAM_CREF_SKIP:3,BAM_CSOFT_CLIP:4,BAM_CHARD_CLIP:5,BAM_CPAD:6,BAM_CEQUAL:7,BAM_CDIFF:8,BAM_CBACK:9,BAM_CIGAR_STR:"MIDNSHP:XB",BAM_CIGAR_SHIFT:4,BAM_CIGAR_MASK:15,BAM_CIGAR_TYPE:246183};},632:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(6761),s=r(6272);class A extends i.default{constructor(e,t){if(super(e,t),"int"!==this.dataType)throw new s.CramUnimplementedError(`${this.dataType} decoding not yet implemented by GAMMA codec`)}decode(e,t,r,n){let i=1;for(;0===(0, a.getBits)(t.content,n.coreBlock,1);)i+=1;return ((0, a.getBits)(t.content,n.coreBlock,i-1)|1<<i-1)-this.parameters.offset}}t.default=A;},652:e=>{function t(e){return !!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return "function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)};},772:()=>{},807:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(6761),s=r(6272);class A extends i.default{constructor(e,t){if(super(e,t),"int"!==this.dataType)throw new s.CramUnimplementedError(`${this.dataType} decoding not yet implemented by BETA codec`)}decode(e,t,r,n){return (0, a.getBits)(t.content,n.coreBlock,this.parameters.length)-this.parameters.offset}}t.default=A;},870:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e,t,r){const n=f(e),i=u(t),a=new l(n,i);for(;!("eof"in n)||!n.eof();)if(a._init_block())a._read_bunzip();else {const e=a.reader.read(32)>>>0;if(e!==a.streamCRC&&d(o.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+e.toString(16)+")"),!r||!("eof"in n)||n.eof())break;a._start_bunzip(n,i);}if("getBuffer"in i)return i.getBuffer()};const i=n(r(78)),a=n(r(8761)),s=n(r(6612)),A=function(e,t){const r=e[t];for(let r=t;r>0;r--)e[r]=e[r-1];return e[0]=r,r},o={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},c={};c[o.LAST_BLOCK]="Bad file checksum",c[o.NOT_BZIP_DATA]="Not bzip data",c[o.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",c[o.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",c[o.DATA_ERROR]="Data error",c[o.OUT_OF_MEMORY]="Out of memory",c[o.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";const d=function(e,t){let r=c[e]||"unknown error";t&&(r+=": "+t);const n=new TypeError(r);throw n.errorCode=e,n};class l{constructor(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t);}_init_block(){return this._get_next_block()?(this.blockCRC=new a.default,!0):(this.writeCount=-1,!1)}_start_bunzip(e,t){const r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||d(o.NOT_BZIP_DATA,"bad magic");const n=r[3]-48;(n<1||n>9)&&d(o.NOT_BZIP_DATA,"level out of range"),this.reader=new i.default(e),this.dbufSize=1e5*n,this.nextoutput=0,this.outputStream=t,this.streamCRC=0;}_get_next_block(){let e,t,r;const n=this.reader,i=n.pi();if("177245385090"===i)return !1;"314159265359"!==i&&d(o.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&d(o.OBSOLETE_INPUT);const a=n.read(24);a>this.dbufSize&&d(o.DATA_ERROR,"initial position out of bounds");let s=n.read(16),c=new Uint8Array(256),l=0;for(e=0;e<16;e++)if(s&1<<15-e){const i=16*e;for(r=n.read(16),t=0;t<16;t++)r&1<<15-t&&(c[l++]=i+t);}const f=n.read(3);(f<2||f>6)&&d(o.DATA_ERROR);const u=n.read(15);0===u&&d(o.DATA_ERROR);const g=new Uint8Array(256);for(e=0;e<f;e++)g[e]=e;const h=new Uint8Array(u);for(e=0;e<u;e++){for(t=0;n.read(1);t++)t>=f&&d(o.DATA_ERROR);h[e]=A(g,t);}let C,I=l+2,_=[];for(t=0;t<f;t++){const t=new Uint8Array(I),r=new Uint16Array(21);for(s=n.read(5),e=0;e<I;e++){for(;(s<1||s>20)&&d(o.DATA_ERROR),n.read(1);)n.read(1)?s--:s++;t[e]=s;}var m,B;for(m=B=t[0],e=1;e<I;e++)t[e]>B?B=t[e]:t[e]<m&&(m=t[e]);C={},_.push(C),C.permute=new Uint16Array(258),C.limit=new Uint32Array(22),C.base=new Uint32Array(21),C.minLen=m,C.maxLen=B;let i=0;for(e=m;e<=B;e++)for(r[e]=C.limit[e]=0,s=0;s<I;s++)t[s]===e&&(C.permute[i++]=s);for(e=0;e<I;e++)r[t[e]]++;for(i=s=0,e=m;e<B;e++)i+=r[e],C.limit[e]=i-1,i<<=1,s+=r[e],C.base[e+1]=i-s;C.limit[B+1]=Number.MAX_VALUE,C.limit[B]=i+r[B]-1,C.base[m]=0;}const p=new Uint32Array(256);for(e=0;e<256;e++)g[e]=e;let w,E=0,Q=0,y=0;const b=this.dbuf=new Uint32Array(this.dbufSize);for(I=0;;){for(I--||(I=49,y>=u&&d(o.DATA_ERROR),C=_[h[y++]]),e=C.minLen,t=n.read(e);e>C.maxLen&&d(o.DATA_ERROR),!(t<=C.limit[e]);e++)t=t<<1|n.read(1);t-=C.base[e],(t<0||t>=258)&&d(o.DATA_ERROR);const r=C.permute[t];if(0!==r&&1!==r){if(E)for(E=0,Q+s>this.dbufSize&&d(o.DATA_ERROR),w=c[g[0]],p[w]+=s;s--;)b[Q++]=w;if(r>l)break;Q>=this.dbufSize&&d(o.DATA_ERROR),e=r-1,w=A(g,e),w=c[w],p[w]++,b[Q++]=w;}else E||(E=1,s=0),s+=0===r?E:2*E,E<<=1;}for((a<0||a>=Q)&&d(o.DATA_ERROR),t=0,e=0;e<256;e++)r=t+p[e],p[e]=t,t=r;for(e=0;e<Q;e++)w=255&b[e],b[p[w]]|=e<<8,p[w]++;let D=0,S=0,k=0;return Q&&(D=b[a],S=255&D,D>>=8,k=-1),this.writePos=D,this.writeCurrent=S,this.writeCount=Q,this.writeRun=k,!0}_read_bunzip(e,t){let r,n,i;if(this.writeCount<0)return 0;let a=this.dbuf,s=this.writePos,A=this.writeCurrent,c=this.writeCount,l=(this.outputsize,this.writeRun);for(;c;){for(c--,n=A,s=a[s],A=255&s,s>>=8,3===l++?(r=A,i=n,A=-1):(r=1,i=A),this.blockCRC.updateCRCRun(i,r);r--;)this.outputStream.writeByte(i),this.nextoutput++;A!=n&&(l=0);}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&d(o.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput}}const f=function(e){if("readByte"in e)return e;const t=new s.default;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e;},t.eof=function(){return this.pos>=e.length},t},u=function(e){const t=new s.default;let r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else {if("writeByte"in e)return e;t.buffer=e,r=!1;}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){const e=new Uint8Array(2*this.buffer.length);e.set(this.buffer),this.buffer=e;}this.buffer[this.pos++]=e;},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");const e=new Uint8Array(this.pos);e.set(this.buffer.slice(0,this.pos)),this.buffer=e;}return this.buffer},t._coerced=!0,t};t.default=l;},1064:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.blob=e,this.size=e.size;}async read(e,t=0){if(!e)return new Uint8Array(0);const r=t,n=r+e;return new Uint8Array(await this.blob.slice(r,n).arrayBuffer())}async readFile(e){const t="string"==typeof e?e:e?.encoding;if("utf8"===t)return this.blob.text();if(t)throw new Error(`unsupported encoding: ${t}`);return new Uint8Array(await this.blob.arrayBuffer())}async stat(){return {size:this.size}}async close(){}};},1307:function(e,t,r){var n;n=e=>(()=>{var t=[,e=>{e.exports="data:application/wasm;base64,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IgENAAsLIAJCf4UL1RACDH8CfgJAAkAgACgCJEUNACAAKAIAIQIMAQtBACECIABBADoAKCAAQgA3AwAgAEIANwMYIABByABqQQBB5AAQhoCAgAAaIABBrAFqQQw2AgALIAAgASgCBCIDNgIQIABBsAFqIQQgAEHgAGohBSAAQcgAaiEGIABBtgFqIQcgAEGoAWohCCABKAIQIQkCQAJAAkACQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIOCgECAAQFBgcICQoPCyABKAIAIQogACgCqAEhAiAAKAKsASELIAEoAgQhDCABKAIIIQ0MAgsgCCAAKAKoASIMakEIaiABKAIAIAEoAgQiAmogASgCCCACayICIAAoAqwBIAxrIgwgAiAMSRsiAhCHgICAABogASABKAIEIAJqNgIEQQAhDCAAQQAgACgCqAEgAmoiAiACIAAoAqwBIgtGGzYCqAEgAiALRw0RIABBATYCAAJAIARBqIiAgABBBhCEgICAAEUNAEEFIQwMEgsgB0ECQQAQjYCAgAAgACgAuAFHDRBBBiEMIActAAANESAAIAAtALcBIgI2AiAgAkEESw0RQQEgAnRBE3FFDRELIAEoAgQiDCABKAIIIg1GDQ4CQCABKAIAIgogDGotAAAiCw0AIAAgDDYCECABIAxBAWo2AgRBBiECDAwLQQAhAiAAQQA2AqgBIABBAjYCACAAIAtBAnRBBGoiCzYCrAEgACALNgJACyAIIAJqQQhqIAogDGogDSAMayIMIAsgAmsiAiAMIAJJGyICEIeAgIAAGiABIAIgASgCBGo2AgRBACEMIABBACAAKAKoASACaiICIAIgACgCrAEiC0YbNgKoASACIAtHDQ8gACACQXxqIgI2AqwBQQchDCAEIAJBABCNgICAACAAIAAoAqwBIgtqQbABaigAAEcNDyAAQQI2AqgBIAAtALEBIgJBP3ENDAJAAkAgAkHAAHFFDQAgACAEIAggCxCRgICAAEEBRw0RIAAgACkDCDcDMCAALQCxASECDAELIABCfzcDMAtCfyEOAkAgAkEYdEEYdUF/Sg0AIAAgBCAIIAAoAqwBEJGAgIAAQQFHDRAgACkDCCEOCyAAIA43AzggACgCrAEiDSAAKAKoASICa0ECSQ0PIAAgAkEBaiIKNgKoASAIIAJqQQhq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IgM2AhAgACAOQQh0IAAoAgwgCWotAAByIg42AgQgAyEJCwJAAkAgDiALQQt2IA8vAQAiCmwiA08iEg0AIAAgAzYCACAKQYAQIAprQQV2aiEKDAELIAAgDiADayIONgIEIAAgCyADayIDNgIAIAogCkEFdmshCkEAIQ0LIA8gCjsBACANIBFzIQ0gBEEBdCASciIEQYACSQ0ACwsgACACQQFqNgIgIAAoAhggAmogBDoAAAJAIAAoAiQgACgCICICTw0AIAAgAjYCJAtBACEDAkAgACgCZCIEQQRJDQACQCAEQQlLDQAgBEF9aiEDDAELIARBemohAwsgACADNgJkDAELIAAgDiADayIONgIEIAAgBCADayIDNgIAIA0gDyAPQQV2azsBACAAIApBAXRqIg9B+ANqIQQCQAJAIANB////B00NACAJIQoMAQsgACADQQh0IgM2AgAgACAJQQFqIgo2AhAgACAOQQh0IAAoAgwgCWotAAByIg42AgQLAkACQCAOIANBC3YgBC8BACINbCIJSQ0AIAAgDiAJayIONgIEIAAgAyAJayIDNgIAIAQgDSANQQV2azsBACAPQZAEaiENAkACQCADQf///wdNDQAgCiEQDAELIAAgA0EIdCIDNgIAIAAgCkEBaiIQNgIQIAAgDkEIdCAAKAIMIApqLQAAciIONgIECwJAAkAgDiADQQt2IA0vAQAiCWwiBE8NACANIAlBgBAgCWtBBXZqOwEAIAxB2ARqIQMCQCAEQf///wdLDQAgACAEQQh0IgQ2AgAgACAQQQFqNgIQIAAgDkEIdCAAKAIMIBBqLQAAciIONgIECwJAIA4gBEELdiADLwEAIg1sIglJDQAgACAOIAlrNgIEIAAgBCAJazYCACADIA0gDUEFdms7AQAMAgsgAyANQYAQIA1rQQV2ajsBACAAIAk2AgAgAEEBNgJoIABBCUELIAAoAmRBB0kbNgJkDAMLIAAgDiAEayIONgIEIA0gCSAJQQV2azsBACAPQagEaiENAkACQCADIARrIgNB////B00NACAQIQoMAQsgACADQQh0IgM2AgAgACAQQQFqIgo2AhAgACAOQQh0IAAoAgwgEGotAAByIg42AgQLAkACQCAOIANBC3YgDS8BACIEbCIJTw0AIAAgCTYCACANIARBgBAgBGtBBXZqOwEAIAAoAlghAwwBCyAAIA4gCWsiDjYCBCANIAQgBEEFdms7AQAgD0HABGohBAJAIAMgCWsiA0H///8HSw0AIAAgA0EIdCIDNgIAIAAgCkEBajYCECAAIA5BCHQgACgCDCAKai0AAHIiDjYCBAsCQAJAIA4gA0ELdiAELwEAIg1sIglPDQAgACAJNgIAIAQgDUGAECANa0EFdmo7AQAgACgCXCEDDAELIAAgDiAJazYCBCAAIAMgCWs2AgAgACgCYCEDIAAgACgCXDYCYCAEIA0gDUEFdms7AQALIAAgACgCWDYCXAsgACAAKAJUNgJYIAAgAzYCVAsgAEEIQQsgACgCZEEHSRs2AmQgACAHIAsQn4CAgAAMAQsgBCANQYAQIA1rQQV2ajsBACAAIAk2AgAgACAAKAJcNgJgIAAgACkCVDcCWCAAQQdBCiAAKAJkQQdJGzYCZCAAIAUgCxCfgICAACAAKAJoIgNBfmpBAyADQQZJGyEKIAAoAgAhA0EBIQ4DQCAAIApBB3RqIA5BAXQiDmpB2AdqIQ0CQAJAIANBgICACEkNACAAKAIEIQQMAQsgACADQQh0IgM2AgAgACAAKAIQIgRBAWo2AhAgACAAKAIEQQh0IAQgACgCDGotAAByIgQ2AgQLAkACQCAEIANBC3YgDS8BACIJbCIPSQ0AIAAgBCAPayIENgIEIAAgAyAPayIDNgIAIA0gCSAJQQV2azsBACAOQQFyIQ4MAQsgACAPNgIAIA0gCUGAECAJa0EFdmo7AQAgDyEDCyAOQcAASQ0ACwJAIA5BQGoiCUEDSw0AIAAgCTYCVAwBCyAAIA5BAXFBAnIiDTYCVCAJQQF2IQ8CQCAJQQ1LDQAgACANIA9Bf2oiDHQiCzYCVEEBIQ0gCCALQQF0akGEC2ohEEE/IA5rIRFBACEPA0AgECARIA1qQQF0aiEOAkACQCADQf///wdNDQAgAyEKDAELIAAgA0EIdCIKNgIAIAAgACgCECIDQQFqNgIQIAAgBEEIdCADIAAoAgxqLQAAciIENgIECwJAAkAgBCAKQQt2IA4vAQAiCWwiA0kNACAAIAQgA2siBDYCBCAAIAogA2siAzYCACAOIAkgCUEFdms7AQAgAEEBIA90IAtqIgs2AlQgDUEBdEEBciENDAELIAAgAzYCACAOIAlBgBAgCWtBBXZqOwEAIA1BAXQhDQsgDCAPQQFqIg9HDQAMAgsLIA9Be2ohDgNAAkAgA0H///8HSw0AIAAgA0EIdCIDNgIAIAAgACgCECIJQQFqNgIQIARBCHQgCSAAKAIMai0AAHIhBAsgACADQQF2IgM2AgAgACAEIANrIgRBH3UiCSANQQF0akEBaiINNgJUIAAgCSADcSAEaiIENgIEIA5Bf2oiDg0ACyAAIA1BBHQiCzYCVEEAIQ9BASEOA0AgACAOQQF0Ig5qQbwNaiENAkACQCADQf///wdNDQAgAyEKDAELIAAgA0EIdCIKNgIAIAAgACgCECIDQQFqNgIQIAAgBEEIdCADIAAoAgxqLQAAciIENgIECwJAAkAgBCAKQQt2IA0vAQAiCWwiA0kNACAAIAQgA2siBDYCBCAAIAogA2siAzYCACANIAkgCUEFdms7AQAgAEEBIA90IAtqIgs2AlQgDkEBciEODAELIAAgAzYCACANIAlBgBAgCWtBBXZqOwEACyAPQQFqIg9BBEcNAAsLAkAgASAGIAAoAlQQnoCAgAANAEEADwsgACgCICECCyACIAAoAihJDQALC0EBIQMCQCAAKAIAIgRB////B0sNACAAIARBCHQ2AgBBASEDIAAgACgCECIEQQFqNgIQIAAgACgCBEEIdCAEIAAoAgxqLQAAcjYCBAsgAwtwAQF/AkBBqN4BEICAgIAAIgJFDQAgAkE0aiABNgIAIAJBPGogADYCAAJAAkACQCAAQX9qDgIAAQILIAIgARCAgICAACIANgIYIAANASACEIKAgIAADAILIAJBADYCGCACQThqQQA2AgALIAIPC0EAC9IBAQJ/QQYhAgJAIAFBJ0sNACAAQTBqIAFBAXFBAnIgAUEBdkELanQiATYCAAJAAkAgAEE8aigCACIDRQ0AQQQhAiABIABBNGooAgBLDQIgAEEsaiABNgIAIANBAkcNACAAQThqIgMoAgAgAU8NACAAIAE2AjggACgCGBCCgICAACAAIAAoAjAQgICAgAAiATYCGCABDQBBAyECDAELQQAhAiAAQQA2AkAgAEHQAGpBAToAACAAQegAakEANgIAIABB5N0BaiEDCyADQQA2AgALIAILIwACQCAAQTxqKAIARQ0AIAAoAhgQgoCAgAALIAAQgoCAgAAL9QEBBH9BACEDAkAgACgCDCACTQ0AIAAoAhggAk0NACABIAEoAgAiBCAAKAIQIAAoAggiBWsiBiAEIAYgBEkbIgRrNgIAIAUgAkF/c2ohAQJAIAUgAksNACAAKAIUIAFqIQELIAAoAgAiAiABai0AACEGQQEhAyAAIAVBAWo2AgggAiAFaiAGOgAAAkAgBEF/aiICRQ0AA0AgACgCACIFQQAgAUEBaiIBIAEgACgCFEYbIgFqLQAAIQQgACAAKAIIIgZBAWo2AgggBSAGaiAEOgAAIAJBf2oiAg0ACwsgACgCDCAAKAIIIgFPDQAgACABNgIMCyADC8gEAQd/AkACQCAAKAIAIgNBgICACEkNACAAKAIEIQQMAQsgACADQQh0IgM2AgAgACAAKAIQIgVBAWo2AhAgACAAKAIEQQh0IAUgACgCDGotAAByIgQ2AgQLAkACQCAEIANBC3YgAS8BACIGbCIFTw0AIAEgBkGAECAGa0EFdmo7AQAgASACQQR0akEEaiEHQQghCEECIQkMAQsgACAEIAVrIgQ2AgQgASAGIAZBBXZrOwEAAkAgAyAFayIDQf///wdLDQAgACADQQh0IgM2AgAgACAAKAIQIgVBAWo2AhAgACAEQQh0IAUgACgCDGotAAByIgQ2AgQLAkAgBCADQQt2IAEvAQIiBmwiBU8NACABIAZBgBAgBmtBBXZqOwECIAEgAkEEdGpBhAJqIQdBCCEIQQohCQwBCyAAIAQgBWsiBDYCBCABIAYgBkEFdms7AQIgAUGEBGohByADIAVrIQVBgAIhCEESIQkLIABB6ABqIAk2AgBBASEBA0AgByABQQF0IgFqIQMCQAJAIAVB////B00NACAFIQIMAQsgACAFQQh0IgI2AgAgACAAKAIQIgVBAWo2AhAgACAEQQh0IAUgACgCDGotAAByIgQ2AgQLAkACQCAEIAJBC3YgAy8BACIGbCIFSQ0AIAAgBCAFayIENgIEIAAgAiAFayIFNgIAIAMgBiAGQQV2azsBACABQQFyIQEMAQsgACAFNgIAIAMgBkGAECAGa0EFdmo7AQALIAEgCEkNAAsgAEHoAGogASAIayAJajYCAAsLNQEAQYAICy4IAAAAEAAAABgAAAAgAAAAKAAAADAAAABAAAAAUAAAAIAAAAAAAQAA/Td6WFoA";},t=>{t.exports=e;}],r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]});},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});};var i={};return (()=>{n.r(i),n.d(i,{XzReadableStream:()=>a});var e=n(1);const t=globalThis.ReadableStream||n(2).ReadableStream;class r{constructor(e){this.exports=e.exports,this.memory=this.exports.memory,this.ptr=this.exports.create_context(),this._refresh(),this.bufSize=this.mem32[0],this.inStart=this.mem32[1]-this.ptr,this.inEnd=this.inStart+this.bufSize,this.outStart=this.mem32[4]-this.ptr;}supplyInput(e){this._refresh(),this.mem8.subarray(this.inStart,this.inEnd).set(e,0),this.exports.supply_input(this.ptr,e.byteLength),this._refresh();}getNextOutput(){const e=this.exports.get_next_output(this.ptr);if(this._refresh(),0!==e&&1!==e)throw new Error(`get_next_output failed with error code ${e}`);return {outChunk:this.mem8.slice(this.outStart,this.outStart+this.mem32[5]),finished:1===e}}needsMoreInput(){return this.mem32[2]===this.mem32[3]}outputBufferIsFull(){return this.mem32[5]===this.bufSize}resetOutputBuffer(){this.outPos=this.mem32[5]=0;}dispose(){this.exports.destroy_context(this.ptr),this.exports=null;}_refresh(){this.memory.buffer!==this.mem8?.buffer&&(this.mem8=new Uint8Array(this.memory.buffer,this.ptr),this.mem32=new Uint32Array(this.memory.buffer,this.ptr));}}class a extends t{static _moduleInstancePromise;static _moduleInstance;static async _getModuleInstance(){const t=e.replace("data:application/wasm;base64,",""),r=Uint8Array.from(atob(t),(e=>e.charCodeAt(0))).buffer,n=await WebAssembly.instantiate(r,{});a._moduleInstance=n.instance;}constructor(e){let t,n=null;const i=e.getReader();super({async start(e){a._moduleInstance||await(a._moduleInstancePromise||(a._moduleInstancePromise=a._getModuleInstance())),t=new r(a._moduleInstance);},async pull(e){if(t.needsMoreInput()){if(null===n||0===n.byteLength){const{done:e,value:t}=await i.read();e||(n=t);}const e=Math.min(t.bufSize,n.byteLength);t.supplyInput(n.subarray(0,e)),n=n.subarray(e);}const r=t.getNextOutput();e.enqueue(r.outChunk),t.resetOutputBuffer(),r.finished&&(t.dispose(),e.close());},cancel:()=>(t.dispose(),i.cancel())});}}})(),i})(),e.exports=n(r(772));},1308:(e,t)=>{let r=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];"undefined"!=typeof Int32Array&&(r=new Int32Array(r)),t.A=(e,t)=>{let n=0===t?0:-1^t;for(let t=0;t<e.length;t++)n=r[255&(n^e[t])]^n>>>8;return -1^n};},1447:(e,t,r)=>{var n=r(9805),i=r(3269),a=r(4823),s=r(7293),A=r(1998),o=-2,c=12,d=30;function l(e){return (e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function f(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}function u(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(852),t.distcode=t.distdyn=new n.Buf32(592),t.sane=1,t.back=-1,0):o}function g(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,u(e)):o}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?o:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,g(e))):o}function C(e,t){var r,n;return e?(n=new f,e.state=n,n.window=null,0!==(r=h(e,t))&&(e.state=null),r):o}var I,_,m=!0;function B(e){if(m){var t;for(I=new n.Buf32(512),_=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(A(1,e.lens,0,288,I,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;A(2,e.lens,0,32,_,0,e.work,{bits:5}),m=!1;}e.lencode=I,e.lenbits=9,e.distcode=_,e.distbits=5;}function p(e,t,r,i){var a,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),i>=s.wsize?(n.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((a=s.wsize-s.wnext)>i&&(a=i),n.arraySet(s.window,t,r-i,a,s.wnext),(i-=a)?(n.arraySet(s.window,t,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=a,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=a))),0}t.inflateReset=g,t.inflateReset2=h,t.inflateResetKeep=u,t.inflateInit=function(e){return C(e,15)},t.inflateInit2=C,t.inflate=function(e,t){var r,f,u,g,h,C,I,_,m,w,E,Q,y,b,D,S,k,v,R,F,M,N,x,L,O=0,T=new n.Buf8(4),P=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return o;(r=e.state).mode===c&&(r.mode=13),h=e.next_out,u=e.output,I=e.avail_out,g=e.next_in,f=e.input,C=e.avail_in,_=r.hold,m=r.bits,w=C,E=I,N=0;e:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;m<16;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(2&r.wrap&&35615===_){r.check=0,T[0]=255&_,T[1]=_>>>8&255,r.check=a(r.check,T,2,0),_=0,m=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&_)<<8)+(_>>8))%31){e.msg="incorrect header check",r.mode=d;break}if(8!=(15&_)){e.msg="unknown compression method",r.mode=d;break}if(m-=4,M=8+(15&(_>>>=4)),0===r.wbits)r.wbits=M;else if(M>r.wbits){e.msg="invalid window size",r.mode=d;break}r.dmax=1<<M,e.adler=r.check=1,r.mode=512&_?10:c,_=0,m=0;break;case 2:for(;m<16;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(r.flags=_,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=d;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=d;break}r.head&&(r.head.text=_>>8&1),512&r.flags&&(T[0]=255&_,T[1]=_>>>8&255,r.check=a(r.check,T,2,0)),_=0,m=0,r.mode=3;case 3:for(;m<32;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}r.head&&(r.head.time=_),512&r.flags&&(T[0]=255&_,T[1]=_>>>8&255,T[2]=_>>>16&255,T[3]=_>>>24&255,r.check=a(r.check,T,4,0)),_=0,m=0,r.mode=4;case 4:for(;m<16;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}r.head&&(r.head.xflags=255&_,r.head.os=_>>8),512&r.flags&&(T[0]=255&_,T[1]=_>>>8&255,r.check=a(r.check,T,2,0)),_=0,m=0,r.mode=5;case 5:if(1024&r.flags){for(;m<16;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}r.length=_,r.head&&(r.head.extra_len=_),512&r.flags&&(T[0]=255&_,T[1]=_>>>8&255,r.check=a(r.check,T,2,0)),_=0,m=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((Q=r.length)>C&&(Q=C),Q&&(r.head&&(M=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,f,g,Q,M)),512&r.flags&&(r.check=a(r.check,f,Q,g)),C-=Q,g+=Q,r.length-=Q),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===C)break e;Q=0;do{M=f[g+Q++],r.head&&M&&r.length<65536&&(r.head.name+=String.fromCharCode(M));}while(M&&Q<C);if(512&r.flags&&(r.check=a(r.check,f,Q,g)),C-=Q,g+=Q,M)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===C)break e;Q=0;do{M=f[g+Q++],r.head&&M&&r.length<65536&&(r.head.comment+=String.fromCharCode(M));}while(M&&Q<C);if(512&r.flags&&(r.check=a(r.check,f,Q,g)),C-=Q,g+=Q,M)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;m<16;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(_!==(65535&r.check)){e.msg="header crc mismatch",r.mode=d;break}_=0,m=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=c;break;case 10:for(;m<32;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}e.adler=r.check=l(_),_=0,m=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=h,e.avail_out=I,e.next_in=g,e.avail_in=C,r.hold=_,r.bits=m,2;e.adler=r.check=1,r.mode=c;case c:if(5===t||6===t)break e;case 13:if(r.last){_>>>=7&m,m-=7&m,r.mode=27;break}for(;m<3;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}switch(r.last=1&_,m-=1,3&(_>>>=1)){case 0:r.mode=14;break;case 1:if(B(r),r.mode=20,6===t){_>>>=2,m-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=d;}_>>>=2,m-=2;break;case 14:for(_>>>=7&m,m-=7&m;m<32;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if((65535&_)!=(_>>>16^65535)){e.msg="invalid stored block lengths",r.mode=d;break}if(r.length=65535&_,_=0,m=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(Q=r.length){if(Q>C&&(Q=C),Q>I&&(Q=I),0===Q)break e;n.arraySet(u,f,g,Q,h),C-=Q,g+=Q,I-=Q,h+=Q,r.length-=Q;break}r.mode=c;break;case 17:for(;m<14;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(r.nlen=257+(31&_),_>>>=5,m-=5,r.ndist=1+(31&_),_>>>=5,m-=5,r.ncode=4+(15&_),_>>>=4,m-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=d;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;m<3;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}r.lens[P[r.have++]]=7&_,_>>>=3,m-=3;}for(;r.have<19;)r.lens[P[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},N=A(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,N){e.msg="invalid code lengths set",r.mode=d;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;S=(O=r.lencode[_&(1<<r.lenbits)-1])>>>16&255,k=65535&O,!((D=O>>>24)<=m);){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(k<16)_>>>=D,m-=D,r.lens[r.have++]=k;else {if(16===k){for(L=D+2;m<L;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(_>>>=D,m-=D,0===r.have){e.msg="invalid bit length repeat",r.mode=d;break}M=r.lens[r.have-1],Q=3+(3&_),_>>>=2,m-=2;}else if(17===k){for(L=D+3;m<L;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}m-=D,M=0,Q=3+(7&(_>>>=D)),_>>>=3,m-=3;}else {for(L=D+7;m<L;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}m-=D,M=0,Q=11+(127&(_>>>=D)),_>>>=7,m-=7;}if(r.have+Q>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=d;break}for(;Q--;)r.lens[r.have++]=M;}}if(r.mode===d)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=d;break}if(r.lenbits=9,x={bits:r.lenbits},N=A(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,N){e.msg="invalid literal/lengths set",r.mode=d;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},N=A(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,N){e.msg="invalid distances set",r.mode=d;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(C>=6&&I>=258){e.next_out=h,e.avail_out=I,e.next_in=g,e.avail_in=C,r.hold=_,r.bits=m,s(e,E),h=e.next_out,u=e.output,I=e.avail_out,g=e.next_in,f=e.input,C=e.avail_in,_=r.hold,m=r.bits,r.mode===c&&(r.back=-1);break}for(r.back=0;S=(O=r.lencode[_&(1<<r.lenbits)-1])>>>16&255,k=65535&O,!((D=O>>>24)<=m);){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(S&&!(240&S)){for(v=D,R=S,F=k;S=(O=r.lencode[F+((_&(1<<v+R)-1)>>v)])>>>16&255,k=65535&O,!(v+(D=O>>>24)<=m);){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}_>>>=v,m-=v,r.back+=v;}if(_>>>=D,m-=D,r.back+=D,r.length=k,0===S){r.mode=26;break}if(32&S){r.back=-1,r.mode=c;break}if(64&S){e.msg="invalid literal/length code",r.mode=d;break}r.extra=15&S,r.mode=22;case 22:if(r.extra){for(L=r.extra;m<L;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}r.length+=_&(1<<r.extra)-1,_>>>=r.extra,m-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;S=(O=r.distcode[_&(1<<r.distbits)-1])>>>16&255,k=65535&O,!((D=O>>>24)<=m);){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(!(240&S)){for(v=D,R=S,F=k;S=(O=r.distcode[F+((_&(1<<v+R)-1)>>v)])>>>16&255,k=65535&O,!(v+(D=O>>>24)<=m);){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}_>>>=v,m-=v,r.back+=v;}if(_>>>=D,m-=D,r.back+=D,64&S){e.msg="invalid distance code",r.mode=d;break}r.offset=k,r.extra=15&S,r.mode=24;case 24:if(r.extra){for(L=r.extra;m<L;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}r.offset+=_&(1<<r.extra)-1,_>>>=r.extra,m-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=d;break}r.mode=25;case 25:if(0===I)break e;if(Q=E-I,r.offset>Q){if((Q=r.offset-Q)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=d;break}Q>r.wnext?(Q-=r.wnext,y=r.wsize-Q):y=r.wnext-Q,Q>r.length&&(Q=r.length),b=r.window;}else b=u,y=h-r.offset,Q=r.length;Q>I&&(Q=I),I-=Q,r.length-=Q;do{u[h++]=b[y++];}while(--Q);0===r.length&&(r.mode=21);break;case 26:if(0===I)break e;u[h++]=r.length,I--,r.mode=21;break;case 27:if(r.wrap){for(;m<32;){if(0===C)break e;C--,_|=f[g++]<<m,m+=8;}if(E-=I,e.total_out+=E,r.total+=E,E&&(e.adler=r.check=r.flags?a(r.check,u,E,h-E):i(r.check,u,E,h-E)),E=I,(r.flags?_:l(_))!==r.check){e.msg="incorrect data check",r.mode=d;break}_=0,m=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;m<32;){if(0===C)break e;C--,_+=f[g++]<<m,m+=8;}if(_!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=d;break}_=0,m=0;}r.mode=29;case 29:N=1;break e;case d:N=-3;break e;case 31:return -4;default:return o}return e.next_out=h,e.avail_out=I,e.next_in=g,e.avail_in=C,r.hold=_,r.bits=m,(r.wsize||E!==e.avail_out&&r.mode<d&&(r.mode<27||4!==t))&&p(e,e.output,e.next_out,E-e.avail_out)?(r.mode=31,-4):(w-=e.avail_in,E-=e.avail_out,e.total_in+=w,e.total_out+=E,r.total+=E,r.wrap&&E&&(e.adler=r.check=r.flags?a(r.check,u,E,e.next_out-E):i(r.check,u,E,e.next_out-E)),e.data_type=r.bits+(r.last?64:0)+(r.mode===c?128:0)+(20===r.mode||15===r.mode?256:0),(0===w&&0===E||4===t)&&0===N&&(N=-5),N)},t.inflateEnd=function(e){if(!e||!e.state)return o;var t=e.state;return t.window&&(t.window=null),e.state=null,0},t.inflateGetHeader=function(e,t){var r;return e&&e.state&&2&(r=e.state).wrap?(r.head=t,t.done=!1,0):o},t.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?o:11===r.mode&&i(1,t,n,0)!==r.check?-3:p(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,0):o},t.inflateInfo="pako inflate (from Nodeca project)";},1492:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(6761),s=r(6272);class A extends i.default{constructor(e,t){if(super(e,t),"int"!==this.dataType)throw new s.CramUnimplementedError(`${this.dataType} decoding not yet implemented by SUBEXP codec`)}decode(e,t,r,n){let i,s,A=0;for(;(0, a.getBits)(t.content,n.coreBlock,1);)A+=1;return 0===A?(i=this.parameters.K,s=(0, a.getBits)(t.content,n.coreBlock,i)):(i=A+this.parameters.K-1,s=1<<i|(0, a.getBits)(t.content,n.coreBlock,i)),s-this.parameters.offset}}t.default=A;},1558:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){let A=e.getInt(),o=e.getInt(),c=e.getInt(),d=e.getInt();const l=n.remaining(),f=-4&l;for(let i=0;i<f;i+=4){const l=t.R[s.default.get(A,a.TF_SHIFT)],f=t.R[s.default.get(o,a.TF_SHIFT)],u=t.R[s.default.get(c,a.TF_SHIFT)],g=t.R[s.default.get(d,a.TF_SHIFT)];n.putAt(i,l),n.putAt(i+1,f),n.putAt(i+2,u),n.putAt(i+3,g),A=s.default.advanceSymbolStep(A,r[255&l],a.TF_SHIFT),o=s.default.advanceSymbolStep(o,r[255&f],a.TF_SHIFT),c=s.default.advanceSymbolStep(c,r[255&u],a.TF_SHIFT),d=s.default.advanceSymbolStep(d,r[255&g],a.TF_SHIFT),A=s.default.renormalize(A,e),o=s.default.renormalize(o,e),c=s.default.renormalize(c,e),d=s.default.renormalize(d,e);}let u;switch(n.setPosition(f),3&l){case 0:break;case 1:u=t.R[s.default.get(A,a.TF_SHIFT)],s.default.advanceSymbol(A,e,r[255&u],a.TF_SHIFT),n.put(u);break;case 2:u=t.R[s.default.get(A,a.TF_SHIFT)],s.default.advanceSymbol(A,e,r[255&u],a.TF_SHIFT),n.put(u),u=t.R[s.default.get(o,a.TF_SHIFT)],s.default.advanceSymbol(o,e,r[255&u],a.TF_SHIFT),n.put(u);break;case 3:u=t.R[s.default.get(A,a.TF_SHIFT)],s.default.advanceSymbol(A,e,r[255&u],a.TF_SHIFT),n.put(u),u=t.R[s.default.get(o,a.TF_SHIFT)],s.default.advanceSymbol(o,e,r[255&u],a.TF_SHIFT),n.put(u),u=t.R[s.default.get(c,a.TF_SHIFT)],s.default.advanceSymbol(c,e,r[255&u],a.TF_SHIFT),n.put(u);break;default:throw new i.CramMalformedError("invalid output size encountered during rANS decoding")}n.setPosition(0);};const i=r(6272),a=r(7151),s=n(r(9301));},1609:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.instantiateCodec=function e(t,r){const n=(i="ignore"===r?0:t.codecId,f[i]);var i;if(!n)throw new l.CramUnimplementedError(`no codec implemented for codec ID ${t.codecId}`);return new n(t.parameters,r,e)};const i=n(r(807)),a=n(r(7934)),s=n(r(8006)),A=n(r(8930)),o=n(r(632)),c=n(r(4056)),d=n(r(1492)),l=r(6272),f={1:A.default,3:c.default,4:a.default,5:s.default,6:i.default,7:d.default,9:o.default};},1668:(e,t,r)=>{var n={};(0, r(9805).assign)(n,r(3303),r(7083),r(9681)),e.exports=n;},1739:function(e,t,r){var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i);}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&i(t,e,r[s]);return a(t,e),t}),A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e,t,r){(e=new d.default(e)).ReadUint32();const n=e.ReadUint32(),i=e.ReadByte(),a=function(e,t,r,n){let i=-1;const a=new Array(256);for(;!e.EOF();){const t=e.ReadByte(),s=128&t,A=64&t,c=63&t;if(s&&(i++,a[i]=new Array(13)),c!=u&&s){const e=new Array(n-1).fill(w);a[i][u]=new d.default((0, o.concatUint8Array)([new Uint8Array(c),e]));}if(A){const t=e.ReadByte(),r=e.ReadByte();a[i][c]=new d.default(a[t][r].buf);}else {const t=e.ReadUint7(),n=e.ReadData(t);a[i][c]=r?f.decode(n):l.decode(n),a[i][c]=new d.default(a[i][c]);}}return a}(e,0,i,n),s=new Array(n),A=new Array(n);let c="";void 0===r&&(r="\n");for(let e=0;e<n;e++)c+=y(a,s,A,e)+r;return c};const o=r(6951),c=A(r(9505)),d=A(r(3088)),l=s(r(9313)),f=new c.default,u=0,g=1,h=2,C=3,I=4,_=5,m=7,B=8,p=9,w=10,E=12;function Q(e,t){let r=e+"";for(;r.length<t;)r="0"+r;return r}function y(e,t,r,n){let i=e[0][u].ReadByte();const a=n-e[0][i].ReadUint32();if(i==_)return t[n]=t[a],r[n]=r[a],t[n];let s=1;t[n]="",r[n]=new Array(256);do{switch(i=e[s][u].ReadByte(),i){case h:r[n][s]=e[s][h].ReadChar();break;case g:r[n][s]=e[s][g].ReadString();break;case m:r[n][s]=e[s][m].ReadUint32();break;case C:var A=e[s][C].ReadUint32(),o=e[s][I].ReadByte();r[n][s]=Q(A,o);break;case B:r[n][s]=(0|r[a][s])+e[s][B].ReadByte();break;case p:A=(0|r[a][s])+e[s][p].ReadByte(),o=r[a][s].length,r[n][s]=Q(A,o);break;case w:r[n][s]=r[a][s];break;default:r[n][s]="";}t[n]+=r[n][s++];}while(i!=E);return t[n]}},1996:(e,t,r)=>{var n=r(9805),i=!0,a=!0;try{String.fromCharCode.apply(null,[0]);}catch(e){i=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(e){a=!1;}for(var s=new n.Buf8(256),A=0;A<256;A++)s[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;function o(e,t){if(t<65534&&(e.subarray&&a||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var r="",s=0;s<t;s++)r+=String.fromCharCode(e[s]);return r}s[254]=s[254]=1,t.string2buf=function(e){var t,r,i,a,s,A=e.length,o=0;for(a=0;a<A;a++)55296==(64512&(r=e.charCodeAt(a)))&&a+1<A&&56320==(64512&(i=e.charCodeAt(a+1)))&&(r=65536+(r-55296<<10)+(i-56320),a++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new n.Buf8(o),s=0,a=0;s<o;a++)55296==(64512&(r=e.charCodeAt(a)))&&a+1<A&&56320==(64512&(i=e.charCodeAt(a+1)))&&(r=65536+(r-55296<<10)+(i-56320),a++),r<128?t[s++]=r:r<2048?(t[s++]=192|r>>>6,t[s++]=128|63&r):r<65536?(t[s++]=224|r>>>12,t[s++]=128|r>>>6&63,t[s++]=128|63&r):(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63,t[s++]=128|r>>>6&63,t[s++]=128|63&r);return t},t.buf2binstring=function(e){return o(e,e.length)},t.binstring2buf=function(e){for(var t=new n.Buf8(e.length),r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t},t.buf2string=function(e,t){var r,n,i,a,A=t||e.length,c=new Array(2*A);for(n=0,r=0;r<A;)if((i=e[r++])<128)c[n++]=i;else if((a=s[i])>4)c[n++]=65533,r+=a-1;else {for(i&=2===a?31:3===a?15:7;a>1&&r<A;)i=i<<6|63&e[r++],a--;a>1?c[n++]=65533:i<65536?c[n++]=i:(i-=65536,c[n++]=55296|i>>10&1023,c[n++]=56320|1023&i);}return o(c,n)},t.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;r>=0&&128==(192&e[r]);)r--;return r<0||0===r?t:r+s[e[r]]>t?r:t};},1998:(e,t,r)=>{var n=r(9805),i=[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],a=[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],s=[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],A=[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];e.exports=function(e,t,r,o,c,d,l,f){var u,g,h,C,I,_,m,B,p,w=f.bits,E=0,Q=0,y=0,b=0,D=0,S=0,k=0,v=0,R=0,F=0,M=null,N=0,x=new n.Buf16(16),L=new n.Buf16(16),O=null,T=0;for(E=0;E<=15;E++)x[E]=0;for(Q=0;Q<o;Q++)x[t[r+Q]]++;for(D=w,b=15;b>=1&&0===x[b];b--);if(D>b&&(D=b),0===b)return c[d++]=20971520,c[d++]=20971520,f.bits=1,0;for(y=1;y<b&&0===x[y];y++);for(D<y&&(D=y),v=1,E=1;E<=15;E++)if(v<<=1,(v-=x[E])<0)return -1;if(v>0&&(0===e||1!==b))return -1;for(L[1]=0,E=1;E<15;E++)L[E+1]=L[E]+x[E];for(Q=0;Q<o;Q++)0!==t[r+Q]&&(l[L[t[r+Q]]++]=Q);if(0===e?(M=O=l,_=19):1===e?(M=i,N-=257,O=a,T-=257,_=256):(M=s,O=A,_=-1),F=0,Q=0,E=y,I=d,S=D,k=0,h=-1,C=(R=1<<D)-1,1===e&&R>852||2===e&&R>592)return 1;for(;;){m=E-k,l[Q]<_?(B=0,p=l[Q]):l[Q]>_?(B=O[T+l[Q]],p=M[N+l[Q]]):(B=96,p=0),u=1<<E-k,y=g=1<<S;do{c[I+(F>>k)+(g-=u)]=m<<24|B<<16|p;}while(0!==g);for(u=1<<E-1;F&u;)u>>=1;if(0!==u?(F&=u-1,F+=u):F=0,Q++,0===--x[E]){if(E===b)break;E=t[r+l[Q]];}if(E>D&&(F&C)!==h){for(0===k&&(k=D),I+=y,v=1<<(S=E-k);S+k<b&&!((v-=x[S+k])<=0);)S++,v<<=1;if(R+=1<<S,1===e&&R>852||2===e&&R>592)return 1;c[h=F&C]=D<<24|S<<16|I-d;}}return 0!==F&&(c[I+F]=E-k<<24|64<<16),f.bits=D,0};},2151:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],r=0;r<e.length;r++)t.push(255&e.charCodeAt(r));return t},bytesToString:function(e){for(var t=[],r=0;r<e.length;r++)t.push(String.fromCharCode(e[r]));return t.join("")}}};e.exports=t;},2169:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.unzip=function(e){return (0, n.inflate)(e)};const n=r(1668);},2324:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e=256){this.total_freq=e,this.max_sym=e-1,this.S=[],this.F=[];for(let e=0;e<=this.max_sym;e++)this.S[e]=e,this.F[e]=1;}ModelDecode(e,t){const r=t.RangeGetFrequency(this.total_freq);let n=0,i=0;for(;n+this.F[i]<=r;)n+=this.F[i++];t.RangeDecode(e,n,this.F[i],this.total_freq),this.F[i]+=16,this.total_freq+=16,this.total_freq>65519&&this.ModelRenormalise();const a=this.S[i];if(i>0&&this.F[i]>this.F[i-1]){let e=this.F[i];this.F[i]=this.F[i-1],this.F[i-1]=e,e=this.S[i],this.S[i]=this.S[i-1],this.S[i-1]=e;}return a}ModelRenormalise(){this.total_freq=0;for(let e=0;e<=this.max_sym;e++)this.F[e]-=Math.floor(this.F[e]/2),this.total_freq+=this.F[e];}ModelEncode(e,t,r){let n=0;for(var i=0;this.S[i]!=r;i++)n+=this.F[i];if(t.RangeEncode(e,n,this.F[i],this.total_freq),this.F[i]+=16,this.total_freq+=16,this.total_freq>65519&&this.ModelRenormalise(),r=this.S[i],i>0&&this.F[i]>this.F[i-1]){let e=this.F[i];this.F[i]=this.F[i-1],this.F[i-1]=e,e=this.S[i],this.S[i]=this.S[i-1],this.S[i-1]=e;}}};},2549:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TWO_PWR_56_DBL=t.TWO_PWR_24_DBL=t.TWO_PWR_64_DBL=t.TWO_PWR_32_DBL=t.TWO_PWR_16_DBL=void 0,t.itf8Size=function(e){return -128&e?-16384&e?-2097152&e?-268435456&e?5:4:3:2:1},t.parseItf8=function(e,t){let r=t;const n=e[r];let i;return n<128?(i=n,r+=1):n<192?(i=(63&n)<<8|e[r+1],r+=2):n<224?(i=(31&n)<<16|e[r+1]<<8|e[r+2],r+=3):n<240?(i=(15&n)<<24|e[r+1]<<16|e[r+2]<<8|e[r+3],r+=4):(i=(15&n)<<28|e[r+1]<<20|e[r+2]<<12|e[r+3]<<4|15&e[r+4],r+=5),[i,r-t]},t.parseLtf8=function(e,r){let n=r;const i=e[n];let a;return i<128?(a=i,n+=1):i<192?(a=16383&(i<<8|e[n+1]),n+=2):i<224?(a=(63&i)<<16|e[n+1]<<8|e[n+2],n+=3):i<240?(a=(31&i)<<24|e[n+1]<<16|e[n+2]<<8|e[n+3],n+=4):i<248?(a=(15&e[n])*t.TWO_PWR_32_DBL+(e[n+1]<<24|e[n+2]<<16|e[n+3]<<8|e[n+4]),n+=5):i<252?(a=((7&e[n])<<8|e[n+1])*t.TWO_PWR_32_DBL+(e[n+2]<<24|e[n+3]<<16|e[n+4]<<8|e[n+5]),n+=6):i<254?(a=((3&e[n])<<16|e[n+1]<<8|e[n+2])*t.TWO_PWR_32_DBL+(e[n+3]<<24|e[n+4]<<16|e[n+5]<<8|e[n+6]),n+=7):i<255?(a=(e[n+1]<<24|e[n+2]<<16|e[n+3]<<8|e[n+4])*t.TWO_PWR_32_DBL+(e[n+5]<<24|e[n+6]<<16|e[n+7]<<8|e[n+8]),n+=8):(a=e[n+1]*t.TWO_PWR_56_DBL+(e[n+2]<<24|e[n+3]<<16|e[n+4]<<8|e[n+5])*t.TWO_PWR_32_DBL+(e[n+6]<<24|e[n+7]<<16|e[n+8]<<8|e[n+9]),n+=9),[a,n-r]},t.parseItem=function(e,t,r=0,n=0){const{offset:i,value:a}=t(e,r);return {...a,_endPosition:i+n,_size:i-r}},t.tinyMemoize=function(e,t){const r=e.prototype[t],n=`_memo_${t}`;e.prototype[t]=function(){if(!(n in this)){const e=r.call(this);this[n]=e,Promise.resolve(e).catch((()=>{delete this[n];}));}return this[n]};},t.sequenceMD5=function(e){return (0, i.default)(e.toUpperCase().replaceAll(/[^\u0021-\u007e]/g,""))};const i=n(r(3503));t.TWO_PWR_16_DBL=65536,t.TWO_PWR_32_DBL=t.TWO_PWR_16_DBL*t.TWO_PWR_16_DBL,t.TWO_PWR_64_DBL=t.TWO_PWR_32_DBL*t.TWO_PWR_32_DBL,t.TWO_PWR_24_DBL=1<<24,t.TWO_PWR_56_DBL=t.TWO_PWR_24_DBL*t.TWO_PWR_32_DBL;},2616:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(9846);t.default=class{constructor(e,t={}){this.filename=e;}async read(e,t=0){const r=new Uint8Array(e),i=await(0, n.open)(this.filename,"r"),a=await i.read(r,0,e,t);return await i.close(),a.buffer.subarray(0,a.bytesRead)}async readFile(e){const t=await(0, n.readFile)(this.filename,e);return "string"==typeof t?t:new Uint8Array(t)}async stat(){return (0, n.stat)(this.filename)}async close(){}};},2660:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e,t){return function(e,t){const r=e.ReadUint7(),n=function(e){const t={max_sym:0};if(5!=e.ReadByte())return void console.error("Invalid FQZComp version number");const r=e.ReadByte(),n=r&h?e.ReadByte():1;let i=r.nparam>1?r.nparam-1:0;const a=new Array(256);if(r&C)i=e.ReadByte(),A(e,a,256);else {for(var s=0;s<n;s++)a[s]=s;for(;s<256;s++)a[s]=n-1;}t.do_rev=r&I,t.stab=a,t.max_sel=i,t.params=new Array(t.nparam);for(let r=0;r<n;r++)t.params[r]=m(e),t.max_sym<t.params[r].max_sym&&(t.max_sym=t.params[r].max_sym);return t}(e);if(!n)return;var s=n.params;const o=new Array(t.length),c=function(e){const t={};t.qual=new Array(65536);for(var r=0;r<65536;r++)t.qual[r]=new a.default(e.max_sym+1);for(t.len=new Array(4),r=0;r<4;r++)t.len[r]=new a.default(256);return t.rev=new a.default(2),t.dup=new a.default(2),e.max_sel>0&&(t.sel=new a.default(e.max_sel+1)),t}(n),d=new i.default(e);d.RangeStartDecode(e);const l=new Uint8Array(r),f={qctx:0,prevq:0,delta:0,p:0,s:0,x:0,len:0,is_dup:0,rec:0};let u=0;for(;u<r;){if(0==f.p){if(B(e,d,n,c,f,o),f.is_dup>0&&c.dup.ModelDecode(e,d)){for(let e=0;e<len;e++)l[u+e]=l[u+e-f.len];u+=f.len,f.p=0;continue}t.push(f.len);var g=(s=n.params[f.x]).context;}const r=c.qual[g].ModelDecode(e,d);l[u++]=s.qmap[r],g=_(s,f,r);}return n.do_rev&&function(e,t,r,n){let i=0,a=0;for(;a<t;){if(r[i]){let t=0,r=n[i]-1;for(;t<r;){const n=e[a+t];e[a+t]=e[a+r],e[a+r]=n,t++,r--;}}a+=n[i++];}}(l,r,o,t),l}(new s.default(e),t)};const i=n(r(4652)),a=n(r(2324)),s=n(r(3088));function A(e,t,r){let n=0,i=0,a=-1;const s=new Array(1024);for(;i<r;){const t=e.ReadByte();if(s[n++]=t,i+=t,t==a){let r=e.ReadByte();for(i+=t*r;r--;)s[n++]=t;}a=t;}let A=0;for(n=0,i=0;i<r;){let e=0;do{var o=s[n++];e+=o;}while(255==o);for(;e--;)t[i++]=A;A++;}}const o=2,c=4,d=8,l=16,f=32,u=64,g=128,h=1,C=2,I=4;function _(e,t,r){let n=e.context;return t.qctx=(t.qctx<<e.qshift)+e.qtab[r],n+=(t.qctx&(1<<e.qbits)-1)<<e.qloc,e.do_pos&&(n+=e.ptab[Math.min(t.p,1023)]<<e.ploc),e.do_delta&&(n+=e.dtab[Math.min(t.delta,255)]<<e.dloc,t.delta+=t.prevq!=r?1:0,t.prevq=r),e.do_sel&&(n+=t.s<<e.sloc),t.p--,65535&n}function m(e){const t={};t.context=e.ReadUint16(),t.pflags=e.ReadByte(),t.do_dedup=t.pflags&o,t.fixed_len=t.pflags&c,t.do_sel=t.pflags&d,t.do_qmap=t.pflags&l,t.do_pos=t.pflags&f,t.do_delta=t.pflags&u,t.do_qtab=t.pflags&g,t.max_sym=e.ReadByte();let r=e.ReadByte();if(t.qbits=r>>4,t.qshift=15&r,r=e.ReadByte(),t.qloc=r>>4,t.sloc=15&r,r=e.ReadByte(),t.ploc=r>>4,t.dloc=15&r,t.qmap=new Array(256),t.pflags&l)for(var n=0;n<t.max_sym;n++)t.qmap[n]=e.ReadByte();else for(n=0;n<256;n++)t.qmap[n]=n;if(t.qtab=new Array(1024),t.qbits>0&&t.pflags&g)A(e,t.qtab,256);else for(n=0;n<256;n++)t.qtab[n]=n;return t.ptab=new Array(1024),t.pflags&f&&A(e,t.ptab,1024),t.dtab=new Array(256),t.pflags&u&&A(e,t.dtab,256),t}function B(e,t,r,n,i,a){i.s=r.max_sel>0?n.sel.ModelDecode(e,t):0,i.x=r.stab[i.s];const s=r.params[i.x];if(s.fixed_len>=0){var A=n.len[0].ModelDecode(e,t);A|=n.len[1].ModelDecode(e,t)<<8,A|=n.len[2].ModelDecode(e,t)<<16,A|=n.len[3].ModelDecode(e,t)<<24,s.fixed_len>0&&(s.fixed_len=-A);}else A=-s.fixed_len;i.len=A,r.do_rev&&(a[i.rec]=n.rev.ModelDecode(e,t)),i.is_dup=0,s.pflags&o&&n.dup.ModelDecode(e,t)&&(i.is_dup=1),i.p=A,i.delta=0,i.qctx=0,i.prevq=0,i.rec++;}},2670:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r=0){if(0===e.length)return t.fill(0),t;const n=new d(e,r),l=n.get();if(0!==l&&1!==l)throw new i.CramMalformedError(`Invalid rANS order ${l}`);if(n.getInt()!==n.remaining()-c)throw new i.CramMalformedError("Incorrect input length.");const f=n.getInt(),u=new d(t||new Uint8Array(f));if(u.length<f)throw new i.CramMalformedError(`Output buffer too small to fit ${f} bytes.`);switch(l){case 0:return function(e,t){const r=new A.default.AriDecoder,n=new Array(256);for(let e=0;e<n.length;e+=1)n[e]=new A.default.DecodingSymbol;return (0, o.readStatsO0)(e,r,n),(0, a.default)(e,r,n,t),t}(n,u);case 1:return function(e,t){const r=new Array(256);for(let e=0;e<r.length;e+=1)r[e]=new A.default.AriDecoder;const n=new Array(256);for(let e=0;e<n.length;e+=1){n[e]=new Array(256);for(let t=0;t<n[e].length;t+=1)n[e][t]=new A.default.DecodingSymbol;}return (0, o.readStatsO1)(e,r,n),(0, s.default)(e,t,r,n),t}(n,u);default:throw new i.CramMalformedError(`Invalid rANS order: ${l}`)}};const i=r(6272),a=n(r(1558)),s=n(r(2867)),A=n(r(9301)),o=r(6268),c=4;class d{constructor(e,t=0){this._buffer=e,this._dataView=new DataView(e.buffer),this._position=t,this.length=e.length;}get(){const e=this._buffer[this._position];return this._position+=1,e}getByte(){return this.get()}getByteAt(e){return this._buffer[e]}position(){return this._position}put(e){return this._buffer[this._position]=e,this._position+=1,e}putAt(e,t){return this._buffer[e]=t,t}setPosition(e){return this._position=e,e}getInt(){const e=this._dataView.getInt32(this._position,!0);return this._position+=4,e}remaining(){return this._buffer.length-this._position}}},2845:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(6272),a=n(r(500)),s=r(2549),A=n(r(8700)),o=r(7580);class c{constructor(e,t){this.file=e,this.filePosition=t;}getHeader(){return this._readContainerHeader(this.filePosition)}async getCompressionHeaderBlock(){if(!(await this.getHeader()).numRecords)return null;const{majorVersion:e}=await this.file.getDefinition(),t=(0, o.getSectionParsers)(e),r=await this.getFirstBlock();if("COMPRESSION_HEADER"!==r.contentType)throw new i.CramMalformedError(`invalid content type ${r.contentType} in compression header block`);const n=(0, s.parseItem)(r.content,t.cramCompressionHeader.parser,0,r.contentPosition);return {...r,parsedContent:n}}async getFirstBlock(){const e=await this.getHeader();return this.file.readBlock(e._endPosition)}async getCompressionScheme(){const e=await this.getCompressionHeaderBlock();if(e)return new A.default(e.parsedContent)}getSlice(e,t){return new a.default(this,e,t)}async _readContainerHeader(e){const{majorVersion:t}=await this.file.getDefinition(),r=(0, o.getSectionParsers)(t),{cramContainerHeader1:n,cramContainerHeader2:i}=r,a=await this.file.read(n.maxLength,e),A=(0, s.parseItem)(a,n.parser),c=(0, s.itf8Size)(A.numLandmarks),d=await this.file.read(i.maxLength(A.numLandmarks),e+A._size-c),l=(0, s.parseItem)(d,i.parser);return this.file.validateChecksums&&void 0!==l.crc32&&await this.file.checkCrc32(e,A._size+l._size-c-4,l.crc32,`container header beginning at position ${e}`),{...A,...l,_size:A._size+l._size-c,_endPosition:A._size+l._size-c+e}}}t.default=c,"getHeader getCompressionHeaderBlock getCompressionScheme".split(" ").forEach((e=>{(0, s.tinyMemoize)(c,e);}));},2867:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){const s=t.remaining();let A=e.getInt(),o=e.getInt(),c=e.getInt(),d=e.getInt();const l=s>>2;let f=0,u=l,g=2*l,h=3*l,C=0,I=0,_=0,m=0;for(;f<l;f+=1,u+=1,g+=1,h+=1){const s=255&r[C].R[a.default.get(A,i.TF_SHIFT)],l=255&r[I].R[a.default.get(o,i.TF_SHIFT)],B=255&r[_].R[a.default.get(c,i.TF_SHIFT)],p=255&r[m].R[a.default.get(d,i.TF_SHIFT)];t.putAt(f,s),t.putAt(u,l),t.putAt(g,B),t.putAt(h,p),A=a.default.advanceSymbolStep(A,n[C][s],i.TF_SHIFT),o=a.default.advanceSymbolStep(o,n[I][l],i.TF_SHIFT),c=a.default.advanceSymbolStep(c,n[_][B],i.TF_SHIFT),d=a.default.advanceSymbolStep(d,n[m][p],i.TF_SHIFT),A=a.default.renormalize(A,e),o=a.default.renormalize(o,e),c=a.default.renormalize(c,e),d=a.default.renormalize(d,e),C=s,I=l,_=B,m=p;}for(;h<s;h+=1){const s=255&r[m].R[a.default.get(d,i.TF_SHIFT)];t.putAt(h,s),d=a.default.advanceSymbol(d,e,n[m][s],i.TF_SHIFT),m=s;}};const i=r(7151),a=n(r(9301));},3088:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t=0,r=0){0!==r?(this.buf=new Uint8Array(r),this.length=r):(this.buf=e,this.length=e.length),this.dataView=new DataView(this.buf.buffer),this.pos=t;}EOF(){return this.pos>=this.length}ReadData(e){const t=this.buf.slice(this.pos,this.pos+e);return this.pos+=e,t}ReadByte(){const e=this.buf[this.pos];return this.pos++,e}ReadChar(){const e=this.buf[this.pos];return this.pos++,String.fromCharCode(e)}ReadUint16(){let e=this.ReadByte();return e|=this.ReadByte()<<8,e}ReadUint32(){const e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}ReadString(){let e,t="";do{e=this.buf[this.pos++],e&&(t+=String.fromCharCode(e));}while(e);return t}ReadUint7(){let e,t=0;do{e=this.ReadByte(),t=t<<7|127&e;}while(128&e);return t}ReadITF8(){let e=this.buf[this.pos];return this.pos++,e>=240?(e=(15&e)<<28,e+=(this.buf[this.pos+0]<<20)+(this.buf[this.pos+1]<<12)+(this.buf[this.pos+2]<<4)+(this.buf[this.pos+3]>>4),this.pos+=4):e>=224?(e=(15&e)<<24,e+=(this.buf[this.pos+0]<<16)+(this.buf[this.pos+1]<<8)+(0|this.buf[this.pos+2]),this.pos+=3):e>=192?(e=(31&e)<<16,e+=(this.buf[this.pos+0]<<8)+(0|this.buf[this.pos+1]),this.pos+=2):e>=128&&(e=(63&e)<<8,e+=this.buf[this.pos],this.pos++),e}};},3269:e=>{e.exports=function(e,t,r,n){for(var i=65535&e,a=e>>>16&65535,s=0;0!==r;){r-=s=r>2e3?2e3:r;do{a=a+(i=i+t[n++]|0)|0;}while(--s);i%=65521,a%=65521;}return i|a<<16};},3303:(e,t,r)=>{var n=r(8411),i=r(9805),a=r(1996),s=r(4674),A=r(4442),o=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new A,this.strm.avail_out=0;var r=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==r)throw new Error(s[r]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var d;if(d="string"==typeof t.dictionary?a.string2buf(t.dictionary):"[object ArrayBuffer]"===o.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(r=n.deflateSetDictionary(this.strm,d)))throw new Error(s[r]);this._dict_set=!0;}}function d(e,t){var r=new c(t);if(r.push(e,!0),r.err)throw r.msg||s[r.err];return r.result}c.prototype.push=function(e,t){var r,s,A=this.strm,c=this.options.chunkSize;if(this.ended)return !1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?A.input=a.string2buf(e):"[object ArrayBuffer]"===o.call(e)?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;do{if(0===A.avail_out&&(A.output=new i.Buf8(c),A.next_out=0,A.avail_out=c),1!==(r=n.deflate(A,s))&&0!==r)return this.onEnd(r),this.ended=!0,!1;0!==A.avail_out&&(0!==A.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(a.buf2binstring(i.shrinkBuf(A.output,A.next_out))):this.onData(i.shrinkBuf(A.output,A.next_out)));}while((A.avail_in>0||0===A.avail_out)&&1!==r);return 4===s?(r=n.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==s||(this.onEnd(0),A.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e);},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},t.Deflate=c,t.deflate=d,t.deflateRaw=function(e,t){return (t=t||{}).raw=!0,d(e,t)},t.gzip=function(e,t){return (t=t||{}).gzip=!0,d(e,t)};},3503:(e,t,r)=>{var n,i,a,s,A;n=r(3939),i=r(2151).utf8,a=r(652),s=r(2151).bin,(A=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?s.stringToBytes(e):i.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var r=n.bytesToWords(e),o=8*e.length,c=1732584193,d=-271733879,l=-1732584194,f=271733878,u=0;u<r.length;u++)r[u]=16711935&(r[u]<<8|r[u]>>>24)|4278255360&(r[u]<<24|r[u]>>>8);r[o>>>5]|=128<<o%32,r[14+(o+64>>>9<<4)]=o;var g=A._ff,h=A._gg,C=A._hh,I=A._ii;for(u=0;u<r.length;u+=16){var _=c,m=d,B=l,p=f;c=g(c,d,l,f,r[u+0],7,-680876936),f=g(f,c,d,l,r[u+1],12,-389564586),l=g(l,f,c,d,r[u+2],17,606105819),d=g(d,l,f,c,r[u+3],22,-1044525330),c=g(c,d,l,f,r[u+4],7,-176418897),f=g(f,c,d,l,r[u+5],12,1200080426),l=g(l,f,c,d,r[u+6],17,-1473231341),d=g(d,l,f,c,r[u+7],22,-45705983),c=g(c,d,l,f,r[u+8],7,1770035416),f=g(f,c,d,l,r[u+9],12,-1958414417),l=g(l,f,c,d,r[u+10],17,-42063),d=g(d,l,f,c,r[u+11],22,-1990404162),c=g(c,d,l,f,r[u+12],7,1804603682),f=g(f,c,d,l,r[u+13],12,-40341101),l=g(l,f,c,d,r[u+14],17,-1502002290),c=h(c,d=g(d,l,f,c,r[u+15],22,1236535329),l,f,r[u+1],5,-165796510),f=h(f,c,d,l,r[u+6],9,-1069501632),l=h(l,f,c,d,r[u+11],14,643717713),d=h(d,l,f,c,r[u+0],20,-373897302),c=h(c,d,l,f,r[u+5],5,-701558691),f=h(f,c,d,l,r[u+10],9,38016083),l=h(l,f,c,d,r[u+15],14,-660478335),d=h(d,l,f,c,r[u+4],20,-405537848),c=h(c,d,l,f,r[u+9],5,568446438),f=h(f,c,d,l,r[u+14],9,-1019803690),l=h(l,f,c,d,r[u+3],14,-187363961),d=h(d,l,f,c,r[u+8],20,1163531501),c=h(c,d,l,f,r[u+13],5,-1444681467),f=h(f,c,d,l,r[u+2],9,-51403784),l=h(l,f,c,d,r[u+7],14,1735328473),c=C(c,d=h(d,l,f,c,r[u+12],20,-1926607734),l,f,r[u+5],4,-378558),f=C(f,c,d,l,r[u+8],11,-2022574463),l=C(l,f,c,d,r[u+11],16,1839030562),d=C(d,l,f,c,r[u+14],23,-35309556),c=C(c,d,l,f,r[u+1],4,-1530992060),f=C(f,c,d,l,r[u+4],11,1272893353),l=C(l,f,c,d,r[u+7],16,-155497632),d=C(d,l,f,c,r[u+10],23,-1094730640),c=C(c,d,l,f,r[u+13],4,681279174),f=C(f,c,d,l,r[u+0],11,-358537222),l=C(l,f,c,d,r[u+3],16,-722521979),d=C(d,l,f,c,r[u+6],23,76029189),c=C(c,d,l,f,r[u+9],4,-640364487),f=C(f,c,d,l,r[u+12],11,-421815835),l=C(l,f,c,d,r[u+15],16,530742520),c=I(c,d=C(d,l,f,c,r[u+2],23,-995338651),l,f,r[u+0],6,-198630844),f=I(f,c,d,l,r[u+7],10,1126891415),l=I(l,f,c,d,r[u+14],15,-1416354905),d=I(d,l,f,c,r[u+5],21,-57434055),c=I(c,d,l,f,r[u+12],6,1700485571),f=I(f,c,d,l,r[u+3],10,-1894986606),l=I(l,f,c,d,r[u+10],15,-1051523),d=I(d,l,f,c,r[u+1],21,-2054922799),c=I(c,d,l,f,r[u+8],6,1873313359),f=I(f,c,d,l,r[u+15],10,-30611744),l=I(l,f,c,d,r[u+6],15,-1560198380),d=I(d,l,f,c,r[u+13],21,1309151649),c=I(c,d,l,f,r[u+4],6,-145523070),f=I(f,c,d,l,r[u+11],10,-1120210379),l=I(l,f,c,d,r[u+2],15,718787259),d=I(d,l,f,c,r[u+9],21,-343485551),c=c+_>>>0,d=d+m>>>0,l=l+B>>>0,f=f+p>>>0;}return n.endian([c,d,l,f])})._ff=function(e,t,r,n,i,a,s){var A=e+(t&r|~t&n)+(i>>>0)+s;return (A<<a|A>>>32-a)+t},A._gg=function(e,t,r,n,i,a,s){var A=e+(t&n|r&~n)+(i>>>0)+s;return (A<<a|A>>>32-a)+t},A._hh=function(e,t,r,n,i,a,s){var A=e+(t^r^n)+(i>>>0)+s;return (A<<a|A>>>32-a)+t},A._ii=function(e,t,r,n,i,a,s){var A=e+(r^(t|~n))+(i>>>0)+s;return (A<<a|A>>>32-a)+t},A._blocksize=16,A._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var r=n.wordsToBytes(A(e,t));return t&&t.asBytes?r:t&&t.asString?s.bytesToString(r):n.bytesToHex(r)};},3665:(e,t,r)=>{var n=r(9805);function i(e){for(var t=e.length;--t>=0;)e[t]=0;}var a=[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],s=[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],A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],o=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c=new Array(576);i(c);var d=new Array(60);i(d);var l=new Array(512);i(l);var f=new Array(256);i(f);var u=new Array(29);i(u);var g,h,C,I=new Array(30);function _(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length;}function m(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t;}function B(e){return e<256?l[e]:l[256+(e>>>7)]}function p(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255;}function w(e,t,r){e.bi_valid>16-r?(e.bi_buf|=t<<e.bi_valid&65535,p(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=r-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r);}function E(e,t,r){w(e,r[2*t],r[2*t+1]);}function Q(e,t){var r=0;do{r|=1&e,e>>>=1,r<<=1;}while(--t>0);return r>>>1}function y(e,t,r){var n,i,a=new Array(16),s=0;for(n=1;n<=15;n++)a[n]=s=s+r[n-1]<<1;for(i=0;i<=t;i++){var A=e[2*i+1];0!==A&&(e[2*i]=Q(a[A]++,A));}}function b(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0;}function D(e){e.bi_valid>8?p(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0;}function S(e,t,r,n){var i=2*t,a=2*r;return e[i]<e[a]||e[i]===e[a]&&n[t]<=n[r]}function k(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&S(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!S(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n;}function v(e,t,r){var n,i,A,o,c=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*c]<<8|e.pending_buf[e.d_buf+2*c+1],i=e.pending_buf[e.l_buf+c],c++,0===n?E(e,i,t):(E(e,(A=f[i])+256+1,t),0!==(o=a[A])&&w(e,i-=u[A],o),E(e,A=B(--n),r),0!==(o=s[A])&&w(e,n-=I[A],o));}while(c<e.last_lit);E(e,256,t);}function R(e,t){var r,n,i,a=t.dyn_tree,s=t.stat_desc.static_tree,A=t.stat_desc.has_stree,o=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<o;r++)0!==a[2*r]?(e.heap[++e.heap_len]=c=r,e.depth[r]=0):a[2*r+1]=0;for(;e.heap_len<2;)a[2*(i=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[i]=0,e.opt_len--,A&&(e.static_len-=s[2*i+1]);for(t.max_code=c,r=e.heap_len>>1;r>=1;r--)k(e,a,r);i=o;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],k(e,a,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,a[2*i]=a[2*r]+a[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,a[2*r+1]=a[2*n+1]=i,e.heap[1]=i++,k(e,a,1);}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,a,s,A,o=t.dyn_tree,c=t.max_code,d=t.stat_desc.static_tree,l=t.stat_desc.has_stree,f=t.stat_desc.extra_bits,u=t.stat_desc.extra_base,g=t.stat_desc.max_length,h=0;for(a=0;a<=15;a++)e.bl_count[a]=0;for(o[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<573;r++)(a=o[2*o[2*(n=e.heap[r])+1]+1]+1)>g&&(a=g,h++),o[2*n+1]=a,n>c||(e.bl_count[a]++,s=0,n>=u&&(s=f[n-u]),A=o[2*n],e.opt_len+=A*(a+s),l&&(e.static_len+=A*(d[2*n+1]+s)));if(0!==h){do{for(a=g-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[g]--,h-=2;}while(h>0);for(a=g;0!==a;a--)for(n=e.bl_count[a];0!==n;)(i=e.heap[--r])>c||(o[2*i+1]!==a&&(e.opt_len+=(a-o[2*i+1])*o[2*i],o[2*i+1]=a),n--);}}(e,t),y(a,c,e.bl_count);}function F(e,t,r){var n,i,a=-1,s=t[1],A=0,o=7,c=4;for(0===s&&(o=138,c=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=t[2*(n+1)+1],++A<o&&i===s||(A<c?e.bl_tree[2*i]+=A:0!==i?(i!==a&&e.bl_tree[2*i]++,e.bl_tree[32]++):A<=10?e.bl_tree[34]++:e.bl_tree[36]++,A=0,a=i,0===s?(o=138,c=3):i===s?(o=6,c=3):(o=7,c=4));}function M(e,t,r){var n,i,a=-1,s=t[1],A=0,o=7,c=4;for(0===s&&(o=138,c=3),n=0;n<=r;n++)if(i=s,s=t[2*(n+1)+1],!(++A<o&&i===s)){if(A<c)do{E(e,i,e.bl_tree);}while(0!==--A);else 0!==i?(i!==a&&(E(e,i,e.bl_tree),A--),E(e,16,e.bl_tree),w(e,A-3,2)):A<=10?(E(e,17,e.bl_tree),w(e,A-3,3)):(E(e,18,e.bl_tree),w(e,A-11,7));A=0,a=i,0===s?(o=138,c=3):i===s?(o=6,c=3):(o=7,c=4);}}i(I);var N=!1;function x(e,t,r,i){w(e,0+(i?1:0),3),function(e,t,r){D(e),p(e,r),p(e,~r),n.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r;}(e,t,r);}t._tr_init=function(e){N||(function(){var e,t,r,n,i,o=new Array(16);for(r=0,n=0;n<28;n++)for(u[n]=r,e=0;e<1<<a[n];e++)f[r++]=n;for(f[r-1]=n,i=0,n=0;n<16;n++)for(I[n]=i,e=0;e<1<<s[n];e++)l[i++]=n;for(i>>=7;n<30;n++)for(I[n]=i<<7,e=0;e<1<<s[n]-7;e++)l[256+i++]=n;for(t=0;t<=15;t++)o[t]=0;for(e=0;e<=143;)c[2*e+1]=8,e++,o[8]++;for(;e<=255;)c[2*e+1]=9,e++,o[9]++;for(;e<=279;)c[2*e+1]=7,e++,o[7]++;for(;e<=287;)c[2*e+1]=8,e++,o[8]++;for(y(c,287,o),e=0;e<30;e++)d[2*e+1]=5,d[2*e]=Q(e,5);g=new _(c,a,257,286,15),h=new _(d,s,0,30,15),C=new _(new Array(0),A,0,19,7);}(),N=!0),e.l_desc=new m(e.dyn_ltree,g),e.d_desc=new m(e.dyn_dtree,h),e.bl_desc=new m(e.bl_tree,C),e.bi_buf=0,e.bi_valid=0,b(e);},t._tr_stored_block=x,t._tr_flush_block=function(e,t,r,n){var i,a,s=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),R(e,e.l_desc),R(e,e.d_desc),s=function(e){var t;for(F(e,e.dyn_ltree,e.l_desc.max_code),F(e,e.dyn_dtree,e.d_desc.max_code),R(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*o[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(a=e.static_len+3+7>>>3)<=i&&(i=a)):i=a=r+5,r+4<=i&&-1!==t?x(e,t,r,n):4===e.strategy||a===i?(w(e,2+(n?1:0),3),v(e,c,d)):(w(e,4+(n?1:0),3),function(e,t,r,n){var i;for(w(e,t-257,5),w(e,r-1,5),w(e,n-4,4),i=0;i<n;i++)w(e,e.bl_tree[2*o[i]+1],3);M(e,e.dyn_ltree,t-1),M(e,e.dyn_dtree,r-1);}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),v(e,e.dyn_ltree,e.dyn_dtree)),b(e),n&&D(e);},t._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(f[r]+256+1)]++,e.dyn_dtree[2*B(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){w(e,2,3),E(e,256,c),function(e){16===e.bi_valid?(p(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8);}(e);};},3939:e=>{var t,r;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=r.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],r=0,n=0;r<e.length;r++,n+=8)t[n>>>5]|=e[r]<<24-n%32;return t},wordsToBytes:function(e){for(var t=[],r=0;r<32*e.length;r+=8)t.push(e[r>>>5]>>>24-r%32&255);return t},bytesToHex:function(e){for(var t=[],r=0;r<e.length;r++)t.push((e[r]>>>4).toString(16)),t.push((15&e[r]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(parseInt(e.substr(r,2),16));return t},bytesToBase64:function(e){for(var r=[],n=0;n<e.length;n+=3)for(var i=e[n]<<16|e[n+1]<<8|e[n+2],a=0;a<4;a++)8*n+6*a<=8*e.length?r.push(t.charAt(i>>>6*(3-a)&63)):r.push("=");return r.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var r=[],n=0,i=0;n<e.length;i=++n%4)0!=i&&r.push((t.indexOf(e.charAt(n-1))&Math.pow(2,-2*i+8)-1)<<2*i|t.indexOf(e.charAt(n))>>>6-2*i);return r}},e.exports=r;},4056:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(6761),s=r(6272);class A extends i.default{constructor(e,t){if(super(e,t),this.codes={},this.codeBook={},this.sortedCodes=[],this.sortedValuesByBitCode=[],this.sortedBitCodes=[],this.sortedBitLengthsByBitCode=[],this.bitCodeToValue=[],!["byte","int"].includes(this.dataType))throw new TypeError(`${this.dataType} decoding not yet implemented by HUFFMAN_INT codec`);this.buildCodeBook(),this.buildCodes(),this.buildCaches(),0===this.sortedCodes[0].bitLength&&(this._decode=this._decodeZeroLengthCode);}buildCodeBook(){let e=new Array(this.parameters.numCodes);for(let t=0;t<this.parameters.numCodes;t++)e[t]={symbol:this.parameters.symbols[t],bitLength:this.parameters.bitLengths[t]};e=e.sort(((e,t)=>e.bitLength-t.bitLength||e.symbol-t.symbol)),this.codeBook={},e.forEach((e=>{this.codeBook[e.bitLength]||(this.codeBook[e.bitLength]=[]),this.codeBook[e.bitLength].push(e.symbol);}));}buildCodes(){this.codes={};let e=0,t=-1;Object.entries(this.codeBook).forEach((([r,n])=>{const i=Number.parseInt(r,10);n.forEach((r=>{const n={bitLength:i,value:r,bitCode:0};t+=1;const a=i-e;if(t<<=a,n.bitCode=t,e+=a,function(e){let t=e-(e>>1)&1431655765;return t=(858993459&t)+(t>>2&858993459),16843009*(t+(t>>4)&252645135)>>24}(t)>i)throw new s.CramMalformedError("Symbol out of range");this.codes[r]=n;}));}));}buildCaches(){this.sortedCodes=Object.values(this.codes).sort(((e,t)=>e.bitLength-t.bitLength||e.bitCode-t.bitCode)),this.sortedValuesByBitCode=this.sortedCodes.map((e=>e.value)),this.sortedBitCodes=this.sortedCodes.map((e=>e.bitCode)),this.sortedBitLengthsByBitCode=this.sortedCodes.map((e=>e.bitLength));const e=Math.max(...this.sortedBitCodes);this.bitCodeToValue=new Array(e+1).fill(-1);for(let e=0;e<this.sortedBitCodes.length;e+=1)this.bitCodeToValue[this.sortedCodes[e].bitCode]=e;}decode(e,t,r,n){return this._decode(e,t,n.coreBlock)}_decodeZeroLengthCode(){return this.sortedCodes[0].value}_decode(e,t,r){const n=t.content;let i=0,A=0;for(let e=0;e<this.sortedCodes.length;e+=1){const t=this.sortedCodes[e].bitLength;A<<=t-i,A|=(0, a.getBits)(n,r,t-i),i=t;{const r=this.bitCodeToValue[A];if(r>-1&&this.sortedBitLengthsByBitCode[r]===t)return this.sortedValuesByBitCode[r];for(let r=e;this.sortedCodes[r+1].bitLength===t&&r<this.sortedCodes.length;r+=1)e+=1;}}throw new s.CramMalformedError("Huffman symbol not found.")}}t.default=A;},4141:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t){this.parameters=e,this.dataType=t;}};},4442:e=>{e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};},4562:function(e,t,r){var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i);}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&i(t,e,r[s]);return a(t,e),t}),A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.r4x8_uncompress=function(e){return d.decode(e)},t.r4x16_uncompress=function(e){return l.decode(e)},t.arith_uncompress=function(e){return (new o.default).decode(e)},t.fqzcomp_uncompress=function(e){return c.decode(e,[])},t.tok3_uncompress=function(e){const t=f.decode(e,0,"\0");return Uint8Array.from(Array.from(t).map((e=>e.charCodeAt(0))))};const o=A(r(9505)),c=s(r(2660)),d=s(r(8594)),l=s(r(9313)),f=s(r(1739));},4652:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.low=0,this.range=4294967295,this.code=0,this.FFnum=0,this.carry=0,this.cache=0;}RangeStartDecode(e){for(let t=0;t<5;t++)this.code=(this.code<<8)+e.ReadByte();this.code&=4294967295,this.code>>>=0;}RangeGetFrequency(e){return this.range=Math.floor(this.range/e),Math.floor(this.code/this.range)}RangeDecode(e,t,r,n){for(this.code-=t*this.range,this.range*=r;this.range<1<<24;)this.range*=256,this.code=256*this.code+e.ReadByte();}RangeShiftLow(e){if(this.low<4278190080|this.carry){for(e.WriteByte(this.cache+this.carry);this.FFnum;)e.WriteByte(this.carry-1),this.FFnum--;this.cache=this.low>>>24,this.carry=0;}else this.FFnum++;this.low<<=8,this.low>>>=0;}RangeEncode(e,t,r,n){const i=this.low;for(this.range=Math.floor(this.range/n),this.low+=t*this.range,this.low>>>=0,this.range*=r,this.low<i&&(0!=this.carry&&console.log("ERROR: Multiple carry"),this.carry=1);this.range<1<<24;)this.range*=256,this.RangeShiftLow(e);}RangeFinishEncode(e){for(let t=0;t<5;t++)this.RangeShiftLow(e);}};},4674:e=>{e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};},4823:e=>{var t=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();e.exports=function(e,r,n,i){var a=t,s=i+n;e^=-1;for(var A=i;A<s;A++)e=e>>>8^a[255&(e^r[A])];return -1^e};},4997:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.CramRecord=void 0;var i=r(7480);Object.defineProperty(t,"CramRecord",{enumerable:!0,get:function(){return n(i).default}});var a=r(8751);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n(a).default}});},5011:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseHeaderText=function(e){const t=e.split(/\r?\n/),r=[];for(const e of t){const[t,...n]=e.split(/\t/);t&&r.push({tag:t.slice(1),data:n.map((e=>{const t=e.indexOf(":");return -1!==t?{tag:e.slice(0,t),value:e.slice(t+1)}:{tag:e,value:""}}))});}return r};},5159:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.IndexedCramFile=t.CraiIndex=t.CramFile=t.CramRecord=void 0;var i=r(4997);Object.defineProperty(t,"CramRecord",{enumerable:!0,get:function(){return i.CramRecord}}),Object.defineProperty(t,"CramFile",{enumerable:!0,get:function(){return n(i).default}});var a=r(6638);Object.defineProperty(t,"CraiIndex",{enumerable:!0,get:function(){return n(a).default}});var s=r(8223);Object.defineProperty(t,"IndexedCramFile",{enumerable:!0,get:function(){return n(s).default}});},6268:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.readStatsO0=function(e,t,r){let n=0,i=0,o=255&e.get();do{null==t.fc[o]&&(t.fc[o]=new s.default.FC),t.fc[o].F=255&e.get(),t.fc[o].F>=128&&(t.fc[o].F&=-129,t.fc[o].F=(127&t.fc[o].F)<<8|255&e.get()),t.fc[o].C=i,s.default.symbolInit(r[o],t.fc[o].C,t.fc[o].F),t.R||(t.R=new Array(a.TOTFREQ)),t.R.fill(o,i,i+t.fc[o].F),i+=t.fc[o].F,0===n&&o+1===(255&e.getByteAt(e.position()))?(o=255&e.get(),n=255&e.get()):0!==n?(n-=1,o+=1):o=255&e.get();}while(0!==o);A(i<a.TOTFREQ);},t.readStatsO1=function(e,t,r){let n=0,i=255&e.get();do{let o=0,c=0,d=255&e.get();null==t[i]&&(t[i]=new s.default.AriDecoder);do{null==t[i].fc[d]&&(t[i].fc[d]=new s.default.FC),t[i].fc[d].F=255&e.get(),t[i].fc[d].F>=128&&(t[i].fc[d].F&=-129,t[i].fc[d].F=(127&t[i].fc[d].F)<<8|255&e.get()),t[i].fc[d].C=c,0===t[i].fc[d].F&&(t[i].fc[d].F=a.TOTFREQ),null==r[i][d]&&(r[i][d]=new s.default.RansDecSymbol),s.default.symbolInit(r[i][d],t[i].fc[d].C,t[i].fc[d].F),null==t[i].R&&(t[i].R=new Array(a.TOTFREQ)),t[i].R.fill(d,c,c+t[i].fc[d].F),c+=t[i].fc[d].F,A(c<=a.TOTFREQ),0===o&&d+1===(255&e.getByteAt(e.position()))?(d=255&e.get(),o=255&e.get()):0!==o?(o-=1,d+=1):d=255&e.get();}while(0!==d);0===n&&i+1===(255&e.getByteAt(e.position()))?(i=255&e.get(),n=255&e.get()):0!==n?(n-=1,i+=1):i=255&e.get();}while(0!==i)};const i=r(6272),a=r(7151),s=n(r(9301));function A(e){if(!e)throw new i.CramMalformedError("assertion failed")}},6272:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CramArgumentError=t.CramSizeLimitError=t.CramMalformedError=t.CramUnimplementedError=t.CramError=void 0;class r extends Error{}t.CramError=r;class n extends Error{}t.CramUnimplementedError=n,t.CramMalformedError=class extends r{},t.CramSizeLimitError=class extends r{},t.CramArgumentError=class extends r{};},6612:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{readByte(){throw new Error("abstract method readByte() not implemented")}read(e,t,r){let n=0;for(;n<r;){const r=this.readByte();if(r<0)return 0===n?-1:n;e[t++]=r,n++;}return n}writeByte(e){throw new Error("abstract method readByte() not implemented")}seek(e){throw new Error("abstract method seek() not implemented")}write(e,t,r){let n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r}flush(){}};},6638:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(6272),i=r(6727),a=r(2169);function s(e,t){const[r,n,i,a,s,A]=t,o=r;e[o]||(e[o]=[]),e[o].push({start:n,span:i,containerStart:a,sliceStart:s,sliceBytes:A});}t.default=class{constructor(e){this.filehandle=(0, i.open)(e.url,e.path,e.filehandle);}async parseIndex(){const e={},t=31===(r=await this.filehandle.readFile())[0]&&139===r[1]?(0, a.unzip)(r):r;var r;const i=new DataView(t.buffer);if(t.length>4&&21578050===i.getUint32(0,!0))throw new n.CramMalformedError("invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support");let A=[],o="";for(const r of t)if(r>=48&&r<=57||!o&&45===r)o+=String.fromCharCode(r);else if(9===r)A.push(Number.parseInt(o,10)),o="";else if(10===r)A.push(Number.parseInt(o,10)),o="",s(e,A),A=[];else if(13!==r&&32!==r)throw new n.CramMalformedError("invalid .crai index file");return o&&A.push(Number.parseInt(o,10)),6===A.length&&s(e,A),Object.entries(e).forEach((([t,r])=>{const n=r;e[t]=n.sort(((e,t)=>e.start-t.start||e.span-t.span));})),e}getIndex(){return this.parseIndexP||(this.parseIndexP=this.parseIndex().catch((e=>{throw this.parseIndexP=void 0,e}))),this.parseIndexP}async hasDataForReferenceSequence(e){return !!(await this.getIndex())[e]}async getEntriesForRange(e,t,r){const n=(await this.getIndex())[e];if(!n)return [];const i=e=>{const n=e.start,i=e.start+e.span;return n>r?-1:i<=t?1:0},a=[];for(const e of n)0===i(e)&&a.push(e);return a}};},6727:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteFile=t.LocalFile=void 0,t.open=function(e,t,r){if(r)return r;if(e)return new n.RemoteFile(e);if(t)return new n.LocalFile(t);throw new Error("no url, path, or filehandle provided, cannot open")};const n=r(8301);var i=r(8301);Object.defineProperty(t,"LocalFile",{enumerable:!0,get:function(){return i.LocalFile}}),Object.defineProperty(t,"RemoteFile",{enumerable:!0,get:function(){return i.RemoteFile}});},6761:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CramBufferOverrunError=void 0,t.getBits=function(e,t,n){let i=0;if(t.bytePosition+(7-t.bitPosition+n)/8>e.length)throw new r("read error during decoding. the file seems to be truncated.");for(let r=n;r;r--)i<<=1,i|=e[t.bytePosition]>>t.bitPosition&1,t.bitPosition-=1,t.bitPosition<0&&(t.bytePosition+=1),t.bitPosition&=7;return i};class r extends Error{}t.CramBufferOverrunError=r;},6951:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.concatUint8Array=function(e){const t=new Uint8Array(function(e){let t=0;for(const r of e)t+=r.length;return t}(e));let r=0;for(const n of e)t.set(n,r),r+=n.length;return t};},7083:(e,t,r)=>{var n=r(1447),i=r(9805),a=r(1996),s=r(9681),A=r(4674),o=r(4442),c=r(7414),d=Object.prototype.toString;function l(e){if(!(this instanceof l))return new l(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var r=n.inflateInit2(this.strm,t.windowBits);if(r!==s.Z_OK)throw new Error(A[r]);if(this.header=new c,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=a.string2buf(t.dictionary):"[object ArrayBuffer]"===d.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=n.inflateSetDictionary(this.strm,t.dictionary))!==s.Z_OK))throw new Error(A[r])}function f(e,t){var r=new l(t);if(r.push(e,!0),r.err)throw r.msg||A[r.err];return r.result}l.prototype.push=function(e,t){var r,A,o,c,l,f=this.strm,u=this.options.chunkSize,g=this.options.dictionary,h=!1;if(this.ended)return !1;A=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?f.input=a.binstring2buf(e):"[object ArrayBuffer]"===d.call(e)?f.input=new Uint8Array(e):f.input=e,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new i.Buf8(u),f.next_out=0,f.avail_out=u),(r=n.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&g&&(r=n.inflateSetDictionary(this.strm,g)),r===s.Z_BUF_ERROR&&!0===h&&(r=s.Z_OK,h=!1),r!==s.Z_STREAM_END&&r!==s.Z_OK)return this.onEnd(r),this.ended=!0,!1;f.next_out&&(0!==f.avail_out&&r!==s.Z_STREAM_END&&(0!==f.avail_in||A!==s.Z_FINISH&&A!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(o=a.utf8border(f.output,f.next_out),c=f.next_out-o,l=a.buf2string(f.output,o),f.next_out=c,f.avail_out=u-c,c&&i.arraySet(f.output,f.output,o,c,0),this.onData(l)):this.onData(i.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(h=!0);}while((f.avail_in>0||0===f.avail_out)&&r!==s.Z_STREAM_END);return r===s.Z_STREAM_END&&(A=s.Z_FINISH),A===s.Z_FINISH?(r=n.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===s.Z_OK):A!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),f.avail_out=0,!0)},l.prototype.onData=function(e){this.chunks.push(e);},l.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},t.Inflate=l,t.inflate=f,t.inflateRaw=function(e,t){return (t=t||{}).raw=!0,f(e,t)},t.ungzip=f;},7151:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TOTFREQ=t.TF_SHIFT=t.RANS_BYTE_L=void 0,t.TF_SHIFT=12,t.TOTFREQ=4096,t.RANS_BYTE_L=1<<23;},7293:e=>{e.exports=function(e,t){var r,n,i,a,s,A,o,c,d,l,f,u,g,h,C,I,_,m,B,p,w,E,Q,y,b;r=e.state,n=e.next_in,y=e.input,i=n+(e.avail_in-5),a=e.next_out,b=e.output,s=a-(t-e.avail_out),A=a+(e.avail_out-257),o=r.dmax,c=r.wsize,d=r.whave,l=r.wnext,f=r.window,u=r.hold,g=r.bits,h=r.lencode,C=r.distcode,I=(1<<r.lenbits)-1,_=(1<<r.distbits)-1;e:do{g<15&&(u+=y[n++]<<g,g+=8,u+=y[n++]<<g,g+=8),m=h[u&I];t:for(;;){if(u>>>=B=m>>>24,g-=B,0==(B=m>>>16&255))b[a++]=65535&m;else {if(!(16&B)){if(64&B){if(32&B){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}m=h[(65535&m)+(u&(1<<B)-1)];continue t}for(p=65535&m,(B&=15)&&(g<B&&(u+=y[n++]<<g,g+=8),p+=u&(1<<B)-1,u>>>=B,g-=B),g<15&&(u+=y[n++]<<g,g+=8,u+=y[n++]<<g,g+=8),m=C[u&_];;){if(u>>>=B=m>>>24,g-=B,16&(B=m>>>16&255)){if(w=65535&m,g<(B&=15)&&(u+=y[n++]<<g,(g+=8)<B&&(u+=y[n++]<<g,g+=8)),(w+=u&(1<<B)-1)>o){e.msg="invalid distance too far back",r.mode=30;break e}if(u>>>=B,g-=B,w>(B=a-s)){if((B=w-B)>d&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(E=0,Q=f,0===l){if(E+=c-B,B<p){p-=B;do{b[a++]=f[E++];}while(--B);E=a-w,Q=b;}}else if(l<B){if(E+=c+l-B,(B-=l)<p){p-=B;do{b[a++]=f[E++];}while(--B);if(E=0,l<p){p-=B=l;do{b[a++]=f[E++];}while(--B);E=a-w,Q=b;}}}else if(E+=l-B,B<p){p-=B;do{b[a++]=f[E++];}while(--B);E=a-w,Q=b;}for(;p>2;)b[a++]=Q[E++],b[a++]=Q[E++],b[a++]=Q[E++],p-=3;p&&(b[a++]=Q[E++],p>1&&(b[a++]=Q[E++]));}else {E=a-w;do{b[a++]=b[E++],b[a++]=b[E++],b[a++]=b[E++],p-=3;}while(p>2);p&&(b[a++]=b[E++],p>1&&(b[a++]=b[E++]));}break}if(64&B){e.msg="invalid distance code",r.mode=30;break e}m=C[(65535&m)+(u&(1<<B)-1)];}}break}}while(n<i&&a<A);n-=p=g>>3,u&=(1<<(g-=p<<3))-1,e.next_in=n,e.next_out=a,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=a<A?A-a+257:257-(a-A),r.hold=u,r.bits=g;};},7392:e=>{class t{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0;}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map);}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){const t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){return this.cache.has(e)?this.cache.get(e):this.oldCache.has(e)?this.oldCache.get(e):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0;}*keys(){for(const[e]of this)yield e;}*values(){for(const[,e]of this)yield e;}*[Symbol.iterator](){for(const e of this.cache)yield e;for(const e of this.oldCache){const[t]=e;this.cache.has(t)||(yield e);}}get size(){let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return this._size+e}}e.exports=t;},7414:e=>{e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1;};},7480:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MateFlagsDecoder=t.CramFlagsDecoder=t.BamFlagsDecoder=t.MateFlags=t.CramFlags=t.BamFlags=void 0;const i=n(r(588)),a={a:0,A:0,c:1,C:1,g:2,G:2,t:3,T:3,n:4,N:4};function s(e){const t={};for(const[r,n]of e)t[`is${n}`]=e=>!!(e&r),t[`set${n}`]=e=>e|r;return t}t.BamFlags=[[1,"Paired"],[2,"ProperlyPaired"],[4,"SegmentUnmapped"],[8,"MateUnmapped"],[16,"ReverseComplemented"],[32,"MateReverseComplemented"],[64,"Read1"],[128,"Read2"],[256,"Secondary"],[512,"FailedQc"],[1024,"Duplicate"],[2048,"Supplementary"]],t.CramFlags=[[1,"PreservingQualityScores"],[2,"Detached"],[4,"WithMateDownstream"],[8,"DecodeSequenceAsStar"]],t.MateFlags=[[1,"OnNegativeStrand"],[2,"Unmapped"]],t.BamFlagsDecoder=s(t.BamFlags),t.CramFlagsDecoder=s(t.CramFlags),t.MateFlagsDecoder=s(t.MateFlags),t.default=class{constructor({flags:e,cramFlags:t,readLength:r,mappingQuality:n,lengthOnRef:i,qualityScores:a,mateRecordNumber:s,readBases:A,readFeatures:o,mateToUse:c,readGroupId:d,readName:l,sequenceId:f,uniqueId:u,templateSize:g,alignmentStart:h,tags:C}){this.flags=e,this.cramFlags=t,this.readLength=r,this.mappingQuality=n,this.lengthOnRef=i,this.qualityScores=a,A&&(this.readBases=A),this.readGroupId=d,this.readName=l,this.sequenceId=f,this.uniqueId=u,this.templateSize=g,this.alignmentStart=h,this.tags=C,o&&(this.readFeatures=o),c&&(this.mate={flags:c.mateFlags,readName:c.mateReadName,sequenceId:c.mateSequenceId,alignmentStart:c.mateAlignmentStart}),s&&(this.mateRecordNumber=s);}isPaired(){return !!(this.flags&i.default.BAM_FPAIRED)}isProperlyPaired(){return !!(this.flags&i.default.BAM_FPROPER_PAIR)}isSegmentUnmapped(){return !!(this.flags&i.default.BAM_FUNMAP)}isMateUnmapped(){return !!(this.flags&i.default.BAM_FMUNMAP)}isReverseComplemented(){return !!(this.flags&i.default.BAM_FREVERSE)}isMateReverseComplemented(){return !!(this.flags&i.default.BAM_FMREVERSE)}isRead1(){return !!(this.flags&i.default.BAM_FREAD1)}isRead2(){return !!(this.flags&i.default.BAM_FREAD2)}isSecondary(){return !!(this.flags&i.default.BAM_FSECONDARY)}isFailedQc(){return !!(this.flags&i.default.BAM_FQCFAIL)}isDuplicate(){return !!(this.flags&i.default.BAM_FDUP)}isSupplementary(){return !!(this.flags&i.default.BAM_FSUPPLEMENTARY)}isDetached(){return !!(this.cramFlags&i.default.CRAM_FLAG_DETACHED)}hasMateDownStream(){return !!(this.cramFlags&i.default.CRAM_FLAG_MATE_DOWNSTREAM)}isPreservingQualityScores(){return !!(this.cramFlags&i.default.CRAM_FLAG_PRESERVE_QUAL_SCORES)}isUnknownBases(){return !!(this.cramFlags&i.default.CRAM_FLAG_NO_SEQ)}getReadBases(){if(!this.readBases&&this._refRegion){const e=function(e,t){if(!e.lengthOnRef&&!e.readLength)return null;if(e.isUnknownBases())return null;const r=e.alignmentStart-t.start;if(!e.readFeatures)return t.seq.slice(r,r+(e.lengthOnRef||0)).toUpperCase();let n="",i=r,a=0;for(;n.length<e.readLength;)if(a<e.readFeatures.length){const r=e.readFeatures[a];if("Q"===r.code||"q"===r.code)a+=1;else if(r.pos===n.length+1)if(a+=1,"b"===r.code){const e=r.data;n+=e,i+=e.length;}else "B"===r.code?(n+=r.data[0],i+=1):"X"===r.code?(n+=r.sub,i+=1):"I"===r.code?n+=r.data:"D"===r.code?i+=r.data:"i"===r.code?n+=r.data:"N"===r.code?i+=r.data:"S"===r.code?n+=r.data:"P"===r.code||r.code;else if(a<e.readFeatures.length){const e=t.seq.slice(i,i+r.pos-n.length-1);n+=e,i+=e.length;}}else {const r=t.seq.slice(i,i+e.readLength-n.length);n+=r,i+=r.length;}return n.toUpperCase()}(this,this._refRegion);e&&(this.readBases=e);}return this.readBases}getPairOrientation(){if(!this.isSegmentUnmapped()&&this.isPaired()&&!this.isMateUnmapped()&&this.mate&&this.sequenceId===this.mate.sequenceId){const e=this.isReverseComplemented()?"R":"F",t=this.isMateReverseComplemented()?"R":"F";let r=" ",n=" ";this.isRead1()?(r="1",n="2"):this.isRead2()&&(r="2",n="1");const i=[];let a=this.templateLength||this.templateSize;if(void 0===a)throw new Error("One of templateSize and templateLength must be set");return this.alignmentStart>this.mate.alignmentStart&&a>0&&(a=-a),a>0?(i[0]=e,i[1]=r,i[2]=t,i[3]=n):(i[2]=e,i[3]=r,i[0]=t,i[1]=n),i.join("")}return null}addReferenceSequence(e,t){this.readFeatures&&this.readFeatures.forEach((r=>{"X"===r.code&&function(e,t,r,n){const i=n.refPos-t.start,s=t.seq.charAt(i);s&&(n.ref=s);let A=a[s];void 0===A&&(A=4);const o=r.substitutionMatrix[A][n.data];o&&(n.sub=o);}(0,e,t,r);})),!this.readBases&&e.start<=this.alignmentStart&&e.end>=this.alignmentStart+(this.lengthOnRef||this.readLength)-1&&(this._refRegion=e);}toJSON(){const e={};return Object.keys(this).forEach((t=>{t.startsWith("_")||(e[t]=this[t]);})),e.readBases=this.getReadBases(),e}};},7580:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.cramFileDefinition=i,t.cramBlockHeader=a,t.cramBlockCrc32=s,t.cramTagDictionary=o,t.cramPreservationMap=c,t.isMappedSliceHeader=function(e){return "number"==typeof e.refSeqId},t.getSectionParsers=function(e){return {cramFileDefinition:i(),cramBlockHeader:a(),cramBlockCrc32:s(),cramDataSeriesEncodingMap:g(),cramTagEncodingMap:h(),cramCompressionHeader:{parser:(e,t)=>{const{value:r,offset:n}=c().parser(e,t);t=n;const{value:i,offset:a}=g().parser(e,t);t=a;const{value:s,offset:A}=h().parser(e,t);return t=A,{value:{dataSeriesEncoding:d(i),preservation:d(r),tagEncoding:d(s)},offset:t}}},cramEncoding:{parser:(e,t)=>u(e,t)},cramUnmappedSliceHeader:l(e),cramMappedSliceHeader:f(e),cramContainerHeader1:C(e),cramContainerHeader2:I(e)}};const n=r(2549);function i(){return {parser:(e,t=0)=>{const r=new DataView(e.buffer,e.byteOffset,e.length),n=new TextDecoder("utf8");let i=0;const a=n.decode(e.subarray(i,i+4));i+=4;const s=r.getUint8(i);i+=1;const A=r.getUint8(i);i+=1;const o=n.decode(e.subarray(i,i+20)).replaceAll("\0","");return i+=20,{value:{magic:a,majorVersion:s,minorVersion:A,fileId:o},offset:i}},maxLength:26}}function a(){return {parser:(e,t=0)=>{const r=e,i=new DataView(r.buffer,r.byteOffset,r.length);let a=0;const s=i.getUint8(a),A=["raw","gzip","bzip2","lzma","rans","rans4x16","arith","fqzcomp","tok3"][s];if(!A)throw new Error(`compression method number ${s} not implemented`);a+=1;const o=i.getUint8(a),c=["FILE_HEADER","COMPRESSION_HEADER","MAPPED_SLICE_HEADER","UNMAPPED_SLICE_HEADER","EXTERNAL_DATA","CORE_DATA"][o];if(!c)throw new Error(`invalid block content type id ${o}`);a+=1;const[d,l]=(0, n.parseItf8)(e,a);a+=l;const[f,u]=(0, n.parseItf8)(e,a);a+=u;const[g,h]=(0, n.parseItf8)(e,a);return a+=h,{offset:a,value:{uncompressedSize:g,compressedSize:f,contentId:d,contentType:c,compressionMethod:A}}},maxLength:17}}function s(){return {parser:(e,t)=>{const r=e,n=new DataView(r.buffer,r.byteOffset,r.length).getUint32(t,!0);return {offset:t+=4,value:{crc32:n}}},maxLength:4}}function A(e,t,r){const n=new TextDecoder("utf8").decode(e.subarray(t,r)),i=[];for(let e=0;e<n.length;e+=3)i.push(n.slice(e,e+3));return i}function o(){return {parser:(e,t)=>{const[r,i]=(0, n.parseItf8)(e,t);t+=i;const a=e.subarray(t,t+r);t+=r;const s=[];let o=0,c=0;for(;c<a.length;c++)a[c]||(s.push(A(a,o,c)),o=c+1);return c>o&&s.push(A(a,o,c)),{value:{size:r,ents:s},offset:t}}}}function c(){return {parser:(e,t)=>{const r=e,i=new DataView(r.buffer,r.byteOffset,r.length),[a,s]=(0, n.parseItf8)(e,t);t+=s;const[A,c]=(0, n.parseItf8)(e,t);t+=c;const d=[];for(let r=0;r<A;r++){const r=String.fromCharCode(e[t])+String.fromCharCode(e[t+1]);if(t+=2,"MI"===r||"UI"===r||"PI"===r||"RN"===r||"AP"===r||"RR"===r)d.push({key:r,value:!!i.getUint8(t)}),t+=1;else if("SM"===r)d.push({key:r,value:[i.getUint8(t),i.getUint8(t+1),i.getUint8(t+2),i.getUint8(t+3),i.getUint8(t+4)]}),t+=5;else {if("TD"!==r)throw new Error(`unknown key ${r}`);{const{offset:n,value:i}=o().parser(e,t);d.push({key:r,value:i.ents}),t=n;}}}return {value:{mapSize:a,mapCount:A,ents:d},offset:t}}}}function d(e){const t={};for(const{key:r,value:n}of e.ents)t[r]&&console.warn(`duplicate key ${r} in map`),t[r]=n;return t}function l(e){return {parser:(t,r)=>{const[i,a]=(0, n.parseItf8)(t,r);r+=a;let s=0;if(e>=3){const[e,i]=(0, n.parseLtf8)(t,r);r+=i,s=e;}else if(2===e){const[e,i]=(0, n.parseItf8)(t,r);r+=i,s=e;}else console.warn("recordCounter=0");const[A,o]=(0, n.parseItf8)(t,r);r+=o;const[c,d]=(0, n.parseItf8)(t,r);r+=d;const l=[];for(let e=0;e<c;e++){const[e,i]=(0, n.parseItf8)(t,r);r+=i,l.push(e);}let f;return e>=2&&(f=[...t.subarray(r,r+16)],r+=16),{value:{recordCounter:s,md5:f,contentIds:l,numContentIds:c,numBlocks:A,numRecords:i},offset:r}},maxLength:e=>40+5*e}}function f(e){return {parser:(t,r)=>{const[i,a]=(0, n.parseItf8)(t,r);r+=a;const[s,A]=(0, n.parseItf8)(t,r);r+=A;const[o,c]=(0, n.parseItf8)(t,r);r+=c;const[d,l]=(0, n.parseItf8)(t,r);r+=l;let f=0;if(e>=3){const[e,i]=(0, n.parseLtf8)(t,r);r+=i,f=e;}else if(2===e){const[e,i]=(0, n.parseItf8)(t,r);r+=i,f=e;}else console.warn("majorVersion is <2, recordCounter set to 0");const[u,g]=(0, n.parseItf8)(t,r);r+=g;const[h,C]=(0, n.parseItf8)(t,r);r+=C;const I=[];for(let e=0;e<h;e++){const[e,i]=(0, n.parseItf8)(t,r);r+=i,I.push(e);}const[_,m]=(0, n.parseItf8)(t,r);let B;return r+=m,e>=2&&(B=[...t.subarray(r,r+16)],r+=16),{value:{md5:B,numBlocks:u,numRecords:d,numContentIds:h,refSeqSpan:o,refSeqId:i,refSeqStart:s,recordCounter:f,refBaseBlockId:_,contentIds:I},offset:r}},maxLength:e=>60+5*e}}function u(e,t){const r=e,i=new DataView(r.buffer,r.byteOffset,r.length),[a,s]=(0, n.parseItf8)(e,t);t+=s;const[A,o]=(0, n.parseItf8)(e,t);t+=o;const c={};if(0===a);else if(1===a){const[r,i]=(0, n.parseItf8)(e,t);c.blockContentId=r,t+=i;}else if(2===a){const[r,i]=(0, n.parseItf8)(e,t);c.offset=r,t+=i;const[a,s]=(0, n.parseItf8)(e,t);c.M=a,t+=s;}else if(3===a){const r=(0, n.parseItf8)(e,t),i=r[0];t+=r[1];const a=[];for(let r=0;r<i;r++){const r=(0, n.parseItf8)(e,t);a.push(r[0]),t+=r[1];}c.symbols=a;const s=(0, n.parseItf8)(e,t),A=r[0];c.numLengths=A,c.numCodes=i,c.numLengths=A,t+=s[1];const o=[];for(let r=0;r<A;r++){const r=(0, n.parseItf8)(e,t);t+=r[1],o.push(r[0]);}c.bitLengths=o;}else if(4===a){const{value:r,offset:n}=u(e,t);c.lengthsEncoding=r,t=n;const{value:i,offset:a}=u(e,t);c.valuesEncoding=i,t=a;}else if(5===a){c.stopByte=i.getUint8(t),t+=1;const[r,a]=(0, n.parseItf8)(e,t);c.blockContentId=r,t+=a;}else if(6===a){const[r,i]=(0, n.parseItf8)(e,t);c.offset=r,t+=i;const[a,s]=(0, n.parseItf8)(e,t);c.length=a,t+=s;}else if(7===a){const[r,i]=(0, n.parseItf8)(e,t);c.offset=r,t+=i;const[a,s]=(0, n.parseItf8)(e,t);c.K=a,t+=s;}else if(8===a){const[r,i]=(0, n.parseItf8)(e,t);c.offset=r,t+=i;const[a,s]=(0, n.parseItf8)(e,t);c.log2m=a,t+=s;}else {if(9!==a)throw new Error(`unknown codecId ${a}`);{const[r,i]=(0, n.parseItf8)(e,t);c.offset=r,t+=i;}}return {value:{codecId:a,parametersBytes:A,parameters:c},offset:t}}function g(){return {parser:(e,t)=>{const[r,i]=(0, n.parseItf8)(e,t);t+=i;const[a,s]=(0, n.parseItf8)(e,t);t+=s;const A=[];for(let r=0;r<a;r++){const r=String.fromCharCode(e[t])+String.fromCharCode(e[t+1]);t+=2;const{value:n,offset:i}=u(e,t);t=i,A.push({key:r,value:n});}return {value:{mapSize:r,ents:A,mapCount:a},offset:t}}}}function h(){return {parser:(e,t)=>{const[r,i]=(0, n.parseItf8)(e,t);t+=i;const[a,s]=(0, n.parseItf8)(e,t);t+=s;const A=[];for(let r=0;r<a;r++){const[r,i]=(0, n.parseItf8)(e,t);t+=i;const a=String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(255&r),{value:s,offset:o}=u(e,t);t=o,A.push({key:a,value:s});}return {value:{mapSize:r,ents:A,mapCount:a},offset:t}}}}function C(e){return {maxLength:52,parser:(t,r)=>{const i=t,a=new DataView(i.buffer,i.byteOffset,i.length).getInt32(r,!0);r+=4;const[s,A]=(0, n.parseItf8)(t,r);r+=A;const[o,c]=(0, n.parseItf8)(t,r);r+=c;const[d,l]=(0, n.parseItf8)(t,r);r+=l;const[f,u]=(0, n.parseItf8)(t,r);r+=u;let g,h=0;if(e>=3){const[e,i]=(0, n.parseLtf8)(t,r);h=e,r+=i;}else if(2===e){const[e,i]=(0, n.parseItf8)(t,r);h=e,r+=i;}else console.warn("setting recordCounter=0");if(e>1){const[e,i]=(0, n.parseLtf8)(t,r);g=e,r+=i;}const[C,I]=(0, n.parseItf8)(t,r);r+=I;const[_,m]=(0, n.parseItf8)(t,r);return {value:{length:a,refSeqId:s,refSeqStart:o,alignmentSpan:d,numBlocks:C,numLandmarks:_,numBases:g,recordCounter:h,numRecords:f},offset:r+=m}}}}function I(e){return {parser:(t,r)=>{const i=t,a=new DataView(i.buffer,i.byteOffset,i.length),[s,A]=(0, n.parseItf8)(t,r);r+=A;const o=[];for(let e=0;e<s;e++){const[e,i]=(0, n.parseItf8)(t,r);r+=i,o.push(e);}let c;return e>=3&&(c=a.getUint32(r,!0),r+=4),{value:{...void 0===c?{}:{crc32:c},numLandmarks:s,landmarks:o},offset:r}},maxLength:e=>5+5*e+4}}},7593:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});},7934:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(2549);class s extends i.default{constructor(e,t,r){super(e,t),this.instantiateCodec=r;}decode(e,t,r,n){const i=this._getLengthCodec().decode(e,t,r,n)||0,a=this._getDataCodec(),s=new Uint8Array(i);for(let A=0;A<i;A+=1)s[A]=a.decode(e,t,r,n)||0;return s}_getLengthCodec(){const e=this.parameters.lengthsEncoding;return this.instantiateCodec(e,"int")}_getDataCodec(){const e=this.parameters.valuesEncoding;return this.instantiateCodec(e,"byte")}}t.default=s,"_getLengthCodec _getDataCodec".split(" ").forEach((e=>{(0, a.tinyMemoize)(s,e);}));},8006:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(6272),s=r(6761);class A extends i.default{decode(e,t,r,n){const{blockContentId:i}=this.parameters,s=r[i];if(!s)throw new a.CramMalformedError(`no block found with content ID ${i}`);const A=n.externalBlocks.getCursor(i);return this._decodeByteArray(s,A)}_decodeByteArray(e,t){const r=e.content,{stopByte:n}=this.parameters,i=t.bytePosition;let a=t.bytePosition;for(;r[a]!==n&&a<r.length;){if(a===r.length)throw new s.CramBufferOverrunError("byteArrayStop reading beyond length of data buffer?");a+=1;}return t.bytePosition=a+1,r.subarray(i,a)}}t.default=A;},8223:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4997)),a=r(6272);t.default=class{constructor(e){if(this.cram=e.cram??new i.default({url:e.cramUrl,path:e.cramPath,filehandle:e.cramFilehandle,seqFetch:e.seqFetch,checkSequenceMD5:e.checkSequenceMD5,cacheSize:e.cacheSize}),!(this.cram instanceof i.default))throw new Error("invalid arguments: no cramfile");this.index=e.index;}async getRecordsForRange(e,t,r,n={}){if(n.viewAsPairs=n.viewAsPairs||!1,n.pairAcrossChr=n.pairAcrossChr||!1,n.maxInsertSize=n.maxInsertSize||2e5,"string"==typeof e)throw new a.CramUnimplementedError("string sequence names not yet supported");const i=e,s=await this.index.getEntriesForRange(i,t,r),A=await Promise.all(s.map((n=>this.getRecordsInSlice(n,(n=>n.sequenceId===e&&n.alignmentStart<=r&&void 0!==n.lengthOnRef&&n.alignmentStart+n.lengthOnRef-1>=t)))));let o=Array.prototype.concat(...A);if(n.viewAsPairs){const e={},t={};for(const r of o){const n=r.readName;if(void 0===n)throw new Error("readName undefined");const i=r.uniqueId;e[n]||(e[n]=0),e[n]+=1,t[i]=1;}const r={};Object.entries(e).forEach((([e,t])=>{1===t&&(r[e]=!0);}));const a=[];for(const e of o){const t=e.readName;if(void 0===t)throw new Error("readName undefined");if(r[t]&&e.mate&&(e.mate.sequenceId===i||n.pairAcrossChr)&&Math.abs(e.alignmentStart-e.mate.alignmentStart)<n.maxInsertSize){const t=this.index.getEntriesForRange(e.mate.sequenceId,e.mate.alignmentStart,e.mate.alignmentStart+1);a.push(t);}}const s=await Promise.all(a);let A=[];for(const e of s)A.push(...e);A=A.sort(((e,t)=>e.toString().localeCompare(t.toString()))).filter(((e,t,r)=>!t||e.toString()!==r[t-1].toString()));const d=[];for(const e of A){let n=this.cram.featureCache.get(e.toString());n||(n=this.getRecordsInSlice(e,(()=>!0)),this.cram.featureCache.set(e.toString(),n));const i=n.then((e=>{const n=[];for(const i of e){if(void 0===i.readName)throw new Error("readName undefined");r[i.readName]&&!t[i.uniqueId]&&n.push(i);}return n}));d.push(i);}const l=await Promise.all(d);if(l.length){const e=l.reduce(((e,t)=>e.concat(t)));o=o.concat(e);}}return o}getRecordsInSlice({containerStart:e,sliceStart:t,sliceBytes:r},n){return this.cram.getContainerAtPosition(e).getSlice(t,r).getRecords(n)}hasDataForReferenceSequence(e){return this.index.hasDataForReferenceSequence(e)}};},8301:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i);}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r);},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalFile=t.RemoteFile=t.BlobFile=void 0,t.fromUrl=o,t.open=function(e,t,r,n={}){if(void 0!==r)return r;if(void 0!==e)return o(e,n);if(void 0!==t)return new s.default(t,n);throw new Error("no url, path, or filehandle provided, cannot open")};const s=a(r(2616)),A=a(r(8485));function o(e,t={}){return new A.default(e,t)}i(r(7593),t);var c=r(1064);Object.defineProperty(t,"BlobFile",{enumerable:!0,get:function(){return a(c).default}});var d=r(8485);Object.defineProperty(t,"RemoteFile",{enumerable:!0,get:function(){return a(d).default}});var l=r(2616);Object.defineProperty(t,"LocalFile",{enumerable:!0,get:function(){return a(l).default}});},8411:(e,t,r)=>{var n,i=r(9805),a=r(3665),s=r(3269),A=r(4823),o=r(4674),c=-2,d=258,l=262,f=103,u=113,g=666;function h(e,t){return e.msg=o[t],t}function C(e){return (e<<1)-(e>4?9:0)}function I(e){for(var t=e.length;--t>=0;)e[t]=0;}function _(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(i.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0));}function m(e,t){a._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,_(e.strm);}function B(e,t){e.pending_buf[e.pending++]=t;}function p(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t;}function w(e,t,r,n){var a=e.avail_in;return a>n&&(a=n),0===a?0:(e.avail_in-=a,i.arraySet(t,e.input,e.next_in,a,r),1===e.state.wrap?e.adler=s(e.adler,t,a,r):2===e.state.wrap&&(e.adler=A(e.adler,t,a,r)),e.next_in+=a,e.total_in+=a,a)}function E(e,t){var r,n,i=e.max_chain_length,a=e.strstart,s=e.prev_length,A=e.nice_match,o=e.strstart>e.w_size-l?e.strstart-(e.w_size-l):0,c=e.window,f=e.w_mask,u=e.prev,g=e.strstart+d,h=c[a+s-1],C=c[a+s];e.prev_length>=e.good_match&&(i>>=2),A>e.lookahead&&(A=e.lookahead);do{if(c[(r=t)+s]===C&&c[r+s-1]===h&&c[r]===c[a]&&c[++r]===c[a+1]){a+=2,r++;do{}while(c[++a]===c[++r]&&c[++a]===c[++r]&&c[++a]===c[++r]&&c[++a]===c[++r]&&c[++a]===c[++r]&&c[++a]===c[++r]&&c[++a]===c[++r]&&c[++a]===c[++r]&&a<g);if(n=d-(g-a),a=g-d,n>s){if(e.match_start=t,s=n,n>=A)break;h=c[a+s-1],C=c[a+s];}}}while((t=u[t&f])>o&&0!==--i);return s<=e.lookahead?s:e.lookahead}function Q(e){var t,r,n,a,s,A=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=A+(A-l)){i.arraySet(e.window,e.window,A,A,0),e.match_start-=A,e.strstart-=A,e.block_start-=A,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=A?n-A:0;}while(--r);t=r=A;do{n=e.prev[--t],e.prev[t]=n>=A?n-A:0;}while(--r);a+=A;}if(0===e.strm.avail_in)break;if(r=w(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=r,e.lookahead+e.insert>=3)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+3-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<l&&0!==e.strm.avail_in)}function y(e,t){for(var r,n;;){if(e.lookahead<l){if(Q(e),e.lookahead<l&&0===t)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-l&&(e.match_length=E(e,r)),e.match_length>=3)if(n=a._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;}while(0!==--e.match_length);e.strstart++;}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}function b(e,t){for(var r,n,i;;){if(e.lookahead<l){if(Q(e),e.lookahead<l&&0===t)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-l&&(e.match_length=E(e,r),e.match_length<=5&&(1===e.strategy||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,n=a._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(m(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=a._tr_tally(e,0,e.window[e.strstart-1]))&&m(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--;}return e.match_available&&(n=a._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}function D(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i;}function S(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),I(this.dyn_ltree),I(this.dyn_dtree),I(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),I(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),I(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}function k(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:u,e.adler=2===t.wrap?0:1,t.last_flush=0,a._tr_init(t),0):h(e,c)}function v(e){var t,r=k(e);return 0===r&&((t=e.state).window_size=2*t.w_size,I(t.head),t.max_lazy_match=n[t.level].max_lazy,t.good_match=n[t.level].good_length,t.nice_match=n[t.level].nice_length,t.max_chain_length=n[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),r}function R(e,t,r,n,a,s){if(!e)return c;var A=1;if(-1===t&&(t=6),n<0?(A=0,n=-n):n>15&&(A=2,n-=16),a<1||a>9||8!==r||n<8||n>15||t<0||t>9||s<0||s>4)return h(e,c);8===n&&(n=9);var o=new S;return e.state=o,o.strm=e,o.wrap=A,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=a+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new i.Buf8(2*o.w_size),o.head=new i.Buf16(o.hash_size),o.prev=new i.Buf16(o.w_size),o.lit_bufsize=1<<a+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new i.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,v(e)}n=[new D(0,0,0,0,(function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Q(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,m(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-l&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(m(e,!1),e.strm.avail_out),1)})),new D(4,4,8,4,y),new D(4,5,16,8,y),new D(4,6,32,32,y),new D(4,4,16,16,b),new D(8,16,32,32,b),new D(8,16,128,128,b),new D(8,32,128,256,b),new D(32,128,258,1024,b),new D(32,258,258,4096,b)],t.deflateInit=function(e,t){return R(e,t,8,15,8,0)},t.deflateInit2=R,t.deflateReset=v,t.deflateResetKeep=k,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?c:(e.state.gzhead=t,0):c},t.deflate=function(e,t){var r,i,s,o;if(!e||!e.state||t>5||t<0)return e?h(e,c):c;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===g&&4!==t)return h(e,0===e.avail_out?-5:c);if(i.strm=e,r=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)e.adler=0,B(i,31),B(i,139),B(i,8),i.gzhead?(B(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),B(i,255&i.gzhead.time),B(i,i.gzhead.time>>8&255),B(i,i.gzhead.time>>16&255),B(i,i.gzhead.time>>24&255),B(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),B(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(B(i,255&i.gzhead.extra.length),B(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=A(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(B(i,0),B(i,0),B(i,0),B(i,0),B(i,0),B(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),B(i,3),i.status=u);else {var l=8+(i.w_bits-8<<4)<<8;l|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(l|=32),l+=31-l%31,i.status=u,p(i,l),0!==i.strstart&&(p(i,e.adler>>>16),p(i,65535&e.adler)),e.adler=1;}if(69===i.status)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=A(e.adler,i.pending_buf,i.pending-s,s)),_(e),s=i.pending,i.pending!==i.pending_buf_size));)B(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=A(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73);}else i.status=73;if(73===i.status)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=A(e.adler,i.pending_buf,i.pending-s,s)),_(e),s=i.pending,i.pending===i.pending_buf_size)){o=1;break}o=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,B(i,o);}while(0!==o);i.gzhead.hcrc&&i.pending>s&&(e.adler=A(e.adler,i.pending_buf,i.pending-s,s)),0===o&&(i.gzindex=0,i.status=91);}else i.status=91;if(91===i.status)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=A(e.adler,i.pending_buf,i.pending-s,s)),_(e),s=i.pending,i.pending===i.pending_buf_size)){o=1;break}o=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,B(i,o);}while(0!==o);i.gzhead.hcrc&&i.pending>s&&(e.adler=A(e.adler,i.pending_buf,i.pending-s,s)),0===o&&(i.status=f);}else i.status=f;if(i.status===f&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&_(e),i.pending+2<=i.pending_buf_size&&(B(i,255&e.adler),B(i,e.adler>>8&255),e.adler=0,i.status=u)):i.status=u),0!==i.pending){if(_(e),0===e.avail_out)return i.last_flush=-1,0}else if(0===e.avail_in&&C(t)<=C(r)&&4!==t)return h(e,-5);if(i.status===g&&0!==e.avail_in)return h(e,-5);if(0!==e.avail_in||0!==i.lookahead||0!==t&&i.status!==g){var w=2===i.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(Q(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,r=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}(i,t):3===i.strategy?function(e,t){for(var r,n,i,s,A=e.window;;){if(e.lookahead<=d){if(Q(e),e.lookahead<=d&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=A[i=e.strstart-1])===A[++i]&&n===A[++i]&&n===A[++i]){s=e.strstart+d;do{}while(n===A[++i]&&n===A[++i]&&n===A[++i]&&n===A[++i]&&n===A[++i]&&n===A[++i]&&n===A[++i]&&n===A[++i]&&i<s);e.match_length=d-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead);}if(e.match_length>=3?(r=a._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}(i,t):n[i.level].func(i,t);if(3!==w&&4!==w||(i.status=g),1===w||3===w)return 0===e.avail_out&&(i.last_flush=-1),0;if(2===w&&(1===t?a._tr_align(i):5!==t&&(a._tr_stored_block(i,0,0,!1),3===t&&(I(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),_(e),0===e.avail_out))return i.last_flush=-1,0}return 4!==t?0:i.wrap<=0?1:(2===i.wrap?(B(i,255&e.adler),B(i,e.adler>>8&255),B(i,e.adler>>16&255),B(i,e.adler>>24&255),B(i,255&e.total_in),B(i,e.total_in>>8&255),B(i,e.total_in>>16&255),B(i,e.total_in>>24&255)):(p(i,e.adler>>>16),p(i,65535&e.adler)),_(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?0:1)},t.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&t!==f&&t!==u&&t!==g?h(e,c):(e.state=null,t===u?h(e,-3):0):c},t.deflateSetDictionary=function(e,t){var r,n,a,A,o,d,l,f,u=t.length;if(!e||!e.state)return c;if(2===(A=(r=e.state).wrap)||1===A&&42!==r.status||r.lookahead)return c;for(1===A&&(e.adler=s(e.adler,t,u,0)),r.wrap=0,u>=r.w_size&&(0===A&&(I(r.head),r.strstart=0,r.block_start=0,r.insert=0),f=new i.Buf8(r.w_size),i.arraySet(f,t,u-r.w_size,r.w_size,0),t=f,u=r.w_size),o=e.avail_in,d=e.next_in,l=e.input,e.avail_in=u,e.next_in=0,e.input=t,Q(r);r.lookahead>=3;){n=r.strstart,a=r.lookahead-2;do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+3-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++;}while(--a);r.strstart=n,r.lookahead=2,Q(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=d,e.input=l,e.avail_in=o,r.wrap=A,0},t.deflateInfo="pako deflate (from Nodeca project)";},8485:(e,t)=>{function r(e){return ("object"==typeof e&&null!==e&&"message"in e?e.message:`${e}`).replace(/\.$/,"")}Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t={}){this.baseOverrides={},this.url=e;const r=t.fetch||globalThis.fetch.bind(globalThis);t.overrides&&(this.baseOverrides=t.overrides),this.fetchImplementation=r;}async fetch(e,t){let n;try{n=await this.fetchImplementation(e,t);}catch(i){if(!`${i}`.includes("Failed to fetch"))throw new Error(`${r(i)} fetching ${e}`,{cause:i});console.warn(`generic-filehandle: refetching ${e} to attempt to work around chrome CORS header caching bug`);try{n=await this.fetchImplementation(e,{...t,cache:"reload"});}catch(t){throw new Error(`${r(t)} fetching ${e}`,{cause:t})}}return n}async read(e,t,r={}){const{headers:n={},signal:i,overrides:a={}}=r;e<1/0?n.range=`bytes=${t}-${t+e}`:e===1/0&&0!==t&&(n.range=`bytes=${t}-`);const s=await this.fetch(this.url,{...this.baseOverrides,...a,headers:{...n,...a.headers,...this.baseOverrides.headers},method:"GET",redirect:"follow",mode:"cors",signal:i});if(!s.ok)throw new Error(`HTTP ${s.status} fetching ${this.url}`);if(200===s.status&&0===t||206===s.status){const t=await s.arrayBuffer(),r=s.headers.get("content-range"),n=/\/(\d+)$/.exec(r||"");return n?.[1]&&(this._stat={size:parseInt(n[1],10)}),new Uint8Array(t.slice(0,e))}throw 200===s.status?new Error(`${this.url} fetch returned status 200, expected 206`):new Error(`HTTP ${s.status} fetching ${this.url}`)}async readFile(e={}){let t,r;"string"==typeof e?(t=e,r={}):(t=e.encoding,r=e,delete r.encoding);const{headers:n={},signal:i,overrides:a={}}=r,s=await this.fetch(this.url,{headers:n,method:"GET",redirect:"follow",mode:"cors",signal:i,...this.baseOverrides,...a});if(200!==s.status)throw new Error(`HTTP ${s.status} fetching ${this.url}`);if("utf8"===t)return s.text();if(t)throw new Error(`unsupported encoding: ${t}`);return new Uint8Array(await s.arrayBuffer())}async stat(){if(!this._stat&&(await this.read(10,0),!this._stat))throw new Error(`unable to determine size of file at ${this.url}`);return this._stat}async close(){}};},8594:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){const t=new i.default(e),r=t.ReadByte(),n=(t.ReadUint32(),t.ReadUint32());return 0==r?function(e,t){const r=new Array(256),n=new Array(256);d(e,r,n);const i=A(n),s=new Array(4);for(var l=0;l<4;l++)s[l]=e.ReadUint32();const f=new Uint8Array(t);for(l=0;l<t;l++){const t=l%4,A=i[a(s[t])];f[l]=A,s[t]=o(s[t],n[A],r[A]),s[t]=c(e,s[t]);}return f}(t,n):function(e,t){const r=new Array(256),n=new Array(256);!function(e,t,r){for(let e=0;e<256;e++){t[e]=new Array(256),r[e]=new Array(256);for(let r=0;r<256;r++)t[e][r]=0;}let n=e.ReadByte(),i=n,a=0;do{d(e,t[n],r[n]),a>0?(a--,n++):(n=e.ReadByte(),n==i+1&&(a=e.ReadByte())),i=n;}while(0!=n)}(e,r,n);const i=new Array(256);for(var l=0;l<256;l++)i[l]=A(n[l]);const f=new Array(4),u=new Array(4);for(var g=0;g<4;g++)f[g]=e.ReadUint32(),u[g]=0;const h=new Uint8Array(t),C=Math.floor(t/4);for(l=0;l<C;l++)for(g=0;g<4;g++){var I=a(f[g]),_=i[u[g]][I];h[l+g*C]=_,f[g]=o(f[g],n[u[g]][_],r[u[g]][_]),f[g]=c(e,f[g]),u[g]=_;}for(l*=4;l<t;)I=a(f[3]),_=s(n[u[3]],I),h[l++]=_,f[3]=o(f[3],n[u[3]][_],r[u[3]][_]),f[3]=c(e,f[3]),u[3]=_;return h}(t,n)};const i=n(r(3088));function a(e){return 4095&e}function s(e,t){let r=0;for(;t>=e[r+1];)r++;return r}function A(e){const t=new Array(4096);let r=0;for(let n=0;n<4096;n++){for(;n>=e[r+1];)r++;t[n]=r;}return t}function o(e,t,r){return r*(e>>12)+(4095&e)-t}function c(e,t){for(;t<1<<23;)t=(t<<8)+e.ReadByte();return t}function d(e,t,r){for(var n=0;n<256;n++)t[n]=0;let i=e.ReadByte(),a=i,s=0;do{const r=e.ReadITF8();t[i]=r,s>0?(s--,i++):(i=e.ReadByte(),i==a+1&&(s=e.ReadByte())),a=i;}while(0!=i);for(r[0]=0,n=0;n<=255;n++)r[n+1]=r[n]+t[n];}},8700:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(6272),i=r(1609),a={BF:"int",CF:"int",RI:"int",RL:"int",AP:"int",RG:"int",MF:"int",NS:"int",NP:"int",TS:"int",NF:"int",TC:"byte",TN:"int",FN:"int",FC:"byte",FP:"int",BS:"byte",IN:"byteArray",SC:"byteArray",DL:"int",BA:"byte",BB:"byteArray",RS:"int",PD:"int",HC:"int",MQ:"int",RN:"byteArray",QS:"byte",QQ:"byteArray",TL:"int"};t.default=class{constructor(e){this.dataSeriesCodecCache={},this.tagCodecCache={},this.tagEncoding={},this.readNamesIncluded=e.preservation.RN,this.APdelta=e.preservation.AP,this.referenceRequired=!!e.preservation.RR,this.tagIdsDictionary=e.preservation.TD,this.substitutionMatrix=function(e){const t=new Array(5);for(let e=0;e<5;e+=1)t[e]=new Array(4);return t[0][e[0]>>6&3]="C",t[0][e[0]>>4&3]="G",t[0][e[0]>>2&3]="T",t[0][3&e[0]]="N",t[1][e[1]>>6&3]="A",t[1][e[1]>>4&3]="G",t[1][e[1]>>2&3]="T",t[1][3&e[1]]="N",t[2][e[2]>>6&3]="A",t[2][e[2]>>4&3]="C",t[2][e[2]>>2&3]="T",t[2][3&e[2]]="N",t[3][e[3]>>6&3]="A",t[3][e[3]>>4&3]="C",t[3][e[3]>>2&3]="G",t[3][3&e[3]]="N",t[4][e[4]>>6&3]="A",t[4][e[4]>>4&3]="C",t[4][e[4]>>2&3]="G",t[4][3&e[4]]="T",t}(e.preservation.SM),this.dataSeriesEncoding=e.dataSeriesEncoding,this.tagEncoding=e.tagEncoding;}getCodecForTag(e){const t=this.tagCodecCache[e];if(t)return t;{const t=this.tagEncoding[e];if(!t)throw new Error("Error, no tag encoding");const r=(0, i.instantiateCodec)(t,"byteArray");return this.tagCodecCache[e]=r,r}}getTagNames(e){return this.tagIdsDictionary[e]}getCodecForDataSeries(e){let t=this.dataSeriesCodecCache[e];if(void 0===t){const r=this.dataSeriesEncoding[e];if(r){const s=a[e];if(!s)throw new n.CramMalformedError(`data series name ${e} not defined in file compression header`);t=(0, i.instantiateCodec)(r,s),this.dataSeriesCodecCache[e]=t;}}return t}toJSON(){const e={};return Object.keys(this).forEach((t=>{t.endsWith("Cache")||(e[t]=this[t]);})),e}};},8751:function(e,t,r){var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i);}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&i(t,e,r[s]);return a(t,e),t}),A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=A(r(86)),c=A(r(7392)),d=r(1307),l=r(6272),f=s(r(4562)),u=r(6727),g=A(r(2670)),h=r(5011),C=r(870),I=r(2169),_=A(r(2845)),m=r(7580),B=r(2549);class p{constructor(e){if(this.file=(0, u.open)(e.url,e.path,e.filehandle),this.validateChecksums=!0,this.fetchReferenceSequenceCallback=e.seqFetch,this.options={checkSequenceMD5:e.checkSequenceMD5,cacheSize:e.cacheSize??2e4},this.featureCache=new c.default({maxSize:this.options.cacheSize}),function(){const e=new Uint32Array([287454020]),t=new Uint8Array(e.buffer);return 68===t[0]?0:17===t[0]?1:2}()>0)throw new Error("Detected big-endian machine, may be unable to run")}read(e,t){return this.file.read(e,t)}async getDefinition(){const{maxLength:e,parser:t}=(0, m.cramFileDefinition)(),r=t(await this.file.read(e,0)).value;if(2!==r.majorVersion&&3!==r.majorVersion)throw new l.CramUnimplementedError(`CRAM version ${r.majorVersion} not supported`);return r}async getSamHeader(){const e=await this.getContainerById(0);if(!e)throw new l.CramMalformedError("file contains no containers");const t=(await e.getFirstBlock()).content,r=new DataView(t.buffer).getInt32(0,!0),n=new TextDecoder("utf8").decode(t.subarray(4,4+r));return this.header=n,(0, h.parseHeaderText)(n)}async getHeaderText(){return await this.getSamHeader(),this.header}async getContainerById(e){const{majorVersion:t}=await this.getDefinition();let r,n=(0, m.getSectionParsers)(t).cramFileDefinition.maxLength;for(let t=0;t<=e;t++){r=this.getContainerAtPosition(n);const e=await r.getHeader();if(0===t){n=e._endPosition;for(let t=0;t<e.numBlocks;t++)n=(await this.readBlock(n))._endPosition;}else n+=e._size+e.length;}return r}async checkCrc32(e,t,r,n){const i=await this.file.read(t,e),a=(0, o.default)(i)>>>0;if(a!==r)throw new l.CramMalformedError(`crc mismatch in ${n}: recorded CRC32 = ${r}, but calculated CRC32 = ${a}`)}async containerCount(){const{majorVersion:e}=await this.getDefinition();let t=0,r=(0, m.getSectionParsers)(e).cramFileDefinition.maxLength;try{for(;;){const e=await this.getContainerAtPosition(r).getHeader();if(0===t){r=e._endPosition;for(let t=0;t<e.numBlocks;t++)r=(await this.readBlock(r))._endPosition;}else r+=e._size+e.length;t+=1;}}catch(e){t--;}return t}getContainerAtPosition(e){return new _.default(this,e)}async readBlockHeader(e){const{majorVersion:t}=await this.getDefinition(),r=(0, m.getSectionParsers)(t),{cramBlockHeader:n}=r,i=await this.file.read(n.maxLength,e);return (0, B.parseItem)(i,n.parser,0,e)}async _parseSection(e,t,r=e.maxLength,n){const i=n??await this.file.read(r,t),a=(0, B.parseItem)(i,e.parser,0,t);if(a._size!==r)throw new l.CramMalformedError(`section read error: requested size ${r} does not equal parsed size ${a._size}`);return a}async _uncompressPre(e,t,r){if("gzip"===e)return (0, I.unzip)(t);if("bzip2"===e)return (0, C.decode)(t);if("lzma"===e){const e=new Response(new d.XzReadableStream((n=t,new ReadableStream({start(e){e.enqueue(n),e.close();}}))));return new Uint8Array(await e.arrayBuffer())}if("rans"===e){const e=new Uint8Array(r);return (0, g.default)(t,e),e}if("rans4x16"===e)return f.r4x16_uncompress(t);if("arith"===e)return f.arith_uncompress(t);if("fqzcomp"===e)return f.fqzcomp_uncompress(t);if("tok3"===e)return f.tok3_uncompress(t);throw new l.CramUnimplementedError(`${e} decompression not yet implemented`);var n;}async _uncompress(e,t,r){const n=await this._uncompressPre(e,t,r);if(n.length!==r){const e=new Uint8Array(r);return e.set(n,0),e}return n}async readBlock(e){const{majorVersion:t}=await this.getDefinition(),r=(0, m.getSectionParsers)(t),n=await this.readBlockHeader(e),i=n._endPosition,a=await this.file.read(n.compressedSize,i),s="raw"!==n.compressionMethod?await this._uncompress(n.compressionMethod,a,n.uncompressedSize):a,A={...n,_endPosition:i,contentPosition:i,content:s};if(t>=3){const t=await this._parseSection(r.cramBlockCrc32,i+n.compressedSize);A.crc32=t.crc32,this.validateChecksums&&await this.checkCrc32(e,n._size+n.compressedSize,t.crc32,"block data"),A._endPosition=t._endPosition,A._size=A.compressedSize+r.cramBlockCrc32.maxLength;}else A._endPosition=i+A.compressedSize,A._size=A.compressedSize;return A}}t.default=p,"getDefinition getSectionParsers getSamHeader".split(" ").forEach((e=>{(0, B.tinyMemoize)(p,e);}));},8761:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]);t.default=class{constructor(){this.crc=4294967295;}getCRC(){return ~this.crc>>>0}updateCRC(e){this.crc=this.crc<<8^r[255&(this.crc>>>24^e)];}updateCRCRun(e,t){for(;t-- >0;)this.crc=this.crc<<8^r[255&(this.crc>>>24^e)];}};},8930:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(4141)),a=r(6272),s=r(2549),A=r(6761);class o extends i.default{constructor(e,t){if(super(e,t),"int"===this.dataType)this._decodeData=this._decodeInt;else {if("byte"!==this.dataType)throw new a.CramUnimplementedError(`${this.dataType} decoding not yet implemented by EXTERNAL codec`);this._decodeData=this._decodeByte;}}decode(e,t,r,n){const{blockContentId:i}=this.parameters,a=r[i];return a?this._decodeData(a,n.externalBlocks.getCursor(i)):void 0}_decodeInt(e,t){const[r,n]=(0, s.parseItf8)(e.content,t.bytePosition);return t.bytePosition=t.bytePosition+n,r}_decodeByte(e,t){if(t.bytePosition>=e.content.length)throw new A.CramBufferOverrunError("attempted to read beyond end of block. this file seems truncated.");return e.content[t.bytePosition++]}}t.default=o;},9301:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(6272),i=r(7151);class a{constructor(){this.F=void 0,this.C=void 0;}}function s(e,t,r,n){return r*(e>>n)+(e&(1<<n)-1)-t}t.default={FC:a,AriDecoder:class{constructor(){this.fc=new Array(256);for(let e=0;e<this.fc.length;e+=1)this.fc[e]=new a;this.R=null;}},DecodingSymbol:class{constructor(){this.start=void 0,this.freq=void 0;}},symbolInit:function(e,t,r){if(!(t<=65536))throw new n.CramMalformedError("assertion failed: start <= 1<<16");if(!(r<=65536-t))throw new n.CramMalformedError("assertion failed: freq <= 1<<16");e.start=t,e.freq=r;},advanceStep:s,advanceSymbolStep:function(e,t,r){return s(e,t.start,t.freq,r)},get:function(e,t){return e&(1<<t)-1},advanceSymbol:function(e,t,r,n){return function(e,t,r,n,a){if((e=n*(e>>a)+(e&(1<<a)-1)-r)<i.RANS_BYTE_L)do{e=e<<8|255&t.get();}while(e<i.RANS_BYTE_L);return e}(e,t,r.start,r.freq,n)},renormalize:function(e,t){if(e<i.RANS_BYTE_L)do{e=e<<8|255&t.get();}while(e<i.RANS_BYTE_L);return e}};},9313:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){return d(new i.default(e),0)};const i=n(r(3088));function a(e,t){return e&(1<<t)-1}function s(e,t){let r=0;for(;t>=e[r+1];)r++;return r}function A(e,t){const r=1<<t,n=new Array(r);let i=0;for(let t=0;t<r;t++){for(;t>=e[i+1];)i++;n[t]=i;}return n}function o(e,t,r,n){return r*(e>>n)+(e&(1<<n)-1)-t}function c(e,t){return t<32768&&(t=(t<<16)+e.ReadUint16()),t}function d(e,t){const r=e.ReadByte(),n=1&r,g=8&r,h=32&r,C=64&r,I=128&r,_=4&r?32:4;if(16&r||(t=e.ReadUint7()),g)return function(e,t){const r=e.ReadByte(),n=new Array(r),i=new Array(r);for(var a=0;a<r;a++)n[a]=e.ReadUint7();const s=new Array(r);for(a=0;a<r;a++)i[a]=Math.floor(t/r)+(t%r>a),s[a]=d(e,i[a]);const A=new Uint8Array(t);for(a=0;a<r;a++)for(let e=0;e<i[a];e++)A[e*r+a]=s[a][e];return A}(e,t);if(I)var m=t,[B,p,t]=function(e){const t=e.ReadByte(),r=new Array(t);for(let n=0;n<t;n++)r[n]=e.ReadByte();return [r,t,e.ReadUint7()]}(e);if(C)var w=t,[E,Q,t]=function(e,t){const r=e.ReadUint7(),n=e.ReadUint7();if(1&r)var a=e.ReadData((r-1)/2);else {const n=e.ReadUint7();a=e.ReadData(n),a=f(new i.default(a),r/2,t);}a=new i.default(a);const s=new Array(256);let A=a.ReadByte();0==A&&(A=256);for(let e=0;e<A;e++)s[a.ReadByte()]=1;return [s,a,n]}(e,_);if(h)var y=e.ReadData(t);else y=0==n?f(e,t,_):function(e,t,r){const n=(g=e.ReadByte())>>4;var d=e;if(1&g){const t=e.ReadUint7(),r=e.ReadUint7();var g=new i.default(e.ReadData(r));d=new i.default(f(g,t,4));}const h=new Array(256),C=new Array(256);!function(e,t,r,n){for(var i=0;i<256;i++){t[i]=new Array(256),r[i]=new Array(256);for(var a=0;a<256;a++)t[i][a]=0;}const s=l(e);for(i=0;i<256;i++){if(!s[i])continue;let A=0;for(a=0;a<256;a++)s[a]&&(A>0?A--:(t[i][a]=e.ReadUint7(),0==t[i][a]&&(A=e.ReadByte())));for(u(t[i],n),r[i][0]=0,a=0;a<256;a++)r[i][a+1]=r[i][a]+t[i][a];}}(d,h,C,n);const I=new Array(256);for(var _=0;_<256;_++)I[_]=A(C[_],n);const m=new Array(r),B=new Array(r);for(var p=0;p<r;p++)m[p]=e.ReadUint32(),B[p]=0;const w=new Uint8Array(t),E=Math.floor(t/r);for(_=0;_<E;_++)for(p=0;p<r;p++){var Q=a(m[p],n),y=I[B[p]][Q];w[_+p*E]=y,m[p]=o(m[p],C[B[p]][y],h[B[p]][y],n),m[p]=c(e,m[p]),B[p]=y;}for(_*=r;_<t;)Q=a(m[r-1],n),y=s(C[B[r-1]],Q),w[_++]=y,m[r-1]=o(m[r-1],C[B[r-1]][y],h[B[r-1]][y],n),m[r-1]=c(e,m[r-1]),B[r-1]=y;return w}(e,t,_);return C&&(y=function(e,t,r,n){new i.default(e);const a=new Uint8Array(n);let s=0;for(let i=0;s<n;i++){const n=e[i];if(t[n]){const e=r.ReadUint7();for(let t=0;t<=e;t++)a[s++]=n;}else a[s++]=n;}return a}(y,E,Q,w)),I&&(y=function(e,t,r,n){const i=new Uint8Array(n);let a=0;if(r<=1)for(var s=0;s<n;s++)i[s]=t[0];else if(r<=2)for(s=0;s<n;s++){if(s%8==0)var A=e[a++];i[s]=t[1&A],A>>=1;}else if(r<=4)for(s=0;s<n;s++)s%4==0&&(A=e[a++]),i[s]=t[3&A],A>>=2;else if(r<=16)for(s=0;s<n;s++)s%2==0&&(A=e[a++]),i[s]=t[15&A],A>>=4;return i}(y,B,p,m)),y}function l(e){const t=new Array(256);for(let e=0;e<256;e++)t[e]=0;let r=0,n=e.ReadByte(),i=n;do{t[n]=1,r>0?(r--,n++):(n=e.ReadByte(),n==i+1&&(r=e.ReadByte())),i=n;}while(0!=n);return t}function f(e,t,r){const n=new Array(256),i=new Array(256);!function(e,t,r){for(var n=0;n<256;n++)t[n]=0;const i=l(e);for(n=0;n<256;n++)i[n]>0&&(t[n]=e.ReadUint7());for(u(t,12),r[0]=0,n=0;n<=255;n++)r[n+1]=r[n]+t[n];}(e,n,i);const s=A(i,12),d=new Array(r);for(var f=0;f<r;f++)d[f]=e.ReadUint32();const g=new Uint8Array(t);for(f=0;f<t;f++){const t=f&r-1,A=s[a(d[t],12)];g[f]=A,d[t]=o(d[t],i[A],n[A],12),d[t]=c(e,d[t]);}return g}function u(e,t){let r=0;for(var n=0;n<256;n++)r+=e[n];if(0==r||r==1<<t)return;let i=0;for(;r<1<<t;)r*=2,i++;for(n=0;n<256;n++)e[n]<<=i;}},9505:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(870),a=n(r(4652)),s=n(r(2324)),A=n(r(3088));t.default=class{decode(e){return this.stream=new A.default(e),this.decodeStream(this.stream)}decodeStream(e,t=0){const r=this.stream.ReadByte();16&r||(t=this.stream.ReadUint7());let n=t;const i=1&r;if(8&r)return this.decodeStripe(this.stream,t);var a;if(128&r&&([a,n]=this.decodePackMeta(this.stream)),32&r)var s=this.decodeCat(this.stream,n);else s=4&r?this.decodeExt(this.stream,n):64&r?i?this.decodeRLE1(this.stream,n):this.decodeRLE0(this.stream,n):i?this.decode1(this.stream,n):this.decode0(this.stream,n);return 128&r&&(s=this.decodePack(s,a,t)),s}decode0(e,t){const r=new Uint8Array(t);let n=e.ReadByte();0==n&&(n=256);const i=new s.default(n),A=new a.default(e);A.RangeStartDecode(e);for(let n=0;n<t;n++)r[n]=i.ModelDecode(e,A);return r}decode1(e,t){const r=new Uint8Array(t);let n=e.ReadByte();0==n&&(n=256);const i=new Array(n);for(var A=0;A<n;A++)i[A]=new s.default(n);const o=new a.default(e);o.RangeStartDecode(e);let c=0;for(A=0;A<t;A++)r[A]=i[c].ModelDecode(e,o),c=r[A];return r}decodeExt(e,t){return (0, i.decode)(e.buf.slice(e.pos))}decodeRLE0(e,t){const r=new Uint8Array(t);let n=e.ReadByte();0==n&&(n=256);const i=new s.default(n),A=new Array(258);for(var o=0;o<=257;o++)A[o]=new s.default(4);const c=new a.default(e);for(c.RangeStartDecode(e),o=0;o<t;){r[o]=i.ModelDecode(e,c);let t=A[r[o]].ModelDecode(e,c),n=t,a=256;for(;3==t;)t=A[a].ModelDecode(e,c),a=257,n+=t;for(let e=1;e<=n;e++)r[o+e]=r[o];o+=n+1;}return r}decodeRLE1(e,t){const r=new Uint8Array(t);let n=e.ReadByte();0==n&&(n=256);const i=new Array(n);for(var A=0;A<n;A++)i[A]=new s.default(n);const o=new Array(258);for(A=0;A<=257;A++)o[A]=new s.default(4);const c=new a.default(e);c.RangeStartDecode(e);let d=0;for(A=0;A<t;){r[A]=i[d].ModelDecode(e,c),d=r[A];let t=o[r[A]].ModelDecode(e,c),n=t,a=256;for(;3==t;)t=o[a].ModelDecode(e,c),a=257,n+=t;for(let e=1;e<=n;e++)r[A+e]=r[A];A+=n+1;}return r}decodePackMeta(e){this.nsym=e.ReadByte();const t=new Array(this.nsym);for(let r=0;r<this.nsym;r++)t[r]=e.ReadByte();return [t,e.ReadUint7()]}decodePack(e,t,r){const n=new Uint8Array(r);if(this.nsym<=1)for(var i=0;i<r;i++)n[i]=t[0];else if(this.nsym<=2){i=0;for(var a=0;i<r;i++){if(i%8==0)var s=e[a++];n[i]=t[1&s],s>>=1;}}else if(this.nsym<=4)for(i=0,a=0;i<r;i++)i%4==0&&(s=e[a++]),n[i]=t[3&s],s>>=2;else {if(!(this.nsym<=16))return e;for(i=0,a=0;i<r;i++)i%2==0&&(s=e[a++]),n[i]=t[15&s],s>>=4;}return n}packMeta(e){const t=new A.default("",0,1024),r=new Array(256);for(var n=0;n<e.length;n++)r[e[n]]=1;var i=0;for(n=0;n<256;n++)r[n]&&(r[n]=++i);for(t.WriteByte(i),n=0;n<256;n++)r[n]&&(t.WriteByte(n),r[n]--);return [t,r,i]}decodeStripe(e,t){const r=e.ReadByte(),n=new Array(r),i=new Array(r);for(var a=0;a<r;a++)n[a]=e.ReadUint7();const s=new Array(r);for(a=0;a<r;a++)i[a]=Math.floor(t/r)+(t%r>a),s[a]=this.decodeStream(e,i[a]);const A=new Uint8Array(t);for(a=0;a<r;a++)for(let e=0;e<i[a];e++)A[e*r+a]=s[a][e];return A}decodeCat(e,t){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.ReadByte();return r}};},9681:e=>{e.exports={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,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,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,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};},9685:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o,c,d,l,f,u){let g=t("BF");const h=t("CF");if(!(0, a.isMappedSliceHeader)(o.parsedContent))throw new Error("slice header not mapped");const C=f>1&&-2===o.parsedContent.refSeqId?t("RI"):o.parsedContent.refSeqId,I=t("RL");let _=t("AP");r.APdelta&&(_+=l.lastAlignmentStart),l.lastAlignmentStart=_;const m=t("RG");let B,p,w,E;if(r.readNamesIncluded&&(B=s(t("RN"))),i.CramFlagsDecoder.isDetached(h)){const e=t("MF");let n;r.readNamesIncluded||(n=s(t("RN")),B=n);const a=t("NS"),A=t("NP");(e||a>-1)&&(p={mateFlags:e,mateSequenceId:a,mateAlignmentStart:A,mateReadName:n}),w=t("TS"),i.MateFlagsDecoder.isUnmapped(e)&&(g=i.BamFlagsDecoder.setMateUnmapped(g)),i.MateFlagsDecoder.isOnNegativeStrand(e)&&(g=i.BamFlagsDecoder.setMateReverseComplemented(g));}else i.CramFlagsDecoder.isWithMateDownstream(h)&&(E=t("NF")+u+1);const Q=t("TL");if(Q<0)throw new n.CramMalformedError("invalid TL index");const y={},b=r.getTagNames(Q),D=b.length;for(let t=0;t<D;t++){const n=b[t],i=n.slice(0,2),a=n.slice(2,3),s=r.getCodecForTag(n).decode(e,c,d,l);y[i]=void 0===s?void 0:"number"==typeof s?s:A(a,s);}let S,k,v,R,F;if(i.BamFlagsDecoder.isSegmentUnmapped(g))if(i.CramFlagsDecoder.isDecodeSequenceAsStar(h))F=null,R=null;else {const e=new Array(I);for(let r=0;r<e.length;r++)e[r]=t("BA");if(F=String.fromCharCode(...e),i.CramFlagsDecoder.isPreservingQualityScores(h)){R=new Array(I);for(let r=0;r<e.length;r++)R[r]=t("QS");}}else {const e=t("FN");if(e&&(S=function(e,t,r,i,a){let s=0,A=e-1;const o=new Array(t);function c([e,t]){const n=r(t);if("character"===e)return String.fromCharCode(n);if("string"===e){let e="";for(let t=0;t<n.byteLength;t++)e+=String.fromCharCode(n[t]);return e}return "numArray"===e?Array.from(n):n}for(let e=0;e<t;e++){const t=String.fromCharCode(r("FC")),i=r("FP"),d={B:["character","BA"],S:["string",a>1?"SC":"IN"],X:["number","BS"],D:["number","DL"],I:["string","IN"],i:["character","BA"],b:["string","BB"],q:["numArray","QQ"],Q:["number","QS"],H:["number","HC"],P:["number","PD"],N:["number","RS"]}[t];if(!d)throw new n.CramMalformedError(`invalid read feature code "${t}"`);let l=c(d);const f={B:["number","QS"]}[t];f&&(l=[l,c(f)]),s+=i;const u=s;A+=i;const g=A;"D"===t||"N"===t?A+=l:"I"===t||"S"===t?A-=l.length:"i"===t&&(A-=1),o[e]={code:t,pos:u,refPos:g,data:l};}return o}(_,e,t,0,f)),k=I,S)for(const{code:e,data:t}of S)"D"===e||"N"===e?k+=t:"I"===e||"S"===e?k-=t.length:"i"===e&&(k-=1);if(Number.isNaN(k)&&(console.warn(`${B||`${C}:${_}`} record has invalid read features`),k=I),v=t("MQ"),i.CramFlagsDecoder.isPreservingQualityScores(h)){R=new Array(I);for(let e=0;e<R.length;e++)R[e]=t("QS");}}return {readLength:I,sequenceId:C,cramFlags:h,flags:g,alignmentStart:_,readGroupId:m,readName:B,mateToUse:p,templateSize:w,mateRecordNumber:E,readFeatures:S,lengthOnRef:k,mappingQuality:v,qualityScores:R,readBases:F,tags:y}};const n=r(6272),i=r(7480),a=r(7580);function s(e){let t="";for(let r=0;r<e.length&&0!==e[r];r++)t+=String.fromCharCode(e[r]);return t}function A(e,t){if("Z"===e)return s(t);if("A"===e)return String.fromCharCode(t[0]);if("I"===e)return new Uint32Array(t.buffer)[0];if("i"===e)return new Int32Array(t.buffer)[0];if("s"===e)return new Int16Array(t.buffer)[0];if("S"===e)return new Uint16Array(t.buffer)[0];if("c"===e)return new Int8Array(t.buffer)[0];if("C"===e)return t[0];if("f"===e)return new Float32Array(t.buffer)[0];if("H"===e)return Number.parseInt(s(t).replace(/^0x/,""),16);if("B"===e)return function(e){const t=String.fromCharCode(e[0]),r=new DataView(e.buffer).getUint32(1,!0),n=new Array(r);if(e=e.slice(5),"c"===t){const t=new Int8Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}else if("C"===t){const t=new Uint8Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}else if("s"===t){const t=new Int16Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}else if("S"===t){const t=new Uint16Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}else if("i"===t){const t=new Int32Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}else if("I"===t){const t=new Uint32Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}else {if("f"!==t)throw new Error(`unknown type: ${t}`);{const t=new Float32Array(e.buffer);for(let e=0;e<r;e++)n[e]=t[e];}}return n}(t);throw new n.CramMalformedError(`Unrecognized tag type ${e}`)}},9805:(e,t)=>{var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)n(r,i)&&(e[i]=r[i]);}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var a=0;a<n;a++)e[i+a]=t[r+a];},flattenChunks:function(e){var t,r,n,i,a,s;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;for(s=new Uint8Array(n),i=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,i),i+=a.length;return s}},a={arraySet:function(e,t,r,n,i){for(var a=0;a<n;a++)e[i+a]=t[r+a];},flattenChunks:function(e){return [].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,i)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,a));},t.setTyped(r);},9846:()=>{}},t={},r=function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}(5159);return r})();
52550
+ let gmodCRAM;
52551
+ (()=>{var A={539(A){var t={utf8:{stringToBytes:function(A){return t.bin.stringToBytes(unescape(encodeURIComponent(A)))},bytesToString:function(A){return decodeURIComponent(escape(t.bin.bytesToString(A)))}},bin:{stringToBytes:function(A){for(var t=[],r=0;r<A.length;r++)t.push(255&A.charCodeAt(r));return t},bytesToString:function(A){for(var t=[],r=0;r<A.length;r++)t.push(String.fromCharCode(A[r]));return t.join("")}}};A.exports=t;},635(A){var t,r;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(A,t){return A<<t|A>>>32-t},rotr:function(A,t){return A<<32-t|A>>>t},endian:function(A){if(A.constructor==Number)return 16711935&r.rotl(A,8)|4278255360&r.rotl(A,24);for(var t=0;t<A.length;t++)A[t]=r.endian(A[t]);return A},randomBytes:function(A){for(var t=[];A>0;A--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(A){for(var t=[],r=0,e=0;r<A.length;r++,e+=8)t[e>>>5]|=A[r]<<24-e%32;return t},wordsToBytes:function(A){for(var t=[],r=0;r<32*A.length;r+=8)t.push(A[r>>>5]>>>24-r%32&255);return t},bytesToHex:function(A){for(var t=[],r=0;r<A.length;r++)t.push((A[r]>>>4).toString(16)),t.push((15&A[r]).toString(16));return t.join("")},hexToBytes:function(A){for(var t=[],r=0;r<A.length;r+=2)t.push(parseInt(A.substr(r,2),16));return t},bytesToBase64:function(A){for(var r=[],e=0;e<A.length;e+=3)for(var v=A[e]<<16|A[e+1]<<8|A[e+2],n=0;n<4;n++)8*e+6*n<=8*A.length?r.push(t.charAt(v>>>6*(3-n)&63)):r.push("=");return r.join("")},base64ToBytes:function(A){A=A.replace(/[^A-Z0-9+\/]/gi,"");for(var r=[],e=0,v=0;e<A.length;v=++e%4)0!=v&&r.push((t.indexOf(A.charAt(e-1))&Math.pow(2,-2*v+8)-1)<<2*v|t.indexOf(A.charAt(e))>>>6-2*v);return r}},A.exports=r;},445(A){function t(A){return !!A.constructor&&"function"==typeof A.constructor.isBuffer&&A.constructor.isBuffer(A)}A.exports=function(A){return null!=A&&(t(A)||function(A){return "function"==typeof A.readFloatLE&&"function"==typeof A.slice&&t(A.slice(0,0))}(A)||!!A._isBuffer)};},892(A,t,r){var e,v,n,j,f;e=r(635),v=r(539).utf8,n=r(445),j=r(539).bin,(f=function(A,t){A.constructor==String?A=t&&"binary"===t.encoding?j.stringToBytes(A):v.stringToBytes(A):n(A)?A=Array.prototype.slice.call(A,0):Array.isArray(A)||A.constructor===Uint8Array||(A=A.toString());for(var r=e.bytesToWords(A),s=8*A.length,b=1732584193,i=-271733879,o=-1732584194,a=271733878,g=0;g<r.length;g++)r[g]=16711935&(r[g]<<8|r[g]>>>24)|4278255360&(r[g]<<24|r[g]>>>8);r[s>>>5]|=128<<s%32,r[14+(s+64>>>9<<4)]=s;var I=f._ff,c=f._gg,C=f._hh,E=f._ii;for(g=0;g<r.length;g+=16){var l=b,h=i,d=o,k=a;b=I(b,i,o,a,r[g+0],7,-680876936),a=I(a,b,i,o,r[g+1],12,-389564586),o=I(o,a,b,i,r[g+2],17,606105819),i=I(i,o,a,b,r[g+3],22,-1044525330),b=I(b,i,o,a,r[g+4],7,-176418897),a=I(a,b,i,o,r[g+5],12,1200080426),o=I(o,a,b,i,r[g+6],17,-1473231341),i=I(i,o,a,b,r[g+7],22,-45705983),b=I(b,i,o,a,r[g+8],7,1770035416),a=I(a,b,i,o,r[g+9],12,-1958414417),o=I(o,a,b,i,r[g+10],17,-42063),i=I(i,o,a,b,r[g+11],22,-1990404162),b=I(b,i,o,a,r[g+12],7,1804603682),a=I(a,b,i,o,r[g+13],12,-40341101),o=I(o,a,b,i,r[g+14],17,-1502002290),b=c(b,i=I(i,o,a,b,r[g+15],22,1236535329),o,a,r[g+1],5,-165796510),a=c(a,b,i,o,r[g+6],9,-1069501632),o=c(o,a,b,i,r[g+11],14,643717713),i=c(i,o,a,b,r[g+0],20,-373897302),b=c(b,i,o,a,r[g+5],5,-701558691),a=c(a,b,i,o,r[g+10],9,38016083),o=c(o,a,b,i,r[g+15],14,-660478335),i=c(i,o,a,b,r[g+4],20,-405537848),b=c(b,i,o,a,r[g+9],5,568446438),a=c(a,b,i,o,r[g+14],9,-1019803690),o=c(o,a,b,i,r[g+3],14,-187363961),i=c(i,o,a,b,r[g+8],20,1163531501),b=c(b,i,o,a,r[g+13],5,-1444681467),a=c(a,b,i,o,r[g+2],9,-51403784),o=c(o,a,b,i,r[g+7],14,1735328473),b=C(b,i=c(i,o,a,b,r[g+12],20,-1926607734),o,a,r[g+5],4,-378558),a=C(a,b,i,o,r[g+8],11,-2022574463),o=C(o,a,b,i,r[g+11],16,1839030562),i=C(i,o,a,b,r[g+14],23,-35309556),b=C(b,i,o,a,r[g+1],4,-1530992060),a=C(a,b,i,o,r[g+4],11,1272893353),o=C(o,a,b,i,r[g+7],16,-155497632),i=C(i,o,a,b,r[g+10],23,-1094730640),b=C(b,i,o,a,r[g+13],4,681279174),a=C(a,b,i,o,r[g+0],11,-358537222),o=C(o,a,b,i,r[g+3],16,-722521979),i=C(i,o,a,b,r[g+6],23,76029189),b=C(b,i,o,a,r[g+9],4,-640364487),a=C(a,b,i,o,r[g+12],11,-421815835),o=C(o,a,b,i,r[g+15],16,530742520),b=E(b,i=C(i,o,a,b,r[g+2],23,-995338651),o,a,r[g+0],6,-198630844),a=E(a,b,i,o,r[g+7],10,1126891415),o=E(o,a,b,i,r[g+14],15,-1416354905),i=E(i,o,a,b,r[g+5],21,-57434055),b=E(b,i,o,a,r[g+12],6,1700485571),a=E(a,b,i,o,r[g+3],10,-1894986606),o=E(o,a,b,i,r[g+10],15,-1051523),i=E(i,o,a,b,r[g+1],21,-2054922799),b=E(b,i,o,a,r[g+8],6,1873313359),a=E(a,b,i,o,r[g+15],10,-30611744),o=E(o,a,b,i,r[g+6],15,-1560198380),i=E(i,o,a,b,r[g+13],21,1309151649),b=E(b,i,o,a,r[g+4],6,-145523070),a=E(a,b,i,o,r[g+11],10,-1120210379),o=E(o,a,b,i,r[g+2],15,718787259),i=E(i,o,a,b,r[g+9],21,-343485551),b=b+l>>>0,i=i+h>>>0,o=o+d>>>0,a=a+k>>>0;}return e.endian([b,i,o,a])})._ff=function(A,t,r,e,v,n,j){var f=A+(t&r|~t&e)+(v>>>0)+j;return (f<<n|f>>>32-n)+t},f._gg=function(A,t,r,e,v,n,j){var f=A+(t&e|r&~e)+(v>>>0)+j;return (f<<n|f>>>32-n)+t},f._hh=function(A,t,r,e,v,n,j){var f=A+(t^r^e)+(v>>>0)+j;return (f<<n|f>>>32-n)+t},f._ii=function(A,t,r,e,v,n,j){var f=A+(r^(t|~e))+(v>>>0)+j;return (f<<n|f>>>32-n)+t},f._blocksize=16,f._digestsize=16,A.exports=function(A,t){if(null==A)throw new Error("Illegal argument "+A);var r=e.wordsToBytes(f(A,t));return t&&t.asBytes?r:t&&t.asString?j.bytesToString(r):e.bytesToHex(r)};}},t={};function r(e){var v=t[e];if(void 0!==v)return v.exports;var n=t[e]={exports:{}};return A[e](n,n.exports,r),n.exports}r.d=(A,t)=>{for(var e in t)r.o(t,e)&&!r.o(A,e)&&Object.defineProperty(A,e,{enumerable:!0,get:t[e]});},r.o=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),r.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0});};var e={};(()=>{r.r(e),r.d(e,{CraiIndex:()=>vt,CramFile:()=>rt,CramRecord:()=>R,IndexedCramFile:()=>jt});const A=1,t=2,v=4,n=8,j=1,f=2,s=4,b=8,i=16,o=32,a=64,g=128,I=256,c=512,C=1024,E=2048;var l=r(892);let h;function d(){return h||(h=new TextDecoder),h}function k(A){let t=0;for(;t<A.length&&0!==A[t];)t++;return d().decode(A.subarray(0,t))}function B(A){return d().decode(A)}const q=4294967296;function u(A,t){const r=t.bytePosition,e=A[r];return e<128?(t.bytePosition=r+1,e):e<192?(t.bytePosition=r+2,(63&e)<<8|A[r+1]):e<224?(t.bytePosition=r+3,(31&e)<<16|A[r+1]<<8|A[r+2]):e<240?(t.bytePosition=r+4,(15&e)<<24|A[r+1]<<16|A[r+2]<<8|A[r+3]):(t.bytePosition=r+5,(15&e)<<28|A[r+1]<<20|A[r+2]<<12|A[r+3]<<4|15&A[r+4])}function Q(A,t){const r={bytePosition:t};return [u(A,r),r.bytePosition-t]}function x(A,t){let r=t;const e=A[r];let v;return e<128?(v=e,r+=1):e<192?(v=16383&(e<<8|A[r+1]),r+=2):e<224?(v=(63&e)<<16|A[r+1]<<8|A[r+2],r+=3):e<240?(v=(31&e)<<24|A[r+1]<<16|A[r+2]<<8|A[r+3],r+=4):e<248?(v=(15&A[r])*q+(A[r+1]<<24|A[r+2]<<16|A[r+3]<<8|A[r+4]),r+=5):e<252?(v=((7&A[r])<<8|A[r+1])*q+(A[r+2]<<24|A[r+3]<<16|A[r+4]<<8|A[r+5]),r+=6):e<254?(v=((3&A[r])<<16|A[r+1]<<8|A[r+2])*q+(A[r+3]<<24|A[r+4]<<16|A[r+5]<<8|A[r+6]),r+=7):e<255?(v=(A[r+1]<<24|A[r+2]<<16|A[r+3]<<8|A[r+4])*q+(A[r+5]<<24|A[r+6]<<16|A[r+7]<<8|A[r+8]),r+=8):(v=72057594037927940*A[r+1]+(A[r+2]<<24|A[r+3]<<16|A[r+4]<<8|A[r+5])*q+(A[r+6]<<24|A[r+7]<<16|A[r+8]<<8|A[r+9]),r+=9),[v,r-t]}function m(A,t,r=0,e=0){const{offset:v,value:n}=t(A,r);return {...n,_endPosition:v+e,_size:v-r}}const N=["F F ","F R ","R F ","R R ","F2F1","F2R1","R2F1","R2R1","F1F2","F1R2","R1F2","R1R2","F2F1","F2R1","R2F1","R2R1","F F ","R F ","F R ","R R ","F1F2","R1F2","F1R2","R1R2","F2F1","R2F1","F2R1","R2R1","F1F2","R1F2","F1R2","R1R2"],w={decodeTags:!0},p={a:0,A:0,c:1,C:1,g:2,G:2,t:3,T:3,n:4,N:4};function y(A,t,r,e){const v=e.refPos-t.start,n=t.seq.charAt(v);n&&(e.ref=n);let j=p[n];void 0===j&&(j=4);const f=r.substitutionMatrix[j][e.data];f&&(e.sub=f);}function D(A){const t={};for(const[r,e]of A)t[`is${e}`]=A=>!!(A&r),t[`set${e}`]=A=>A|r;return t}const F=D([[1,"Paired"],[2,"ProperlyPaired"],[4,"SegmentUnmapped"],[8,"MateUnmapped"],[16,"ReverseComplemented"],[32,"MateReverseComplemented"],[64,"Read1"],[128,"Read2"],[256,"Secondary"],[512,"FailedQc"],[1024,"Duplicate"],[2048,"Supplementary"]]),S=D([[1,"PreservingQualityScores"],[2,"Detached"],[4,"WithMateDownstream"],[8,"DecodeSequenceAsStar"]]),G=D([[1,"OnNegativeStrand"],[2,"Unmapped"]]);class R{tags;flags;cramFlags;readBases;_refRegion;readFeatures;alignmentStart;lengthOnRef;readLength;templateLength;templateSize;_readName;_readNameRaw;_syntheticReadName;mateRecordNumber;mate;uniqueId;sequenceId;readGroupId;mappingQuality;qualityScores;get readName(){if(void 0===this._readName){if(!this._readNameRaw)return this._syntheticReadName;this._readName=k(this._readNameRaw),this._readNameRaw=void 0;}return this._readName}constructor({flags:A,cramFlags:t,readLength:r,mappingQuality:e,lengthOnRef:v,qualityScores:n,mateRecordNumber:j,readBases:f,readFeatures:s,mate:b,readGroupId:i,readNameRaw:o,sequenceId:a,uniqueId:g,templateSize:I,alignmentStart:c,tags:C}){this.flags=A,this.cramFlags=t,this.readLength=r,this.mappingQuality=e,this.lengthOnRef=v,this.qualityScores=n,this.readGroupId=i,this.sequenceId=a,this.uniqueId=g,this.alignmentStart=c,this.tags=C,o&&(this._readNameRaw=o),f&&(this.readBases=f),this.templateSize=I,s&&(this.readFeatures=s),b&&(this.mate=b),j&&(this.mateRecordNumber=j);}qualityScoreAt(A){return this.qualityScores?.[A]}isPaired(){return !!(this.flags&j)}isProperlyPaired(){return !!(this.flags&f)}isSegmentUnmapped(){return !!(this.flags&s)}isMateUnmapped(){return !!(this.flags&b)}isReverseComplemented(){return !!(this.flags&i)}isMateReverseComplemented(){return !!(this.flags&o)}isRead1(){return !!(this.flags&a)}isRead2(){return !!(this.flags&g)}isSecondary(){return !!(this.flags&I)}isFailedQc(){return !!(this.flags&c)}isDuplicate(){return !!(this.flags&C)}isSupplementary(){return !!(this.flags&E)}isDetached(){return !!(this.cramFlags&t)}hasMateDownStream(){return !!(this.cramFlags&v)}isPreservingQualityScores(){return !!(this.cramFlags&A)}isUnknownBases(){return !!(this.cramFlags&n)}getReadBases(){if(!this.readBases&&this._refRegion){const A=function(A,t){if(!A.lengthOnRef&&!A.readLength)return null;if(A.isUnknownBases())return null;const r=A.alignmentStart-t.start;if(!A.readFeatures)return t.seq.slice(r,r+(A.lengthOnRef||0)).toUpperCase();let e="",v=r,n=0;for(;e.length<A.readLength;)if(n<A.readFeatures.length){const r=A.readFeatures[n];if("Q"===r.code||"q"===r.code)n+=1;else if(r.pos===e.length+1)switch(n+=1,r.code){case"b":e+=r.data,v+=r.data.length;break;case"B":e+=r.data[0],v+=1;break;case"X":e+=r.sub,v+=1;break;case"I":case"i":case"S":e+=r.data;break;case"D":case"N":v+=r.data;}else {const A=t.seq.slice(v,v+r.pos-e.length-1);e+=A,v+=A.length;}}else {const r=t.seq.slice(v,v+A.readLength-e.length);e+=r,v+=r.length;}return e.toUpperCase()}(this,this._refRegion);A&&(this.readBases=A);}return this.readBases}getPairOrientation(){const A=this.flags;if(1!=(13&A)||this.sequenceId!==this.mate?.sequenceId)return;const t=this.templateLength||this.templateSize||0;return N[A>>4&15|(t>0?16:0)]}addReferenceSequence(A,t){if(this.readFeatures)for(const r of this.readFeatures)"X"===r.code&&y(0,A,t,r);!this.readBases&&A.start<=this.alignmentStart&&A.end>=this.alignmentStart+(this.lengthOnRef||this.readLength)-1&&(this._refRegion=A);}toJSON(){const A={alignmentStart:this.alignmentStart,cramFlags:this.cramFlags,flags:this.flags,readGroupId:this.readGroupId,readLength:this.readLength,sequenceId:this.sequenceId,tags:this.tags,uniqueId:this.uniqueId,readName:this.readName,readBases:this.getReadBases(),qualityScores:this.qualityScores?Array.from(this.qualityScores):this.qualityScores};return void 0!==this.lengthOnRef&&(A.lengthOnRef=this.lengthOnRef),void 0!==this.mappingQuality&&(A.mappingQuality=this.mappingQuality),void 0!==this.templateSize&&(A.templateSize=this.templateSize),void 0!==this.templateLength&&(A.templateLength=this.templateLength),void 0!==this.readFeatures&&(A.readFeatures=this.readFeatures),void 0!==this.mate&&(A.mate=this.mate),void 0!==this.mateRecordNumber&&(A.mateRecordNumber=this.mateRecordNumber),A}}var K,M,O,H,L,J,_,P,$,Y,T,U,z,V,X,W=function(A,t,r,e,v){if("m"===e)throw new TypeError("Private method is not writable");if("a"===e&&!v)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?A!==t||!v:!t.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return "a"===e?v.call(A,r):v?v.value=r:t.set(A,r),r},Z=function(A,t,r,e){if("a"===r&&!e)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?A!==t||!e:!t.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return "m"===r?e:"a"===r?e.call(A):e?e.value:t.get(A)};class AA extends Map{constructor(A={}){if(super(),K.add(this),M.set(this,0),O.set(this,new Map),H.set(this,new Map),L.set(this,void 0),J.set(this,void 0),_.set(this,void 0),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");W(this,L,A.maxSize,"f"),W(this,J,A.maxAge||Number.POSITIVE_INFINITY,"f"),W(this,_,A.onEviction,"f");}get __oldCache(){return Z(this,H,"f")}get(A){if(Z(this,O,"f").has(A)){const t=Z(this,O,"f").get(A);return Z(this,K,"m",T).call(this,A,t)}if(Z(this,H,"f").has(A)){const t=Z(this,H,"f").get(A);if(!Z(this,K,"m",$).call(this,A,t))return Z(this,K,"m",V).call(this,A,t),t.value}}set(A,t,{maxAge:r=Z(this,J,"f")}={}){const e="number"==typeof r&&r!==Number.POSITIVE_INFINITY?Date.now()+r:void 0;return Z(this,O,"f").has(A)?Z(this,O,"f").set(A,{value:t,expiry:e}):Z(this,K,"m",z).call(this,A,{value:t,expiry:e}),this}has(A){return Z(this,O,"f").has(A)?!Z(this,K,"m",$).call(this,A,Z(this,O,"f").get(A)):!!Z(this,H,"f").has(A)&&!Z(this,K,"m",$).call(this,A,Z(this,H,"f").get(A))}peek(A){return Z(this,O,"f").has(A)?Z(this,K,"m",U).call(this,A,Z(this,O,"f")):Z(this,H,"f").has(A)?Z(this,K,"m",U).call(this,A,Z(this,H,"f")):void 0}expiresIn(A){const t=Z(this,O,"f").get(A)??Z(this,H,"f").get(A);if(t)return t.expiry?t.expiry-Date.now():Number.POSITIVE_INFINITY}delete(A){var t;const r=Z(this,O,"f").delete(A);return r&&W(this,M,(t=Z(this,M,"f"),--t),"f"),Z(this,H,"f").delete(A)||r}clear(){Z(this,O,"f").clear(),Z(this,H,"f").clear(),W(this,M,0,"f");}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...Z(this,K,"m",X).call(this)],r=t.length-A;r<0?(W(this,O,new Map(t),"f"),W(this,H,new Map,"f"),W(this,M,t.length,"f")):(r>0&&Z(this,K,"m",P).call(this,t.slice(0,r)),W(this,H,new Map(t.slice(r)),"f"),W(this,O,new Map,"f"),W(this,M,0,"f")),W(this,L,A,"f");}evict(A=1){const t=A;if(!t||t<=0)return;const r=[...Z(this,K,"m",X).call(this)],e=Math.trunc(Math.min(t,Math.max(r.length-1,0)));e<=0||(Z(this,K,"m",P).call(this,r.slice(0,e)),W(this,H,new Map(r.slice(e)),"f"),W(this,O,new Map,"f"),W(this,M,0,"f"));}*keys(){for(const[A]of this)yield A;}*values(){for(const[,A]of this)yield A;}*[(M=new WeakMap,O=new WeakMap,H=new WeakMap,L=new WeakMap,J=new WeakMap,_=new WeakMap,K=new WeakSet,P=function(A){if("function"==typeof Z(this,_,"f"))for(const[t,r]of A)Z(this,_,"f").call(this,t,r.value);},$=function(A,t){return "number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof Z(this,_,"f")&&Z(this,_,"f").call(this,A,t.value),this.delete(A))},Y=function(A,t){if(!Z(this,K,"m",$).call(this,A,t))return t.value},T=function(A,t){return t.expiry?Z(this,K,"m",Y).call(this,A,t):t.value},U=function(A,t){const r=t.get(A);return Z(this,K,"m",T).call(this,A,r)},z=function(A,t){var r;Z(this,O,"f").set(A,t),W(this,M,(r=Z(this,M,"f"),++r),"f"),Z(this,M,"f")>=Z(this,L,"f")&&(W(this,M,0,"f"),Z(this,K,"m",P).call(this,Z(this,H,"f")),W(this,H,Z(this,O,"f"),"f"),W(this,O,new Map,"f"));},V=function(A,t){Z(this,H,"f").delete(A),Z(this,K,"m",z).call(this,A,t);},X=function*(){for(const A of Z(this,H,"f")){const[t,r]=A;Z(this,O,"f").has(t)||Z(this,K,"m",$).call(this,t,r)||(yield A);}for(const A of Z(this,O,"f")){const[t,r]=A;Z(this,K,"m",$).call(this,t,r)||(yield A);}},Symbol.iterator)](){for(const A of Z(this,O,"f")){const[t,r]=A;Z(this,K,"m",$).call(this,t,r)||(yield [t,r.value]);}for(const A of Z(this,H,"f")){const[t,r]=A;Z(this,O,"f").has(t)||Z(this,K,"m",$).call(this,t,r)||(yield [t,r.value]);}}*entriesDescending(){let A=[...Z(this,O,"f")];for(let t=A.length-1;t>=0;--t){const r=A[t],[e,v]=r;Z(this,K,"m",$).call(this,e,v)||(yield [e,v.value]);}A=[...Z(this,H,"f")];for(let t=A.length-1;t>=0;--t){const r=A[t],[e,v]=r;Z(this,O,"f").has(e)||Z(this,K,"m",$).call(this,e,v)||(yield [e,v.value]);}}*entriesAscending(){for(const[A,t]of Z(this,K,"m",X).call(this))yield [A,t.value];}get size(){if(!Z(this,M,"f"))return Z(this,H,"f").size;let A=0;for(const t of Z(this,H,"f").keys())Z(this,O,"f").has(t)||A++;return Math.min(Z(this,M,"f")+A,Z(this,L,"f"))}get maxSize(){return Z(this,L,"f")}get maxAge(){return Z(this,J,"f")}entries(){return this.entriesAscending()}forEach(A,t=this){for(const[r,e]of this.entriesAscending())A.call(t,e,r,this);}get[Symbol.toStringTag](){return "QuickLRU"}toString(){return `QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}let tA=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];"undefined"!=typeof Int32Array&&(tA=new Int32Array(tA));const rA=(A,t)=>{let r=0===t?0:-1^t;for(let t=0;t<A.length;t++)r=tA[255&(r^A[t])]^r>>>8;return -1^r};class eA extends Error{}class vA extends Error{}class nA extends eA{}class jA extends eA{}class fA extends eA{code="CRAM_BUFFER_OVERRUN"}const sA=async function(A={}){var t=A,r=!!globalThis.WorkerGlobalScope;if(globalThis.window||r)try{new URL(".","");}catch{}var e,v,n,j,f=console.log.bind(console),s=console.error.bind(console),b=!1,i=!1;function o(){var A=S.buffer;E=new Int8Array(A),I=new Int16Array(A),t.HEAPU8=k=new Uint8Array(A),t.HEAP32=c=new Int32Array(A),d=new Uint32Array(A),l=new Float32Array(A),h=new Float64Array(A),C=new BigInt64Array(A),new BigUint64Array(A);}function a(A){throw t.onAbort?.(A),s(A=`Aborted(${A})`),b=!0,A=new WebAssembly.RuntimeError(A+". Build with -sASSERTIONS for more info."),n?.(A),A}class g{name="ExitStatus";constructor(A){this.message=`Program terminated with exit(${A})`,this.status=A;}}var I,c,C,E,l,h,d,k,B=A=>{for(;A.length>0;)A.shift()(t);},q=[],u=[],Q=()=>{var A=t.preRun.shift();u.push(A);},x=!0,m=0,N={},w=A=>{if(!(A instanceof g||"unwind"==A))throw A},p=A=>{throw e=A,x||m>0||(t.onExit?.(A),b=!0),new g(A)},y=[null,[],[]],D=new TextDecoder;if(t.noExitRuntime&&(x=t.noExitRuntime),t.print&&(f=t.print),t.printErr&&(s=t.printErr),t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()();t.getValue=function(A,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return E[A];case"i16":return I[A>>1];case"i32":return c[A>>2];case"i64":return C[A>>3];case"float":return l[A>>2];case"double":return h[A>>3];case"*":return d[A>>2];default:a(`invalid type for getValue: ${t}`);}};var F,S,G,R={e:()=>a(""),d:()=>{x=!1,m=0;},a:(A,t)=>{if(N[A]&&(clearTimeout(N[A].id),delete N[A]),!t)return 0;var r=setTimeout(()=>{delete N[A],(A=>{if(!b)try{A();}catch(A){w(A);}finally{if(!(x||m>0))try{e=A=e,p(A);}catch(A){w(A);}}})(()=>F(A,performance.now()));},t);return N[A]={id:r,u:t},0},b:A=>{var t=k.length;if((A>>>=0)>2147483648)return !1;for(var r=1;r<=4;r*=2){var e=t*(1+.2/r);e=Math.min(e,A+100663296);A:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(A,e)/65536))-S.buffer.byteLength+65535)/65536|0;try{S.grow(e),o();var v=1;break A}catch(A){}v=void 0;}if(v)return !0}return !1},g:A=>{e=A,p(A);},f:(A,t,r,e)=>{for(var v=0,n=0;n<r;n++){var j=d[t>>2],b=d[t+4>>2];t+=8;for(var i=0;i<b;i++){var o=A,a=k[j+i],g=y[o];if(0===a||10===a){o=1===o?f:s;for(var I=(a=0)+void 0;g[a]&&!(a>=I);)++a;o(a=D.decode(g.buffer?g.subarray(0,a):new Uint8Array(g.slice(0,a)))),g.length=0;}else g.push(a);}v+=b;}return d[e>>2]=v,0},c:p};return G=await async function(){function A(A){return A=G=A.exports,t._malloc=A.j,t._free=A.k,t._arith_uncompress=A.l,t._fqz_decompress=A.m,t._rans_uncompress=A.n,t._rans_uncompress_4x16=A.o,t._tok3_decode_names=A.p,t._bz2_uncompress=A.q,t._zlib_uncompress=A.r,t._batch_itf8_decode=A.s,F=A.t,S=A.h,o(),G}var r={a:R};return t.instantiateWasm?new Promise(e=>{t.instantiateWasm(r,(t,r)=>{e(A(t));});}):(j??=function(A){for(var t,r=0,e=124004,v=new Uint8Array(e);r<e;++r)t=A.charCodeAt(r),v[r]=~t>>8&t;return v}('\0asm\0\0\0d`\0````\0`\0\0`\0``\0``|``~~`|\0`~~+aa\0\nab\0ac\0ad\0ae\0af\0ag\0;:\b\0\0\v\t\b\f\0\r\0\0\tp€€€\bA€‰\v5\rh\0i\0@j\0\bk\0l\0?m\0>n\0=o\0:p\x009q\x008r\x007s\x005t\0.\t\0A\v4$&<;6/0123\f\nÕÓ:‚\f\b@ \0E\r\0 \0A\bk" \0Ak(\0"Axq"\0j!@ Aq\r\0 AqE\r  (\0"k"AÄþ\0(\0I\r \0 j!\0@@@AÈþ\0(\0 G@ (\f! AÿM@  (\b"G\rA´þ\0A´þ\0(\0A~ Avwq6\0\f\v (!  G@ (\b" 6\f  6\b\f\v (" Aj ("E\r Aj\v!@ ! "Aj! ("\r\0 Aj! ("\r\0\v A\x006\0\f\v ("AqAG\rA¼þ\0 \x006\0  A~q6  \0Ar6  \x006\0\v  6\f  6\b\f\vA\0!\v E\r\0@ ("At"(ä€ F@ Aä€j 6\0 \rA¸þ\0A¸þ\0(\0A~ wq6\0\f\v@  (F@  6\f\v  6\v E\r\v  6 ("@  6  6\v ("E\r\0  6  6\v  O\r\0 ("AqE\r\0@@@@ AqE@AÌþ\0(\0 F@AÌþ\0 6\0AÀþ\0AÀþ\0(\0 \0j"\x006\0  \0Ar6 AÈþ\0(\0G\rA¼þ\0A\x006\0AÈþ\0A\x006\0\vAÈþ\0(\0" F@AÈþ\0 6\0A¼þ\0A¼þ\0(\0 \0j"\x006\0  \0Ar6 \0 j \x006\0\v Axq \0j!\0 (\f! AÿM@ (\b" F@A´þ\0A´þ\0(\0A~ Avwq6\0\f\v  6\f  6\b\f\v (!\b  G@ (\b" 6\f  6\b\f\v (" Aj ("E\r Aj\v!@ ! "Aj! ("\r\0 Aj! ("\r\0\v A\x006\0\f\v  A~q6  \0Ar6 \0 j \x006\0\f\vA\0!\v \bE\r\0@ ("At"(ä€ F@ Aä€j 6\0 \rA¸þ\0A¸þ\0(\0A~ wq6\0\f\v@  \b(F@ \b 6\f\v \b 6\v E\r\v  \b6 ("@  6  6\v ("E\r\0  6  6\v  \0Ar6 \0 j \x006\0  G\r\0A¼þ\0 \x006\0\v \0AÿM@ \0AøqAÜþ\0j!A´þ\0(\0"A \0Avt"\0qE@A´þ\0 \0 r6\0 \f\v (\b\v!\0  6\b \0 6\f  6\f  \x006\b\vA! \0AÿÿÿM@ \0A& \0A\bvg"kvAq AtrA>s!\v  6 B\x007 AtAä€j!@A¸þ\0(\0"A t"qE@A¸þ\0  r6\0  6\0A!A\b\f\v \0A AvkA\0 AGt! (\0!@ "(Axq \0F\r Av! At!  Aqj"("\r\0\v  6A! !A\b\v!\0 "\f\v (\b" 6\f  6\bA!\0A\b!A\0\v!  j 6\0  6\f \0 j 6\0AÔþ\0AÔþ\0(\0Ak"\0A \06\0\v\vÁ(\v#\0Ak"\n$\0@@@@@@@@@@ \0AôM@A´þ\0(\0"A \0A\vjAøq \0A\vI"Av"\0v"Aq@@ AsAq \0j"At"AÜþ\0j"\0 (ä~"(\b"F@A´þ\0 A~ wq6\0\f\v  \x006\f \0 6\b\v A\bj!\0  Ar6  j" (Ar6\f\v\v A¼þ\0(\0"\bM\r @@A \0t"A\0 kr  \0tqh"At"AÜþ\0j" (ä~"\0(\b"F@A´þ\0 A~ wq"6\0\f\v  6\f  6\b\v \0 Ar6 \0 j"  k"Ar6 \0 j 6\0 \b@ \bAxqAÜþ\0j!AÈþ\0(\0! A \bAvt"qE@A´þ\0  r6\0 \f\v (\b\v!  6\b  6\f  6\f  6\b\v \0A\bj!\0AÈþ\0 6\0A¼þ\0 6\0\f\v\vA¸þ\0(\0"\vE\r \vhAt(ä€"(Axq k! !@@ ("\0E@ ("\0E\r\v \0(Axq k"   I"! \0  ! \0!\f\v\v (!\t  (\f"\0G@ (\b" \x006\f \0 6\b\f\n\v (" Aj ("E\r Aj\v!@ ! "\0Aj! \0("\r\0 \0Aj! \0("\r\0\v A\x006\0\f\t\vA! \0A¿K\r\0 \0A\vj"Axq!A¸þ\0(\0"E\r\0A!\bA\0 k! \0AôÿÿM@ A& A\bvg"\0kvAq \0AtkA>j!\b\v@@@ \bAt(ä€"E@A\0!\0\f\vA\0!\0 A \bAvkA\0 \bAGt!@@ (Axq k" O\r\0 ! "\r\0A\0! !\0\f\v \0 ("   AvAqj("F \0 !\0 At! \r\0\v\v \0 rE@A\0!A \bt"\0A\0 \0kr q"\0E\r \0hAt(ä€!\0\v \0E\r\v@ \0(Axq k" I!   ! \0  ! \0("  \0(\v"\0\r\0\v\v E\r\0 A¼þ\0(\0 kO\r\0 (!\b  (\f"\0G@ (\b" \x006\f \0 6\b\f\b\v (" Aj ("E\r Aj\v!@ ! "\0Aj! \0("\r\0 \0Aj! \0("\r\0\v A\x006\0\f\v A¼þ\0(\0"M@AÈþ\0(\0!\0@  k"AO@ \0 j" Ar6 \0 j 6\0 \0 Ar6\f\v \0 Ar6 \0 j" (Ar6A\0!A\0!\vA¼þ\0 6\0AÈþ\0 6\0 \0A\bj!\0\f\t\v AÀþ\0(\0"I@AÀþ\0  k"6\0AÌþ\0AÌþ\0(\0"\0 j"6\0  Ar6 \0 Ar6 \0A\bj!\0\f\t\vA\0!\0 A/j"AŒ‚(\0@A”‚(\0\f\vA˜‚B7\0A‚B€ €€€€7\0AŒ‚ \nA\fjApqAتժs6\0A ‚A\x006\0AðA\x006\0A€ \v"j"A\0 k"q" M\r\bAì(\0"@Aä(\0"\b j"\t \bM\r\t  \tI\r\t\v@Að-\0\0AqE@@@@@AÌþ\0(\0"@Aô!\0@ \0(\0"\b M@  \b \0(jI\r\v \0(\b"\0\r\0\v\vA\0"AF\r !A‚(\0"\0Ak" q@  k  jA\0 \0kqj!\v  M\rAì(\0"\0@Aä(\0" j" M\r \0 I\r\v "\0 G\r\f\v  k q"" \0(\0 \0(jF\r !\0\v \0AF\r A0j M@ \0!\f\vA”‚(\0"  kjA\0 kq"AF\r  j! \0!\f\v AG\r\vAðAð(\0Ar6\0\v !A\0!\0 AF\r \0AF\r \0 M\r \0 k" A(jM\r\vAäAä(\0 j"\x006\0Aè(\0 \0I@Aè \x006\0\v@AÌþ\0(\0"@Aô!\0@  \0(\0" \0("jF\r \0(\b"\0\r\0\v\f\vAÄþ\0(\0"\0A\0 \0 ME@AÄþ\0 6\0\vA\0!\0Aø 6\0Aô 6\0AÔþ\0A6\0AØþ\0AŒ‚(\x006\0A€‚A\x006\0@ \0At" AÜþ\0j"6ä~  6è~ \0Aj"\0A G\r\0\vAÀþ\0 A(k"\0Ax kAq"k"6\0AÌþ\0  j"6\0  Ar6 \0 jA(6AÐþ\0Aœ‚(\x006\0\f\v  M\r  K\r \0(\fA\bq\r \0  j6AÌþ\0 Ax kAq"\0j"6\0AÀþ\0AÀþ\0(\0 j" \0k"\x006\0  \0Ar6  jA(6AÐþ\0Aœ‚(\x006\0\f\vA\0!\0\f\vA\0!\0\f\vAÄþ\0(\0 K@AÄþ\0 6\0\v  j!Aô!\0@@  \0(\0"G@ \0(\b"\0\r\f\v\v \0-\0\fA\bqE\r\vAô!\0@@ \0(\0" M@   \0(j"I\r\v \0(\b!\0\f\v\vAÀþ\0 A(k"\0Ax kAq"k"6\0AÌþ\0  j"6\0  Ar6 \0 jA(6AÐþ\0Aœ‚(\x006\0  A\' kAqjA/k"\0 \0 AjI"A6 Aü)\x007 Aô)\x007\bAü A\bj6\0Aø 6\0Aô 6\0A€‚A\x006\0 Aj!\0@ \0A6 \0A\bj \0Aj!\0 I\r\0\v  F\r\0  (A~q6   k"Ar6  6\0 AÿM@ AøqAÜþ\0j!\0A´þ\0(\0"A Avt"qE@A´þ\0  r6\0 \0\f\v \0(\b\v! \0 6\b  6\fA\f!A\b\f\vA!\0 AÿÿÿM@ A& A\bvg"\0kvAq \0AtrA>s!\0\v  \x006 B\x007 \0AtAä€j!@@A¸þ\0(\0"A \0t"qE@A¸þ\0  r6\0  6\0\f\v A \0AvkA\0 \0AGt!\0 (\0!@ "(Axq F\r \0Av! \0At!\0  Aqj"("\r\0\v  6\v  6A\b! "!\0A\f\f\v (\b"\0 6\f  6\b  \x006\bA\0!\0A!A\f\v j 6\0  j \x006\0\vAÀþ\0(\0"\0 M\r\0AÀþ\0 \0 k"6\0AÌþ\0AÌþ\0(\0"\0 j"6\0  Ar6 \0 Ar6 \0A\bj!\0\f\vA°þ\0A06\0A\0!\0\f\v \0 6\0 \0 \0( j6 Ax kAqj"\b Ar6 Ax kAqj"  \bj"k!@AÌþ\0(\0 F@AÌþ\0 6\0AÀþ\0AÀþ\0(\0 j"\x006\0  \0Ar6\f\vAÈþ\0(\0 F@AÈþ\0 6\0A¼þ\0A¼þ\0(\0 j"\x006\0  \0Ar6 \0 j \x006\0\f\v ("\0AqAF@ \0Axq!\t (\f!@ \0AÿM@ (\b" F@A´þ\0A´þ\0(\0A~ \0Avwq6\0\f\v  6\f  6\b\f\v (!@  G@ (\b"\0 6\f  \x006\b\f\v@ ("\0 Aj ("\0E\r Aj\v!@ ! \0"Aj! \0("\0\r\0 Aj! ("\0\r\0\v A\x006\0\f\vA\0!\v E\r\0@ ("\0At"(ä€ F@ Aä€j 6\0 \rA¸þ\0A¸þ\0(\0A~ \0wq6\0\f\v@  (F@  6\f\v  6\v E\r\v  6 ("\0@  \x006 \0 6\v ("\0E\r\0  \x006 \0 6\v  \tj!  \tj"(!\0\v  \0A~q6  Ar6  j 6\0 AÿM@ AøqAÜþ\0j!\0A´þ\0(\0"A Avt"qE@A´þ\0  r6\0 \0\f\v \0(\b\v! \0 6\b  6\f  \x006\f  6\b\f\vA! AÿÿÿM@ A& A\bvg"\0kvAq \0AtrA>s!\v  6 B\x007 AtAä€j!\0@@A¸þ\0(\0"A t"qE@A¸þ\0  r6\0 \0 6\0\f\v A AvkA\0 AGt! \0(\0!@ "\0(Axq F\r Av! At! \0 Aqj"("\r\0\v  6\v  \x006  6\f  6\b\f\v \0(\b" 6\f \0 6\b A\x006  \x006\f  6\b\v \bA\bj!\0\f\v@ \bE\r\0@ ("At"(ä€ F@ Aä€j \x006\0 \0\rA¸þ\0 A~ wq"6\0\f\v@  \b(F@ \b \x006\f\v \b \x006\v \0E\r\v \0 \b6 ("@ \0 6  \x006\v ("E\r\0 \0 6  \x006\v@ AM@   j"\0Ar6 \0 j"\0 \0(Ar6\f\v  Ar6  j" Ar6  j 6\0 AÿM@ AøqAÜþ\0j!\0A´þ\0(\0"A Avt"qE@A´þ\0  r6\0 \0\f\v \0(\b\v! \0 6\b  6\f  \x006\f  6\b\f\vA!\0 AÿÿÿM@ A& A\bvg"\0kvAq \0AtrA>s!\0\v  \x006 B\x007 \0AtAä€j!@@ A \0t"qE@A¸þ\0  r6\0  6\0  6\f\v A \0AvkA\0 \0AGt!\0 (\0!@ "(Axq F\r \0Av! \0At!\0  Aqj"("\r\0\v  6  6\v  6\f  6\b\f\v (\b"\0 6\f  6\b A\x006  6\f  \x006\b\v A\bj!\0\f\v@ \tE\r\0@ ("At"(ä€ F@ Aä€j \x006\0 \0\rA¸þ\0 \vA~ wq6\0\f\v@  \t(F@ \t \x006\f\v \t \x006\v \0E\r\v \0 \t6 ("@ \0 6  \x006\v ("E\r\0 \0 6  \x006\v@ AM@   j"\0Ar6 \0 j"\0 \0(Ar6\f\v  Ar6  j" Ar6  j 6\0 \b@ \bAxqAÜþ\0j!\0AÈþ\0(\0!A \bAvt" qE@A´þ\0  r6\0 \0\f\v \0(\b\v! \0 6\b  6\f  \x006\f  6\b\vAÈþ\0 6\0A¼þ\0 6\0\v A\bj!\0\v \nAj$\0 \0\vá@ \0@@A¨‚(\0"Aÿ\0K\r\0 -\0°‚AG\r\0 At(°ƒ!\vA\0 (\0 \0F\r\0A \0 (F\r\0A \0 (\bF\r\0A \0 (\fF\r\0A \0 (F\r\0A \0 (F\r\0A \0 (F\r\0A \0 (F\r\0A\b \0 ( F\r\0 ($ \0G\rA\t\vAt j"\0(PE@AëA-\v \0A\x006P\v\vA™AÎ\0\v†\f\b E@A\0\v \0As!\0 AO@@ AqE@ !\f\v -\0\0 \0sAÿqAt( < \0A\bvs!\0 Aj"AqE@ Ak!\f\v -\0 \0sAÿqAt( < \0A\bvs!\0 Aj"AqE@ Ak!\f\v -\0 \0sAÿqAt( < \0A\bvs!\0 Aj"AqE@ Ak!\f\v -\0 \0sAÿqAt( < \0A\bvs!\0 Aj! Ak!\v An"\bAll!\n@ \bAk"\tE@\f\v !@ ( s"AvAüq( \\ AvAüq( T AvAüq( L AÿqAt( Dsss! (\f s"AvAüq( \\ AvAüq( T AvAüq( L AÿqAt( Dsss! (\b s"AvAüq( \\ AvAüq( T AvAüq( L AÿqAt( Dsss! ( s"AvAüq( \\ AvAüq( T AvAüq( L AÿqAt( Dsss! (\0 \0s"\0AvAüq( \\ \0AvAüq( T \0AvAüq( L \0AÿqAt( Dsss!\0 Aj! \tAk"\t\r\0\v  \bAljAk!\v  \nj! Aj! ( (\f (\b ( (\0 \0s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0AÿqAt( < ss \0A\bvs"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0AÿqAt( < ss \0A\bvs"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0AÿqAt( < ss \0A\bvs"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0AÿqAt( < ss \0A\bvs"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s"\0A\bv \0AÿqAt( <s!\0\v AK@@ -\0\0 \0sAÿqAt( < \0A\bvs"\0A\bv -\0 \0sAÿqAt( <s"\0A\bv -\0 \0sAÿqAt( <s"\0A\bv -\0 \0sAÿqAt( <s"\0A\bv -\0 \0sAÿqAt( <s"\0A\bv -\0 \0sAÿqAt( <s"\0A\bv -\0 \0sAÿqAt( <s"\0A\bv -\0 \0sAÿqAt( <s!\0 A\bj! A\bk"AK\r\0\v\v@ E\r\0 -\0\0 \0sAÿqAt( < \0A\bvs!\0 AF\r\0 -\0 \0sAÿqAt( < \0A\bvs!\0 AF\r\0 -\0 \0sAÿqAt( < \0A\bvs!\0 AF\r\0 -\0 \0sAÿqAt( < \0A\bvs!\0 AF\r\0 -\0 \0sAÿqAt( < \0A\bvs!\0 AF\r\0 -\0 \0sAÿqAt( < \0A\bvs!\0 AF\r\0 -\0 \0sAÿqAt( < \0A\bvs!\0\v \0As\vÝ#\0Ak"$\0A¤‚(\0A߷ޚG@$A¤‚A߷ޚ6\0\v@@A¨‚(\0"Aÿ\0K\r\0 -\0°‚AG\r\0 At(°ƒ!\v "E@Aø\0,"E\r@A¨‚(\0"Aÿ\0K\r\0 -\0°‚AG\r\0 At 6°ƒ\v\v A(j! AÐ\0j!@ (P@A!A\f\v \0 (\0M\rA\0\v!@ (T\r\0 ! \0 (,K\r\0 AÔ\0j!A!\f\v (XE@ (0 \0O@ AØ\0j!A!\f\vA  AF!\v (\\E@ (4 \0O@ AÜ\0j!A!\f\vA  AF!\v (`E@ (8 \0O@ Aà\0j!A!\f\vA  AF!\v (dE@ (< \0O@ Aä\0j!A!\f\vA  AF!\v (hE@ (@ \0O@ Aè\0j!A!\f\vA  AF!\v (lE@ (D \0O@ Aì\0j!A!\f\vA  AF!\v (pE@ (H \0O@ Að\0j!A\b!\f\vA\b  AF!\v@@ (tE@ \0 (LK\r Aô\0j!A\t!\f\v AG\rA—A#A\0!\f\vA\t  AF!\v  Atj"(\0"@ \v  \0,"6\0 E@A\0!\f\v  At"j \x006\0  jA6\0\f\v A6\0  Atj(\0!\v Aj$\0 \vj#\0A€k"$\0@  L\r\0 A€Àq\r\0    k"A€ A€I"- E@@ \0 A€\r A€k"AÿK\r\0\v\v \0  \r\v A€j$\0\v\0 \0-\0\0A qE@   \0!\v\vW~@Aý\0(\0"­ \0­B|Bøÿÿÿƒ|"BÿÿÿÿX@ §"\0?\0AtM\r \0\r\vA°þ\0A06\0A\vAý\0 \x006\0 \vŠ\b\v \0E@ \b\v A@O@A°þ\0A06\0A\0\vA A\vjAxq A\vI! \0A\bk"("\tAxq!\b@ \tAqE@ A€I\r Aj \bM@ ! \b kA”‚(\0AtM\r\vA\0\f\v  \bj!@  \bM@ \b k"AI\r   \tAqrAr6  j" Ar6  (Ar6  +\f\vAÌþ\0(\0 F@AÀþ\0(\0 \bj"\b M\r   \tAqrAr6  j" \b k"Ar6AÀþ\0 6\0AÌþ\0 6\0\f\vAÈþ\0(\0 F@A¼þ\0(\0 \bj" I\r@  k"AO@   \tAqrAr6  j"\b Ar6  j" 6\0  (A~q6\f\v  \tAq rAr6  j" (Ar6A\0!\bA\0!\vAÈþ\0 \b6\0A¼þ\0 6\0\f\v ("Aq\r Axq \bj"\v I\r \v k!\f (\f!@ AÿM@ (\b" F@A´þ\0A´þ\0(\0A~ Avwq6\0\f\v  6\f  6\b\f\v (!\n@  G@ (\b" 6\f  6\b\f\v@ (" Aj ("E\r Aj\v!\b@ \b! "Aj!\b ("\r\0 Aj!\b ("\r\0\v A\x006\0\f\vA\0!\v \nE\r\0@ ("At"(ä€ F@ Aä€j 6\0 \rA¸þ\0A¸þ\0(\0A~ wq6\0\f\v@  \n(F@ \n 6\f\v \n 6\v E\r\v  \n6 ("@  6  6\v ("E\r\0  6  6\v \fAM@  \tAq \vrAr6  \vj" (Ar6\f\v   \tAqrAr6  j" \fAr6  \vj" (Ar6  \f+\v !\v \v"@ A\bj\v \b"E@A\0\v  \0A|Ax \0Ak(\0"Aq Axqj"   K# \0 \v\0  \0 A˜ý\0!"\0F@\v \0 n\vÕ#\0Ak"$\0  6\f#\0AÐk"$\0  6Ì A j"A\0A(ü\v\0  (Ì6ÈA\0 \0 AÈj AÐ\0j  A\0HAA˜ý\0A˜ý\0(\0"A_q6\0@@AÈý\0(\0E@AÈý\0AÐ\x006\0A´ý\0A\x006\0A¨ý\0B\x007\0AÄý\0(\0!AÄý\0 6\0\f\vA¨ý\0(\0\r\vAA˜ý\0\r\vA˜ý\0 \0 AÈj AÐ\0j A j \v!\0 A˜ý\0A\0A\0A¼ý\0(\0\0AÈý\0A\x006\0AÄý\0 6\0A´ý\0A\x006\0A¬ý\0(\0A¨ý\0B\x007\0A\0 \0\vA˜ý\0A˜ý\0(\0 A qr6\0A\0\v AÐj$\0 Aj$\0\vØ#\0AЩk"\b$\0@ AI\r\0 AþÿÿÿK\r\0@ E@ \b"! E\r\v \0 j"A\bk!\f \bAjA\0A€\bü\v\0 \0Aj! \0-\0\0!@@ A\fH\r\0@ \bAj AtjA6\0@@ E@ Aj" -\0\0"F\r Aj!A\0!\f\v AþL@ Aj! Ak!\f\v\f\v -\0! Aj! !\v E\r Aj \fI\r\0\v\v@ E\r\0@ \bAj AtjA6\0  \fO\r@ E@ Aj!A\0! Aj" -\0\0"\nG@ ! \n!\f\v  \fO@\f\v -\0! Aj!\f\v AþJ\r Aj! Ak!\v E\r  \fI\r\0\v\v  \0k!\t\v \0 \tj!A\0!\t@ \bAj \tAtj"(\0@@ \f kAN@ ,\0\0"Aÿ\0q! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\v  \fO@A\0! A\x006\0A\0\f\vA\0! ",\0\0"\nA\0N@  \n6\0 \n!A\f\v@ ,\0\0"\nAÿ\0q Atr! Aj! \nA\0N\r  \fI\r\0\v\v  6\0  k\v  \vj!\v j!\v \tAj"\tA€G\r\0\v@ \0 F\r\0 \vA€ rA€ G@A\0!A\0! \vA€ I@@ Aj! \vA€I \vAt!\v\r\0\v\v@ \bAj Atj" (\0 t6\0  ( t6  (\b t6\b  (\f t6\f  ( t6  ( t6  ( t6  ( t6 A\bj"A€G\r\0\v\v  \0kA\0!\nA\0!@ \bAj \nAtj(\0"\0@ \0A€ kK\r \0@ \bA\bj j \n \0ü\v\0\v \0Aq!\tA\0!A\0!@ \0AO@ \0A|q!\f@  jAt" \bAÐ(j"j ;\0 \bAé\0j" j \0;\0  Ar" jAt"\rj ;\0 \r j \0;\0  Ar" jAt"\rj ;\0 \bAé\0j \rj \0;\0  Ar" jAt"\rj ;\0 \bAé\0j \rj \0;\0 Aj" \fG\r\0\v \tE\r\v@  jAt"\f \bAÐ(jj ;\0 \bAé\0j \fj \0;\0 Aj! Aj" \tG\r\0\v\v \0 j!\v \nAj"\nA€G\r\0\v A€ G\r\0Aj"\0 J\r\0 \b (\0\0"6\0 A€€I\r\0 \b (\0"\t6 \tA€€I\r\0 \b (\0\b"\n6\b \nA€€I\r\0 \b (\0\f"\v6\f \vA€€I\r\0 Aj!A\0!@ \0 AkN\r\0 Aøÿÿÿq"E\r\0 Ak!@@  j"\0 Aÿq" \bA\bj"j-\0\0:\0\0 \0  \tAÿq"j-\0\0:\0 AA\0 At" \bAé\0j"j/\0 A\fvl \bAÐ(j" j/\0j"A€€I"\rj"AA\0  At"j/\0 \tA\fvl  j/\0j"A€€I"j"\tAA\0  \nAÿq"At"\fj/\0 \nA\fvl \f j/\0j"\nA€€I"j"\f-\0! \f-\0\0! \t-\0! \t-\0\0! -\0!\t -\0\0!  \vAÿq"At"j/\0!  j/\0! -\0! -\0\0! \0  j-\0\0:\0 \0  j-\0\0:\0 \0   Atr A\btr  \r"Aÿq"\rj-\0\0:\0 \0   Atr \tA\btr  "\tAÿq"j-\0\0:\0 \fAA\0   \vA\fvlj"A€€I"j"AA\0  \rAt"j/\0 A\fvl \bAÐ(j j/\0j"A€€I"\rj"AA\0  At"\vj/\0 \tA\fvl \v j/\0j"\tA€€I"j"\vAA\0  \nAtr A\btr \n "\nA\fv  \nAÿq"At"\nj/\0l \n j/\0j"\nA€€I"j"\f-\0! \f-\0\0 \v-\0! \v-\0\0! -\0! -\0\0!   Atr A\btr  "Aÿq"\vAt"j/\0  j/\0 -\0! -\0\0 \0  j-\0\0:\0 \0 \v j-\0\0:\0 Atr A\btr  \r! A\fvlj"\0Atr A\btr \0 \0A€€I"\0!\v  \tAtr A\btr \t !\t  \nAtr A\btr \n !\n A\bj! \fAA\0 \0j" O\r\0  I\r\v\v \b \v6\f \b \n6\b \b \t6 \b 6\0\v  M@ !\f\v@ \b AqAtr"\0 \0(\0"A\fv Aÿq"At" \bAé\0jj/\0l \bAÐ(j j/\0j"6\0  j \bA\bj j-\0\0:\0\0@ AÿÿK\r\0 Aj O\r\0 \0 -\0\0 Atr -\0A\btr6\0 Aj!\v Aj" G\r\0\v !\f\v \vA\0!\v \bAЩj$\0 \vë\t#\0A€\bk"\n$\0@@@ E\r\0A!@  \nj \0 j-\0\0"\b:\0\0 Aj! \b \tj!\t@  \bG\r\0A!\v Aj" O\r  \0 j-\0\0"l \tj!\t E\r\0  \tH\r\0@ AÿJ\r  \nj \b:\0\0 Aj! Ak"\r\0\v\v A€\bN\r Aj!  \tL\r \b!  K\r\0\v\vA!\vA\0!A\0!@A\0!  \f"\0L\r@@ \0Aj!\f  \0 \nj-\0\0"\bj! \bAÿG\r\0  \f"\0J\r\v\v \bAÿF\r@ E\r\0  L\r\0@  Atj 6\0 Aj! Ak"E\r  J\r\0\v\v Aj!  J\r\0\v !\v\f\vA!\v\v \nA€\bj$\0 \v\vÚ#\0A@j"B\x007 B\x007( B\x0070 B\x0078@@@@ @ Aq!@ AO@ A|q!\b@ A j"\v  \nAtj"\f/\0Atj"\t \t/\0Aj;\0 \f/At \vj"\t \t/\0Aj;\0 \f/At \vj"\t \t/\0Aj;\0 \f/At \vj"\t \t/\0Aj;\0 \nAj"\n \bG\r\0\v E\r\v@ A j  \nAtj/\0Atj"\t \t/\0Aj;\0 \nAj!\n Aj" G\r\0\v\v (\0!\n />"\r@A!\v\f\v /<E\rA!\vA\0!\r\f\v (\0!\n\vA\0!\r /:@A\r!\v\f\v /8@A\f!\v\f\v /6@A\v!\v\f\v /4@A\n!\v\f\v /2@A\t!\v\f\v /0@A\b!\v\f\v /.@A!\v\f\v /,@A!\v\f\v /*@A!\v\f\v /(@A!\v\f\v /&@A!\v\f\v /$@A!\v\f\v /""@A!\fA!\vA!\nA\0\f\v  (\0"\0Aj6\0 \0AÀ6\0  (\0"\0Aj6\0 \0AÀ6\0A!\f\f\v \n \v \n \vI!A!\n@@ A j \nAtj/\0\r \nAj"\n \vG\r\0\v \v!\n\v  \n  \nK!\f /"!A\v!A!\t AÿÿqAK\rA AtkAþÿq /$"k"\bA\0H\r \bAt /&"k"\bA\0H\r \bAt /("k"\bA\0H\r \bAt /*"k"\bA\0H\r \bAt /,"k"\bA\0H\r \bAt /."k"\bA\0H\r \bAt /0"k"\bA\0H\r \bAt /2"k"\bA\0H\r \bAt /4"k"\bA\0H\r \bAt /6"k"\bA\0H\r \bAt /8"k"\bA\0H\r \bAt /:"k"\bA\0H\r \bAt /<"k"\bA\0H\r \bAt"\b \rI\r \b \rGA\0 \0E r\rA\0!\t A\0;  ;   j";   j";\b   j";\n   j";\f   j";   j";   j";   j";   j";   j";   j";   j";   j;@ E\r\0 AG@ Aq A~q!\b@  \tAtj/\0"@  Atj" /\0"Aj;\0  Atj \t;\0\v  \tAr"Atj/\0"@  Atj" /\0"Aj;\0  Atj ;\0\v \tAj"\t \bG\r\0\vE\r\v  \tAtj/\0"E\r\0   Atj/\0Atj \t;\0\vA!A\0!A\0!A\0!A\0!@@@ \0Ak\0\vA!\t \fA\tK\rA!Aàä\0!A ä\0!A!\f\vA!\t \fA\tK\rAàå\0!A å\0!A!A\0!\vA \ft"Ak! (\0!A\0! \f!A\0!A\0!\rA!\b@A t!@@A\0   Atj/\0"AjK\r\0  I@A\0!Aà\0\f\v   kAt"\0j/\0! \0 j-\0\0\v!A \n k"t!\t  \r vAtj!\0 !@ \0  \tj"Atj" ;  :\0  :\0\0 \r\0\vA \nAkt!\t@ \t"\0Av!\t \0 \rq\r\0\v A j \nAtj" /\0Ak";\0 \0Ak \rq \0jA\0 \0!\r Aj! AÿÿqE@ \n \vF\r   Atj/\0Atj/\0!\n\v \n \fM\r\0 \r q"\0 \bF\r\0\vA \n  \f "k"t! \n \vI@ \v k!\b \n!\t@@  A j \tAtj/\0k"A\0L\r At! Aj" j"\t \vI\r\0\v \b!\vA t!\vA!\t   j"AÔKq\r  AÐKq\r (\0" \0Atj"\t \f:\0 \t :\0\0 \t  Atj" kAv; \0!\b\f\v\v \r@  \rAtj"\0A\0; \0 :\0 \0AÀ\0:\0\0\v  (\0 Atj6\0\v  \f6\0A\0!\t\v \t\v\t\0  l\b\vÊ \0(\b"@ \v \0(\f"@ (@A\0!@ (\b Atj(\0 Aj" (I\r\0\v\v (\b \v \0(ˆA\0J@ \0Aj!A\0!@  Alj(\0 Aj" \0(ˆAtH\r\0\v\vA\0! \0(”ˆA\0J@@ \0(\0 A\flj(\b Aj" \0(”ˆH\r\0\v\v \0\t\vì@@@@ Aä\0O@ AÎ\0O@ AÀ„=O@ A€Â×/O@ A€”ëÜI\r \0 A€”ëÜn"A€ì”£|l j"A€Â×/n"A0j:\0 \0Aj\f\v A€­âO@ \0 A€­ân"A0r:\0\0 \0!\f\v \0 AÀ„=n"A0j:\0\0 \0Aj\f\v A O@ \0 A n"A0r:\0\0 \0!\f\v \0 AÎ\0n"A0r:\0\0 \0Aj\f\v AèO@ \0! AÿÿqAèn\f\b\v \0 AÿÿqAä\0n"A0r:\0\0 \0Aj\f\b\v A\nO@ \0 AÿqA\nn"A0r:\0\0 \0!\f\t\v \0 E\r\t \0 A0r:\0\0 \0Aj \0k\v A€Â×/n"! \0Aj\v! \0 A0r:\0\0  A€¾¨Pl j"A€­ân"A0j:\0\0\v  A€Ó{l j"AÀ„=n"A0j:\0 Aj\v" AÀûBl j"A n"A0j:\0\0\v  Aàòyl j"AÎ\0n"A0j:\0 Aj\v! Að±l j"Aèn\v!  A0j:\0\0  A˜xl j"Aä\0n"A0j:\0 Aj\v" Aœl j"A\nn"A0j:\0\0\v  Aöl jA0j:\0 Aj\v \0k\vÛ@@@@@@@@@@ Ak\t\b\0\t\v \0 A€Â×/n"A0j:\0\0 \0Aj!\0 A€¾¨Pl j!\v \0 A€­ân"A0j:\0\0 \0Aj!\0 A€Ó{l j!\v \0 AÀ„=n"A0j:\0\0 \0Aj!\0 AÀûBl j!\v \0 A n"A0j:\0\0 \0Aj!\0 Aàòyl j!\v \0 AÎ\0n"A0j:\0\0 \0Aj!\0 Að±l j!\v \0 Aèn"A0j:\0\0 \0Aj!\0 A˜xl j!\v \0 Aä\0n"A0j:\0\0 \0Aj!\0 Aœl j!\v \0 A\nn"A0j:\0\0 \0Aj!\0 Avl j!\v \0 A0j:\0\0\v \v‰#\t~#\0A k"\r$\0@ E\r\0 \0 j!@@@@@@@@@ \0-\0\0"A\bq@ \0Aj!\v@ AN@ \0,\0"Aÿ\0q!\f A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q \fAtr!\f A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q \fAtr!\f A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q \fAtr!\f A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q \fAtr!\f A\0N@ \0Aj!\f\v \0-\0Aÿ\0q \fAtr!\f \0Aj!\f\v AF\r\t \v,\0\0"A\0N\r \v!@ ,\0\0"Aÿ\0q \fAtr!\f Aj! A\0N\r  I\r\0\v\v  \vk!\f\b\v \0Aj!\b AqE@@ AN@ \0,\0"Aÿ\0q! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0-\0Aÿ\0q Atr! \0Aj!\f\vA\0 AF\r \b,\0\0"\0A\0N\r \b!@ ,\0\0"\0Aÿ\0q Atr! Aj! \0A\0N\r  I\r\0\v\v  \bk\f\v E\r Ak!\n (\0!\f\vA! !\f\f\v \0!A\v"\0 \bj!\b  \0Asj!\n E@  6\0 \b"\fE\r\t \f! (\0\f\v (\0 I\r\v  6\0 \v! AÀ\0q!A\0!\0@@@@@ À"A\0H\r\0 \r\0 \f\v \b"\0E@A\0!A\0!\0\f\b\vA\0! A\0H"\r A\0 ! \0A\0 \v! \rB\x007\b \rB\x007\0 \f\v \rB\x007\b \rB\x007\0 \nE\r@A\0 \b-\0\0"A€ "\vAI\r\0A\b \vAF\r\0A \vAI\r\0A!A! \vAK\rA\v!A! \nAF\r@@  \rj  \bj-\0\0:\0\0 Aj! Aj" \vO\r\0  \nI\r\v\v  \vIA\0!\r AÿqE\r\v \b Aÿq"j"  \rAj*!\v  \r("I\r  \0  \0 !  \vj!\b \n  \vjk!\n ­! \0\v!\v Aq! E@A\0!A\0! !A\0!\f\v@@@ @@  \bkAN@ \b,\0\0"Aÿ\0q! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b-\0Aÿ\0q Atr! \bAj!\f\vA\0!A\0 \b O\r \b,\0\0"A\0N\r \b!@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  I\r\0\v\v  \bk\f\v !A\v" \bj"kAN@ ,\0\0"Aÿ\0q! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\vA\0!  O\r ,\0\0"A\0N\r !@ ,\0\0"\tAÿ\0q Atr! Aj! \tA\0N\r  I\r\0\v\v  k\f\v !A\v  K\r j!\v \b j! Aq@A\0! Av"  k"  K"!\f\v \b@@  kAN@ ,\0\0"Aÿ\0q! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\vA\0!A\0  O\r ,\0\0"A\0N\r !@ ,\0\0"\tAÿ\0q Atr! Aj! \tA\0N\r  I\r\0\v\v  k\f\v !A\v j"j! \n k!A\0! Av"!     &    \v"! \r\vA\0!\f\v \n  j"I\r \n k!\n  \bj!\b\v@ \nE@A\0!\f\v A q@  \nK\r  (\0K\r E\r  \b ü\n\0\0\f\v \b \n  AA Aq"\bAA \b \0"E\r\v @ E\r \r 5\x007  -\0\0"\bA€ \b"M\r ­! Aj" j!  Asj­!" \rAj!A\0!\b#\0A€\bk"\n$\0 \nA\0A€\bü\v\0@ "E\r\0 ­!! AO@@@ !B}"#Bˆ"P@\f\v B|Bþÿÿÿÿÿÿÿÿ\0ƒ!@ \n  §j"-\0\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 B\b|! B|" R\r\0\v #BƒB\0R\r\v \n  §j"-\0\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 \n -\0AtjA6\0 B|!\v AqE\r\v !Bƒ!@ \n  §j-\0\0AtjA6\0 B|! B|" R\r\0\v\v \v!@@ P\r\0  (\0j!  §j! E@A\0!\t@  O\r@@@ \n -\0\0"Atj(\0E\r\0 \t,\0\0"Aÿ\0q! A\0N@ \tAj!\t \r\f\v \t,\0"Aÿ\0q Atr! A\0N@ \tAj!\t \r\f\v \t,\0"Aÿ\0q Atr! A\0N@ \tAj!\t \r\f\v \t,\0"Aÿ\0q Atr! A\0N@ \tAj!\t \r\f\v \t,\0"Aÿ\0q Atr! A\0N@ \tAj!\t \r\f\v \t-\0 \tAj!\tAÿ\0q Atr"\r\v  :\0\0 !\f\v  j" O\r Aj"E\r\0   ü\v\0\v Aj! Aj" I\r\0\v\f\v  "§j!@  O\r@@ \n -\0\0"Atj(\0E\r\0@  kAN@ ,\0\0"Aÿ\0q!\t A\0N@ Aj!\f\v ,\0"Aÿ\0q \tAtr!\t A\0N@ Aj!\f\v ,\0"Aÿ\0q \tAtr!\t A\0N@ Aj!\f\v ,\0"Aÿ\0q \tAtr!\t A\0N@ Aj!\f\v ,\0"Aÿ\0q \tAtr!\t A\0N@ Aj!\f\v -\0Aÿ\0q \tAtr!\t Aj!\f\v  O\rA\0!\t ",\0\0"A\0N@ !\tA\f\v@ ,\0\0"Aÿ\0q \tAtr!\t Aj! A\0N\r  I\r\0\v\v  k\v j! \tE\r\0  \tj" O\r \tAj"E@ !\f\v   ü\v\0 !\f\v  :\0\0\v Aj! Aj" I\r\0\v\v   \vk¬7\0 \v!\b\v \nA€\bj$\0 \bE\r \r(! A\0!\v A\0H@ \v ­"    AF"  \r(E\r §!\v \0@ \0\v  6\0\f\vA\0!A\0!\0\v  \f \0\f\v Aj" O\r \0 j-\0\0"E\r@ E@ \fAþÿÿÿK\r \f\b"E\r  \f6\0 !\f\v \f (\0G\r\v Aj!\b \f \f n" lk!@ \nAt"\t \rA\bj"\vj   \nKj6\0A\0! \rAj" \tj \n \v \tAk"j(\0  j(\0jA\0\v6\0 \0 \bj! \rAj \tj!\t@  \bkAN@ ,\0\0"Aÿ\0q! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\v  \bM@ \tA\x006\0A\0\f\v ",\0\0"\vA\0N@ \t \v6\0 \v!A\f\v@ ,\0\0"\vAÿ\0q Atr! Aj! \vA\0N\r  I\r\0\v\v \t 6\0  k\v \bj"\b K\r Ak O\r  ­|! \nAj"\n G\r\0\v  \b­|" ­V\r \f\b"E\r §!A\0!@ \r At"\v \rA\bjj(\0"6œ  \bI\r \0 \bj  \bk  \rAj" \vj(\0j \rAœjE\r \r(œ G\r \rAj \vj(\0 \bj!\b Aj" G\r\0\v   \f  \'   \f6\0\v !\f\v  A\0!\f\v A\0!\v \rA j$\0 \vY \0 \0(H"Ak r6H \0(\0"A\bq@ \0 A r6\0A\v \0B\x007 \0 \0(,"6 \0 6 \0  \0(0j6A\0\vä>~#\0A°k"$\0@ E\r\0 \0 j!\n@ @@ \0-\0\0"\bA\bq@ \0Aj!@ AN@ \0,\0"Aÿ\0q! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0-\0Aÿ\0q Atr! \0Aj!\f\v AF\r ,\0\0"A\0N\r !@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  \nI\r\0\v\v  k!\f\v \0Aj!@ \bAq"E@ AN@ \0,\0"Aÿ\0q! \0Aj k A\0N\r \0,\0"Aÿ\0q Atr! \0Aj k A\0N\r \0,\0"Aÿ\0q Atr! \0Aj k A\0N\r \0,\0"Aÿ\0q Atr! \0Aj k A\0N\r \0,\0"Aÿ\0q Atr! \0Aj k A\0N\r \0-\0Aÿ\0q Atr! \0Aj k\f\v AG@ ,\0\0"\0A\0H@ !@@ ,\0\0"\0Aÿ\0q Atr! Aj! \0A\0N\r\0  \nI\r\v\v  k\f\vA! \0!\v  j!\0  Asj! E\r\f\v (\0!A\0\v! AþÿÿÿK\r A E\r  j!\0  Asj! \r\v  6\0 \b"E\r ! (\0\f\vA! !\f\v (\0 I\r  6\0 ! \v"6 A\0!@@ \bÀ"A\0N@ B\x007 B\x007 A\x006\f \f\v \b"E\r B\x007 B\x007 A\x006\f Aj!A\0!@ E\r\0@ A\0 \0-\0\0"A€ "AI\r\0A\b AF\r\0A AI\r\0 AO\rA\v6\fA! AF\r@@  j \0 j-\0\0:\0\0 Aj! Aj" O\r\0  K\r\v\v A\0  O!\f\vA! A6\f\v Aÿq"E\r \0 j"\0 \n A \bj*! ( \b" ( K\r  6  \0 j!\0   jk! ­!! \v!@ @ \bA q@  K\r  (\0K\r E\r  \0 ü\n\0\0\f\v \bAq@  A j \0 )E\r\f\v \bAq! \bAÀ\0q@ AF@ !\b ! ! \0"-\0\0!\0A\0A€ \v"E\r\0 \0A€ \0"\0Aüq!\t \0Aq!\vA\0 \0kAq!\f \0AkAI!\r \0AýkAI!@  A\blj"\nA\bj!A\0!A\0!@ \rE@@  Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ; Aj" \tG\r\0\v ! \vE\r\vA\0!@  "Atj"A;\0  ; Aj! Aj" \vG\r\0\v\v@ AþK\r\0A\0! \0! \f@@  Atj"A\0;\0  ; Aj! Aj" \fG\r\0\v\v \r\0@  Atj"A\0;\0  ;  Aj"Atj"A\0;\0  ;  Aj"Atj"A\0;\0  ;  Aj"Atj"A\0;\0  ; Aj! AÿG\r\0\v\v \n \x006\0 \nAïÿ6 \nAïÿ6Œ\b \nA\0;ˆ\b Aj"A€G\r\0\vA\0!A°À\v"E@ \tA\0\f\v@  A˜\blj"\0A; \0A;\b \0A€€6\n \0B€ˆ€€À7 \0A\bj!A!@  Atj"A\0;\0  ;  Ar"Atj"\nA\0;\0 \n ; A€G@  Ar"Atj"\nA\0;\0 \n ;  Ar"Atj"\nA\0;\0 \n ; Aj!\f\v\v \0B„€€€ðý?7\0 \0Aïÿ6”\b \0A\0;\b Aj"A‚G\r\0\vA\0!\t  \bj"!\0 \bAO@ (\0"\0 \0AxsA€þƒxqA\bv \0A\bxs!\t Aj!\0\v @  \bj!\b Ak! Aj!A\0!A!A\0!@ !\n@@   AÿqA\blj"\f(\0"AkM@A\0!\f\v \t  n"n"AïÿM\r\0A\0!\f\vA\0! \fA\bj"\r!@ "Aj! "\v /\0"j" M\r\0\v  \rkA€\bJ@A\0!\f\v \t  \vlk!\t@  l"AÿÿÿK\r\0 \0 O@A!\f\v@@ A\bt! \0Aj! \0-\0\0 \tA\btr!\t A€€O\r ! "\0 \bG\r\0\v \b!\0A!\f\v !\0 !\v  Aj";\0 \f Aj"6\0@ AðÿI\r\0A\0! \fA\x006\0 \f/\b"E\r\0@ \r  AþÿqAvk";\0  Aÿÿqj! \r/! \rAj!\r \r\0\v \f 6\0 /\0!\v /! Ak"/\0 AÿÿqO\r\0  (\x006\0  ;\0 Ak ;\0\v  \nj :\0\0A\0! Aÿq"!@ !\v@@   A˜\blj"(\0"AkM@A\0!\f\v \t  n"n"AïÿM\r\0A\0!\f\vA\0! A\bj"\r!@ "Aj! "\f /\0"j" M\r\0\v  \rkAˆ\bJ@A\0!\f\v \t  \flk!\t@  l"AÿÿÿK\r\0 \0 O@A!\f\v@@ A\bt! \0Aj! \0-\0\0 \tA\btr!\t A€€O\r ! "\0 \bG\r\0\v \b!\0A!\f\v !\0 !\v  Aj";\0  Aj"6\0@ AðÿI\r\0A\0! A\x006\0 /\b"E\r\0@ \r  AþÿqAvk";\0  Aÿÿqj! \r/! \rAj!\r \r\0\v  6\0 /\0!\v /! Ak"/\0 AÿÿqO\r\0  (\x006\0  ;\0 Ak ;\0\v \v Aÿÿq"j! AF@A€  AHj  F!  I\r\v\v \nAj!@ E\r\0  O\r\0  \vjAk"  \nk"  I"Aj"@ \n j  ü\v\0\v  \njAj!\v  I\r\0\v A\0 A\0N!\v \t \t \v"E\r\f\v ! !\b !A\0!A\0!#\0A\bk"$\0 \0"-\0\0"\0A€ \0"\0Aq!\n A\bj!@ \0AkAO@ \0Aüq!\v@  Atj"A;\0  ;  Ar"Atj"\fA;\0 \f ;  Ar"Atj"\fA;\0 \f ;  Ar"Atj"\fA;\0 \f ; Aj" \vG\r\0\v \nE\r\v@  "Atj"A;\0  ; Aj! Aj" \nG\r\0\v\v@ AþK\r\0A\0!A\0 \0"kAq"@@  Atj"\nA\0;\0 \n ; Aj! Aj" G\r\0\v\v \0AýkAI\r\0@  Atj"A\0;\0  ;  Aj"Atj"A\0;\0  ;  Aj"Atj"A\0;\0  ;  Aj"Atj"A\0;\0  ; Aj! AÿG\r\0\v\v  \x006\0 Aïÿ6 Aïÿ6Œ\bA\0!\0 A\0;ˆ\bA°À\v"@@  \0A˜\blj"A; A;\b A€€6\n B€ˆ€€À7 A\bj!A!@  Atj"\nA\0;\0 \n ;  Ar"\nAtj"\vA\0;\0 \v \n; A€G@  Ar"\nAtj"\vA\0;\0 \v \n;  Ar"\nAtj"\vA\0;\0 \v \n; Aj!\f\v\v B„€€€ðý?7\0 Aïÿ6”\b A\0;\b \0Aj"\0A‚G\r\0\v  j"!\0 AO@ (\0"\0 \0AxsA€þƒxqA\bv \0A\bxs!\r Aj!\0\v   j! Ak! \bAj!A\0!A!@ !\n@@  (\0"\fAkM@A\0!\t\f\v \r  \fn"n"\tAïÿM\r\0A\0!\f\vA\0! !@ "Aj! "\v /\0"j" \tM\r\0\v  kA€\bJ@A\0!\f\v \r  \vlk!\r@  l"AÿÿÿK\r\0 \0 O@A!\f\v@@ A\bt! \0Aj! \0-\0\0 \rA\btr!\r A€€O\r ! "\0 G\r\0\v !\0A!\f\v !\0 !\v  Aj"\v;\0  \fAj"6\0@ AðÿI\r\0A\0!\t A\x006\0 ! /\b"E\r\0@   AþÿqAvk";\0 \t Aÿÿqj!\t /! Aj! \r\0\v  \t6\0 /\0!\v\v /! Ak"/\0 \vAÿÿqO\r\0  (\x006\0  \v;\0 Ak ;\0\v \b \nj :\0\0A\0! Aÿq" !@ !\v@@   A˜\blj"(\0"AkM@A\0!\t\f\v \r  n"n"\tAïÿM\r\0A\0!\f\vA\0! A\bj"!@ "Aj! "\f /\0"j" \tM\r\0\v  kAˆ\bJ@A\0!\f\v \r  \flk!\r@  l"AÿÿÿK\r\0 \0 O@A!\f\v@@ A\bt! \0Aj! \0-\0\0 \rA\btr!\r A€€O\r ! "\0 G\r\0\v !\0A!\f\v !\0 !\v  Aj"\t;\0  Aj"6\0@ AðÿI\r\0A\0! A\x006\0 /\b"E\r\0@   AþÿqAvk";\0  Aÿÿqj! /! Aj! \r\0\v  6\0 /\0!\t\v /! Ak"/\0 \tAÿÿqO\r\0  (\x006\0  \t;\0 Ak ;\0\v \v Aÿÿq"j! AF@A€  AHj  F!  I\r\v\v \nAj!@ E\r\0  O\r\0  \vjAk"  \nk"  I"Aj"@ \n j  ü\v\0\v  \njAj!\v  I\r\0\v \bA\0 A\0N \b\v!\0 \t\v A\bj$\0 \0"E\r\f\v AF@ \0!\b ! ! !\nA\0A€ \v"E\r\0 \0-\0\0"\0A€ \0"Aüq! Aq!\tA\0 kAq!\r AkAI! AýkAI!A\0!@  A\blj"\vA\bj!A\0!A\0!\0@ E@@  \0Atj"A;\0  \0;  \0Ar"Atj"A;\0  ;  \0Ar"Atj"A;\0  ;  \0Ar"Atj"A;\0  ; \0Aj"\0 G\r\0\v \0! \tE\r\vA\0!\0@  "Atj"A;\0  ; Aj! \0Aj"\0 \tG\r\0\v\v@ AþK\r\0A\0! !\0 \r@@  \0Atj"A\0;\0  \0; \0Aj!\0 Aj" \rG\r\0\v\v \r\0@  \0Atj"A\0;\0  \0;  \0Aj"Atj"A\0;\0  ;  \0Aj"Atj"A\0;\0  ;  \0Aj"Atj"A\0;\0  ; \0Aj!\0 AÿG\r\0\v\v \v 6\0 \vAïÿ6 \vAïÿ6Œ\b \vA\0;ˆ\b Aj"A€G\r\0\vA\0! \b j"! AO@ \b(\0"\0 \0AxsA€þƒxqA\bv \0A\bxs!\f \bAj!\v \n@A!A\0!A\0!@A\0!\0@@   AÿqA\blj"\t(\0"AkM@A\0!\f\v \f  n"n"AïÿM\r\0A\0!\f\v \tA\bj"\r!@ "Aj! \0"\v /\0"j"\0 M\r\0\v  \rkA€\bJ@A\0!\f\v \f  \vlk!\f@  l"AÿÿÿK\r\0  O@A!\f\v \b j!@@ A\bt!\0 Aj! -\0\0 \fA\btr!\f A€€O\r \0! " G\r\0\v !A!\f\v ! \0!\v  Aj";\0 \t Aj"\x006\0@ \0AðÿI\r\0A\0! \tA\x006\0 \t/\b"\0E\r\0@ \r \0 \0AþÿqAvk"\0;\0  \0Aÿÿqj! \r/!\0 \rAj!\r \0\r\0\v \t 6\0 /\0!\v /! Ak"\0/\0 AÿÿqO\r\0  \0(\x006\0 \0 ;\0 Ak ;\0\v  j :\0\0 Aj" \nG\r\0\v A\0 A\0N!\v \t \v"E\r\f\v ! !\b !\nA\0!A\0!#\0A\bk"\f$\0 \0"-\0\0"\0A€ \0"Aq! \fA\bj!@ AkAO@ Aüq!\v@  Atj"\0A;\0 \0 ;  Ar"\0Atj"\tA;\0 \t \0;  Ar"\0Atj"\tA;\0 \t \0;  Ar"\0Atj"\tA;\0 \t \0; Aj" \vG\r\0\v E\r\v@  "\0Atj"A;\0  \0; \0Aj! Aj" G\r\0\v\v@ \0AþK\r\0A\0!\0A\0 "kAq"@@  Atj"A\0;\0  ; Aj! \0Aj"\0 G\r\0\v\v AýkAI\r\0@  Atj"\0A\0;\0 \0 ;  Aj"\0Atj"A\0;\0  \0;  Aj"\0Atj"A\0;\0  \0;  Aj"\0Atj"A\0;\0  \0; Aj! \0AÿG\r\0\v\v \f 6\0 \fAïÿ6 \fAïÿ6Œ\bA\0!\t \fA\0;ˆ\b  j"! AO@ (\0"\0 \0AxsA€þƒxqA\bv \0A\bxs!\t Aj!\v \n@A!@@@  \f(\0"AkM@A\0!\r\f\v \t  n"n"\rAïÿM\r\0A\0!\0\f\vA\0!\0 !@ "Aj! \0"\v /\0"j"\0 \rM\r\0\v  kA€\bJ@A\0!\0\f\v \t  \vlk!\t@  l"AÿÿÿK\r\0  O@A!\f\v  j!\v@@ A\bt!\0 Aj! -\0\0 \tA\btr!\t A€€O\r \0! " \vG\r\0\v \v!A!\f\v ! \0!\v  Aj"\v;\0 \f Aj"\x006\0@ \0AðÿI\r\0A\0!\r \fA\x006\0 !\0 \f/\b"E\r\0@ \0  AþÿqAvk";\0 \r Aÿÿqj!\r \0/! \0Aj!\0 \r\0\v \f \r6\0 /\0!\v\v /!\0 Ak"/\0 \vAÿÿqO\r\0  (\x006\0  \v;\0 Ak \0;\0\v \b j \0:\0\0 Aj" \nG\r\0\v \bA\0 A\0N!\b\v \fA\bj$\0 \b"E\r\f\v A\x006 \v A\0H@  5 ""  " ! (\f"\0AF"! \0 Aj(E\r !§\f\v ( \v!\0 @ \v  \x006\0\f\v !\v  A\0!\f\vA\0! Aj" O\r\0 \0 j-\0\0"E\r\0@ E@ AþÿÿÿK\r \b"E\r  6\0 !\f\v  (\0G\r\v Aj!   n"\f lk!\t@@ At" A \bj"j \f \t Kj6\0 A j" j   Ak"\bj(\0  \bj(\0jA\0\v6\0 \0 j!\b A j j!\v@  kAN@ \b,\0\0"Aÿ\0q! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b,\0"Aÿ\0q Atr! A\0N@ \bAj!\f\v \b-\0Aÿ\0q Atr! \bAj!\f\v  M@A\0! \vA\x006\0A\0\f\vA\0! \b",\0\0"A\0N@ \v 6\0 !A\f\v@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  \nI\r\0\v\v \v 6\0  \bk\v j" K\r Ak O\r ! ­|!! Aj" G\r\0\v ! ­|"! ­V\r\0 \b"E\r\0 !§!A\0!@@  At"\b A \bjj(\0"6¬  I\r \0 j  k  A j" \bj(\0j A¬jE\r (¬ G\r A j \bj(\0 j! Aj" G\r\0\v     \'   6\0 !\f\v  A\0!\f\v A\0!\v A°j$\0 \v}@@ \0"AqE\r\0 -\0\0E@A\0\v@ Aj"AqE\r -\0\0\r\0\v\f\v@ "Aj!A€‚„\b (\0"k rA€‚„xqA€‚„xF\r\0\v@ "Aj! -\0\0\r\0\v\v  \0k\v/\0@ Aÿ\0M\r\0 A€qA€¿F\r\0A°þ\0A6\0A\v \0 :\0\0A\v´\0@@@@@@@@@@@ A\tk\0\b\t\n\b\t\n\t\n\n\b\t\v  (\0"Aj6\0 \0 (\x006\0\v  (\0"Aj6\0 \0 2\x007\0\v  (\0"Aj6\0 \0 3\x007\0\v  (\0"Aj6\0 \0 0\0\x007\0\v  (\0"Aj6\0 \0 1\0\x007\0\v  (\0AjAxq"A\bj6\0 \0 +\x009\0\v\0\v\v  (\0"Aj6\0 \0 4\x007\0\v  (\0"Aj6\0 \0 5\x007\0\v  (\0AjAxq"A\bj6\0 \0 )\x007\0\vo \0(\0",\0\0A0k"A\tK@A\0\v@A! A̙³æ\0M@A  A\nl"j  AÿÿÿÿsK!\v \0 Aj"6\0 ,\0 ! !A0k"A\nI\r\0\v \v“~#\0A@j"$\0  6< A)j! A\'j! A(j!@@@@@A\0!@ !\v  \fAÿÿÿÿsJ\r  \fj!\f@@@@ "-\0\0"\n@@@@ \nAÿq"E@ !\f\v A%G\r !\n@ \n-\0A%G@ \n!\f\v Aj! \n-\0 \nAj"!\nA%F\r\0\v\v  \vk" \fAÿÿÿÿs"J\r\t \0@ \0 \v \r\v \r  6< Aj!A!@ ,\0A0k"A\tK\r\0 -\0A$G\r\0 Aj!A! !\v  6<A\0!\t@ ,\0\0"\nA k"AK@ !\f\v !A t"A‰ÑqE\r\0@  Aj"6<  \tr!\t ,\0"\nA k"A O\r !A t"A‰Ñq\r\0\v\v@ \nA*F@@ ,\0A0k"A\tK\r\0 -\0A$G\r\0 \0E@  AtjA\n6\0A\0\f\v  Atj(\0\v!\r Aj!A\f\v \r Aj! \0E@  6<A\0!A\0!\r\f\v  (\0"Aj6\0 (\0!\rA\0\v!  6< \rA\0N\rA\0 \rk!\r \tA€À\0r!\t\f\v A<j"\rA\0H\r\n (<!\vA\0!A!\bA\0 -\0\0A.G\r\0 -\0A*F@@ ,\0A0k"A\tK\r\0 -\0A$G\r\0 Aj! \0E@  AtjA\n6\0A\0\f\v  Atj(\0\v\f\v \r Aj!A\0 \0E\r\0  (\0"Aj6\0 (\0\v!\b  6< \bA\0N\f\v  Aj6< A<j!\b (<!A\v!@ !A! ",\0\0"Aû\0kAFI\r\v Aj! A:l jAïø\0j-\0\0"AkAÿqA\bI\r\0\v  6<@ AG@ E\r\f A\0N@ \0E@  Atj 6\0\f\f\v   Atj)\x0070\f\v \0E\r\b A0j  \f\v A\0N\r\vA\0! \0E\r\b\v \0-\0\0A q\r\v \tAÿÿ{q"\n \t \tA€À\0q!\tA\0!Aý\n! !@@@@@@@@@@@@@@@ -\0\0"À"ASq  AqAF  "AØ\0k!\t\n\0\v@ AÁ\0k\v\0\v AÓ\0F\r\v\f\v )0!Aý\n\f\vA\0!@@@@@@@ \b\0\v (0 \f6\0\f\v (0 \f6\0\f\v (0 \f¬7\0\f\v (0 \f;\0\f\v (0 \f:\0\0\f\v (0 \f6\0\f\v (0 \f¬7\0\f\vA\b \b \bA\bM!\b \tA\br!\tAø\0!\v ! )0""B\0R@ A q!\v@ Ak" §Aq-\0€} \vr:\0\0 Bˆ"B\0R\r\0\v\v !\v P\r \tA\bqE\r AvAý\nj!A!\f\v ! )0""B\0R@@ Ak" §AqA0r:\0\0 Bˆ"B\0R\r\0\v\v !\v \tA\bqE\r \b  k"  \bH!\b\f\v )0"B\0S@ B\0 }"70A!Aý\n\f\v \tA€q@A!Aþ\n\f\vAÿ\nAý\n \tAq"\v! ! "B€€€€Z@@ Ak" " B\n€"Bö~|§A0r:\0\0 BÿÿÿÿŸV\r\0\v\v §! B\nZ@@ Ak" "\v A\nn"AöljA0r:\0\0 \vAã\0K\r\0\v\v @ Ak" A0r:\0\0\v !\v\v  \bA\0Hq\r \tAÿÿ{q \t !\t@ B\0R\r\0 \b\r\0 !\vA\0!\b\f\v \b P  \vkj"  \bH!\b\f\r\v -\x000!\f\v\vAÿÿÿÿ \b \bAÿÿÿÿO"\t"A\0G!@@@ (0"Aü "\v"AqE\r\0 E\r\0@ -\0\0E\r Ak"A\0G! Aj"AqE\r \r\0\v\v E\r@ -\0\0E\r\0 AI\r\0@A€‚„\b (\0"k rA€‚„xqA€‚„xG\r Aj! Ak"AK\r\0\v\v E\r\v@  -\0\0E\r Aj! Ak"\r\0\v\vA\0\v" \vk \t " \vj! \bA\0N@ \n!\t !\b\f\f\v \n!\t !\b -\0\0\r\f\v\v )0"B\0R\rA\0!\f\t\v \b@ (0\f\vA\0! \0A \rA\0 \t\f\f\v A\x006\f  >\b  A\bj"60A!\b \v!\nA\0!@@ \n(\0"\vE\r\0 Aj \v"\vA\0H\r \v \b kK\r\0 \nAj!\n  \vj" \bI\r\v\vA=! A\0H\r\f \0A \r  \t\f E@A\0!\f\vA\0! (0!\n@ \n(\0"\vE\r Aj"\b \v"\v j" K\r \0 \b \v\r \nAj!\n  K\r\0\v\v \0A \r  \tA€À\0s\f \r   \rH!\f\b\v  \bA\0Hq\r\tA=! +0\0\v -\0!\n Aj!\f\0\v\0\v \0\r\t E\rA!@  Atj(\0"\0@  Atj \0 A!\f Aj"A\nG\r\f\v\v\v A\nO@A!\f\f\n\v@  Atj(\0\rA!\f Aj"A\nG\r\0\v\f\t\vA!\f\v  :\0\'A!\b !\v \n!\t\v \b  \vk"\n \b \nJ"\b AÿÿÿÿsJ\rA=! \r \b j"  \rH" K\r \0A   \t\f \0  \r \0A0   \tA€€s\f \0A0 \b \nA\0\f \0 \v \n\r \0A   \tA€À\0s\f (<!\f\v\v\vA\0!\f\f\vA=!\vA°þ\0 6\0\vA!\f\v A@k$\0 \f\vÁ@ ("  \r (\v ("k I@  \0  ($\0\v@@ (PA\0H\r\0 E\r\0 !@ \0 j"Ak-\0\0A\nG@ Ak"\r\f\v\v  \0  ($\0" I\r  k! (!\f\v \0!A\0!\v   #  ( j6  j!\v \v­\t\b \0Aÿÿq! \0Av!A!\0 AF@  -\0\0j"\0Añÿk \0 \0AðÿK"\0 j"At"A€€<j  AðÿK \0r\v @@@ AO@@ A¯+K@@AÛ! !\0@  \0-\0\0j" j  \0-\0j"j  \0-\0j"j  \0-\0j"j  \0-\0j"j  \0-\0j"j  \0-\0j"j  \0-\0j"j  \0-\0\bj"j  \0-\0\tj"j  \0-\0\nj"j  \0-\0\vj"j  \0-\0\fj"j  \0-\0\rj"j  \0-\0j"j  \0-\0j"j! \0Aj!\0 Ak"\r\0\v Añÿp! Añÿp! A°+j! A°+k"A¯+K\r\0\v E\r AM\r\v@  -\0\0j"\0 j \0 -\0j"\0j \0 -\0j"\0j \0 -\0j"\0j \0 -\0j"\0j \0 -\0j"\0j \0 -\0j"\0j \0 -\0j"\0j \0 -\0\bj"\0j \0 -\0\tj"\0j \0 -\0\nj"\0j \0 -\0\vj"\0j \0 -\0\fj"\0j \0 -\0\rj"\0j \0 -\0j"\0j \0 -\0j"j! Aj! Ak"AK\r\0\v E\r\v Aq"\r \f\v@ E\r\0 Aq" !\0@  \0-\0\0j" j! \0Aj!\0 Aj" G\r\0\v  j! A\fq \v!\0 AI\r\0 \0Ak"AqE@  -\0\0j"\0 -\0j" -\0j" -\0j"   \0 jjjj! Aj! !\0\v AI\r\0@  -\0\0j" -\0j" -\0j" -\0j" -\0j"\b -\0j"\t -\0j"\n -\0j" \n \t \b     jjjjjjjj! A\bj! \0A\bk"\0\r\0\v\v AñÿpAt Añÿk  AðÿKr\vA\0! !\0@  \0-\0\0j" j! \0Aj!\0 Aj" G\r\0\v  j! A\fq\v!\0 AI\r\0 \0Ak"AqE@  -\0\0j"\0 -\0j" -\0j" -\0j"   \0 jjjj! Aj! !\0\v AI\r\0@  -\0\0j" -\0j" -\0j" -\0j" -\0j"\b -\0j"\t -\0j"\n -\0j" \n \t \b     jjjjjjjj! A\bj! \0A\bk"\0\r\0\v\v Añÿp! Añÿp!\v At rA\v\v‡ A€O@ @ \0  ü\n\0\0\v\v \0 j!@ \0 sAqE@@ \0AqE@ \0!\f\v E@ \0!\f\v \0!@  -\0\0:\0\0 Aj! Aj"AqE\r  I\r\0\v\v A|q!\0@ AÀ\0I\r\0  \0A@j"K\r\0@  (\x006\0  (6  (\b6\b  (\f6\f  (6  (6  (6  (6  ( 6  ($6$  ((6(  (,6,  (060  (464  (868  (<6< A@k! A@k" M\r\0\v\v \0 M\r@  (\x006\0 Aj! Aj" \0I\r\0\v\f\v AI@ \0!\f\v AI@ \0!\f\v Ak! \0!@  -\0\0:\0\0  -\0:\0  -\0:\0  -\0:\0 Aj! Aj" M\r\0\v\v  I@@  -\0\0:\0\0 Aj! Aj" G\r\0\v\v\vG@@ \0-\0°‚AF@ \0Aj"\0A€G\r\f\v\v \0A°‚jA:\0\0 \0AtA\x006°ƒA¨‚ \x006\0\v\v#\0Ak"\0$\0 \0AÝ\0:\0@@A¨ý\0(\0" A˜ý\0\rA¨ý\0(\0\vA¬ý\0(\0"F\r\0Aèý\0(\0AÝ\0F\r\0A¬ý\0 Aj6\0 AÝ\0:\0\0\f\vA˜ý\0 \0AjAA¼ý\0(\0\0AG\r\0 \0-\0\v \0Aj$\0\vð#\0A€‰k"\b$\0@ AI\r\0 AþÿÿÿK\r\0@@ E@ \b"! E\r\v \0 j! \bA€jA\0A€\bü\v\0 \0Aj! \0-\0\0!@@ \bA€j AtjA6\0@@ E@ Aj"\n -\0\0"F\r Aj!A\0!\f\v AþL@ Aj! Ak!\f\v\f\v -\0! Aj! \n!\v A\0 Aj I\r\0\v@ E\r\0@ \bA€j AtjA6\0  O\r@ E@ Aj!A\0! Aj" -\0\0"\nG@ ! \n!\f\v  O@\f\v -\0! Aj!\f\v AþJ\r Aj! Ak!\v E\r  I\r\0\v\v  \0k!\t\v \0 \tj!A\0!\t@ \bA€j \tAtj"(\0@@  kAN@ ,\0\0"Aÿ\0q! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\v  O@A\0! A\x006\0A\0\f\vA\0! ",\0\0"\nA\0N@  \n6\0 \n!A\f\v@ ,\0\0"\nAÿ\0q Atr! Aj! \nA\0N\r  I\r\0\v\v  6\0  k\v  \fj!\f j!\v \tAj"\tA€G\r\0\v@ \0 F\r\0 \fA€ rA€ G@A\0!A\0! \fA€ I@@ Aj! \fA€I \fAt!\f\r\0\v\v@ \bA€j Atj" (\0 t6\0  ( t6  (\b t6\b  (\f t6\f  ( t6  ( t6  ( t6  ( t6 A\bj"A€G\r\0\v\vA\0!@@ \bA€j \rAtj(\0"Ak"\nA€ kO\r\0 Aq!\t At \rj!\fA\0!@ \nAI@A\0!\f\v A|q!\nA\0!@ \bA€\tj Atj" \f A\btj"6\0  A€j6\f  A€j6\b  A€j6 Aj! Aj" \nG\r\0\v \tE\r\v@ \bA€\tj Atj \f A\btj6\0 Aj! Aj! Aj" \tG\r\0\v\v \rAj"\rA€G\r\0\v A€ G\r\0  kA€H\r\0 \b (\0\0"6\0 A€€I\r\0 \b (\0"6 A€€I\r\0 \b (\0\b"6\b A€€I\r\0 \b (\0\f"6\f A€€I\r\0 \b (\0"6 A€€I\r\0 \b (\0"6 A€€I\r\0 \b (\0"6 A€€I\r\0 \b (\0"6 A€€I\r\0 \b (\0 "6 A€€I\r\0 \b (\0$"6$ A€€I\r\0 \b (\0("6( A€€I\r\0 \b (\0,"6, A€€I\r\0 \b (\x000"60 A€€I\r\0 \b (\x004"64 A€€I\r\0 \b (\x008"68 A€€I\r\0 \b (\0<"6< A€€I\r\0 \b (\0@"6@ A€€I\r\0 \b (\0D"6D A€€I\r\0 \b (\0H"6H A€€I\r\0 \b (\0L"6L A€€I\r\0 \b (\0P"6P A€€I\r\0 \b (\0T"6T A€€I\r\0 \b (\0X"6X A€€I\r\0 \b (\0\\"6\\ A€€I\r\0 \b (\0`"6` A€€I\r\0 \b (\0d"6d A€€I\r\0 \b (\0h"6h A€€I\r\0 \b (\0l"6l A€€I\r\0 \b (\0p"6p A€€I\r\0 \b (\0t"6t A€€I\r\0 \b (\0x"6x A€€I\r\0 \b (\0|"6| A€€I\r\0 A€j! Aàÿÿÿq"E\r  \0kA€j A@jN\r A@j!\n@  j!\rA\0!@ \b Atj"\v \bA€\tj" \v(\0"\0AÿqAtj(\0"\fAv \0A\fvl \fA\bvAÿqj"6\0 \v \v(\f"\0AÿqAt j(\0"Av \0A\fvl A\bvAÿqj"6\f \v \v(\b"\0AÿqAt j(\0"Av \0A\fvl A\bvAÿqj"6\b \v \v("\0AÿqAt j(\0"Av \0A\fvl A\bvAÿqj"\t6  \rj"\0 :\0 \0 :\0 \0 :\0 \0 \f:\0\0 \v -\0\0 Atr -\0A\btr  A€€I"\06\0 \v AA\0 \0j"-\0A\bt -\0\0 \tAtrr \t \tA€€I"\06 \v AA\0 \0j"-\0A\bt -\0\0 Atrr  A€€I"\06\b \v AA\0 \0j"-\0A\bt -\0\0 Atrr  A€€I"6\f \v(! \v(! \v(! \b Ar"Atj"\t \t(\0"\0AÿqAt j(\0"\fAv \0A\fvl \fA\bvAÿqj"6\0 \v AÿqAt j(\0"Av A\fvl A\bvAÿqj"6 \v AÿqAt j(\0"Av A\fvl A\bvAÿqj"6 \v AÿqAt j(\0"\0Av A\fvl \0A\bvAÿqj"6  \rj" :\0  :\0  \0:\0  \f:\0\0 \t AA\0 j"-\0A\bt -\0\0 Atrr  A€€I"\06\0 \v AA\0 \0j"-\0A\bt -\0\0 Atrr  A€€I"\06 \v AA\0 \0j"-\0A\bt -\0\0 Atrr  A€€I"\06 \v AA\0 \0j"-\0A\bt -\0\0 Atrr  A€€I"\06 AA\0 \0j! AI A\bj!\r\0\v A j" O\r  \nI\r\0\v\f\v \vA\0!\f\v  I@@  j!\nA\0!@ \b "\0Atj"\r \bA€\tj" \r(\f"AÿqAtj(\0"Av A\fvl A\bvAÿqj"6\f \r \r(\b"AÿqAt j(\0"\tAv A\fvl \tA\bvAÿqj"\f6\b \r \r("AÿqAt j(\0"Av A\fvl A\bvAÿqj"6 \r \r(\0"AÿqAt j(\0"Av A\fvl A\bvAÿqj"6\0 \0 \nj" :\0  \t:\0  :\0  :\0\0@ AÿÿK\r\0 Aj O\r\0 \r -\0\0 Atr -\0A\btr6\0 Aj!\v@ AÿÿK\r\0 Aj O\r\0 \r -\0\0 Atr -\0A\btr6 Aj!\v@ \fAÿÿK\r\0 Aj O\r\0 \r -\0\0 \fAtr -\0A\btr6\b Aj!\v@ AÿÿK\r\0 Aj O\r\0 \r -\0\0 Atr -\0A\btr6\f Aj!\v \0Aj! \0AI\r\0\v A j" I\r\0\v\v Aq"\0E@ !\f\v  j!\n \0! Aq@ \n Ak"j \bA€\tj \b Atj(\0AÿqAtj(\0:\0\0\v \0AF@ !\f\v@ \n Ak"\0j \bA€\tj \b \0Atj(\0AÿqAtj(\0:\0\0 \n Ak"\0j \bA€\tj \b \0Atj(\0AÿqAtj(\0:\0\0 AJ \0!\r\0\v !\v \bA€‰j$\0 \v´@  I\r\0@@@@ Ak\0\0\v  F\r  k!\f\v@ AÀ\0I\r\0 A@j"\bE\r\0@ \0 j!\tA\0!@ \t Atj"  j" (\0j-\0\0:\0\0   (j-\0\0:\0   (\bj-\0\0:\0   (\fj-\0\0:\0 Aj"AG\r\0\v  (\0Aj6\0  (Aj6  (\bAj6\b  (\fAj6\f A@k" \bI\r\0\v\v  Ak"O\r@  (\0"Aj6\0 \0 j"  j-\0\0:\0\0  ("Aj6   j-\0\0:\0  (\b"Aj6\b   j-\0\0:\0  (\f"Aj6\f   j-\0\0:\0 Aj" I\r\0\v\f\v@ A\bI\r\0 A\bk"\nE\r\0 Aj! Aj! Aj!\b (\0!\t@ \0 j"  \tj-\0\0:\0\0   (j-\0\0:\0  \b (\0j-\0\0:\0  \b (j-\0\0:\0   (\0j-\0\0:\0   (j-\0\0:\0   (\0j-\0\0:\0   (j-\0\0:\0  (\0Aj"\t6\0  (Aj6 A\bj" \nI\r\0\v\v  Ak"O\r@  (\0"Aj6\0 \0 j"  j-\0\0:\0\0  ("Aj6   j-\0\0:\0 Aj" I\r\0\v\f\v@  Atj"\b \b(\0"\bAj6\0 \0 j  \bj-\0\0:\0\0 Aj! Aj" G\r\0A\0!  I\r\0\v\v@  M\r\0A\0! Aj G@  k"Aq A~q!@  Atj" (\0"\bAj6\0 \0 j"\t  \bj-\0\0:\0\0  ("Aj6 \t  j-\0\0:\0 Aj! Aj" G\r\0\vE\r\v  Atj" (\0"Aj6\0 \0 j  j-\0\0:\0\0\v\vÂ~#\0A€k"\b$\0@@@@@@@@@@@ \t\0\n\n\n\n\n\v §"E@ !\f\n\v  \0 ü\n\0\0 !\f\t\v@ \b Atj"  Aqj-\0\0:\0\0   AvAqj-\0\0:\0   AvAqj-\0\0:\0   AvAqj-\0\0:\0   AvAqj-\0\0:\0   AvAqj-\0\0:\0   AvAqj-\0\0:\0   Avj-\0\0:\0 Aj"A€G\r\0\v B|Bˆ V\r B\bT@B\0!A\0\f\v@@ B\b}"Bˆ"P@B\0!\f\v@@ B}"Bˆ"P@B\0!\f\v B|Bþÿÿÿÿÿÿÿÿ\0ƒ!B\0!@  §j" \b \0 §j"-\0\0Atj)\x007\0\0  \b -\0Atj)\x007\0\b  \b -\0Atj)\x007\0  \b -\0Atj)\x007\0 B |! B|! B|" R\r\0\v BƒB\0R\r\v  §j" \b \0 §j"-\0\0Atj)\x007\0\0  \b -\0Atj)\x007\0\b B|! B|!\v B\bƒB\0R\r\v  §j \b \0 §j-\0\0Atj)\x007\0\0 B\b|!\v §Aj\v!@ BƒP\r\0  Z\r\0 B|! \0 j-\0\0!  }Bƒ§@  §j  Aqj-\0\0:\0\0 AþqAv! !\v  Q\r\0@  §j"\0  Aqj-\0\0:\0\0 \0  AvAqj-\0\0:\0 AüqAv! B|" R\r\0\v\v !\f\b\v -\0!\v -\0!\f -\0!\t -\0\0!\n@  j-\0\0!A\0!@  j-\0\0! \b \rAtj" :\0  :\0  \n:\0  \n:\0\0  :\0/  :\0.  \f:\0-  \v:\0,  :\0+  :\0*  \f:\0)  \f:\0(  :\0\'  :\0&  \f:\0%  \t:\0$  :\0#  :\0"  \f:\0!  \n:\0  :\0  :\0  \t:\0  \v:\0  :\0  :\0  \t:\0  \f:\0  :\0  :\0  \t:\0  \t:\0  :\0  :\0  \t:\0  \n:\0  :\0  :\0  \n:\0\r  \v:\0\f  :\0\v  :\0\n  \n:\0\t  \f:\0\b  :\0  :\0  \n:\0  \t:\0 -\0\0!\n  :\x003  :\x002  \v:\x001  \n:\x000 -\0!\t  :\0?  :\0>  \v:\0=  \v:\0<  :\0;  :\0:  \v:\x009  \f:\x008  :\x007  :\x006  \v:\x005  \t:\x004 \rAj!\r Aj"AG\r\0\v Aj"AG\r\0\v B|Bˆ V\rB\0! Büÿÿÿƒ"B\fX@\f\v B\f}!@ \b \0 §j"-\0\0Atj(\0! \b -\0Atj(\0!\t \b -\0Atj(\0!\n  §j" \b -\0Atj(\x006\0\f  \n6\0\b  \t6\0  6\0\0 B|! B|" S\r\0\v\f\v -\0!\t -\0!\n -\0\r!\v -\0\f!\f -\0\v!\r -\0\n! -\0\t! -\0\b! -\0! -\0! -\0! -\0! -\0! -\0! -\0! -\0\0!@ \b Atj"  j-\0\0":\0  \t:\0  :\0  \n:\0  :\0  \v:\0  :\0  \f:\0  :\0  \r:\0  :\0  :\0  :\0  :\0  :\0  :\0  :\0  :\0  :\0\r  :\0\f  :\0\v  :\0\n  :\0\t  :\0\b  :\0  :\0  :\0  :\0  :\0  :\0  :\0  :\0\0 Aj"AG\r\0\v B|Bˆ V\rB\0! Bþÿÿÿƒ"BT\r B}"Bˆ"P@B\0!\f\v B|Bþÿÿÿÿÿÿÿÿ\0ƒ!B\0!@ \b \0 §j"-\0\0Atj/\0!  §j" \b -\0Atj/\0;\0  ;\0\0 \b -\0Atj/\0!  \b -\0Atj/\0;\0  ;\0 B\b|! B|! B|" R\r\0\v\f\v §"\0E@ !\f\v  -\0\0 \0ü\v\0 !\f\vA\0!\f\v BƒB\0R\r\v \b \0 §j"-\0\0Atj/\0!  §j" \b -\0Atj/\0;\0  ;\0\0 B|! B|!\v  S@   B…|"Bˆ"|! BƒP@  §j \b \0 §j-\0\0Atj/\0;\0\0 B|! B|!\v B\0R@@  §j" \b \0 §j-\0\0Atj/\0;\0\0  \b \0 B|"§j-\0\0Atj/\0;\0 B|! B|!  R\r\0\v\v B|!\v  R@  §j  \0 §j-\0\0Aqj-\0\0:\0\0\v !\f\v  S@   B…|"Bˆ"|! BƒP@  §j \b \0 §j-\0\0Atj(\x006\0\0 B|! B|!\v B\0R@@  §j" \b \0 §j-\0\0Atj(\x006\0\0  \b \0 B|"§j-\0\0Atj(\x006\0 B\b|! B|!  R\r\0\v\v B|!\v@  Q\r\0  Z\r\0 B|! \0 §j-\0\0!  }Bƒ§@  §j  Aqj-\0\0:\0\0 AüqAv! !\v  Q\r\0@  §j"\0  Aqj-\0\0:\0\0 \0  AvAqj-\0\0:\0 AðqAv! B|" R\r\0\v\v !\v \bA€j$\0 \vލ7#\0A0k"$\0A~!@ \0E\r\0 E\r\0 A6( A6$ A\x006,Aôô\b"E@A}!\f\v  6\0  6 A\n6 A\x006ä B\x007 B\x007 B\x007\b A\x006Ô A\0:\0( B\x007Ì B\x007,  \x006  6\0  6  (\x006#\0A0k"$\0A~!@ ( "E\r\0 (\0 G\r\0 Aìj!5 AÈj!, Aü<j!\' Aüj! A@k!( Aüój!- AÌÃj!. Aœ“j!+ Aìâj!/ AàÖj!6 A¼=j!0 AŽÊj!7 Aüj!1 Aìj!2 A”ôj!8 AÄ\bj! A<j! (!@ A\nH!\0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A!@@ AkT\0\v -\0!\0 -\0(E\r (\0"\v(!@ \0@ E\r (\f!\f\v E\r (\f!\f\v@ E@ (À\b"\0 (Àô"\fAj"F\rA|! \0 J\rU A6\f  (\0":\0\b (8" ($A l"\rO\rUA\0!A€!@  jAu"\t    \tAtj(\0H"\b"  \t \b"kAG\r\0\v  (Ð"\b Atj/\0" (Ô" Avj-\0\0 AtAqvAtA€€<qr"68 ("E@  ("Aj"\tA\0 \tA€G6 AtAð+j(\0!\v  \0Aj"6À\b  Ak"\t6@ \0 \fF\r\0  Aÿq \tAFs"G@  6\0\f\v A6\f  \rO\rVA\0!A€!@  jAu"    Atj(\0H""   "kAG\r\0\v  \b Atj/\0"  Avj-\0\0 AtAqvAtA€€<qr"68 \tE@  ("Aj"\tA\0 \tA€G6 AtAð+j(\0!\t\v  \0Aj"6À\b  \tAk"\t6 \f F\r\0  Aÿq \tAFs"G@  6\0\f\v A6\f  \rO\rVA\0!A€!@  jAu"    Atj(\0H""   "kAG\r\0\v  \b Atj/\0"  Avj-\0\0 AtAqvAtA€€<qr"68 \tE@  ("Aj"\tA\0 \tA€G6 AtAð+j(\0!\t\v  \0Aj6À\b  \tAk"\t6 \f F\r\0  Aÿq \tAFs"G@  6\0\f\v  \rO\rVA\0!A€!@  jAu"\f    \fAtj(\0H""  \f "kAG\r\0\v  \b Atj/\0"  Avj-\0\0 AtAqvAtA€€<qr"68 \tE@  ("Aj"\tA\0 \tA€G6 AtAð+j(\0!\t\v  \0Aj6À\b  \tAk"\f6  Aÿq \fAFsAj6\f  \rO\rVA\0!A€!@  jAu"\t    \tAtj(\0H"\r"  \t \r"kAG\r\0\v  6\0  \b Atj/\0  Avj-\0\0 AtAqvAtA€€<qr68 \fE@  ("Aj"A\0 A€G6 AtAð+j(\0!\f\v  \0Aj6À\b  \fAk"\x006   \0AFs6\0\v \v(E\r\v \v( -\0\b"\0:\0\0  (\fAk"6\f  \0 (à"AvsAt(ð# A\bts6à (\0"\v \v(Aj"\x006 \v \v(Ak"6 \v \v(Aj6 \0E@ \v \v(Aj6\v \r\0\v\f\v \0\r\0\v (\0" A\nG\r 8A\0Aà\0ü\v\0@ ( "\0AJ@ \0A\bk! (!\f\v (!\b@ \bE@A\0!3A\0! A\0!!A\0!"A\0!A\0!#A\0!)A\0!A\0!A\0!$A\0!A\0!A\0!\vA\0!A\0!\rA\0!A\0!A\0!\tA\0!\fA\0!A\0!A\0!A\0!A\0!\b\fN\v (\0"-\0\0!\t  \0A\bj"6  \t (A\btr"6  \bAk"\b6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 A\0!3  vAÿqAÂ\0F@A\0!\bA\0!A\0!A\0!A\0!A\0!\fA\0!\tA\0!A\0!A\0!\rA\0!A\0!\vA\0!A\0!A\0!$A\0!A\0!A\0!)A\0!#A\0!A\0!"A\0!!A\0! \f\vA{!A\0! A\0!!A\0!"A\0!A\0!#A\0!)A\0!A\0!A\0!$A\0!A\0!A\0!\vA\0!A\0!\rA\0!A\0!A\0!\tA\0!\fA\0!A\0!A\0!A\0!A\0!\b\fM\v \0@ (\0"(E\r (\f!@ E@ (À\b" (Àô"\0Aj"F\rA|!  J\rS A6\f  (\0"\r:\0\b (8"\b ($A l"O\rS  (Ì"\t \bAtj(\0"\fA\bv"\v68 ("\bE@  ("\bAj"A\0 A€G6 \bAtAð+j(\0!\b\v  Aj"6À\b  \bAk"\b6@ \0 F\r\0 \r \fAÿq \bAFs"\fG@  \f6\0\f\v A6\f  \vM\rT  \t \vAtj(\0"\fA\bv"\v68 \bE@  ("\bAj"A\0 A€G6 \bAtAð+j(\0!\b\v  Aj"6À\b  \bAk"\b6 \0 F\r\0 \r \fAÿq \bAFs"\fG@  \f6\0\f\v A6\f  \vM\rT  \t \vAtj(\0"\fA\bv"\v68 \bE@  ("\bAj"A\0 A€G6 \bAtAð+j(\0!\b\v  Aj6À\b  \bAk"\b6 \0 F\r\0 \r \fAÿq \bAFs"\0G@  \x006\0\f\v  \vM\rT  \t \vAtj(\0"\vA\bv"\r68 \bE@  ("\0Aj"\bA\0 \bA€G6 \0AtAð+j(\0!\b\v  Aj6À\b  \bAk"\x006  \vAÿq \0AFsAj6\f  \rM\rT  \t \rAtj(\0"A\bv68 \0E@  ("\0Aj"\tA\0 \tA€G6 \0AtAð+j(\0!\0\v  Aj6À\b  \0Ak"\x006  Aÿq \0AFs6\0\v (E\r\v ( -\0\b"\0:\0\0  (\fAk"6\f  \0 (à"AvsAt(ð# A\bts6à (\0" (Aj"\x006  (Ak"6  (Aj6 \0E@  (Aj6\v \r\0\v\f\v ($A l! (Àô"Aj!\r (\0!\t (8! (Ì! (À\b! (\f!\0 -\0\b!\v (à! (\0"(! ("!\b@@@@ \0A\0L@ !\f\v \bE\r \vAÿq!@ \0AF@ !A\0\f\v  \v:\0\0 Av sAt(ð# A\bts! Aj! \0Ak!\0 \bAk"\b\r\0\v\f\vA\v!\0@ \0E@ \bE@A\0!\bA!\0\f\v  \v:\0\0 \vAÿq AvsAt(ð# A\bts! \bAk!\b Aj!A!\0\f\vA|!  \rJ\rT  \rF@A\0!\0 \r!\f\v  O\rT \t!\v Aj!\0  Atj(\0"\tA\bv!@ \v \tAÿq"\tG@ \0!\f\v  F@ \0! \v!\t\f\v  O\rUA!\0  Atj(\0"A\bv! \v!\t \r" Aj"\fF\r \f! Aÿq"\t \vG\r  O\rU  Atj(\0"A\bv!A!\0 \v!\t \r" Aj"\fF\r \f! Aÿq"\t \vG\r  O\rU  Atj(\0"\0A\bv"\t O\rU Aj! \0AÿqAj!\0  \tAtj(\0"A\bv! Aÿq!\t\f\vA\0!\0\f\0\v\0\v\v !A\0!\b\v (\0"\r \r("\f  \bkj"6 \f K@ \r \r(Aj6\v  6À\b  \x006\f  \v:\0\b  6à  6Ì  68  \t6\0 \r \b6 \r 6\f\v@@ \r\0 (À\b"\0 (Àô"\fAj"F\rA|! \0 J\rQ A6\f  (\0":\0\b (8" ($A l"\tO\rQA\0!A€!@  jAu"\r    \rAtj(\0H"\b"  \r \b"kAG\r\0\v (Ð"\r Atj/\0! (Ô"\b Avj-\0\0!  \0Aj"6À\b    AtAqvAtA€€<qr"68 \0 \fF\r\0  Aÿq"G@  6\0\f\v A6\f  \tO\rQA\0!A€!@  jAu"    Atj(\0H""   "kAG\r\0\v \r Atj/\0! \b Avj-\0\0!  \0Aj"6À\b    AtAqvAtA€€<qr"68 \f F\r\0  Aÿq"G@  6\0\f\v A6\f  \tO\rQA\0!A€!@  jAu"    Atj(\0H""   "kAG\r\0\v \r Atj/\0! \b Avj-\0\0!  \0Aj6À\b    AtAqvAtA€€<qr"68 \f F\r\0  Aÿq"G@  6\0\f\v  \tO\rQA\0!A€!@  jAu"\f    \fAtj(\0H""  \f "kAG\r\0\v \r Atj/\0!\f \b Avj-\0\0!  \0Aj6À\b  AÿqAj6\f  \f  AtAqvAtA€€<qr"68  \tO\rQA\0!A€!@  jAu"\t    \tAtj(\0H""  \t "kAG\r\0\v  6\0 \r Atj/\0! \b Avj-\0\0!  \0Aj6À\b    \fAtAqvAtA€€<qr68\v \v( -\0\b"\0:\0\0  (\fAk"6\f  \0 (à"AvsAt(ð# A\bts6à (\0"\v \v(Aj"\x006 \v \v(Ak"6 \v \v(Aj6 \0E@ \v \v(Aj6\v \r\0\v\vA\0! (À\b (ÀôAjG\rN (\f\rN  (àAs"\x006à (0"AN (Ø!  \x006$  6 A´\n A j (0 \vAN@@@Aäý\0(\0"\0A\0N@ \0E\rAȇ(\0 \0AÿÿÿÿqG\r\v@Aèý\0(\0AÝ\0F\r\0A¬ý\0(\0"\0A¨ý\0(\0F\r\0A¬ý\0 \0Aj6\0 \0AÝ\0:\0\0\f\v%\f\vAäý\0Aäý\0(\0"\0Aÿÿÿÿ \06\0@@Aèý\0(\0AÝ\0F\r\0A¬ý\0(\0"\0A¨ý\0(\0F\r\0A¬ý\0 \0Aj6\0 \0AÝ\0:\0\0\f\v%\vAäý\0(\0Aäý\0A\x006\0\v\v (à"\0 (ØG@A|!\fO\vA! A6  (äAw \0s6ä (\0\v! (ðô! (ìô!! (èô!" (äô! (àô!# (Üô!) (Øô! (Ôô! (Ðô!3 (Ìô!$ (Èô! (Äô! (Àô!\v (¼ô! (¸ô!\r (´ô! (°ô! (¬ô!\t (¨ô!\f (¤ô! ( ô! (œô! (˜ô! (”ô!\b@@@@ A\vk()\b\t\n\v9\f\r!"C#$%G\0 \v ( !A\0\fG\v ( !%A\0!\fG\v ( !&A!\fF\v ( !\v A\v6 A\bN@ A\bk!\0 (!\n\f"\v (!@ E\rG (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\f!\v ( !\0\f!\v ( !\f!\v ( !\f"\v ( !\0\f,\v ( !\f,\v ( !\0\f,\v ( !\f,\v ( !\f-\v ( !\0\f-\v ( !\f-\v ( !\0\f-\v ( !\f-\v ( !\0\f-\v ( !\f-\v ( !\f0\v ( !*A\f1\v ( !\f\v ( !\0\f\v ( !\f\v ( !\0\f\v ( !\f\v ( !\0\f\v ( !\f\v ( !\0\f\v ( !\f\v#\0Ak"\0$\0 \0Aé6 \0A¡6\0A› \0A\0\vA!\f)\vA!\f(\vA\f\vA!\f\vA\f!\vA\f!\vA\f \v  \x006 \n \0vAÿqAÚ\0G\r%\v A\f6@ \0A\bN@ \0A\bk! (!\n\f\v (!@ E\r% (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 \n vAÿqAè\0G\r$\v A\r6@ A\bN@ A\bk! (!\n\f\v (!\0@ \0E\r$ (\0"-\0\0!  A\bj"6   (A\btr"\n6  \0Ak"\x006  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v A\0N ! !E\r\0\v\v  6  \n vAÿq"\x006$A\0! \0A:kAwI@A{!\f&\v  \0A0k"\x006$ (,! ($! -\0(@   \0AÀš\flA \x006Ð  (, ($A lAuA ($\0"\x006ÔA}! (ÐE\r& \0E\r&\f\v   \0A€µlA \0"\x006Ì \0\r\0A}!\f%\v A6@ ( "\0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r# (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 \n vAÿq"\0AF\r \0A1G\r \v A6 A\bN@ A\bk!\0 (!\n\f\n\v (\0"(!@ E\r! (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\f\t\v A*6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r! (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006 \n \0vAÿqAò\0G\r\v A+6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 \n vAÿqAÅ\0G\r\v A,6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006 \n \0vAÿqA8G\r\v A-6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 \n vAÿqAÐ\0G\r\v A.6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006 \n \0vAÿqAG\r A\x006Ü\v A/6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6  \n vAÿq (ÜA\btr6Ü\v A06@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006  \n \0vAÿq (ÜA\btr6Ü\v A16@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6  \n vAÿq (ÜA\btr6Ü\v A26@ A\bN@ A\bk! (!\n\f\v (\0"(!\0@ \0E\r (\0"-\0\0!  A\bj"6   (A\btr"\n6  \0Ak"\x006  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v A\0N ! !E\r\0\v\v  6 A! A6  \n vAÿq (ÜA\btr6ÜA!\f\v  \x006 \n \0vAÿqAÁ\0G\r\v A6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 \n vAÿqAÙ\0G\r\v A6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006 \n \0vAÿqA&G\r\v A6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6 \n vAÿqAÓ\0G\r\v A6@ A\bN@ A\bk! (!\n\f\v (\0"(!\0@ \0E\r (\0"-\0\0!  A\bj"6   (A\btr"\n6  \0Ak"\x006  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v A\0N ! !E\r\0\v\v  6 \n vAÿqAÙ\0G\r  (,Aj"\x006, (0AN@  \x006Aƒ Aj\v A\x006Ø\v A6@ ( "\0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6  \n vAÿq (ØA\btr6Ø\v A6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006  \n \0vAÿq (ØA\btr6Ø\v A6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6  \n vAÿq (ØA\btr6Ø\v A6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006  \n \0vAÿq (ØA\btr6Ø\v A6@ \0A\0J@ (!\f\v (\0"(! \0!@ E\r (\0"-\0\0!  A\bj"\x006   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v AxJ \0!E\r\0\v\v A\x0064  \0Ak"6   vAq:\0\v A6@ A\bN@ A\bk!\0 (!\n\f\v (\0"(!@ E\r (\0"\0-\0\0!  A\bj"6   (A\btr"\n6  Ak"6  \0Aj6\0  (\bAj"\x006\b \0E@  (\fAj6\f\v A\0N !\0 !E\r\0\v\v  \x006  \n \0vAÿq (4A\btr64\v A6@ \0A\bN@ \0A\bk! (!\n\f\v (\0"(!@ E\r\r (\0"-\0\0!  \0A\bj"6   (A\btr"\n6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A\0N \0! !\0E\r\0\v\v  6  \n vAÿq (4A\btr64\v A6@ A\bN@ A\bk! (!\n\f\v (\0"(!\0@ \0E\r\f (\0"-\0\0!  A\bj"6   (A\btr"\n6  \0Ak"\x006  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v A\0N ! !E\r\0\v\v  6  (4A\bt"\0 \n vAÿqr"64A\0!A|! \0A\0H\r\r  ($A lA\nrJ\r\rA\0\v!@@@ E@ AN\r !\bA!\f\v A6@ ( "A\0J@ (!\f\v (\0"(! !\0@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ !\0E\r\0\v\v  Ak"\x006 \b 5j  \0vAq:\0\0 \bAj!\f\vA\0!\b 2A\0A€ü\v\0 !4A\0!\f\vA\0!\f\0\v\0\v@@@@@ E@ \bAJ\rA\0! \b 5j-\0\0E\r\f\v A6 ( "A\0J@ (!\f\v (\0"(! !\0@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ !\0E\r\0\v\f\vA\0! A\x006èA\0!@  2j-\0\0@  1j :\0\0  (èAj"6è\v 2 Ar"\0j-\0\0@  1j \0:\0\0  (èAj"6è\v Aj"A€G\r\0\v E@A|!A\0! 4!\f\v Aj! 4!\f\v  Ak"\x006  \0vAq@ 2 \bAtj jA:\0\0\v Aj!\v !4 AJ\r\0A!\f\v \bAj!\bA\0!\f\0\v\0\v A6@ ( "AN@ (!\f\v (\0"(! !\0@ E\r\t (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AzJ !\0E\r\0\v\v  Ak"6  vAq"AkAO\r\v A6@ AN@ (!\f\v (\0"(! !\0@ E\r\b (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AJ !\0E\r\0\v\v  Ak"\x006 A\0!\f  \0vAÿÿq"E\rA\0!\bA\0\v!@@ E@ \b N\r !\fA\0!A!\f\v A 6  Aj"\0 \0 H! ( !@@@ A\0J@ (!\f\v (\0"(! !\0@ E\r\v (\0"\n-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  \nAj6\0  (\bAj"\n6\b \nE@  (\fAj6\f\v \0AxJ !\0E\r\0\v\v  Ak"6  vAqE\rA|!A\0! Aj" H\r\0\v !\f\v\v \b 7j :\0\0 \bAj!\b \f!A\0!\f\v\vA\0!A\0! A\0J@@ A*j j :\0\0  Aj"Aÿq"K\r\0\v\vA\0!A\0!A\0!\b A\0J@@  7j-\0\0" A*jj-\0\0!\b@ E\r\0A\0! "!\0 Aq"@@ A*j j"\0 \0Ak-\0\0:\0\0 Ak! Aj"Aÿq G\r\0\v Aüq!\0\v AI\r\0@ A*j j"Ak Ak(\0\x006\0\0 Ak! \0Ak"\0Aÿq\r\0\v\v  \b:\0*  0j \b:\0\0 Aj" G\r\0\v !\b\vA\0\v!@@@@@@@@@@@@@@ \0\v  N\r !\fA!\f\v A!6 ( "AH\r (!\f\t\v A\0J\rA\0\f\v (\0"(! !\0@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0A|J !\0E\r\0\v\f\v A#6 *A\0L\r (!\f\v A"6@ ( "A\0L@ (\0"(! !\0@ E\r (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ !\0E\r\0\v\f\v (!\v  Ak"*6  *vAq\r 6 A‚lj \bj $:\0\0 \bAj\f\v (\0"(! *!\0@ E\r (\0"-\0\0!  \0A\bj"*6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ *!\0E\r\0\v\f\v Aþÿÿÿq! Aq!\n Aüÿÿÿq!\b Aq!A\0!@@ A\0J@ 6 A‚lj!\fA\0!A !A\0!A\0!\tA\0!A\0!@ AI"E@@  \t \fj"\0-\0\0"  K"\v \0-\0"  \vK" \0-\0"\v \v K" \0-\0"\0 \0 K!    I"   K" \v  \vK" \0 \0 I! \tAj"\t \bG\r\0\v ! \b! E\r\v !@   \fj-\0\0"\0 \0 K!  \0 \0 I! Aj! Aj" G\r\0\v\v . Aˆ\bl"\tj!A\0! !@ !\0A\0!A\0!\v@ AG@@  \fj-\0\0 \0F@  Atj 6\0 Aj!\v \f Ar"\vj-\0\0 \0F@  Atj \v6\0 Aj!\v Aj" G\r\0\v !\v \nE\r\v \0 \v \fj-\0\0G\r\0  Atj \v6\0 Aj!\v \0Aj! \0 G\r\0\vA\0!\0 \t +j"A\0AÜ\0ü\v\0  I!\tA\0!A\0!\v E@@  \v \fj"-\0\0Atj" (Aj6  -\0Atj" (Aj6  -\0Atj" (Aj6  -\0Atj" (Aj6 \vAj"\v \bG\r\0\v \v! E\r\v@   \fj-\0\0Atj" (Aj6 Aj! \0Aj"\0 G\r\0\v\f\vA\0! + Aˆ\blj"A\0AÜ\0ü\v\0A!\tA !\v + Aˆ\bl"\0j" ( (\0j"6  (\b j"6\b  (\f j"6\f  ( j"6  ( j"6  ( j"6  ( j"6  ( j"6  ($ j"6$  (( j"6(  (, j"6,  (0 j"60  (4 j"64  (8 j"68  (< j"6< A@k" (\0 j"6\0  (D j"6D  (H j"6H  (L j"6L  (P j"6P  (T j"6T  (X j6X \0 /j"\fA\0AÜ\0ü\v\0@ \t\r\0A\0!\v "\0 G@ \0 kAj"\0Aq \0Aþq! !\0A\0!@ \f \0At"j \v  Aj"9j":(\0  j(\0kj"Ak6\0 \f 9j  \0Aj"\0Atj(\0 :(\0k Atj"Ak6\0 At!\v Aj" G\r\0\vE\r\v \f \0At"\0j \0 j"\0( \0(\0k \vjAk6\0\v@  M\r\0 Aj!  "\0kAq@  Atj" \f \0Atj(\0At (\0kAj6\0 !\0\v  F\r\0@  \0At"Aj"j"\t  \fj(\0At \t(\0kAj6\0  \0Aj"\0Atj"  \fj(\0At (\0kAj6\0 \0 G\r\0\v\v - Atj 6\0 Aj" G\r\0\v \v! ($ (è!\b (A\0A€\bü\v\0A!Aÿ!\0@ \0 j"Ak "At"Ar:\0\0  Ar:\0\0 Ak A\rr:\0\0 Ak A\fr:\0\0 Ak A\vr:\0\0 Ak A\nr:\0\0 Ak A\tr:\0\0 Ak A\br:\0\0 A\bk Ar:\0\0 A\tk Ar:\0\0 A\nk Ar:\0\0 A\vk Ar:\0\0 A\fk Ar:\0\0 A\rk Ar:\0\0 Ak Ar:\0\0  \0Ak"j :\0\0 \' Atj 6\0 Ak! \0Ak!\0 \r\0\vA l! \bAj!\t A\0L@A|!A\0!\vA€!\bA\0!A\0! !\f\f\v / 0-\0\0"#Aˆ\bl"\0j!" \0 .j! \0 +j!!A€!\bA1!A\0!\v - #Atj(\0"!A\0! !\f\f\vA!\f\v  *Ak"\x006 AA  \0vAq $j!$\f\v  Ak"\x006  \0vAq!$A\0\v"\b H\r\0 Aj! \f!\f\v $AkAlI\rA!\f\vA\0!\f\0\v\0\v A$6@  ( "L@ (!\n\f\v (\0"("\0E\r (\b! (\0! (!\n@ -\0\0!  A\bj"6   \nA\btr"\n6  Aj"6\b  \0Ak"\x006  Aj"6\0 E@  (\fAj6\f\v  N\rA\0! \0\r\0\vA\0!\f\v   k"6 A tAs \n vq!A\v!@@@@@@ E@ A%6 A\0L\r (!\f\vA|!A\0! AJ\r\v  " At"\0j(\0L\r Aj!\f\v (\0"(! !\0@ E\r\b (\0"-\0\0!  \0A\bj"6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ !\0E\r\0\v\v  Ak"6  vAq") Atr!\f\v  \0 !j(\0k"\0AK\r\b \0Atj(\0!\rA!\f\vA\0!\f\vA!\f\0\v\0\v@@@@@@@@@@@@@@@@@@ \0\v A\'6 %A\0L\r (!\f\v A)6 &A\0L\r (!\f\v \t \rF\rA! \rAK\rA!\f\f\v A&6  ( "L@ (!\n\f\n\v (\0"("\0E\r (\b! (\0! (!\n@ -\0\0!  A\bj"6   \nA\btr"\n6  Aj"6\b  \0Ak"\x006  Aj"6\0 E@  (\fAj6\f\v  N\r\nA\0! \0\r\0\vA\0!\f\v (\0"(! %!\0@ E\r (\0"-\0\0!  \0A\bj"%6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ %!\0E\r\0\v\v  %Ak"%6  %vAq") Atr\f\b\vA|! \v N\r \rAk!@ \rAM@  \'(\0j" j"\0-\0\0!\n@@ \rAH@ !\f\v@ \rAk"AqE@ \0Ak \0Ak(\0\x006\0\0 "AI\r\v !@  j"\0Ak \0Ak(\0\x006\0\0 \0Ak \0Ak/\0\0;\0\0 \0Ak \0A\bk/\0\0;\0\0 A\bk"AK\r\0\v\v E\r\vA\0! Aq"\0E\r\0@  j" Ak-\0\0:\0\0 Ak! Aj" \0G\r\0\v\v  \n:\0\0\f\v  \' Av"Atj"(\0"\0 Aq"j"j-\0\0!\n @@  j"\0 \0Ak-\0\0:\0\0 Ak" (\0"\0J\r\0\v\v  \0Aj6\0@ \' Atj"\0 \0(\0Ak"6\0  j  \0Ak(\0j-\0:\0\0 AK Ak!\r\0\v \' \'(\0Ak"\x006\0 \0 j \n:\0\0 \'(\0\r\0A!Aÿ!\0@ \0 j"  \' "Atj"(\0j-\0:\0\0 Ak  (\0j-\0:\0\0 Ak  (\0j-\0\r:\0\0 Ak  (\0j-\0\f:\0\0 Ak  (\0j-\0\v:\0\0 Ak  (\0j-\0\n:\0\0 Ak  (\0j-\0\t:\0\0 Ak  (\0j-\0\b:\0\0 A\bk  (\0j-\0:\0\0 A\tk  (\0j-\0:\0\0 A\nk  (\0j-\0:\0\0 A\vk  (\0j-\0:\0\0 A\fk  (\0j-\0:\0\0 A\rk  (\0j-\0:\0\0 Ak  (\0j-\0:\0\0  \0Ak"j  (\0j-\0\0:\0\0  6\0 Ak! \0Ak!\0 \r\0\v\v ( 1 \nAÿqj-\0\0"\0Atj" (\0Aj6\0@ -\0(@ (Ð \vAtj \0;\0\f\v (Ì \vAtj \x006\0\v \vAj!\v E@A\0! Aj" \fN\r +  0j-\0\0"#Aˆ\bl"\0j!! \0 .j! \0 /j!"A2! - #Atj(\0!\v Ak! !A!\f\f\v A(6  ( "L@ (!\n\f\v (\0"("\0E\r\r (\b! (\0! (!\n@ -\0\0!  A\bj"6   \nA\btr"\n6  Aj"6\b  \0Ak"\x006  Aj"6\0 E@  (\fAj6\f\v  N\rA\0! \0\r\0\vA\0!\f\v (\0"(! &!\0@ E\r\r (\0"-\0\0!  \0A\bj"&6   (A\btr"6  Ak"6  Aj6\0  (\bAj"6\b E@  (\fAj6\f\v \0AxJ &!\0E\r\0\v\v  &Ak"&6  &vAq") Atr\f\vA\0!A|! (4"\0A\0H@ \r!\t\f\v \0 \vN@ \r!\t\f\v@@@ ( Atj(\0"\0A\0H\r \0 \vJ\r ( Ar"\bAtj(\0"\0A\0H\r \0 \vJ\r ( Ar"\bAtj(\0"\0A\0H\r \0 \vJ\r ( Ar"\bAtj(\0"\0A\0H\r \0 \vJ\r Aj"A€G\r\0\v A\x006\0A!A!\0@  \0At"j  j(\x006\0  Aj"j  j(\x006\0  A\bj"j  j(\x006\0  A\fj"j  j(\x006\0A\0!\b \0Aj"\0AG\r\0\vA\0!\0@  Atj" (\0 \0j"\x006\0  ( \0j"\x006  (\b \0j"\x006\b  (\f \0j"\x006\f  ( \0j"\x006  ( \0j"\x006  ( \0j"\x006  ( \0j"\x006 A\bj"AG\r\0\v@@@A\0!  \bAtj(\0"\0A\0H@ \r!\t\f\v \0 \vJ@ \r!\t\f\v \bA€F@A!\b@  \bAtj"\0Ak(\0 \0(\0"J@ \r!\t\f\v   \bAj"\0Atj(\0"J@ \r!\t \0!\b\f\v   \bAj"\0Atj(\0"J@ \r!\t \0!\b\f\v  \bAj"\0Atj(\0 H@ \r!\t \0!\b\f\v \bAj"\bAG\r\0\v A6à A\0:\0\b A\x006\f A6 (0AN@AâA\vA\0!A\0!\0@@@ -\0(E@ (Ì!\0@ \vAG@ \vAq \vAþÿÿÿq!\t@ \0  \0 Atj-\0\0Atj"(\0Atj"\b \b(\0 A\btr6\0  (\0Aj6\0 \0  \0 Ar"\bAtj-\0\0Atj"(\0Atj" (\0 \bA\btr6\0  (\0Aj6\0 Aj" \tG\r\0\vE\r\v \0  \0 Atj-\0\0Atj"(\0Atj" (\0 A\btr6\0  (\0Aj6\0\v \0 (4Atj(\0! A\x006À\b  A\bv"68 -\0E\r B\x007  ($A lO\r \0 Atj(\0! A6À\b Bꄀ€7\f\v@ , \0At"j  j(\x006\0 \0A€G@ , Ar"j  j(\x006\0 , A\br"j  j(\x006\0 , A\fr"j  j(\x006\0 \0Aj!\0\f\v\v@ (Ð Atj"\0 , \0-\0\0Atj"\0(\0";\0 (Ô Avj"\t-\0\0! \t Aq Aq A\fvAðÿ?qr Apq Avr\v:\0\0 \0 \0(\0Aj6\0 Aj" \vG\r\0\v (Ô (4"Auj-\0\0 AtAqvAtA€€<q (Ð Atj/\0r!@ "\bAt"\0 (Ðj"\t/\0! \bAv" (Ôj"-\0\0 \t ;\0 -\0\0!\t \bAtAq"vAtA€€<q r!  \bAq \tAq A\fvAðÿ?qr \tApq Avr\v:\0\0 \b" (4G\r\0\v A\x006À\b  68@ -\0@ B\x007  ($A lO\rA\0!A€!@  jAu"\t  \b  \tAtj(\0H"\n"  \t \n"kAG\r\0\v  6\0 (Ð \0j/\0!\0 (Ô j-\0\0!  (À\bAj6À\b  6\0 Bꄀ€7\f\v \b ($A lO\rA\0!A€!@  jAu"\t  \b  \tAtj(\0H"\n"  \t \n"kAG\r\0\v  6\0 (Ð \0j/\0!\0 (Ô j-\0\0!  (À\bAj6À\b\v  \0  vAtA€€<qr68 \r!\tA\0!\f\v  ($A lO\r \0 Atj(\0! A6À\b\v  A\bv68  Aÿq6\0 \r!\t \v!\bA\0!\f\vA!\f\v  \bAr"\0Atj(\0"A\0H\r  \vJ\r  \bAr"\0Atj(\0"A\0H\r  \vJ\r@  \bAr"\0Atj(\0"A\0H\r\0  \vJ\r\0 \bAj!\b\f\v\v \r!\t \0!\b\f\v \r!\t \0!\b\f\v \r!\t \0!\b\f\v \r!\t\f\r\v \r!\t !\b\f\f\v   k"&6 A tAs \n &vq\v!A|!A\0! AJ\r\v@ " At"\0j(\0 H@ Aj!\f\v  \0 !j(\0k"\0AK\r\f \0Atj(\0!\r\f\vA!\f\v   k"%6 A tAs \n %vq\v!A|!A\0! AJ\r\t " At"\0j(\0 H@ Aj!\f\v  \0 !j(\0k"\0AK\r\t \0Atj(\0"\rAO\r !\vA|! Aÿÿÿ\0J@A\0! !\f\t\v At"  \r j! E@A\0! \f Aj"L@A\0!\f\n\v +  0j-\0\0"#Aˆ\bl"\0j!! \0 .j! \0 /j!"A2! - #Atj(\0!\v Ak! !A!\f\v ( 1  (ü<j-\0\0j-\0\0"Atj"\0 Aj" \0(\0j6\0@@ -\0(@ A\0N\r !\f\v A\0N\r !\f\v \v  \v J!\0@ \0 \vF@ ! \0!\v\f\n\v (Ð \vAtj ;\0 \vAj!\v AJ Ak"!\r\0\v\f\v \v  \v J!\0@ \0 \vF@ ! \0!\v\f\t\v (Ì \vAtj 6\0 \vAj!\v AJ Ak"!\r\0\v\f\vA\0!\f\vA!\f\0\v\0\vA|!\f\vA\0!A\0!\f\vA{!\vA\0!\v  6ðô  !6ìô  "6èô  6äô  #6àô  )6Üô  6Øô  6Ôô  36Ðô  $6Ìô  6Èô  6Äô  \v6Àô  6¼ô  \r6¸ô  6´ô  6°ô  \t6¬ô  \f6¨ô  6¤ô  6 ô  6œô  6˜ô  \b6”ô E\r\0 (ä! (0AN@ (Ü!\0  6  \x006\0AÆ\n  (ä!\vAA|  (ÜF!\f\vA! (AF\r\0\v\v A0j$\0@@@ "\0\v  (\0 (k6\0A\0! ( "\0E\r \0(\0 G\r \0(Ì"@ (,  ((\0\0\v \0(Ð"@ (,  ((\0\0\v \0(Ô"\0@ (, \0 ((\0\0\v (, ( ((\0\0\f\v (!@ ( "\0E\r\0 \0(\0 G\r\0 \0(Ì"@ (,  ((\0\0\v \0(Ð"@ (,  ((\0\0\v \0(Ô"\0@ (, \0 ((\0\0\v (, ( ((\0\0\vAyAx !\f\v ( "\0E\r\0 \0(\0 G\r\0 \0(Ì"@ (,  ((\0\0\v \0(Ð"@ (,  ((\0\0\v \0(Ô"\0@ (, \0 ((\0\0\v (, ( ((\0\0\v A0j$\0 \vÆ@@ A\0  \0kAHE@ \0,\0\0"Aÿ\0q! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0-\0Aÿ\0q Atr! \0Aj!\f\v \0 O@ A\x006\0A\0\v \0,\0\0"A\0N\r \0!@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  K\r\0\v\v  6\0  \0k\v  6\0A\v­\v \0 j!@@ \0("Aq\r\0 AqE\r \0(\0" j!@@@ \0 k"\0AÈþ\0(\0G@ \0(\f! AÿM@  \0(\b"G\rA´þ\0A´þ\0(\0A~ Avwq6\0\f\v \0(! \0 G@ \0(\b" 6\f  6\b\f\v \0(" \0Aj \0("E\r \0Aj\v!@ ! "Aj! ("\r\0 Aj! ("\r\0\v A\x006\0\f\v ("AqAG\rA¼þ\0 6\0  A~q6 \0 Ar6  6\0\v  6\f  6\b\f\vA\0!\v E\r\0@ \0("At"(ä€ \0F@ Aä€j 6\0 \rA¸þ\0A¸þ\0(\0A~ wq6\0\f\v@ \0 (F@  6\f\v  6\v E\r\v  6 \0("@  6  6\v \0("E\r\0  6  6\v@@@@ ("AqE@AÌþ\0(\0 F@AÌþ\0 \x006\0AÀþ\0AÀþ\0(\0 j"6\0 \0 Ar6 \0AÈþ\0(\0G\rA¼þ\0A\x006\0AÈþ\0A\x006\0\vAÈþ\0(\0"\b F@AÈþ\0 \x006\0A¼þ\0A¼þ\0(\0 j"6\0 \0 Ar6 \0 j 6\0\v Axq j! (\f! AÿM@ (\b" F@A´þ\0A´þ\0(\0A~ Avwq6\0\f\v  6\f  6\b\f\v (!  G@ (\b" 6\f  6\b\f\v (" Aj ("E\r Aj\v!@ ! "Aj! ("\r\0 Aj! ("\r\0\v A\x006\0\f\v  A~q6 \0 Ar6 \0 j 6\0\f\vA\0!\v E\r\0@ ("At"(ä€ F@ Aä€j 6\0 \rA¸þ\0A¸þ\0(\0A~ wq6\0\f\v@  (F@  6\f\v  6\v E\r\v  6 ("@  6  6\v ("E\r\0  6  6\v \0 Ar6 \0 j 6\0 \0 \bG\r\0A¼þ\0 6\0\v AÿM@ AøqAÜþ\0j!A´þ\0(\0"A Avt"qE@A´þ\0  r6\0 \f\v (\b\v!  \x006\b  \x006\f \0 6\f \0 6\b\vA! AÿÿÿM@ A& A\bvg"kvAq AtrA>s!\v \0 6 \0B\x007 AtAä€j!@@A¸þ\0(\0"A t"qE@A¸þ\0  r6\0  \x006\0 \0 6\f\v A AvkA\0 AGt! (\0!@ "(Axq F\r Av! At!  Aqj"("\r\0\v  \x006 \0 6\v \0 \x006\f \0 \x006\b\v (\b" \x006\f  \x006\b \0A\x006 \0 6\f \0 6\b\v\v?~@ \0­"§"  \0ArA€€I"\b"\0E\r\0 \0Ak-\0\0AqE\r\0 \0A\0 -\v \0\vð~@ E\r\0 \0 :\0\0 \0 j"Ak :\0\0 AI\r\0 \0 :\0 \0 :\0 Ak :\0\0 Ak :\0\0 AI\r\0 \0 :\0 Ak :\0\0 A\tI\r\0 \0A\0 \0kAq"j" AÿqA‚„\bl"\x006\0   kA|q"j"Ak \x006\0 A\tI\r\0  \x006\b  \x006 A\bk \x006\0 A\fk \x006\0 AI\r\0  \x006  \x006  \x006  \x006\f Ak \x006\0 Ak \x006\0 Ak \x006\0 Ak \x006\0  AqAr"k"A I\r\0 \0­B€€€~!  j!@  7  7  7\b  7\0 A j! A k"AK\r\0\v\v\v·| \0At"AÀˆj! Aàˆj+\0"D\0\0\0\0\0\0\0\0b@  +\0"¥" ¡ü ü€B|º ¢  " ¡!\v  9\0 \0 \0@A¨ˆ(\0AAA \0AF \0AF"\0Ak"vAq@A°ˆA°ˆ(\0A tr6\0\f\v \0At( w"@ \0 \0\v\v\v\r\0 \0A€j\0\v\0\0\v\0\0\và#\0A k"$\0  \0("6 \0(!  6  6AA  F"! Aj"A\br  !   k"6  j!@@@@ \0(<   A\fj"A°þ\0 6\0AA\0\vE@  (\f"F\r A\0N\r\f\v AG\r\v \0 \0(,"6 \0 6 \0  \0(0j6 \f\v A\bA\0  ("\bK"\tj"  \bA\0 \tk"\b (\0j6\0 A\fA \tj" (\0 \bk6\0  k!  \tk! !\f\v\v \0A\x006 \0B\x007 \0 \0(\0A r6\0A\0 AF\r\0  (k\v A j$\0\v\0\v\v\0 @ \v\v²@ A\0L\r\0@ \0 j",\0\0"Aÿq!A A\0N\r\0 A¿M@ Aj" N\r \0 j-\0\0 A\btA€þ\0qr!A\f\v A_M@ Aj" N\r \0 j-\0\0 AtA€€ü\0q -\0A\btrr!A\f\v AoM@ Aj" N\r \0 j-\0\0 AtA€€€ø\0q -\0Atr -\0A\btrr!A\f\v Aj" N\r \0 j-\0\0Aq -\0At Atr -\0A\ftr -\0Atrr!A\v  Atj 6\0 Aj! j" H\r\0\v\v \v\0 \vÁe+#\0A@j"\v$\0@ E@ A\x006\0A\b!\f\v \vB\x0070 \vB\x007( \vB\x007 \vB\x007 \vB\x007 \vB\x007\b \vB\x007\0 \0-\0\0!@@ AF\r\0A!\f AG\r\0 \0-\0A‹F\r\vAAq AqA\bF!\f\v \vA\b6$ \vA\t6 A\0AAÐ7"E\r\0 A\bjA\0AÈ7ü\v\0 \v 6 A´þ\x006  \v6\0@@@A\0 \fk \fAq \fA\0H""AK\r\0A tA€ÔqE\r\0 A\x0064 B\x007,  6( A\0 \fAvAj "6\f A\x006 \vA\x006, \vA\x006\b \vB\x007 \fA\0N@ \v Aq60\v B\x007< A\x006$ A€€6 B€€€€p7 B´þ\x007 B€€€p7Ä7  A´\nj"6p  6T  6PA€ At" A€ M"\b"E@A\0! \f\v \v 6\f \v 6 \v \x006\0 !@ \v 6@ \v( E\r \v($E\r \v("E\r (\0 \vG\r ("\0A´þ\0kAK\r \v(\f"\fE\r \v(\0"A E\r \0A¿þ\0F@ AÀþ\x006AÀþ\0!\0\v AÜ\0j!$ Aò\0j!% Aôj! AØ\0j! Að\0j! A´\nj! Aô\0j! (@! (<!\bA\0! ! !@A}!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \0A´þ\0k\t\b\f\0:<*+02 &>E\v (!\0\f8\v (!\n\f9\v (L!\r\f.\v (L!\r\f+\v (l!\f$\v (\f!\0\f\v AO\r E\r6 A\bj!\0 Aj! Ak!\t -\0\0 t \bj!\b AM\r ! \t! \0!\f\v A O\r E\r5 Aj!\0 Ak! -\0\0 t \bj!\b AM\r\r \0! !\f\v AO\r E\r4 A\bj!\0 Aj! Ak!\t -\0\0 t \bj!\b AM\r ! \t! \0!\f\v (\f"\nE\r@ AO\r\0 E\r4 A\bj!\0 Aj! Ak!\t -\0\0 t \bj!\b AK@ ! \t! \0!\f\v \tE@ !A\0! \0! !\f6\v Ar! Ak! -\0 \0t \bj!\b Aj!\v@ \nAqE\r\0 \bAŸ–G\r\0 ((E@ A6(\vA\0!\b A\x006 \vAŸ–;<A\0 \vA<jA\n!\0 Aµþ\x006  \x006A\0! (!\0\f8\v ($"\0@ \0A60\v@ \nAq@ \bA\btA€þq \bA\bvjApE\r\v \vAù\f6 AÑþ\x006 (!\0\f8\v \bAqA\bG@ \vAÇ6 AÑþ\x006 (!\0\f8\v \bAv"\0Aq"\tA\bj! \tAM (("\n \n  6( \v OqE@ Ak! \vAî\r6 AÑþ\x006 \0!\b (!\0\f8\v A6A\0! A\x006 A€ \tt6 \vA60 A½þ\0A¿þ\0 \bA€À\0q6A\0!\b (!\0\f7\v \tE@ !A\0! \0! !\f4\v Ar! Ak! -\0 \0t \bj!\b Aj!\v  \b6 \bAÿqA\bG@ \vAÇ6 AÑþ\x006 (!\0\f6\v \bA€Àq@ \vA¼\v6 AÑþ\x006 (!\0\f6\v ($"\0@ \0 \bA\bvAq6\0\v@ \bA€qE\r\0 -\0\fAqE\r\0 \vA\b:\0< \v \bA\bv:\0=  ( \vA<jA\n6\v A¶þ\x006A\0!A\0!\b\f\v AK\r\v E\r/ Aj!\0 Ak! -\0\0 t \bj!\b AK@ \0! !\f\v A\bj!\t E@ \0!A\0! \t! !\f1\v Aj!\0 Ak! -\0 \tt \bj!\b AK@ \0! !\f\v Aj!\t E@ \0!A\0! \t! !\f1\v Aj!\0 Ak! -\0 \tt \bj!\b AK@ \0! !\f\v Aj! E@ \0!\f0\v Ak! -\0 t \bj!\b Aj!\v ($"\0@ \0 \b6\v@ -\0AqE\r\0 -\0\fAqE\r\0 \v \b6<  ( \vA<jA\n6\v A·þ\x006A\0!A\0!\b\f\v AK\r\v E\r, Aj!\0 Ak! -\0\0 t \bj!\b AK@ \0! !\f\v A\bj! E@ \0!\f-\v Ak! -\0 t \bj!\b Aj!\v ($"\0@ \0 \bA\bv6\f \0 \bAÿq6\b\v@ ("\0A€qE\r\0 -\0\fAqE\r\0 \v \b;<  ( \vA<jA\n6\v A¸þ\x006A\0!A\0!A\0!\b \0A€\bq\r\f%\v ("\0A€\bqE@ !\f%\v \b! AK\r\v E@A\0! !\b !\f+\v Aj!\t Ak!\n -\0\0 t j!\b AK@ \t! \n!\f\v A\bj! \nE@ \t!\f*\v Ak! -\0 t \bj!\b Aj!\v  \b6D ($"@  \b6\vA\0!@ \0A€qE\r\0 -\0\fAqE\r\0 \v \b;<  ( \vA<jA\n6\vA\0!\b\f#\v A\bj!\t E@ \0!A\0! \t! !\f)\v Aj!\0 Ak! -\0 \tt \bj!\b AK@ \0! !\f\v Aj!\t E@ \0!A\0! \t! !\f)\v Aj!\0 Ak! -\0 \tt \bj!\b AK@ \0! !\f\v Aj! E@ \0!\f(\v Ak! -\0 t \bj!\b Aj!\v  \b \bAxsA€þƒxqA\bv \bA\bxs"\x006 \v \x0060 A¾þ\x006A\0!\bA\0!\v (E@ \v 6 \v \f6\f \v 6 \v 6\0  6@  \b6<\f.\v A6 \vA60 A¿þ\x006\v@ (\bE@  AK\r \r\f\'\v AÎþ\x006 \b Aqv!\b Axq! (!\0\f*\v Ak! -\0\0 t \bj!\b Aj! A\br\v  \bAq6\bAÁþ\0!\0@@@@ \bAvAqAk\0\v A æ\x006P B‰€€€Ð\x007X A ö\x006TAÇþ\0!\0\f\vAÄþ\0!\0\f\v \vA‚6AÑþ\0!\0\v  \x006Ak! \bAv!\b (!\0\f(\v Axq!\0 \b Aqv!\b AK@ ! \0\f\v E@A\0! \0! !\f&\v \0A\bj!\t Aj! Ak!\n -\0\0 \0t \bj!\b AK@ \n! \t\f\v \nE@ !A\0! \t! !\f&\v \0Aj!\n Aj! Ak!\r -\0 \tt \bj!\b AK@ \r! \n\f\v \rE@ !A\0! \n! !\f&\v \0Aj!\0 Aj! Ak!\t -\0 \nt \bj!\b AK@ \t! \0\f\v \tE@ !A\0! \0! !\f&\v Aj! Ak! -\0 \0t \bj!\bA \v! \bAÿÿq"\0 \bAsAvG@ \vA©\f6 AÑþ\x006 ! (!\0\f(\v  \x006DA\0!\b !A\0!\v AÃþ\x006\v (D"\0@ \0  \0 I"\0  \0 I"\0E@ !\f$\v \0@ \f  \0ü\n\0\0\v  (D \0k6D \0 \fj!\f  \0k! \0 j!  \0k! (!\0\f&\v A¿þ\x006 (!\0\f%\v \tE@ !A\0! \0! !\f"\v Ar! Ak! -\0 \0t \bj!\b Aj!\v  \bAq"\0Aj6d  \bAvAq"Aj6h  \bA\nvAqAj"\t6` Ak! \bAv!\b AI \0AMqE@ \vA…\f6 AÑþ\x006 (!\0\f$\v AÅþ\x006A\0!\0 A\x006l\f\t\v (l"\0 (`"\tI\r\b\f\t\v E\r \f (D:\0\0 AÈþ\x006 Ak! \fAj!\f (!\0\f!\v (\f"\0E@A\0!\0\f\v@ AK@ !\f\v E\r A\bj!\t Aj! Ak!\n -\0\0 t \bj!\b AK@ \n! \t!\f\v \nE@ !A\0! \t! !\f\v Aj!\n Aj! Ak!\r -\0 \tt \bj!\b AK@ \r! \n!\f\v \rE@ !A\0! \n! !\f\v Aj!\t Aj! Ak!\r -\0 \nt \bj!\b AK@ \r! \t!\f\v \rE@ !A\0! \t! !\f\v A r! Aj! Ak! -\0 \tt \bj!\b\v \v  k" \v(j6  ( j6 @ \0Aq"\tE\r\0  F\r\0 \f k!\t (!\n  (@ \n \t \n\f\v \n \t "\v"6 \v 60\f\v \t\r\f\v AÀþ\x006\f\v ( \b \b \bAxsA€þƒxqA\bv \bA\bxs (F\r\0 \vA§\r6 AÑþ\x006 ! ! (!\0\f\vA\0!\b !A\0! !\v AÏþ\x006\v@ \0E\r\0 (E\r\0@ AK@ !\f\v E\r A\bj!\t Aj! Ak!\n -\0\0 t \bj!\b AK@ \n! \t!\f\v \nE@ !A\0! \t! !\f\v Aj!\n Aj! Ak!\r -\0 \tt \bj!\b AK@ \r! \n!\f\v \rE@ !A\0! \n! !\f\v Aj!\t Aj! Ak!\r -\0 \nt \bj!\b AK@ \r! \t!\f\v \rE@ !A\0! \t! !\f\v A r! Aj! Ak! -\0 \tt \bj!\b\v@ \0AqE\r\0 \b ( F\r\0 \vA\r6 AÑþ\x006 ! (!\0\f\v !A\0!\bA\0!\v AÐþ\x006\vA!\f\v@ AM@ E\r Ak! -\0\0 t \bj!\b Aj! A\br!\v  \0Aj"6l  \0At/ð;Atj \bAq;\0 Ak! \bAv!\b "\0 \tG\r\0\v \t!\0\v \0AM@ \0!A\0!\n \0Aq"AG@@  At/ð;AtjA\0;\0 Aj!  \nAj"\nsAG\r\0\v\v@ \0AK\r\0A k"AqE@  At"\0Að;j/\0AtjA\0;\0  \0Aò;j/\0AtjA\0;\0  \0Aô;j/\0AtjA\0;\0  \0Aö;j/\0AtjA\0;\0 AI\r Aj!\v@  At"\0Að;j/\0AtjA\0;\0  \0Aò;j/\0AtjA\0;\0  \0Aô;j/\0AtjA\0;\0  \0Aö;j/\0AtjA\0;\0  \0Aø;j/\0AtjA\0;\0  \0Aú;j/\0AtjA\0;\0  \0Aü;j/\0AtjA\0;\0  \0Aþ;j/\0AtjA\0;\0 A\bj"AG\r\0\v\v A6l\v  6T  6p A6X  6PA\0!A\0 A   "@ \vA£\v6 AÑþ\x006 (!\0\f\v AÆþ\x006 A\x006lA\0!\v (d" (hj" K@A (XtAs! (P!@  \b q"\rAtj-\0"\t K@A\0!\r !\n !\t@ "\0 @@ \0-\0\0!\r \0Aj!\0 \nAk!\n \tA\bj"  \r \tt \bj"\b q"\rAtj-\0"\tO\r !\t \n\r\0\v !\r\v \rj!  \rAtj!\f\v \n! ! \0!\v@  \rAtj/"\nAM@  Aj"\x006l  Atj \n;\0  \tk! \b \tv!\b \0!\f\v@@@ \nAk\0\v \tAj"\0 K@@ E\r Ak! -\0\0 t \bj!\b Aj! A\bj" \0I\r\0\v\v  \tk! \b \tv!\0 E@ \vAë\v6 AÑþ\x006 \0!\b (!\0\f\v Ak! \0Av!\b \0AqAj!\r % Atj/\0\f\v \tAj"\0 K@@ E\r Ak! -\0\0 t \bj!\b Aj! A\bj" \0I\r\0\v\v \b \tv"\0Av!\b \0AqAj!\r  \tkAk\f\v \tAj"\0 K@@ E\r Ak! -\0\0 t \bj!\b Aj! A\bj" \0I\r\0\v\v \b \tv"\0Av!\b \0Aÿ\0qA\vj!\r  \tkAk\v!A\0\v!\0  \rj K\rA\0!\n \rAq"\t@  Atj \0;\0 Aj! \nAj"\n \tG\r\0\v \rAüq \r\v!\t@ \rAI\r\0A\0!\r \tAk"AvAjAq"@@  Atj"\n \0;\0 \n \0; \n \0; \n \0; Aj! \tAk!\t \rAj"\r G\r\0\v\v A\fI\r\0@  Atj"\n \0;\0 \n \0; \n \0; \n \0; \n \0; \n \0; \n \0; \n \0; \n \0; \n \0; \n \0;\f \n \0;\n \n \0;\b \n \0; \n \0; \n \0; Aj! \tAk"\t\r\0\v\v  6l\v  I\r\0\v\v /ôE@ \vAÔ\f6 AÑþ\x006 (!\0\f\v A\t6X  6P  6pA     "@ \vA‡\v6 AÑþ\x006 (!\0\f\v A6\\  (p6TA  (dAtj (h  $ "\rA\0!\v AÈþ\x006\v AI\r A‚I\r \v 6 \v 6\0 \v 6 \v \f6\f  6@  \b6< \f j"Ak! \f  kj!&  jAk! \v("(4"Axq!\' Aq!!  j!(  (,")j!*A (\\tAs!+A (XtAs!, (T!" (P!# (@!\b (<!\0 (8!\r (0!-@ \bAM@ -\0\0 \bt \0j -\0 \bA\bjtj!\0 \bAr!\b Aj!\v \b # \0 ,qAtj"-\0"k!\b \0 v!\0@@@@@@@@@@@@  \v@@ -\0\0"E@ \f -\0:\0\0 \fAj!\f\f\v Aq@ /!\t Aq"E@ ! \0\f\v  \bM@ ! \b\f\v Aj! -\0\0 \bt \0j!\0 \bA\bj\v k!\b \0A tAsq \tj!\t \0 v\v! \bAM@ -\0\0 \bt j -\0 \bA\bjtj! \bAr!\b Aj!\v \b "  +qAtj"-\0"\0k!\b  \0v!\0 -\0\0"Aq\r@ AÀ\0qE@ \b " /Atj \0A tAsqAtj"-\0"k!\b \0 v!\0 -\0\0"AqE\r\f\v\v !A±\f\v AÀ\0qE@ \b # /Atj \0A tAsqAtj"-\0"k!\b \0 v!\0\f\v\vA¿þ\0 A q\rA•\f\v /! Aq" \bM@ \b! \f\v -\0\0 \bt \0j!\0 Aj  \bA\bj"M\r\0 -\0 t \0j!\0 \bAj! Aj\v! \0A tAsq!  k!\b \0 v!\0  j" \f &k"M\r  k"\n -M\r (Ä7E\rA¼\r\v6AÑþ\0\v6\f\v\v E@ \r ) \nkj! \t \nM@ \f!\f\n\vA\0! \nAq"E\r \f! \n!@  -\0\0:\0\0 Ak! Aj! Aj! Aj" G\r\0\v\f\v \n K@ \r * \nkj! \n k"\n \tO@ \f!\f\n\vA\0! \nAq"E\r \f! \n!@  -\0\0:\0\0 Ak! Aj! Aj! Aj" G\r\0\v\f\v \r  \nkj! \t \nM@ \f!\f\t\vA\0! \nAq"E\r \f! \n!@  -\0\0:\0\0 Ak! Aj! Aj! Aj" G\r\0\v\f\v \f k!@ \f" "-\0\0:\0\0  -\0:\0  -\0:\0 Aj!\f Aj! \tAk"\tAK\r\0\v \tE\r\b  -\0\0:\0 \tAG@ Aj!\f\f\t\v  -\0:\0 Aj!\f\f\b\v \f! \n!\f\v \f! \n!\f\v \f! \n!\v   j jk \fjAxK\r@  -\0\0:\0\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0 A\bj! A\bj! A\bk"\r\0\v\f\v (  j jk \fjAxM@@  -\0\0:\0\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0 A\bj! A\bj! A\bk"\r\0\v\v  \t \nk"\tO@ \r!\f\vA\0! !@ \r!\f@  \f-\0\0:\0\0 Aj! \fAj!\f Aj" !G\r\0\v \'\f\v \r!\f \v! A\bO@@  \f-\0\0:\0\0  \f-\0:\0  \f-\0:\0  \f-\0:\0  \f-\0:\0  \f-\0:\0  \f-\0:\0  \f-\0:\0 A\bj! \fA\bj!\f A\bk"\r\0\v\v  k! \t k!\t\f\v   j jk \fjAxK\r\0@  -\0\0:\0\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0 A\bj! A\bj! A\bk"\r\0\v\v  k! \t \nk!\t\v@ \tAI\r\0A\0!\f \tAk"\nAnAjAq"@@  -\0\0:\0\0  -\0:\0  -\0:\0 Aj! Aj! \fAj"\f G\r\0\v A}l \tj!\t\v \nA\tI\r\0@  -\0\0:\0\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0:\0  -\0\b:\0\b  -\0\t:\0\t  -\0\n:\0\n  -\0\v:\0\v A\fj! A\fj! \tA\fk"\tAK\r\0\v\v \tE@ !\f\f\v  -\0\0:\0\0 \tAG@ Aj!\f\f\v  -\0:\0 Aj!\f\v  O\r\0 \f I\r\v\v \v  \bAvk"6\0 \v \f6\f \v  \fkAj"6 \v kAj"6  \bAq"6@  \0A tAsq6< (@! (<!\b (A¿þ\0G\r\t A6È7 (!\0\f\v \vAÕ\v6 AÑþ\x006 (!\0\f\v \vAë\v6 AÑþ\x006 (!\0\f\v A\x006È7@ (P" \bA (XtAs"qAtj"\r-\0"\n M@ !\0 ! !\t\f\vA\0!\t ! !\n "\0 @@ \0-\0\0! \0Aj!\0 Ak! \nA\bj"\t   \nt \bj"\b qAtj"\r-\0"\nO\r \t!\n \r\0\v !\t\v \tj!  \tAtj!\f\v \n! \r/!@ \r-\0\0"\rAkAÿqAK@A\0! \0! !\f\v@ \t   Atj" \bA  \rjtAs"q vAtj"-\0"\njO@ \0! !\f\vA\0!\n \0! \t!\r@ "@@ -\0\0!\n Aj! Ak! \rA\bj"   \n \rt \bj"\b q vAtj"-\0"\njO\r !\r \r\0\v !\n\v \0 \nj! \t \nAtj!\f\v !\t\v \t k!\t \b v!\b -\0\0!\r /!\v  Aÿÿq6D   \nj6È7 \t \nk! \b \nv!\b \rAÿq"\0E@ AÍþ\x006 (!\0\f\v \0A q@ A¿þ\x006 A6È7 (!\0\f\v \0AÀ\0q@ \vA•6 AÑþ\x006 (!\0\f\v AÉþ\x006  \0Aq"\r6L\v@ \rE@ (D!\0\f\v  \rI@A\0!\t !\n ! !\0@ @@ \nAj!\t Ak! \n-\0\0 \0t \bj!\b \0A\bj"\0 \rO\r \t!\n \r\0\v !\t\v  \tj!  \tAtj!\f\v ! \0! \t!\v  (È7 \rj6È7  (D \bA \rtAsqj"\x006D  \rk! \b \rv!\b\v AÊþ\x006  \x006Ì7\v@ (T" \bA (\\tAs"qAtj"\r-\0"\n M@ ! !\0 !\t\f\vA\0!\t !\n " "\0@@ -\0\0! Aj! \0Ak!\0 \nA\bj"\t   \nt \bj"\b qAtj"\r-\0"\nO\r \t!\n \0\r\0\v !\t\v \tj!  \tAtj!\f\r\v \r/!  \r-\0\0"AO@ \n! (È7\f\v \t \n  Atj" \bA  \njtAs"q \nvAtj"-\0"jI@A\0! ! \t!\r \0"E@A\0!\0\f\b\v@@ -\0\0! Aj! Ak! \rA\bj" \n   \rt \bj"\b q \nvAtj"-\0"jO\r\0 !\r \r\f\t\v\v ! !\t !\0\v \t \nk!\t \b \nv!\b -\0\0! /! (È7 \nj\v j6È7 \t k! \b v!\b AÀ\0q@ \vA±6 AÑþ\x006 ! \0! (!\0\f\v AËþ\x006  Aq"\r6L  Aÿÿq6H ! \0!\v \r@  \rI@A\0!\t !\n ! !\0@ @@ \nAj!\t Ak! \n-\0\0 \0t \bj!\b \0A\bj"\0 \rO\r \t!\n \r\0\v !\t\v  \tj!  \tAtj!\f\v ! \0! \t!\v  (È7 \rj6È7  (H \bA \rtAsqj6H \b \rv!\b  \rk!\v AÌþ\x006\v \r\vA\0! !\f\n\v (H"\0  k"K@@ \0 k" (0M\r\0 (Ä7E\r\0 \vA¼\r6 AÑþ\x006 (!\0\f\v (4"\0 I@ (8 (,  \0k"kj\f\v (8 \0 kj\v!\0  (D"\n  \nI\f\v \f \0k!\0 (D"\n\v!  \n    I"\tk6D \tAkA\0! \tAq"\r@ \f \0-\0\0:\0\0 \fAj!\f \0Aj!\0 Aj" \rG\r\0\v \tAxq \t\v!AO@@ \f \0-\0\0:\0\0 \f \0-\0:\0 \f \0-\0:\0 \f \0-\0:\0 \f \0-\0:\0 \f \0-\0:\0 \f \0-\0:\0 \f \0-\0:\0 \fA\bj!\f \0A\bj!\0 A\bk"\r\0\v\v  \tk! (D\r\0 AÈþ\x006 (!\0\f\f\v (!\0\f\v\v \0 j! \t \0Atj! !\f\v ($"@ A\x006\v !\v A¹þ\x006\v@ \0A€\bqE\r\0 (D"   K"\t@@ ($"\nE\r\0 \n("E\r\0 \n("\r \n( k"M\r\0 \r k \t  \tj \rK"\0@  j  \0ü\n\0\0\v (!\0\v@ \0A€qE\r\0 -\0\fAqE\r\0  (  \t\n6\v  (D \tk"6D  \tk!  \tj!\v E\r\0 !\f\v Aºþ\x006 A\x006D\v@ ("\nA€q@A\0!\0 E\r@ \0 j-\0\0!@ ($"\tE\r\0 \t("\rE\r\0 (D"\n \t( O\r\0  \nAj6D \n \rj :\0\0\v A\0  \0Aj"\0K\r\0\v@ ("\nA€qE\r\0 -\0\fAqE\r\0  (  \0\n6\v \0 j!  \0k! E\r !\f\v ($"\0E\r\0 \0A\x006\v A»þ\x006 A\x006D\v@ \nA€ q@A\0!\0 E\r@ \0 j-\0\0!@ ($"\tE\r\0 \t($"\rE\r\0 (D"\n \t((O\r\0  \nAj6D \n \rj :\0\0\v A\0  \0Aj"\0K\r\0\v@ -\0AqE\r\0 -\0\fAqE\r\0  (  \0\n6\v \0 j!  \0k! E\r !\f\v ($"\0E\r\0 \0A\x006$\v A¼þ\x006\v ("\nA€qE\r@ AK@ !\0\f\v E\r A\bj! Aj!\0 Ak!\t -\0\0 t \bj!\b AK@ \t! !\f\v \tE@ \0!A\0! ! !\f\v Ar! Aj!\0 Ak! -\0 t \bj!\b\v -\0\fAqE\r \b /F\r \vAÚ\r6 AÑþ\x006 \0! (!\0\f\vA\0! !\v \v 6 \v \f6\f \v 6 \v 6\0  6@  \b6<@@@@ (,E@  F\r (AÐþ\0K\r\v \v("\0(8"\bE@ \0 \v((A \0((tA \v( \0"\b68 \bE\r\v \0(,"E@ \0B\x0070 \0A \0((t"6,\v@  k" O@ @ \b \f k ü\n\0\0\v \0A\x0064 \0 \0(,60\f\v  \0(4"k"   I"@ \b j \f k ü\n\0\0\v  I@  k"@ \0(8 \f k ü\n\0\0\v \0 64 \0 \0(,60\f\v \0 \0(4 j"A\0  \0(,"G64 \0(0" O\r\0 \0  j60\v \v(! \v(!\v \v \v(\b  kj6\b \v  k" \v(j"\x006  ( j6 @ -\0\fAqE\r\0  F\r\0 \v(\f k! (!  (@   \n\f\v   "\v"6 \v 60\v \v (@AÀ\0A\0 (\bjA€A\0 ("A¿þ\0FjA€A€A\0 AÂþ\0F AÇþ\0Fj6,@  G\r\0  G\r\0 E\r\v Aj\t\t\t\t\t\v AÒþ\x006\f\b\v ! \r  At""\0E@ \v( E\r\t \v($"E\r\t \v("\0E\r\t \0(\0 \vG\r\t \0(A´þ\0kAK\r\t \0(8"@ \v((  \0\0 \v($! \v(!\0\v \v(( \0 \0\0 \vA\x006\f\t\v \v \0 j6\f ! ! \0!\f\v@ \v( E\r\0 \v($"\fE\r\0 \v("E\r\0 (\0 \vG\r\0 (A´þ\0kAK\r\0 \v((!\0 (8" \0  \f\0\0 \v(! \v($!\f \v(( \0\v  \f\0\0 \v(!\0\v  \x006\0\f\b\v \0!A\0!\bA\0!\v ($"\0@ \0A60 \0 \nA\tvAq6,\v A\x006 \vA\x0060 A¿þ\x006 (!\0\f\0\v\0\v\0\v\0\v \f\v \v( E\r\0 \v($"\fE\r\0 \v("E\r\0 (\0 \vG\r\0 (A´þ\0kAK\r\0 \v((!\0 (8" \0  \f\0\0 \v(! \v($!\f \v(( \0\v  \f\0\0\v A\0!\v \vA@k$\0 \vi#\0Ak"$\0@ E@ A\x006\0A\b!\f\v \b"E@A\0!\f\v  6\f  A\fj \0 )@ A\0!\f\v  (\f6\0\v Aj$\0 \vä!~#\0Ak"$\0@ A\tI\r\0 \0-\0At"A\0H\r\0 \0/\0\0 \0-\0Atr r"Aþ÷ÿÿJ\r\0 \0(\0"\fA\0L\r\0 \fA­âO@AèA2\f\v \0-\0\b! \fAj"A\fl"A˜ˆj\v"\bE\r\0 \bB\x007 \b 6”ˆ \bA\x006„ \bA\x006€ \b \bA˜ˆj"6\0 \bA\fjA\0A„ü\v\0 @ A\0 ü\v\0\v \bA\x006œˆ \bA6ˆA\t!@@ A\tG@ \0 j!\n \fAk! \bAj!A!@ Aj!\t \0 j"\r-\0\0"À!@@@ AÀ\0q@ Aj" K\r \0 \tj-\0\0!\t \r-\0! A\0N@ Aq!\f\v Aþ\0J\r \b Aj6ˆ  Aj"A€lj"\rA\0A€ü\v\0 Aq"E@A\0! !\f\v AH\r \r \f\b"6\0 E\r \r \f6 \rA\x006\b  :\0\0 @ \r(\0AjA\n ü\v\0\v !\f\v@ A\0N@ Aq!\v !\r\f\v Aþ\0J\r \b Aj6ˆ  Aj"\rA€lj"A\0A€ü\v\0 Aq"\vE@A\0!\v\f\v AH\r  \f\b"6\0 E\r  \f6 A\x006\b  \v:\0\0 E\r\0 (\0AjA\n ü\v\0\v \0 \tj!@ @  \tk"AN@ ,\0\0A\0N@ Aj!\f\v ,\0A\0N@ Aj!\f\v ,\0A\0N@ Aj!\f\v ,\0A\0N@ Aj!\f\v AA ,\0A\0Hj!\f\v  \tF@A\0!\f\vA ",\0\0A\0N\r@ Aj! ,\0\0A\0N\r \n "K\r\0\v\v  kAj\v"j!  kAN@ ,\0\0"Aÿ\0q! A\0N\r ,\0"Aÿ\0q Atr! A\0N\r ,\0"Aÿ\0q Atr! A\0N\r ,\0"Aÿ\0q Atr! A\0N\r ,\0"Aÿ\0q Atr! A\0N\r -\0Aÿ\0q Atr!\f\v  N@A\0!\f\vA\0! ,\0\0"A\0N\r\0@ ,\0\0"Aÿ\0q Atr! A\0N@ !\f\v ! Aj" \nI\r\0\v\v AþÿÿÿK\r \rA\0H\r \rAt"A\0H\r  \vr"AÿJ\r  Alj"A\x006\b (\0"@ \v  \b"\v6\0 \vE\r ­!  6 ~@@@@@ AL@ E\r  6\bA\0!A\0  \tF\r ! ,\0\0"A\0H\r !A\f\v Aj! E@  6\f ,\0\0"Aÿ\0q! A\0N\r ,\0"Aÿ\0q Atr! A\0H\r Aj!\f\v  6\b ,\0\0"Aÿ\0q! A\0N\r ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\v@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  \nI\r\0\v\v  k\v" jA  j  k \v A\bj"! 5\b  \f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\v  6\fA\0!A\0  \tF\r ! ,\0\0"A\0N@ !A\f\v@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  \nI\r\0\v\v  k\v" jA  j  k \v A\fj"! 5\f  \v"> A\0H\r  R\r  \tj! \r!\f\v A\0H\r\v \tAt j" At r"N\r  Alj"\r(\0E\r  Alj"A\x006\b  \r("6 (\0"\t@ \t (!\v  \b"6\0 E\r E\r\0  \r(\0 ü\n\0\0\v  K\r\0\v\v A€\bj"\f\b"E\r\0A\0!\r@@@ \b("\0 \b(I@ \bAj! \bA@k! !@ \b \0Aj6 \b( \0j-\0\0!\0 \b \b("\tAj6 \t \b(”ˆN\r \b(ˆAt \0L\r  \0Alj"(\b"Aj" (K\r (\0 j(\0\0!  6\b  \tK\r \t k"A\0 A\0J!@ \0AF@ \t F\r A\fl" \b(\0j(\0"\0Aj \fO\r@@ \0 "sAq@ \0-\0\0!\f\v \0Aq@@  \0-\0\0":\0\0 E\r Aj! \0Aj"\0Aq\r\0\v\vA€‚„\b \0(\0"k rA€‚„xqA€‚„xG\r\0@  6\0 Aj! \0"Aj!\0A€‚„\b ("k rA€‚„xqA€‚„xF\r\0\v\v  :\0\0 AÿqE\r\0@  \0-\0":\0 Aj! \0Aj!\0 \r\0\v\v \b(\0" \tA\flj"\0 6\0 \0  j"("6 \0 A\flA€\f \b"6\b E\r \0(A\fl"\0@  (\b \0ü\n\0\0\v Aj!\0\f\vA\0! A\0:\0\0A€\f\b!\0 \b(\0" \tA\fl"\tj \x006\bA! \0E\r@  \b(ˆN\r@  A€l"\nj"\0(\b" \0(O@  \tjA\x006\f\v \0 Aj6\b \0(\0 j-\0\0!  \tj"\vA\x006@@@@@@@@@ Ak\v\0\t\t\t\t\v Aj"\0 \fN\r \n j"(\b" (O\r  Aj6\b  j" (\0 j-\0\0:\0\0 \b(\0" \tj(\b A\flj"A6\0  ,\0\x006 \0!\f\v  j!\v \f k!A!@ \b A€lj"(0"\n (,O\r\0A\0!\0@  \nAj60 \v \0"j (( \nj-\0\0"\0:\0\0 \0E\r Aj"\0 N\r (0"\n (,I\r\0\v\v "\0A\0H\r\r \b(\0" \tj(\b A\flj" 6\b A6\0  \x006 \0 j!\f\v \0(h" \0(dO\r\f \0 Aj6h \0(P"\nAj"\v \0(LK\r\f \0(` j-\0\0! \0(H \nj(\0\0!\n \0 \v6P  jAj \fO\r\f  j \n !\v \b(\0" \tj(\b A\flj"\0 6\b \0 \n6 \0A6\0  \vj!\f\v   A\fl"\nj"\v(N\r\v \0(à" \0(ÜO\r\v \0 Aj6à  A\fl" \v(\bj"\v(\b"jAj \fN\r\v  j \v( \0(Ø j-\0\0j"\v Aÿq! \b(\0" \tj(\b j"\0 \v6 \0A6\0 \0  \nj(\b j(\b6\b  j!\f\v \0(°"Aj"\n \0(¬K\r\n \0(¨ j(\0\0! \0 \n6° Aj \fN\r\n  j  \b(\0" \tj(\b A\flj"\n 6 \nA6\0 j!\f\v   A\flj"(N\r\t \0(È" \0(ÄO\r\t \0 Aj6È Aj \fN\r\t  j A\fl"\n (\bj( \0(À j-\0\0j"\0! \b(\0" \tj(\b \nj"\n \x006 \nA6\0  j!\f\v   A\fl"\nj"\v(N\r\b@@@@ A\fl" \v(\bj"(\0Ak\0\f\f\f\f\v Aj"\0 \fN\r\v  j (:\0\0 \b(\0" \tj(\b j"A6\0   \nj(\b j(6 \0!\f\v ("\0A\0H\r\n \0 j \fN\r\n \0@  j \v(\0 (\bj \0ü\n\0\0\v \b(\0" \tj(\b j"\0 6\b \0A6\0 \0  \nj(\b j("\x006 \0 j!\f\v Aj \fN\r\t  j ( \b(\0" \tj(\b j"\vA6\0 \v  \nj(\b j(6 j!\f\v (\b"\0 j \fN\r\b  j ( \0Aÿq!\v \b(\0" \tj(\b j"\0A6\0 \0  \nj(\b j"(6 \0 (\b6\b  \vj!\f\v \v(\b A\fljA\v6\0\v Aj"A€G\r\f\v\v Aj"\0 \fN\r  jA\0:\0\0 \b(\0 \tj"(\b" A\fl"jA\f6\0  6  6\0  A\fj! \b(\0 \tj! E@ (\b\r\f\v  6\b\v \0A\0L\r \f \0k!\f  \0 \rj"\rj! \b("\0 \b(I\r\0\v\v \b \b("\0Aj6 \0 \b(”ˆN\r\f\v \0E\r\v  \b  \r6\0\f\v \b  \r6\0\f\v \b\vA\0!\v Aj$\0 \v\f\0 \0 A\0 \vÃ)#\0A€k"$\0@ AI\r\0 AþÿÿÿK\r\0A€æÂ\0\v"E\r\0@@@@@A€€\v"E\r\0@ \0-\0\0"\nAðqAÀF@@ A€j"\t Atj  A³!lj6\0 Ar"At \tj  A³!lj6\0 Ar"At \tj  A³!lj6\0 Ar"At \tj  A³!lj6\0 Aj"A€G\r\0\f\v\0\v@ A€j"\t Atj  A³\tlj6\0 Ar"At \tj  A³\tlj6\0 Ar"At \tj  A³\tlj6\0 Ar"At \tj  A³\tlj6\0 Aj"A€G\r\0\v\v E@ \b"E@\f\v ! \0-\0\0!\n\v \0 j! \0Aj!@ \nAqE@ \f\v@@ AN@ \0,\0"Aÿ\0q! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0-\0Aÿ\0q Atr! \0Aj!\f\v ,\0\0"\0A\0N\r !@ ,\0\0"\0Aÿ\0q Atr! Aj! \0A\0N\r  I\r\0\v\v  k\f\v \0!A\v"\b j!@  \bAsj@@ \b kAyL@ ,\0\0"Aÿ\0q!\0 A\0N@ Aj!\f\v ,\0"Aÿ\0q \0Atr!\0 A\0N@ Aj!\f\v ,\0"Aÿ\0q \0Atr!\0 A\0N@ Aj!\f\v ,\0"Aÿ\0q \0Atr!\0 A\0N@ Aj!\f\v ,\0"Aÿ\0q \0Atr!\0 A\0N@ Aj!\f\v -\0Aÿ\0q \0Atr!\0 Aj!\f\vA\0!\0 \bAj N\r ,\0\0"\tA\0N\r !@ ,\0\0"\tAÿ\0q \0Atr!\0 Aj! \tA\0N\r  I\r\0\v\v  k\f\v \t!\0A\v"k \0I\r  j!\v  \0A\0 "E\r \0 j!\f  "j\v!\bA\0! A€\bjA\0A€\bü\v\0  \bF\r Aj! -\0\0!@ Aj \bO\r\0@ A€\bj AtjA6\0@ E@ Aj"\0 -\0\0"G@ Aj!A\0!\f\v -\0! Aj! \0!\f\v AþJ\r Aj! Ak!\v E\r Aj \bI\r\0\v\v@ E\r\0@ A€\bj AtjA6\0  \bO\r@ E@ Aj!\0A\0! Aj" -\0\0"\tG@ \0! \t!\f\v \0 \bO\r -\0! Aj!\f\v AþJ\r Aj! Ak!\v E\r  \bI\r\0\v\v  F\r  \bO\r \nAðqAv"A\nF AŸKq!A t!@ At" A€\bjj(\0@A\0!\v A\0A€\bü\v\0A\0!A\0!\0 !\n  \bO\r@ \0At"\r A€\bjj(\0@@  Ak@ \b \nkAN@ \n,\0\0"Aÿ\0q! A\0N@ \nAj!\f\v \n,\0"Aÿ\0q Atr! A\0N@ \nAj!\f\v \n,\0"Aÿ\0q Atr! A\0N@ \nAj!\f\v \n,\0"Aÿ\0q Atr! A\0N@ \nAj!\f\v \n,\0"Aÿ\0q Atr! A\0N@ \nAj!\f\v \n-\0Aÿ\0q Atr! \nAj!\f\vA\0! \n",\0\0"\tA\0N@ \t!A\f\v@ ,\0\0"\tAÿ\0q Atr! Aj! \tA\0N\r  \bI\r\0\v\v  \nk\v \nj!\tA\0! @ \t!\n\f\v \b \tM\r \tAj!\n \t-\0\0\v!A\0!\v \r j 6\0  \vj!\v\v \0AþM@ \0Aj!\0 \b \nK\r\v\v  \nF\r \v@ \v G@A\0!\0A\0! \v I@@ Aj! \vAt"\v I\r\0\v\v@  \0Atj" (\0 t6\0  ( t6  (\b t6\b  (\f t6\f  ( t6  ( t6  ( t6  ( t6 \0A\bj"\0A€G\r\0\v\v  A\ftj!  A\ntj! A€j j!A\0!\tA\0!\r@  \tAt"\0j(\0"@   \rkK\r@ @ Aq!\v At!\0  \rAtj!@ AM@ \0 \tr!\0A\0!\f\v \0 \tr!\0 A|q!A\0!@  Atj A\bt \0r6\0  Ar"Atj A\bt \0r6\0  Ar"Atj A\bt \0r6\0  Ar"Atj A\bt \0r6\0 Aj" G\r\0\v \vE\r\vA\0!@  Atj A\bt \0r6\0 Aj! Aj" \vG\r\0\v\f\v @ (\0 \rj \t ü\v\0\v \0 j"\0 \r; \0 ;\0\v  \rj!\r\v \tAj"\tA€G\r\0\v \r G\r\v \n!\v Aj"A€G\r\0\v A\0! \f  \f"Aj" K\r (\0\0"\0A€€I\r (\0"A€€I\r (\0\b"\bA€€I\r (\0\f"A€€I\r A\bk! Av"Al! At!\n A\fF@A\0!\v E@A\0!A\0!\f\vA\0!A\0! !\tA\0!\r@  \vA\ntj \0Aÿq" A€j" \vAtj(\0j-\0\0"\vAtj"\f/! \f/\0  \rj \v:\0\0  A\ntj Aÿq" At j(\0j-\0\0"Atj"/! /\0!  \tj :\0\0  A\ntj \bAÿq" At j(\0j-\0\0"Atj"/! /\0!  \nj :\0\0  A\ntj Aÿq" At j(\0j-\0\0"Atj"/! /\0!  j :\0\0 \0A\fvl j k!\0  A\fvl j k!  \bA\fvl j k!\b  A\fvl j k!@  I@ AA\0 \0A€€I"j"AA\0 A€€I"j"\f-\0A\bt \f-\0\0 \bAtrr \b \bA€€I"!\b \fAA\0 j"\f-\0A\bt \f-\0\0 Atrr  A€€I"! -\0\0 \0Atr -\0A\btr \0 !\0 -\0\0 Atr -\0A\btr  ! \fAA\0 j!\f\v@ \0AÿÿK\r\0 Aj O\r\0 -\0\0 \0Atr -\0A\btr!\0 Aj!\v@ AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v@ \bAÿÿK\r\0 Aj O\r\0 -\0\0 \bAtr -\0A\btr!\b Aj!\v AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v Aj! \nAj!\n \tAj!\t  \rAj"\rG\r\0\v\f\v@@ AŸM@A\0!\v \rA\0!A\0!\f\vA\0!\v \rA\0!\f\vA\0!A\0! !\tA\0!\r@  \vA\ntj \0Aÿq" A€j" \vAtj(\0j-\0\0"\vAtj"\f/! \f/\0  \rj \v:\0\0  A\ntj Aÿq" At j(\0j-\0\0"Atj"/! /\0!  \tj :\0\0  A\ntj \bAÿq" At j(\0j-\0\0"Atj"/! /\0!  \nj :\0\0  A\ntj Aÿq" At j(\0j-\0\0"Atj"/! /\0!  j :\0\0 \0A\nvl j k!\0  A\nvl j k!  \bA\nvl j k!\b  A\nvl j k!@  I@ AA\0 \0A€€I"j"AA\0 A€€I"j"\f-\0A\bt \f-\0\0 \bAtrr \b \bA€€I"!\b \fAA\0 j"\f-\0A\bt \f-\0\0 Atrr  A€€I"! -\0\0 \0Atr -\0A\btr \0 !\0 -\0\0 Atr -\0A\btr  ! \fAA\0 j!\f\v@ \0AÿÿK\r\0 Aj O\r\0 -\0\0 \0Atr -\0A\btr!\0 Aj!\v@ AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v@ \bAÿÿK\r\0 Aj O\r\0 -\0\0 \bAtr -\0A\btr!\b Aj!\v AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v Aj! \nAj!\n \tAj!\t  \rAj"\rG\r\0\v\f\vA\0!A\0! !\tA\0!\r@  A\ftj AÿqAtj(\0!  \rj  A\ftj \0AÿqAtj(\0":\0\0  \tj :\0\0  \vA\ftj AÿqAtj(\0!\v  \nj  A\ftj \bAÿqAtj(\0":\0\0  j \v:\0\0 Av A\nvl A\bvAÿqj! Av \0A\nvl A\bvAÿqj!\0 \vAv A\nvl \vA\bvAÿqj! Av \bA\nvl A\bvAÿqj!\b@  I@ AA\0 \0A€€I"j"AA\0 A€€I"j"\f-\0A\bt \f-\0\0 \bAtrr \b \bA€€I"!\b \fAA\0 j"\f-\0A\bt \f-\0\0 Atrr  A€€I"! -\0\0 \0Atr -\0A\btr \0 !\0 -\0\0 Atr -\0A\btr  ! \fAA\0 j!\f\v@ \0AÿÿK\r\0 Aj O\r\0 -\0\0 \0Atr -\0A\btr!\0 Aj!\v@ AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v@ \bAÿÿK\r\0 Aj O\r\0 -\0\0 \bAtr -\0A\btr!\b Aj!\v AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v Aÿq! Aÿq! \vAÿq!\v Aÿq! Aj! \nAj!\n \tAj!\t  \rAj"\rG\r\0\v\f\vA\0!\v \t \t  \f\v  M\r@  j  \vA\ftj AÿqAtj(\0"\0:\0\0@ \0Av A\nvl \0A\bvAÿqj"AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v \0Aÿq!\v  Aj"G\r\0\v\f\v  M\r@  j Aÿq"\n A€j "\0Atj(\0j-\0\0":\0\0@  \0A\ntj Atj"\0/\0 A\nvl \nj \0/k"AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v Aj" G\r\0\v\f\v  M\r\0@  j Aÿq"\n A€j "\0Atj(\0j-\0\0":\0\0@  \0A\ntj Atj"\0/\0 A\fvl \nj \0/k"AÿÿK\r\0 Aj O\r\0 -\0\0 Atr -\0A\btr! Aj!\v Aj" G\r\0\v\v \t \t !\v A€j$\0 \v/#|#\0Ak"$\0@ A€I\r\0 AþÿÿÿK\r\0A€æÒ\0\v"E\r\0@ \0-\0\0"\fAðqAÀF@@ A€j" Atj  A³!lj6\0 A€F\r Ar"At j  A³!lj6\0 Ar"At j  A³!lj6\0 Ar"At j  A³!lj6\0 Aj!\f\0\v\0\v@ A€j" Atj  A³\tlj6\0 A€F\r Ar"At j  A³\tlj6\0 Ar"At j  A³\tlj6\0 Ar"At j  A³\tlj6\0 Aj!\f\0\v\0\v (€\v!@@ E@ \b"E@\f\v \0-\0\0!\f !\v \0 j! \0Aj!\n \fAqE@ \f\v@@ AN@ \0,\0"Aÿ\0q! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0-\0Aÿ\0q Atr! \0Aj!\f\vA\0! \n,\0\0"\0A\0N\r \n!@ ,\0\0"\0Aÿ\0q Atr! Aj! \0A\0N\r  I\r\0\v\v  \nk\f\v \0!A\v" \nj!\b@  Asj@@  kAyL@ \b,\0\0"Aÿ\0q!\0 A\0N@ \bAj!\f\v \b,\0"Aÿ\0q \0Atr!\0 A\0N@ \bAj!\f\v \b,\0"Aÿ\0q \0Atr!\0 A\0N@ \bAj!\f\v \b,\0"Aÿ\0q \0Atr!\0 A\0N@ \bAj!\f\v \b,\0"Aÿ\0q \0Atr!\0 A\0N@ \bAj!\f\v \b-\0Aÿ\0q \0Atr!\0 \bAj!\f\vA\0!\0 Aj N\r \b,\0\0"\nA\0N\r \b!@ ,\0\0"\nAÿ\0q \0Atr!\0 Aj! \nA\0N\r  I\r\0\v\v  \bk\f\v \n!\0A\v"k \0I\r  \bj!\b\v \b \0A\0 "E\r \0 \bj! "\n j\v!\v \fAðqAv!A\0!\f AjA\0A€\bü\v\0@ \n \vF\r\0 \nAj!\0 \n-\0\0!A\0!@ \nAj \vO\r\0@ Aj AtjA6\0@@ E@ Aj" \0-\0\0"F\r \0Aj!\0A\0!\f\v AþL@ Aj! Ak!\f\v\f\v \0-\0! \0Aj!\0 !\v E\r \0Aj \vI\r\0\v\v@ E\r\0@ Aj AtjA6\0 \0 \vO\r@ E@ \0Aj!\bA\0! Aj" \0-\0\0"G@ \b!\0 !\f\v \b \vO@\f\v \0-\0! \0Aj!\0\f\v AþJ\r Aj! Ak!\v E\r \0 \vI\r\0\v\v \0 \nF\r\0 \0 \vO\r\0 @ A\0;\v A\x006\0A t! A\nk!@ At" Ajj(\0@A\0!\r A\vjA\0A€\bü\v\0A\0!A\0!\f \0!@@ \0 \vO\r\0@ \fAt" Ajj(\0@@  Ak@ \v kAN@ ,\0\0"Aÿ\0q! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v ,\0"Aÿ\0q Atr! A\0N@ Aj!\f\v -\0Aÿ\0q Atr! Aj!\f\vA\0! ",\0\0"\bA\0N@ \b!A\f\v@ ,\0\0"\bAÿ\0q Atr! Aj! \bA\0N\r  \vI\r\0\v\v  k\v j!\bA\0! @ \b!\f\v \b \vO\r \bAj! \b-\0\0\v!A\0!\v A\vj j 6\0  \rj!\r\v \fAþM@ \fAj!\f  \vI\r\v\v \0 F\r\0 \rE\r \r G@A\0!\0A\0! \r I@@ Aj! \rAt"\r I\r\0\v\v@ A\vj \0Atj" (\0 t6\0  ( t6  (\b t6\b  (\f t6\f  ( t6  ( t6  ( t6  ( t6 \0A\bj"\0A€G\r\0\v\v  A\ntj!  A\ftj!\r A€j j!A\0!A\0!@ At"\0 A\vjj(\0"@   kK\r@@@@@ \0\v Aq! At!\0 \r Atj! AK\r \0 r!\0A\0!\f\v @ (\0 j  ü\v\0\v \0 j"\0 ; \0 ;\0\f\v \0 r!\0 A|q!\bA\0!@  Atj A\bt \0r6\0  Ar"Atj A\bt \0r6\0  Ar"Atj A\bt \0r6\0  Ar"Atj A\bt \0r6\0 Aj" \bG\r\0\v E\r\vA\0!\f@  Atj A\bt \0r6\0 Aj! \fAj"\f G\r\0\v\v  j!\v Aj"A€G\r\0\v  F\r\vA\0!\f\f\v !\0\v Aj"A€G\r\0\v \0 \nk!\f\v    \n \fj "kA€H\r\0  (\0\0"\x006€ \0A€€I\r\0  (\0"\x006„ \0A€€I\r\0  (\0\b"\x006ˆ \0A€€I\r\0  (\0\f"\x006Œ \0A€€I\r\0  (\0"\x006 \0A€€I\r\0  (\0"\x006” \0A€€I\r\0  (\0"\x006˜ \0A€€I\r\0  (\0"\x006œ \0A€€I\r\0  (\0 "\x006  \0A€€I\r\0  (\0$"\x006¤ \0A€€I\r\0  (\0("\x006¨ \0A€€I\r\0  (\0,"\x006¬ \0A€€I\r\0  (\x000"\x006° \0A€€I\r\0  (\x004"\x006´ \0A€€I\r\0  (\x008"\x006¸ \0A€€I\r\0  (\0<"\x006¼ \0A€€I\r\0  (\0@"\x006À \0A€€I\r\0  (\0D"\x006Ä \0A€€I\r\0  (\0H"\x006È \0A€€I\r\0  (\0L"\x006Ì \0A€€I\r\0  (\0P"\x006Ð \0A€€I\r\0  (\0T"\x006Ô \0A€€I\r\0  (\0X"\x006Ø \0A€€I\r\0  (\0\\"\x006Ü \0A€€I\r\0  (\0`"\x006à \0A€€I\r\0  (\0d"\x006ä \0A€€I\r\0  (\0h"\x006è \0A€€I\r\0  (\0l"\x006ì \0A€€I\r\0  (\0p"\x006ð \0A€€I\r\0  (\0t"\x006ô \0A€€I\r\0  (\0x"\x006ø \0A€€I\r\0  (\0|"\x006ü \0A€€I\r\0 A@j!\fA\0! A\0A€ü\v\0  Av"\t6„ A\x006€  \tAl"6ü  \tAl6ø  \tAl6ô  \tAl6ð  \tAl6ì  \tAl6è  \tAl6ä  \tAl6à  \tAl6Ü  \tAl6Ø  \tAl6Ô  \tAl6Ð  \tAl6Ì  \tAl6È  \tAl6Ä  \tAt6À  \tAl6¼  \tAl6¸  \tA\rl6´  \tA\fl6°  \tA\vl6¬  \tA\nl6¨  \tA\tl6¤  \tAt6   \tAl6œ  \tAl6˜  \tAl6”  \tAt6  \tAl6Œ  \tAt6ˆ A€j! ¸Dš™™™™™É?¢!\' ¸!(@ A\fG@ \t@@   At"\0A\fr"j"(\0A\ftj A€j" j"(\0"AÿqAtj(\0!   \0A\br"j"(\0A\ftj  j"(\0"\bAÿqAtj(\0!   \0Ar"\rj"(\0A\ftj  \rj"(\0"\vAÿqAtj(\0!  \0 j"\n(\0A\ftj \0 j"(\0"AÿqAtj(\0! A€j" \0j"\0 \0(\0"\0Aj6\0 \0 j :\0\0 \n Aÿq6\0 \r j"\0 \0(\0"\0Aj6\0 \0 j :\0\0  Aÿq6\0  j"\0 \0(\0"\0Aj6\0 \0 j :\0\0  Aÿq6\0  j"\0 \0(\0"\0Aj6\0 \0 j :\0\0  Av A\nvl A\bvAÿqj"\x006\0  Av \vA\nvl A\bvAÿqj"6\0  Av \bA\nvl A\bvAÿqj"\v6\0  Aÿq6\0  Av A\nvl A\bvAÿqj"\n6\0@@ \' (d\r\0  \fO\r\0  -\0\0 \0Atr -\0A\btr \0 \0A€€I"\06\0  AA\0 \0j"-\0A\bt -\0\0 Atrr  A€€I"\06\0  AA\0 \0j"-\0A\bt -\0\0 \vAtrr \v \vA€€I"\06\0 AA\0 \0j"-\0A\bt -\0\0 \nAtrr \n \nA€€I"\0! AA\0 \0j\f\v@ \0AÿÿK\r\0 Aj O\r\0  -\0\0 \0Atr -\0A\btr6\0 Aj!\v@ AÿÿK\r\0 Aj O\r\0  -\0\0 Atr -\0A\btr6\0 Aj!\v@ \vAÿÿK\r\0 Aj O\r\0  -\0\0 \vAtr -\0A\btr6\0 Aj!\v \nAÿÿK\r Aj O\r -\0\0 \nAtr -\0A\btr! Aj\v!  6\0\v AI Aj!\r\0A\0! (€ \tH\r\0\v (ü!\v  M\r (ü!\0 (|!\f@   \fA\ftj \0AÿqAtj(\0"Aÿq"\f6|  j :\0\0  Av \0A\nvl A\bvAÿqj"\x006ü@ \0AÿÿK\r\0 Aj O\r\0  -\0\0 \0Atr -\0A\btr"\x006ü Aj!\v  Aj"6ü  G\r\0\v\f\v \t@A\0!\0@ A€j"  \0At"A\fr"j"(\0"Atj(\0 A€j" j"(\0"Aÿq"j-\0\0!!  A\br"j"(\0"At j(\0  j""(\0"\rAÿq"j-\0\0!#  Ar"j"(\0"At j(\0  j"$(\0"\bAÿq"j-\0\0!%  j"& &(\0"\nAÿq"   j"\v(\0"A\ntj  At j(\0j-\0\0"Atj"/k /\0 \nA\fvlj" 6\0 $   A\ntj %Atj"/k /\0 \bA\fvlj"\b6\0 "   A\ntj #Atj"/k /\0 \rA\fvlj"6\0  A\ntj !Atj"/!\n /\0! \v 6\0 A€j"\r j" (\0"Aj6\0   \nk  A\fvlj"6\0  j :\0\0  %6\0 \r j" (\0"Aj6\0  j %:\0\0  #6\0 \r j" (\0"Aj6\0  j #:\0\0  !6\0 \r j" (\0"Aj6\0  j !:\0\0@@ \' (d\r\0  \fO\r\0 & -\0\0 Atr -\0A\btr A€€I"6\0 $ AA\0 j"-\0A\bt -\0\0 \bAtrr \b \bA€€I"6\0 " AA\0 j"-\0A\bt -\0\0 Atrr  A€€I"6\0 AA\0 j"-\0A\bt -\0\0 Atrr  A€€I"! AA\0 j\f\v@ AÿÿK\r\0 Aj O\r\0 & -\0\0 Atr -\0A\btr6\0 Aj!\v@ \bAÿÿK\r\0 Aj O\r\0 $ -\0\0 \bAtr -\0A\btr6\0 Aj!\v@ AÿÿK\r\0 Aj O\r\0 " -\0\0 Atr -\0A\btr6\0 Aj!\v AÿÿK\r Aj O\r -\0\0 Atr -\0A\btr! Aj\v!  6\0\v \0AI \0Aj!\0\r\0A\0!\0 (€ \tH\r\0\v (ü!\v  M\r\0 (|!\v (ü!\0@  j \0Aÿq" A€j \v"Atj(\0j-\0\0"\v:\0\0   A\ntj \vAtj"/\0 \0A\fvl j /k"\x006ü@ \0AÿÿK\r\0 Aj O\r\0  -\0\0 \0Atr -\0A\btr"\x006ü Aj!\v  \v6|  Aj"6ü  G\r\0\v\v \t\f\v \t A\0!\v !\v Aj$\0 \vâ#\0AÀk"\b$\0@ A\tI\r\0 \0 j!\v@@ \0-\0\0"@ AI\r AG\r \0(\0 A\tkG\r \0(\0"AþÿÿÿK\rA€€à\0\v"E\r A\0A€€à\0ü\v\0 \bAÿA€ü\v\0 A€€@k"A\0A€ü\v\0@  A\vtj"B\x007€ð B\x007€à B\x007€Ð B\x007€À B\x007€° B\x007€  B\x007€ B\x007€€ B\x007€p B\x007€` B\x007€P B\x007€@ B\x007€0 B\x007€ B\x007€ B\x007\0 Aj"A€G\r\0\v \vAk! \0A\nj! \0-\0\t!\r@ \b \rAtj"\0/\0"AÿÿF@ \0 \n;\0 \n"Aj!\n\v Aj!\0  Á"A\ftj!  A\vtj! -\0\0!A\0!A\0!\t@ \b Atj"/\0AÿÿF@  \n;\0 \nAj!\n\v \0 K\r \0,\0\0"Aÿq! A\0N \0Aj \0-\0 A\btA€þqr! \0Aj\v!  Atj"\0 A€ "6\0 \0 "\x006 \0 j"A€ K\r @ \0 j  ü\v\0\v \tE@ Aj" -\0\0"G@A\0!\t Aj\f\v -\0!\t ! Aj\f\v AþJ\r Aj! \tAk!\t \v!\0 \r\0\v AÿI\r AÿF@  \rA\ftj"Aÿj Aþj-\0\0:\0\0\v \fE@ \rAj" \0-\0\0"\rG@A\0!\f \0Aj\f\v \0-\0!\f !\r \0Aj\f\v \rAþJ\r \rAj!\r \fAk!\f \0\v! \r\r\0\v@ \b Atj"\0 \0/\0"A\0 AÿÿG;\0 \0 \0/"A\0 AÿÿG; \0 \0/"A\0 AÿÿG; \0 \0/"\0A\0 \0AÿÿG; Aj"A€G\r\0\vA\0!  K\r (\0\0"\0A€€€I\r (\0"A€€€I\r (\0\b"\tA€€€I\r (\0\f"A€€€I\r \b"E\r Aj! Av"E@A\0!A\0!\f\v \vA\bk!  \b.\0A\ftj" \0Aÿqj!\f  Aÿqj!\n  \tAÿqj!  Aÿqj! At! Al!A\0! !\r@ -\0\0! -\0\0! \n-\0\0!\n  j \f-\0\0"\f:\0\0 \r j \n:\0\0  j :\0\0  j :\0\0 Aÿq  A\vtj Atj"(k (\0 A\fvlj! \tAÿq  A\vtj Atj"(k (\0 \tA\fvlj!\t Aÿq  A\vtj \nAtj"(k (\0 A\fvlj! \0Aÿq  A\vtj \fAtj"(k (\0 \0A\fvlj!\0@  I@  \0A€€€I"j! -\0\0 \0A\btr \0 "\0AÿÿÿK  -\0\0 \0A\btr!\0 Aj\v!  A€€€I"j! -\0\0 A\btr  "AÿÿÿK  -\0\0 A\btr! Aj\v!  \tA€€€I"j! -\0\0 \tA\btr \t "\tAÿÿÿK  -\0\0 \tA\btr!\t Aj\v!  A€€€I"j! -\0\0 A\btr  "AÿÿÿK@ !\f\v Aj! -\0\0 A\btr!\f\v@ \0AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 \0A\btr! \0AÿÿK@ !\0\f\v  \vO@ !\0\f\v Aj! -\0 A\btr!\0\v@ AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 A\btr! AÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0 A\btr!\v@ \tAÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 \tA\btr! \tAÿÿK@ !\t\f\v  \vO@ !\t\f\v Aj! -\0 A\btr!\t\v AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 A\btr! AÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0 A\btr!\v  \b Atj.\0"A\ftj Aÿqj!  \b Atj.\0"A\ftj \tAÿqj!  \b \nAtj.\0"A\ftj Aÿqj!\n  \b \fAtj.\0"A\ftj \0Aÿqj!\f Aj! Aj! \rAj!\r  Aj"G\r\0\v\f\v AI\r \0(\0 A\tkG\r \0-\0" \0-\0A\bt \0-\0Atr \0-\0\bAtrr"AþÿÿÿK\r \b"\rE\r \vAk!\t \0A\nj! \0-\0\t!@@  \tK\r \n!\0 ,\0\0"Aÿq! A\0N Aj -\0 A\btA€þqr! Aj\v! \0 j"\nA€ K\r@ E\r\0A\0! AG@ Aq Aþ?q!@ \b \0 j"\fAtj 6\0 \fAt"\f \bA€Áj"j ;\0 \bAÀ€j \fj ;\0 \b Ar"\f \0j"Atj \f6\0  At"\fj ;\0 \bAÀ€j \fj ;\0 Aj" G\r\0\vE\r\v \0 j"\0At" \bA€Ájj ;\0 \bAÀ€j j ;\0 \b \0Atj 6\0\v E@ Aj"\0 -\0\0"G@A\0! Aj\f\v -\0! \0! Aj\f\v AþJ\r Aj! Ak! \v! \r\0\v \nAÿI\r\0 \nA€ G@ \b \b/¼À;¾À \b \b/ü€;þ€ \b \b(øAj6ü\v  \tK\r\0 (\0\0"A€€€I\r\0 (\0"A€€€I\r\0 (\0\b"A€€€I\r\0 (\0\f"\0A€€€I\r\0 Aüÿÿÿq"\n@ \vA\bk! Aj!A\0!\t@ \0Aÿq"At"\f \bA€Áj"j/\0 \0A\fvl \b Atj(\0j!\0  Aÿq"At"j/\0 A\fvl \b Atj(\0j!  Aÿq"At"j/\0 A\fvl \b Atj(\0j!  Aÿq"At"j/\0 A\fvl \b Atj(\0j!@  I@  A€€€I"j! -\0\0 A\btr  "AÿÿÿK  -\0\0 A\btr! Aj\v!  A€€€I"j! -\0\0 A\btr  "AÿÿÿK  -\0\0 A\btr! Aj\v!  A€€€I"j! -\0\0 A\btr  "AÿÿÿK  -\0\0 A\btr! Aj\v!  \0A€€€I"j! -\0\0 \0A\btr \0 "\0AÿÿÿK@ !\f\v Aj! -\0\0 \0A\btr!\0\f\v@ AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 A\btr! AÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0 A\btr!\v@ AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 A\btr! AÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0 A\btr!\v@ AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 A\btr! AÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0 A\btr!\v \0AÿÿÿK@ !\f\v  \vO@ !\f\v Aj! -\0\0 \0A\btr! \0AÿÿK@ !\0\f\v  \vO@ !\0\f\v Aj! -\0 A\btr!\0\v \t \rj" \bAÀ€j" j-\0\0:\0\0   j-\0\0:\0   j-\0\0:\0   \fj-\0\0:\0 \tAj"\t \nI\r\0\v\v@@@@ AqAk\0\v \n \rj \bAÀ€j AÿqAtj-\0\0:\0\v \n \rj \bAÀ€j AÿqAtj-\0\0:\0\v \n \rj \bAÀ€j AÿqAtj-\0\0:\0\0\v  6\0 \r!\f\v \rA\0!\f\v  I@@  j Aÿq"\0  A\ftjj-\0\0":\0\0@ \0  A\vtj Atj"\0(\0 A\fvlj \0(k"AÿÿÿK\r\0  \vO\r\0 Aj!\0 -\0\0 A\btr!@ AÿÿK\r\0 \0 \vO\r\0 -\0 A\btr! Aj!\f\v \0! !\v \b Atj.\0! Aj" G\r\0\v\v  6\0 !\v \t\v \bAÀj$\0 \vïG+#\0A 1k"\t$\0 \tA)jA\0A\bü\v\0 \0 j!&@@ \0A\0 AHE@ \0,\0\0"Aÿ\0q! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0,\0"Aÿ\0q Atr! A\0N@ \0Aj!\f\v \0-\0Aÿ\0q Atr! \0Aj!\f\v E@A\0\f\v \0,\0\0"A\0N\r \0!@ ,\0\0"Aÿ\0q Atr! Aj! A\0N\r  &I\r\0\v\v  \0k\f\v !A\v!  6\0@  k"A\nI@\f\v \t \0 j"\v-\0\0"6ˆ) AG@\f\v \t \v-\0"6Œ)A!@ AqE@ \tA6)A!\f\v \t \v-\0"6)A!@ \0\v !\v \t 6”)@@@@ AqE@@ E\r\0 Aq!\b \tA˜)j!A\0! A\bO@ Aøq!@  Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0 A\bj" G\r\0\v \bE\r\v@  Atj 6\0 Aj! \nAj"\n \bG\r\0\v\v Ak!\bA\0! \tA˜)j!A\0 "\nkAq"@@  \nAtj \b6\0 \nAj!\n Aj" G\r\0\v\v AÿsAI\rAø \nk"A\bqE@  \nAtj" \b6  \b6  \b6  \b6  \b6\f  \b6\b  \b6  \b6\0 A\bI\r \nA\bj!\n\v@  \nAtj" \b6<  \b68  \b64  \b60  \b6,  \b6(  \b6$  \b6  \b6  \b6  \b6  \b6  \b6\f  \b6\b  \b6  \b6\0 \nAj"\nA€G\r\0\v\f\v \t \v j-\0\x006”)A\0! \v Aj"j  k \tA˜)jA€"A\0H\r  j! \t()!\v \t Aä8l\b"6œ1 E@A\0!\f\vA\0! \tA\x006˜1 \t(”)! A\0L@\f\v@  k"AI\r  Aä8lj"\f \v j"/\0\0;\0 \f -\0"6 \f A q" :\0 \f AÀ\0q:\0 \f A€q":\0 \f Aq6 \f A\bq6\b \f Aq"6 \f Aq6\f \f -\0"\b6< \f -\0"Av"6 \f Aq6È8 \fA tAs6Ø8 \f -\0"Aq68 \f Av6 \f -\0"Aq60 \f Av6( \fAÈ\0j!A\0!@ @@  Atj"Bÿÿÿÿ÷ÿÿÿÿ\x0078 Bÿÿÿÿ÷ÿÿÿÿ\x0070 Bÿÿÿÿ÷ÿÿÿÿ\x007( Bÿÿÿÿ÷ÿÿÿÿ\x007 Bÿÿÿÿ÷ÿÿÿÿ\x007 Bÿÿÿÿ÷ÿÿÿÿ\x007 Bÿÿÿÿ÷ÿÿÿÿ\x007\b Bÿÿÿÿ÷ÿÿÿÿ\x007\0 Aj"A€G\r\0\v \bAj K\r \bE@A!\n\f\v \bAq!A\0!A!\nA\0! \bAO@@@ \bAk"\bAv"E@\f\v AjAþÿÿÿq!A\0!\'@  Atj" \n j""-\0\x006\0  "-\06  "-\06\b  "-\06\f  "-\06  "-\06  "-\06  "-\06 A\bj! \nA\bj!\n \'Aj"\' G\r\0\v \bAq\r\v  Atj"\b \n j"-\0\x006\0 \b -\06 \b -\06\b \b -\06\f Aj! \nAj!\n\v E\r\v@  Atj \n j-\0\x006\0 Aj! \nAj!\n Aj" G\r\0\v\f\v@  Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0A!\n  Ar"Atj 6\0 A\bj"A€G\r\0\v\v@ E\r\0 E@ \fAÈ\bj!A\0!@  Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0  Ar"Atj 6\0 A\bj"A€G\r\0\v\f\v \n j  \nk \fAÈ\bjA€"A\0H\r  \nj!\n \f-\0! \v@ E@ \fAÈjA\0A€ ü\v\0\f\v \n j  \nk \fAÈjA€\b"A\0H\r  \nj!\n\v@ \f-\0E@ \fAÈ0jA\0A€\bü\v\0\f\v \n j  \nk \fAÈ0jA€"A\0H\r  \nj!\n\v \nA\0H\rA\0 \f(\b \r  \f(<"  H! \n j! Aj" G\r\0\v \t 6˜1A\0!\f@  \fAä8lj"AÈj! ((!A\0!\n@  \nAtj"\b \b(\0 t6\0 \b \b( t6 \b \b(\b t6\b \b \b(\f t6\f \b \b( t6 \b \b( t6 \b \b( t6 \b \b( t6 \nA\bj"\nA€\bG\r\0\v AÈ0j! (0!A\0!\n@  \nAtj" (\0 t6\0  ( t6  (\b t6\b  (\f t6\f  ( t6  ( t6  ( t6  ( t6 \nA\bj"\nA€G\r\0\v  \fAj"\fG\r\0\v\f\v \t(œ1"E\r\v \f\v \tA€€À \v" 6 E\r\0 Aj"Aq!@ AÿO@ A|q!A\0!@ A\blj"A\bj!A\0!@  Atj"\bA;\0 \b ;  Ar"\nAtj"\bA;\0 \b \n;  Ar"\nAtj"\bA;\0 \b \n;  Ar"\nAtj"\bA;\0 \b \n; Aj" G\r\0\vA\0!\n @@  Atj"\bA;\0 \b ; Aj! \nAj"\n G\r\0\v\v  6\0 Aïÿ6 Aïÿ6Œ\b A\0;ˆ\b Aj"A€€G\r\0\v\f\v Aq! Aüq! AûK!A\0!@ A\blj"A\bj!A\0!A\0!\n@ AO@@  Atj"A;\0  ;  Ar"\bAtj"A;\0  \b;  Ar"\bAtj"A;\0  \b;  Ar"\bAtj"A;\0  \b; Aj" G\r\0\v !\n E\r\vA\0!@  \nAtj"A;\0  \n; \nAj!\n Aj" G\r\0\v\vA\0!\n ! AG@@  Atj"A\0;\0  ; Aj!  \nAj"\nsAG\r\0\v\v E@@  Atj"A\0;\0  ;  Aj"\bAtj"A\0;\0  \b;  Aj"\bAtj"A\0;\0  \b;  Aj"\bAtj"A\0;\0  \b; Aj"A€G\r\0\v\v  6\0 Aïÿ6 Aïÿ6Œ\b A\0;ˆ\b Aj"A€€G\r\0\v\v \tAj!A\0!@  Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ; Aj"A€G\r\0\v \tB€‚€€ðý?7\b \tAïÿ6”\bA\0! \tA\0;\b \tA \bj!@  Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ; Aj"A€G\r\0\v \tB€‚€€ðý?7˜\b \tAïÿ6¤A\0! \tA\0;  \tA°j!@  Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ;  Ar"Atj"A;\0  ; Aj"A€G\r\0\v \tB€‚€€ðý?7¨ \tAïÿ6´A\0! \tA\0;° \tAÀj! @ Atj"A;\0  ; Ar"Atj"A;\0  ; Ar"Atj"A;\0  ; Ar"Atj"A;\0  ; Aj"A€G\r\0\v \tB€‚€€ðý?7¸ \tAïÿ6Ä \tA\0;À \tB€€€€À\x007Ð \tB‚€€€ðý?7È \tAïÿ6Ü \tA\0;Ø \tB€€€€À\x007ø( \tB‚€€€ðý?7ð( \tAïÿ6„) \tA\0;€) A\0J@ Aj"Aq! \tAè j!A\0!\nA\0!@ AO@ A|q!@  Atj"A;\0  ;  Ar"\bAtj"A;\0  \b;  Ar"\bAtj"A;\0  \b;  Ar"\bAtj"A;\0  \b; Aj" G\r\0\v E\r\v@  Atj"A;\0  ; Aj! \nAj"\n G\r\0\v\v@ AþK\r\0 ! Aq"\bAG@A\0!\n@  Atj"A\0;\0  ; Aj! \b \nAj"\nsAG\r\0\v\v AûK\r\0@  Atj"A\0;\0  ;  Aj"\bAtj"A\0;\0  \b;  Aj"\bAtj"A\0;\0  \b;  Aj"\bAtj"A\0;\0  \b; Aj"A€G\r\0\v\v \t 6à \tAïÿ6ä \tAïÿ6ì( \tA\0;è(\v \v j"Aj" &"M@ (\0" AxsA€þƒxqA\bv A\bxs! !\v@@ (\0\b"E\r\0Aè\b!#A \b!! #E\r\0 !E\r\0@ E@Aè!%A\0!\f\v \tAø(j! \tAÐ j! \0 j!\b AÈ\0j!+ AÈ0j!, AÈj!- AÈ\bj!. \tA˜)j!/ \tAè j!Aè!%A!\0A\0!\nA\0!A\0!\'A\0!A\0!"A!*A\0!A\0!@ $ %N@ %At! # %At"%!# ! !! #E\r !E\r\v@ E@ (\bA\0!@@ \0 \t(à "AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿM\r\0\f\v !@ "\vAj! " \v/\0""j" \rM\r\0\v \v kA€\bJ@A\0!\f\v  \0 lk!@ \0 "l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v "Aj"\f;\0 \t Aj"6à @ AðÿI\r\0A\0!\r \tA\x006à ! \t/è "E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6à \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqO\r\0 \v (\x006\0  \f;\0 \vAk ;\0\v AÿÿqA\0\v""! \t(Œ)"Aq@ /Aÿ  AÿOAtj(\0!\v  \t()N\rA\0 \t(œ1 Aä8lj"( *E@A\0!@@ \0 \t(\b"AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿM\r\0\f\v !@ "\vAj! " \v/\0"j" \rM\r\0\v \v kA€\bJ@A\0!\f\v  \0 lk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v Aj"\f;\0 \t Aj"6\b@ AðÿI\r\0A\0!\r \tA\x006\b ! \t/"E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6\b \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqO\r\0 \v (\x006\0  \f;\0 \vAk ;\0\v Aÿÿq!A\0!@@ \0 \t(˜\b"AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿM\r\0\f\v !@ "\vAj! " \v/\0"j" \rM\r\0\v \v kA€\bJ@A\0!\f\v  \0 lk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v Aj"\f;\0 \t Aj"6˜\b@ AðÿI\r\0A\0!\r \tA\x006˜\b ! \t/ \b"E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6˜\b \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqO\r\0 \v (\x006\0  \f;\0 \vAk ;\0\v AÿÿqA\bt rA\0!@@ \0 \t(¨"AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿM\r\0\f\v !@ "\vAj! " \v/\0"j" \rM\r\0\v \v kA€\bJ@A\0!\f\v  \0 lk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v Aj"\f;\0 \t Aj"6¨@ AðÿI\r\0A\0!\r \tA\x006¨ ! \t/°"E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6¨ \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqO\r\0 \v (\x006\0  \f;\0 \vAk ;\0\v AtrA\0!@@ \0 \t(¸"AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿM\r\0\f\v !@ "\vAj! " \v/\0"j" \rM\r\0\v \v kA€\bJ@A\0!\f\v  \0 lk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v Aj"\f;\0 \t Aj"6¸@ AðÿI\r\0A\0!\r \tA\x006¸ ! \t/À"E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6¸ \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqO\r\0 \v (\x006\0  \f;\0 \vAk ;\0\v Atr!\v Ak (\0 kO\r@ E\r\0  $L\r\0  $Atj 6\0\v Aq@A\0!@@ \0 \t(È "AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿM\r\0\f\v !@ "\vAj! " \v/\0"j" \rM\r\0\v \v kA\bJ@A\0!\f\v  \0 lk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v Aj"\f;\0 \t Aj"6È @ AðÿI\r\0A\0!\r \tA\x006È ! \t/Ð "E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6È \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqO\r\0 \v (\x006\0  \f;\0 \vAk ;\0\v # $j :\0\0 ! $Atj 6\0 Aÿÿq!(\v@ (\fE\r\0A\0!@ \0 \t(ð("AkM@A\0!\r\f\v  \0 n"\0n"\rAïÿK\r\v !@ "\vAj! " \v/\0"j" \rM\r\0\v \v kA\bJ\r\0  \0 lk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v \v Aj"\f;\0 \t Aj"6ð(@ AðÿI\r\0A\0!\r \tA\x006ð( ! \t/ø("E\r\0@   AþÿqAvk";\0 \r Aÿÿqj!\r /! Aj! \r\0\v \t \r6ð( \v/\0!\f\v \v/! \vAk"/\0 \fAÿÿqI@ \v (\x006\0  \f;\0 \vAk ;\0\v E\r\0  I\r @  j"  k ü\n\0\0\v $Aj!$  j!A\0!*A\0!\f\v $Aj!$ /\0!\nA\0!*A\0!A\0!\'A\0!) !\v@A\0!@@ \0 \t( \nA\blj"(\0"AkM@A\0!\f\v  \0 n"\0n"AïÿM\r\0\f\v A\bj"\f!\n@ \n"Aj!\n "\v /\0"j" M\r\0\v  \fkA€\bJ@A\0!\f\v  \0 \vlk!@ \0 l"\0AÿÿÿK\r\0  &O@A!\f\v@@ \0A\bt! Aj! -\0\0 A\btr! \0A€€O\r !\0 " \bG\r\0\vA! \b\f\v \v! !\0\v  Aj";\0  Aj"6\0@ AðÿI\r\0A\0!\n A\x006\0 /\b"E\r\0@ \f  AþÿqAvk";\0 \n Aÿÿqj!\n \f/! \fAj!\f \r\0\v  \n6\0 /\0!\v /! Ak"\n/\0 AÿÿqO\r\0  \n(\x006\0 \n ;\0 Ak ;\0\v ,Aÿ \' \'AÿOAtj(\0 -Aÿ  AÿOAtj(\0 . Aÿq"At"j(\0! (8! ( !\v (Ø8 (È8!  j  +j(\0:\0\0  ) tj")q \vtjj " tjAÿÿq!\n Aj! \'  Gj!\' Ak"@ !  I\r\v\v !\v  I\r\0\v Av! $ %H\r\0 %At!\0 # %At"%!# ! \0!! #E\r !E\r\v # $j (:\0\0 ! $Atj 6\0@ \t-\0Œ)AqE\r\0 E\r\0 %A\0L\r\0A\0!\fA\0!\0@@ \f #j-\0\0E\r\0 ! \fAtj(\0"AH\r\0 \0 j! Ak!A\0!@  j"-\0\0!   j"-\0\0:\0\0  :\0\0 Aj" Ak"H\r\0\v\v ! \fAtj(\0 \0j"\0 O\r \fAj"\f %H\r\0\v\v \r\0 \t(\t # ! \t(œ1"\r\f\v \t(\t # ! \t(œ1"\0@ \0\v !A\0!\v \v \tA 1j$\0 \v\f\0 \0 A\0 \v,\0Aè‡A€À\x006\0Aà‡A€‰6\0AȇA*6\0Aä‡A€€6\0\v\vÆr\0A‚\b\v– N\0ë§~ u†ú\0¹,ý·Šz¼\0ú¢\0=I×\0\b\0“\b*_·úXÙ+ʽáÍÜ@x\0}gaì\0å\nÔ\0Ì>Ov˜¯\0\0D\0®\0®`\0úw!ë+\0`A’\0©£nN\0AÈ\t\v\f\0\0\0\0\0\0\0\0*\0Aè\t\v\'9H\0Aþ\t\v’\0A’\n\vƒ28R`S\0\0Ê»\0\0Ò\0\0é\t>Yi~ {0x%08x, 0x%08x}\0\n combined CRCs: stored = 0x%08x, computed = 0x%08x\0-+ 0X0x\0invalid literal/lengths set\0invalid code lengths set\0unknown header flags set\0invalid distances set\0invalid bit length repeat\0too many length or distance symbols\0invalid stored block lengths\0Unknown error\0invalid code -- missing end-of-block\0incorrect header check\0incorrect length check\0incorrect data check\0invalid distance too far back\0header crc mismatch\0invalid window size\0invalid block type\0invalid literal/length code\0invalid distance code\0unknown compression method\0rt+rld\x001.0.6, 6-Sept-2010\0(null)\0\n [%d: huff+mtf \0Error: out of rans_tls_alloc slots\n\0Initialising TLS data failed: pthread_once: %s\n\0Attempt to htscodecs_tls_free a buffer twice\n\0Attempt to htscodecs_tls_free a buffer not allocated with htscodecs_tls_alloc\n\0Name codec currently has a max of 10 million rec.\n\0\n\nbzip2/libbzip2: internal error number %d.\nThis is a bug in bzip2/libbzip2, %s.\nPlease report it to me at: jseward@bzip.org. If this happened\nwhen you were using some program which uses libbzip2 as a\ncomponent, you should also report this bug to the author(s)\nof that program. Please make an effort to report this bug;\ntimely and accurate bug reports eventually lead to higher\nquality software. Thanks. Julian Seward, 10 December 2007.\n\n\0Success\0Illegal byte sequence\0Domain error\0Result not representable\0Not a tty\0Permission denied\0Operation not permitted\0No such file or directory\0No such process\0File exists\0Value too large for defined data type\0No space left on device\0Out of memory\0Resource busy\0Interrupted system call\0Resource temporarily unavailable\0Invalid seek\0Cross-device link\0Read-only file system\0Directory not empty\0Connection reset by peer\0Operation timed out\0Connection refused\0Host is down\0Host is unreachable\0Address in use\0Broken pipe\0I/O error\0No such device or address\0Block device required\0No such device\0Not a directory\0Is a directory\0Text file busy\0Exec format error\0Invalid argument\0Argument list too long\0Symbolic link loop\0Filename too long\0Too many open files in system\0No file descriptors available\0Bad file descriptor\0No child process\0Bad address\0File too large\0Too many links\0No locks available\0Resource deadlock would occur\0State not recoverable\0Owner died\0Operation canceled\0Function not implemented\0No message of desired type\0Identifier removed\0Device not a stream\0No data available\0Device timeout\0Out of streams resources\0Link has been severed\0Protocol error\0Bad message\0File descriptor in bad state\0Not a socket\0Destination address required\0Message too large\0Protocol wrong type for socket\0Protocol not available\0Protocol not supported\0Socket type not supported\0Not supported\0Protocol family not supported\0Address family not supported by protocol\0Address not available\0Network is down\0Network unreachable\0Connection reset by network\0Connection aborted\0No buffer space available\0Socket is connected\0Socket not connected\0Cannot send after socket shutdown\0Operation already in progress\0Operation in progress\0Stale file handle\0Data consistency error\0Resource not available\0Remote I/O error\0Quota exceeded\0No medium found\0Wrong medium type\0Multihop attempted\0Required key not available\0Key has expired\0Key has been revoked\0Key was rejected by service\0\0\0\0\0·Án;‚\tÙ&C\rÜvkkŲM†PG¸í\b&ðÉ"Ö֊/aËK+d›\f5ӆÍ1\n Ž<½½O8pÛLÇÆÐHà“E©ýRA¬­_°Ô[–—Vu‹VRÈ6j+Øn¦\r›cZg@y£]Ü}z{ŸpÍf^tà¶#˜W«âœŽ¡‘9`•<À\'‹‹ÝæRû¥‚åæd†X[+¾ïFêº6`©·}h³„-/­30î©ê­¤]\vl m2Ô\'póÐþV°ÝIKqÙL6Çû÷Ã" ´Î•=uÊ(€:òŸûöF»¸ûñ¦yÿôö>áCëÿåšÍ¼è-Ð}ìwp†4ÀmG0K=®VÅ9«‚\'C#Å=\0.r Á*ϝŽx€O¡¦\f»Í늤öK}Ð\b\bÊÍÉ\f«—x°¶V|iqލÔuÛݓklÀRoµæbûÐf¿FŸ^\b[^ZÑ}Wf`ÜSc0›MÔ-ZI\r\vDºØ@—Æ¥¬ Ûd¨ùý\'¥Nàæ¡K°¡¿ü­`»%‹#¶’–â²/+­Š˜6lŽA/ƒö\rî‡ó]©™D@hf+*{ê”ç´àP\0uä‰&6é>;÷í;k°óŒvq÷UP2úâMóþ_ð¼Æèí}Â1Ë>φÖÿ˃†¸Õ4›yÑí½:ÜZ ûØîà\fiYýÍm€ÛŽ`7ÆOd2–\bz…‹É~\\­Šsë°KwV\rOáÅK86†F+GBŠ{\0\\=fÁXä@‚US]CQž;%)&Ü!ð\0Ÿ,G^(BM6õPØ2,v›?›kZ;&Ö‘ËÔHí—\nÿðVú M½Ð”›“#†RV/ñ¹Kîõ`m­ø×plüÒ +âe=êæ¼©ë\vhï¶»\'צæÓ؀¥ÞodÚjÍ#ÄÝÐâÀö¡Í³ë`É~>½Éÿ¹¶¼´§«}°¢û:®æûªÌÀ¸§{Ýy£Æ`6›q}÷Ÿ¨[´’Fu–2ˆ­\vóŒt-°Ã0q…™Š].KY÷«\bT@¶ÉPEæŽNòûOJ+Ý\fGœÀÍC!}‚{–`COF\0rø[Ávý\v†hJGl“0a$-ÅeéK›^VZ‡p0mØ5=Ÿ‚ ^[\vìÜQ¦“7æ»R3?>ˆ€Ð:Ð—$:ÍV ãë-TöÔ)y&©ÅÎ;hÁ+Ì \0êÈ¥P­ÖMlÒËk/ß|vîÛÁË¡ãvÖ`ç¯ð#êíâî½¥ðª dôs†\'ùěæý\tý¸‰¾àygÆ:€ÐÛû„Õ‹¼šb–}ž»°>“\f­ÿ—±°¯\rq«ß+2¦h6ó¢mf´¼Ú{u¸]6µ´@÷±k\0\0Ð\0\0\0\0\0á\0\0£\0\x000\0\0-\0\0é\0\0\x006\0\0÷\0\0\0Ù\0\0Ô\0\0Í\0\0\0Æ\0\0_\0\0ë\0\0å\0\0ò\0\0\0µ\0\0Ö\0\0\0Ý\0\0[\0\0O\0\0Ä\0\0m\0\0>\0\0I\0\0\0Ž\0\0Ú\0\0Ø\0\0£\0\0´\0\0\0\0ð\0\0c\0\0Ò\0\0\0\0\0¨\0\0à\0\x003\0\0\0n\0\0Ñ\0\0+\0\0©\0\0\0e\0\0£\0\0c\0\0¹\0\0c\0\x001\0\0^\0\0¯\0\0û\0\0\0\0â\0\0\0\0\0\'\0\0O\0\0Ý\0\0o\0\0–\0\0\0î\0\0\0;\0\0\0{\0\0¬\0\0m\0\0q\0\0©\0\0\0ƒ\0\0i\0\0\0ª\0\0\0_\0\0\b\0\0¤\0\0×\0\0Ü\0\0µ\0\0©\0\0®\0\0\0‡\0\0I\0\0\0z\0\0\0O\0\0\0\0º\0\0U\0\0·\0\0ù\0\0\0½\0\0\0\0\0\0!\0\0¿\0\0—\0\0j\0\0Ú\0\0r\0\0ô\0\0R\0\0d\0\0\0\0!\0\0Ü\0\0\0¢\0\0\x003\0\0Ø\0\0M\0\0\0\0ï\0\0\0\0¡\0\0\0\\\0\0¾\0\0\0\0Ý\0\0\0\0\0‚\0\0c\0\0X\0\0\0\0~\0\0T\0\0ž\0\0«\0\0\0\0\0w\0\0ª\0\0å\0\0\0\0\0\0b\0\0\0)\0\0£\0\0\0b\0\0š\0\0¥\0\0¨\0\0U\0\0\0\0f\0\0ã\0\0\0Ú\0\0Û\0\0º\0\0\0\0\0‡\0\0\0\0®\0\0X\0\0à\0\0\0Õ\0\0D\0\0\0\0\0—\0\0¾\0\0\0u\0\0&\0\x006\0\0(\0\0Î\0\0\0¸\0\0\0¯\0\0\0\0€\0\0\0\0Í\0\0”\0\0ö\0\0G\0\0w\0\0Ë\0\0C\0\0\0j\0\0\0\0Ì\0\0\0–\0\0i\0\0\t\0\0\\\0\x000\0\0·\0\0 \0\0\0B\0\0Ò\0\0O\0\0\0$\0\0`\0\0\0™\0\0É\0\0¬\0\0Œ\0\0¦\0\0Ê\0\0¿\0\0>\0\0a\0\0[\0\0 \0\0p\0\0\0\0\0…\0\0_\0\0#\0\0^\0\0‹\0\0\0]\0\0\0b\0\0c\0\0\x004\0\0Œ\0\0a\0\0\0\0š\0\0\0\0\0D\0\0¸\0\0\0O\0\0\0r\0\0v\0\0æ\0\0\0\0\0\0ú\0\0o\0\0¨\0\0Q\0\0\0Ÿ\0\0r\0\0\0\0}\0\0\0›\0\0\t\0\0ª\0\0,\0\x005\0\0N\0\0\0W\0\0¯\0\0\0€\0\0\0ú\0\0\0ª\0\0\0\0\0Ì\0\0\0\0ç\0\0\0\0ï\0\0N\0\0\0`\0\0~\0\0\0Y\0\0¼\0\0f\0\0k\0\0D\0\0|\0\0\0á\0\0R\0\0½\0\0d\0\0\0\0p\0\0\0†\0\0\0¶\0\0k\0\0à\0\0)\0\0ç\0\0¨\0\0\0Î\0\0°\0\0w\0\0ì\0\x004\0\0\0X\0\0ë\0\0‚\0\0¶\0\0\0^\0\0Q\0\0\0X\0\0%\0\0Ü\0\0ã\0\0ÿ\0\0\0\0.\0\0N\0\0ù\0\0\0\0\0\0\0»\0\0˜\0\0Õ\0\0‰\0\0q\0\0\0Î\0\0Ë\0\0}\0\0ä\0\0\0±\0\0E\0\0)\0\0\f\0\0ž\0\0ð\0\0\0f\0\0\0Ž\0\0Ë\0\x003\0\0\0®\0\0ò\0\0&\0\0ø\0\0í\0\0“\0\0Ÿ\0\0Š\0\0¯\0\0¼\0\0²\0\0ž\0\0\0\0b\0\0â\0\0ˆ\0\0ø\0\0\0\0w\0\0\0\0Ò\0\0A\0\0@\0\0i\0\0r\0\0ö\0\0~\0\0§\0\0ó\0\0\0¸\0\0¨\0\0o\0\0Â\0\0\0<\0\0€\0\0Ô\0\0ž\0\x008\0\0\0Ì\0\0\0¼\0\0Ã\0\0—\0\0\0É\0\0Á\0\0\0\0Ã\0\0\0\0\0.\0\0±\0\0§\0\0)\0\0;\0\0\0W\0\0\x008\0\0É\0\0—\0\0œ\0\0µ\0\0V\0\0^\0\0†\0\0\0l\0\0\0;\0\0l\0\0w\0\0Ô\0\0\0®\0\0\0ƒ\0\x000\0\0I\0\0W\0\0a\0\0\0®\0\0ï\0\0ñ\0\0:\0\0×\0\0v\0\x006\0\0 \0\0Œ\0\0\0Î\0\0\0I\0\0\0\0\0Ô\0\0à\0\0l\0\0Þ\0\0®\0\x001\0\0ª\0\0\0\0\0l\0\0´\0\0=\0\0R\0\0\0W\0\0¹\0\0¤\0\0ö\0\0\0q\0\0Ê\0\0&\0\0î\0\0\'\0\0;\0\0–\0\0\0\0\0 \0\0›\0\0$\0\0z\0\0×\0\0\0<\0\0P\0\0\0\x005\0\0+\0\0Æ\0\0R\0\0\0€\0\0?\0\0#\0\0\0\0\f\0\0Î\0\0%\0\0Ñ\0\0ö\0\x008\0\0\0•\0\x005\0\0Ð\0\0ß\0\0’\0\0e\0\0‰\0\0ö\0\0é\0\0Á\0\0\0\0\0\0&\0\0`\0\0¥\0\0z\0\0\0\0×\0\0\0Ó\0\0\0\0Á\0\0=\0\0\0°\0\0\0\0„\0\0Ú\0\0“\0\0j\0\0\0n\0\0‰\0\0„\0\0t\0\x007\0\0Ò\0\0²\0\0…\0\0Ò\0\0\0…\0\0&\0\0—\0\0‡\0\0\0\f\0\0\0\0{\0\0…\0\0Ã\0\0d\0\0\0r\0\0¾\0\0¥\0\0\0ø\0\0˜\0\0°\0\0\0Á\0\0\0É\0\0Y\0\0\t\0\0Ë\0\0\x002\0\0\0œ\0\0l\0\0\0…\0\0Þ\0\0r\0\0Å\0\0\0þ\0\0e\0\0f\0\0R\0\0Z\0\0l\0\0¨\0\0~\0\0\0\0\0\0\0\b\0\0\t\0\0\n\0\0\v\0\0\f\0\0\r\0\0\0\0\0A¤<\v¹;–0w,aîºQ\t™Ämôjp5¥c飕dž2ˆÛ¤¸ÜyéÕàˆÙҗ+L¶\t½|±~-¸ç‘¿d·ò °jHq¹óÞA¾„}ÔÚëäÝmQµÔôDžӃV˜lÀ¨kdzùbýìÉeŠO\\Ùlcc=úõ\r\bÈ n;^iLäA`Õrqg¢Ñä<GÔKý…\rÒkµ\n¥ú¨µ5l˜²BÖÉ»Û@ù¼¬ãlØ2u\\ßEÏ\rÖÜY=Ñ«¬0Ù&:\0ÞQ€Q×Èaпµô´!#ijV™•ºÏ¥½¸ž¸(\bˆ_²Ù\fÆ$é\v±‡|o/LhX«aÁ=-f¶AÜvqÛ¼ Ҙ*Õ±qµ¶¥ä¿Ÿ3Ô¸è¢Éx4ù\0ލ\t–˜á»\rj-=m\b—ld‘\\cæôQkkbalØ0e…N\0bòí•l{¥Áô\b‚WÄõÆÙ°ePé·긾‹|ˆ¹üßÝbI-Úó|ӌeLÔûXa²MÎQµ:t\0¼£â0»ÔA¥ßJוØ=mÄѤûôÖÓjéiCüÙn4Fˆg­Ð¸`Ús-Då3_L\nªÉ|\rÝ<qPªA\'\v¾† \fÉ%µhW³…o \tÔf¹ŸäaÎùÞ^˜ÉÙ)"˜Ð°´¨×Ç=³Y\r´.;\\½·­lºÀ ƒ¸í¶³¿š\fâ¶šÒ±t9GÕê¯wҝ&ÛƒÜs\vcã„;d”>jm\r¨Zjz\vÏäÿ\t“\'®\0\n±ž}D“ðÒ£\b‡hòþÂi]Wb÷Ëge€q6lçknvÔþà+ӉZzÚÌJÝgoß¹ùùホC¾·Վ°`è£ÖÖ~“Ñ¡ÄÂØ8RòßOñg»ÑgW¼¦Ýµ?K6²HÚ+\rØL\n¯öJ6`zAÃï`ßUßg¨ïŽn1y¾iFŒ³a˃f¼ Òo%6âhR•w\fÌG\v»¹"/&U¾;ºÅ(\v½²’Z´+j³\\§ÿ×Â1Ïе‹žÙ,®Þ[°Âd›&òc윣ju\n“m©\tœ?6ë…grW\0‚J¿•z¸â®+±{8¶\f›ŽÒ’\r¾Õå·ïÜ|!ßÛ\vÔÒӆBâÔñø³ÝhnƒÚ;[&¹öáw°owG·æZ\bˆpjÿÊ;f\\\vÿžei®bøÓÿkaEÏlxâ\n îÒ\r×TƒN³9a&g§÷`ÐMGiIÛwn>JjÑ®ÜZÖÙf\vß@ð;Ø7S®¼©Åž»ÞϲGéÿµ0ò½½ŠÂºÊ0“³S¦£´$6к“×Í)WÞT¿gÙ#.zf³¸JaÄh]”+o*7¾\v´¡Ž\fÃßZï-\0\0\0\0F;geŒvÎÊÊM©¯YëíNЊ+՝#„“¦Dá²Ö۝ôí¼ø> Wx›r2ë=6Ó­Q¶gKø!pŸ|%«Æàc¡…©Ý\b*ïæoO|@+®:{LËð6åd¶\r‚—}}ÑFz\vÓ·]0´ÒΖð3ˆ­—VBà>ùÛYœ\vPüMk›‡&2ÐÁUµR»T€v1ÞÍߞ˜ö¸û¹†\'‡ÿ½@â5ðéMsˎ(àmÊɦV­¬l* cf.û:úhÀ]Ÿ¢ô0䶓Uw×´1+°Ñûf~½]~œ-ágÚ†[/­V`HÈÅÆ\f)ƒýkLI°Âã‹¥† ø5P›ŸPšÖ6ÿÜíQšOK{\tprÃ=Û±…¼Ô¤v#¨âMDÍ(\0íbn;ŠýÎ滦©ƒqë\0,7ÐgI3\v>Õu0Y°¿}ðùF—zjàӛ,Û´þæ–Q ­z4ÝåHÇæ‚-\r«+‚KLçØ6\bž\rocT@ÆÌ{¡©ð/[ËcJ‘†Êå×½­€Déa ŽÈm\'«ŽV@ί&ß²é¸×#PxekvöÍ2ü°öU™z»ü6<€›S8[ÂÏ~`¥ª´-\fòk`a°/\'‹HäíÆáK«ý†.ŠR̶~7ûט@À°ýÓfô•]“y_:Ö+]³,@ñkj{– 6?¡æ\rXÄu«%3{@ùÝÒï¿æµŠž–*öØ­M“àä<TۃYÇ}ǸF ÝK\v\tr\r0n\të7‹OÐPùAæž$P\0ÚÅ;½ ÜvšMsj»=ìý‹s7K"ÜqpE¹âÖX¤íf=n Ï’(›¨÷\'\rqa+j«fûí]¤Þ~ûà?8À‡Zò.õ´¶I•ÆÖìÓý±‰°&_‹CÌ-;¢Š\\Ç@[õh`’\r»Ë‘D€¬ôŽÍ[Èöb>[P&ßkAº×&葏p°m\föVwi<ÞÆz ¹£é†ýB¯½š\'eð3ˆ#ËTí:à\t^|Ûn;¶–Ç”ð­ ñc\vä%0ƒuï}*Ú©FM¿ˆ6ÒÃÎ\rµ¦@\tB{{lÑÝ?—æXè]«ñG–"KϾYp¨Û“=tÕfF "ð\0›E•ÊÖì:Œí‹_­#ë¦sF!ëÚégнŒôvùm²Mž\bx\x007§>;PÂ1°õDw‹’!½Æ;Žûý\\ëh[\n.`oä-ÖÀ¢±¥ƒf.ÙÅ]I¼àI+‡vڍל¶¤òVû\r]Àj83¤R TÁ˜mýnÞVš\vMðÞê\v˹Á† ‡½wE¦Íè9àö\\*»&ól€A–ÿ&w¹bsP˽5k¬Ø\0\0\0\0X€â×ñ´t©†V£â\rh麍Š>\vܝK‹>J…¡\tݝCÞt},›÷ªgÉà?+7–}”ΖŸC\n;BR» Äû=ög£½°è6*ú°¶È-0žŽA°|Y&ãצÍ~ Wn& µ¹m+‹ó5«i$œ-?‡Ä­ÝPv„&Löfñåp0R½ð҅ö{ìÏ®û}X»_ýºl‘k%/ÉëÇø`m‘[8ísŒsfMÆ+毂`ù²ÚàeMÆ5FÍ$âïKrA·Ë–ü@®Ü¤ÀL\v\rF¨UÆø›Pg<ÃЅëjVÓH2Ö1Ÿy]Õ!Ýíˆ[»¡ÐÛYv(ì\bMplêšÙê¼9j^îÊá`¤’a‚s;çÔÐcg6­ñ©DõqK“\\÷0wÿçOüÁ­|#z¾úuÙæz—"×J^zW¨‰ÓÑþ*‹QýÀÚ"·˜ZÀ`1ܖÃi\\t§ÊëWÿJ\t€VÌ_#L½ôEǃ¾Gai´Á7ÊìAÕ<šŒkdn¼Íœ8•ÚÈޗ䂆U/‘Pöw²!¹‡-báϵH™{Á[ŠE‹\n§\\ªŒñÿò\f(6¡Îxn!,¯Ç§z\fŸ\'˜ÛÔ¬¦‘Œ,DF%ªå}*ð2³¼oqë<¦BºÛ:9ÒQ±˜\t1åO ·³ìø7Q;PØš\bXóM¡Þ¥îù^G9²ÕysêU›¤CÓÍS/ÐÕۓERD$Ãç|Cæ07ÈØzoH:­ÆÎlžNŽÙZãS‰c±^«åçýóe*¸î;`ànÙ·IèhmÃßþò€‡~W.øFôvx¤#=óšiesx¾Ìõ.”uÌÊD®•¼.wkµ¨!Èí(æ£ýUþ#‚W¥I!%«öÁ³4µ™3Öb0µ€Áh5b#¾\\\\{>¾‹Ò¸è(Š8\nÿN•ׯ5x¿“cÛç\f¬˜¿Fô]‘]ž\v2éåˈv¦“\b”q:ŽÂÒb )…Oqü˜Øƒª;€Hìx4× ´û\0‰2­£Ñ²Otš9q>¹“ék?ÅJ3¿\'ý)¸Þ¥©Z\t\f/\fªT¯î}$Ð7G¤2àî"dC¶¢†”r[Ä*¹ƒ\tï°Û‰\rg3-ȂÑúa‡Y9„eŽ÷úͯ’N¹^”¬n’$MŸpóä&P¼™Ä‡lBñ4Â&D)…ÅÄËRŽOõÖÏÏIAl\'É£»é_<ø±ßÞ/YˆŒ@Ùj[\vRTSÒ¶ÆúTàe¢Ô²fyßâ>ù=5—k–Ïÿ‰A„t·\vÜôUÜur-òá¨ãd~ë»äœ<bʟJâ(HiYéôÕðo¢v¨ï@¡\0\0\0\0á¶RïƒkÔb݆êר\vçaú䅼|d\n.á\f®QíøÅ…ns×ý\nyùëÏ«ó‰-h¤ö\\£.ùêñÁ›7w+z%Ä‹\v%ÿ=Yʝàß |VÏòò9õD Ö—™&<v/tÓ%Z2ó“\bݑNŽ7pøÜØ0¸F]Ѳ³Ó’XReÀ·6oîV×Ù¼¹µ:ST²h¼<JÝ E¥¿}ÃO^ˑ :Á¿AÛwí®¹ªkDX9«(äåsÉR·œ«1vJ9c™.3Mxυ—­X™}Lî˒$J´dÅü拧!`aF—2Ž"oÃ+N€¡öÈj@@š…`pºÆßUãY¿­\vPf§%±‡w^åÌñ´z£[lÞÜ­hŽBïµ\b¨ZGj\tt¦‹¿&Iéb £\bÔòLx,.”™š|{ûGú‘ñ¨~~û†ŸŸMÔpýRš&\0ut‚ƒ•4-l÷髆_ùirU׈“ã…gñ>ˆQbPÈËç±~™\bÓ£â2M\rVcì·©1Õt·é4Âå\\fšð½ÐÈß\rNõ>»Z±2û»`ÙÚæþ8l´H”hÉ©":&Ëÿ¼Ì*Iî#NCÀ¯õ’-Í(Ç,žF(D:9Þ¥Œk1ÇQíÛ&ç¿4Bí‘Õ£[Ã:Á†EÐ 0?æk®`P9A¿«ã;íD‡1Ã¥f‡‘JZ åìEOH:¹lþhV#î¼ï•¼S‹Ÿ’²j)À]\bôF·éBX™ºÈ€x\fšoÑ…ûgNjŸm`‹~Û2d´Žý°æa•™—t¢ËxM’÷É}“Ã1œrucs¨å™ñ·v±^-óPè25ùöӃ«·‰…øV?×4âQýÕT½ð|ä\\F.\v>›¨áß-ú»\'ÔïZ‘†\x008L\0êÙúR©ŽÝH´Ü2*iZØËß\b7¯Õ&ÖNct9,¾òÓÍ\b <¥¬ßÊD%&Ç\vÏÇqY £{wÁBÍ%. £ÄÁ¦ñ+á–æ\0 ´ûbý2ƒK`þçAN÷ðd*š…œÈõí8·\fŽåìnScå1éëï\b\nYMçh„Ë\r‰2™âùÊE:|Õz¡‘?›ÃÐÿí1«¿Þ|v94ÀkÛõd-ÒFÂvÀ(—¹’Çó³¼&îÉpØh#‘n:ÌÑ. I0˜ò¦REtL³ó&£×ù\bB6OZ­T’ÜGµ$Ž¨Ý€ñ^<6£±^ë%[¿]w´ÛWYU:á\vºX<P¹Šß¿Érg(ÄQˆJ×b«¯…Ï¥«l.ùƒLÎi­x-†ÅÜRp$j\0ŸF·†u§ԚÃ\vú{"½¨”@`.~¡Ö|‘\0\0\0\0C˦‡Ç<Ԅ[šSÏ\'\bsŒì®ô\b·4§K|’ žOæÝ„¶aYß,2еQh•£¾–ø$AÕ3‚Æ}™Q>R÷º\tmÃùÂËD²¾Ydñuÿãu.e°6åÃ7ãÖAñ çv$F}%gÛ¢,ñI‚o:ïëauV¨ªÓÑú2£.¹ù©=¢Ÿú~i9}5«]vÞ\rÚò…—‰±N1d}³È\'¶O£íà&)›«Z»»è‘<lʇo/!臫ò9Ä`T¾@;ÎíðhjHŒúJ\vG\\͏ƞÌ×`äâßZ/DXÞtÞ\v¿xŒÖÃꬕ\bL+SÖxR˜pÿôeF]·®àÚ3õz‰p>Ü;BN.x‰è©üÒrú¿Ô}j*V»)áð<­ºjoîqÌè¥\r^ÈæÆøObb!Vě‰üJÊ7±ÍNl+ž\r§FÛ9¹¾K#퀅j³¬Tx¡+Ð#;x“èÿؔߛ_©X3\v\\ϕŒWåsMœCôÉÇÙ§Š\f Ápí\0‚»K‡àÑÔE+wSõ•ÓÓSWˆÉACoÆ_?ýæô[a˜¯Á2Ûdgµsδd0ã´^ˆ°÷•.7¼é¼ÿ"{y€Ã8²&D큤‚®J*˜ViÚ>Ñ"¦¬ñam\nvå6%¦ý6¢èˌº«\0*=/[°nlé\'ì„Éd\'"Nà|¸£·šv„œ\\5O:Û± ˆòß¹£”/úh2¨~3¨û=ø|•Rݭ֙{*RÂáy\tGþZuÕÞ¾sYåé\nÞ.O\vÍKHÖkÌ̍ñŸFWÄ:Å8‡ñc¿ªùì@a_kù/”Q2‰Õi@–¢µÇÝÞ\'瞁`N3Y…½´Œ¶?rÏ}™õK&¦\bí¥!C‘7\0Z‘†„\vÕÇÊ­Ro`~ƒ,«Ø¨ðBWë;äРGvðãŒÐwg×J$$ì£ñ/ne²äÈâ6¿R±utô6>\bf}ÃÀ‘ù˜ZºSüE®Êç_el`Û>ö3˜õP´Ó‰Â”Bdþ@WÒXǂáÚÁ*|†EqæÕº@RMÆÒr\rtõŠVî¦ÉH!a7›ð"ü=w¦§§$ål£®“ƒíÛ5i€¯W*K\tÐÿx‹¼³-‘8è·Â{#E0_ƒes”%â÷Ï¿±´6æœiÉ¥WÏN!\fUbÇóš)»aºjpÇ=î+]n­àûéxÓy/;ߨ¿CEûüˆã|·ôq\\ô?×ÛpdMˆ3¯ë›8ÞØÎžY\\•\n^¢T"0­é–*“²\fyÐyªþJ(8FŽ¿ÂÚ쁲kÊm K‰¦†Ì\rýŸN6º\0\0\0\0\0\b\0\t\0\n\0\v\0\r\0\0\0\0\0\0\0#\0+\x003\0;\0C\0S\0c\0s\0ƒ\0£\0Ã\0ã\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ç\0K\0\0\0\0\0\0\0\0\0\t\0\r\0\0\0!\x001\0A\0a\0\0Á\0\b\f 0@`\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0@\0`\0\0\0\bP\0\0\b\0\bs\0\0\0\bp\0\0\b0\0\0\tÀ\0\n\0\0\b`\0\0\b \0\0\t \0\0\b\0\0\0\b€\0\0\b@\0\0\tà\0\0\0\bX\0\0\b\0\0\t\0;\0\0\bx\0\0\b8\0\0\tÐ\0\0\0\bh\0\0\b(\0\0\t°\0\0\b\b\0\0\bˆ\0\0\bH\0\0\tð\0\0\0\bT\0\0\b\0\bã\0+\0\0\bt\0\0\b4\0\0\tÈ\0\r\0\0\bd\0\0\b$\0\0\t¨\0\0\b\0\0\b„\0\0\bD\0\0\tè\0\b\0\0\b\\\0\0\b\0\0\t˜\0S\0\0\b|\0\0\b<\0\0\tØ\0\0\0\bl\0\0\b,\0\0\t¸\0\0\b\f\0\0\bŒ\0\0\bL\0\0\tø\0\0\0\bR\0\0\b\0\b£\0#\0\0\br\0\0\b2\0\0\tÄ\0\v\0\0\bb\0\0\b"\0\0\t¤\0\0\b\0\0\b‚\0\0\bB\0\0\tä\0\0\0\bZ\0\0\b\0\0\t”\0C\0\0\bz\0\0\b:\0\0\tÔ\0\0\0\bj\0\0\b*\0\0\t´\0\0\b\n\0\0\bŠ\0\0\bJ\0\0\tô\0\0\0\bV\0\0\b\0@\b\0\03\0\0\bv\0\0\b6\0\0\tÌ\0\0\0\bf\0\0\b&\0\0\t¬\0\0\b\0\0\b†\0\0\bF\0\0\tì\0\t\0\0\b^\0\0\b\0\0\tœ\0c\0\0\b~\0\0\b>\0\0\tÜ\0\0\0\bn\0\0\b.\0\0\t¼\0\0\b\0\0\bŽ\0\0\bN\0\0\tü\0`\0\0\0\bQ\0\0\b\0\bƒ\0\0\0\bq\0\0\b1\0\0\tÂ\0\n\0\0\ba\0\0\b!\0\0\t¢\0\0\b\0\0\b\0\0\bA\0\0\tâ\0\0\0\bY\0\0\b\0\0\t’\0;\0\0\by\0\0\b9\0\0\tÒ\0\0\0\bi\0\0\b)\0\0\t²\0\0\b\t\0\0\b‰\0\0\bI\0\0\tò\0\0\0\bU\0\0\b\0\b+\0\0\bu\0\0\b5\0\0\tÊ\0\r\0\0\be\0\0\b%\0\0\tª\0\0\b\0\0\b…\0\0\bE\0\0\tê\0\b\0\0\b]\0\0\b\0\0\tš\0S\0\0\b}\0\0\b=\0\0\tÚ\0\0\0\bm\0\0\b-\0\0\tº\0\0\b\r\0\0\b\0\0\bM\0\0\tú\0\0\0\bS\0\0\b\0\bÃ\0#\0\0\bs\0\0\b3\0\0\tÆ\0\v\0\0\bc\0\0\b#\0\0\t¦\0\0\b\0\0\bƒ\0\0\bC\0\0\tæ\0\0\0\b[\0\0\b\0\0\t–\0C\0\0\b{\0\0\b;\0\0\tÖ\0\0\0\bk\0\0\b+\0\0\t¶\0\0\b\v\0\0\b‹\0\0\bK\0\0\tö\0\0\0\bW\0\0\b\0@\b\0\03\0\0\bw\0\0\b7\0\0\tÎ\0\0\0\bg\0\0\b\'\0\0\t®\0\0\b\0\0\b‡\0\0\bG\0\0\tî\0\t\0\0\b_\0\0\b\0\0\tž\0c\0\0\b\0\0\b?\0\0\tÞ\0\0\0\bo\0\0\b/\0\0\t¾\0\0\b\0\0\b\0\0\bO\0\0\tþ\0`\0\0\0\bP\0\0\b\0\bs\0\0\0\bp\0\0\b0\0\0\tÁ\0\n\0\0\b`\0\0\b \0\0\t¡\0\0\b\0\0\0\b€\0\0\b@\0\0\tá\0\0\0\bX\0\0\b\0\0\t‘\0;\0\0\bx\0\0\b8\0\0\tÑ\0\0\0\bh\0\0\b(\0\0\t±\0\0\b\b\0\0\bˆ\0\0\bH\0\0\tñ\0\0\0\bT\0\0\b\0\bã\0+\0\0\bt\0\0\b4\0\0\tÉ\0\r\0\0\bd\0\0\b$\0\0\t©\0\0\b\0\0\b„\0\0\bD\0\0\té\0\b\0\0\b\\\0\0\b\0\0\t™\0S\0\0\b|\0\0\b<\0\0\tÙ\0\0\0\bl\0\0\b,\0\0\t¹\0\0\b\f\0\0\bŒ\0\0\bL\0\0\tù\0\0\0\bR\0\0\b\0\b£\0#\0\0\br\0\0\b2\0\0\tÅ\0\v\0\0\bb\0\0\b"\0\0\t¥\0\0\b\0\0\b‚\0\0\bB\0\0\tå\0\0\0\bZ\0\0\b\0\0\t•\0C\0\0\bz\0\0\b:\0\0\tÕ\0\0\0\bj\0\0\b*\0\0\tµ\0\0\b\n\0\0\bŠ\0\0\bJ\0\0\tõ\0\0\0\bV\0\0\b\0@\b\0\03\0\0\bv\0\0\b6\0\0\tÍ\0\0\0\bf\0\0\b&\0\0\t­\0\0\b\0\0\b†\0\0\bF\0\0\tí\0\t\0\0\b^\0\0\b\0\0\t\0c\0\0\b~\0\0\b>\0\0\tÝ\0\0\0\bn\0\0\b.\0\0\t½\0\0\b\0\0\bŽ\0\0\bN\0\0\tý\0`\0\0\0\bQ\0\0\b\0\bƒ\0\0\0\bq\0\0\b1\0\0\tÃ\0\n\0\0\ba\0\0\b!\0\0\t£\0\0\b\0\0\b\0\0\bA\0\0\tã\0\0\0\bY\0\0\b\0\0\t“\0;\0\0\by\0\0\b9\0\0\tÓ\0\0\0\bi\0\0\b)\0\0\t³\0\0\b\t\0\0\b‰\0\0\bI\0\0\tó\0\0\0\bU\0\0\b\0\b+\0\0\bu\0\0\b5\0\0\tË\0\r\0\0\be\0\0\b%\0\0\t«\0\0\b\0\0\b…\0\0\bE\0\0\të\0\b\0\0\b]\0\0\b\0\0\t›\0S\0\0\b}\0\0\b=\0\0\tÛ\0\0\0\bm\0\0\b-\0\0\t»\0\0\b\r\0\0\b\0\0\bM\0\0\tû\0\0\0\bS\0\0\b\0\bÃ\0#\0\0\bs\0\0\b3\0\0\tÇ\0\v\0\0\bc\0\0\b#\0\0\t§\0\0\b\0\0\bƒ\0\0\bC\0\0\tç\0\0\0\b[\0\0\b\0\0\t—\0C\0\0\b{\0\0\b;\0\0\t×\0\0\0\bk\0\0\b+\0\0\t·\0\0\b\v\0\0\b‹\0\0\bK\0\0\t÷\0\0\0\bW\0\0\b\0@\b\0\03\0\0\bw\0\0\b7\0\0\tÏ\0\0\0\bg\0\0\b\'\0\0\t¯\0\0\b\0\0\b‡\0\0\bG\0\0\tï\0\t\0\0\b_\0\0\b\0\0\tŸ\0c\0\0\b\0\0\b?\0\0\tß\0\0\0\bo\0\0\b/\0\0\t¿\0\0\b\0\0\b\0\0\bO\0\0\tÿ\0\0\0\0A\0@\0!\0 \t\0\b\0@\0\0\0\0\0a\0`\01\00\r\0\fÁ\0@\0\0\0\0\0\0\n\0\0\0\n\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\v\0\0\0\n\0\0\0\n\0\0\0\v\0\0\0\n\0\0\0\n\0\0\0\n\0\0\0\n\0A€ø\0\v\v\0\0\0\v\0\0\0\n\0\0\0\n\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\v\0A°ù\0\vA\0\v\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0\v\0\0\0\0\0\0\0\0\0\n\n\n\0\0\t\v\0\0\t\v\0\0\v\0\0\0\0\0Aú\0\v!\0\0\0\0\0\0\0\0\0\v\r\0\r\0\0\0\t\0\0\0\t\0\0\0\0A»ú\0\v\f\0AÇú\0\v\0\0\0\0\0\0\0\0\t\f\0\0\0\0\0\f\0\0\f\0Aõú\0\v\0Aû\0\v\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0A¯û\0\v\0A»û\0\v\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0\0\0\0\0\0Aòû\0\v\0\0\0\0\0\0\0\0\0\t\0A£ü\0\v\0A¯ü\0\v\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0AÝü\0\v\0Aéü\0\v\'\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0\x000123456789ABCDEF\0Aý\0\v\t€D\0\0\0\0\0\0A¤ý\0\v\f\0A¼ý\0\v\n\r\0\0\0\0\0\0@D\0AÔý\0\v\0Aäý\0\v\bÿÿÿÿÿÿÿÿ'),A((await async function(A){return async function(A){var t=j;try{var r=await async function(A){return A}(t);return await WebAssembly.instantiate(r,A)}catch(A){s(`failed to asynchronously prepare wasm: ${A}`),a(A);}}(A)}(r)).instance))}(),function(){function A(){if(t.calledRun=!0,!b){if(i=!0,G.i(),v?.(t),t.onRuntimeInitialized?.(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var A=t.postRun.shift();q.push(A);}B(q);}}if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)Q();B(u),t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),A();},1)):A();}(),i?t:new Promise((A,t)=>{v=A,n=t;})};let bA=null,iA=null;async function oA(){return bA||(iA||(iA=sA().then(A=>(bA=A,A))),iA)}async function aA(A,t,r,e=!1){if(e&&0===A.length)return new Uint8Array(0);const v=await oA(),n=function(A,t){const r=A._malloc(t.length);return A.HEAPU8.set(t,r),r}(v,A),j=v._malloc(4);try{const A=r(v,n,j);if(0===A)throw new Error(`${t} failed`);const e=v.getValue(j,"i32"),f=function(A,t,r){const e=new Uint8Array(r);return e.set(A.HEAPU8.subarray(t,t+r)),e}(v,A,e);return v._free(A),f}finally{v._free(n),v._free(j);}}async function gA(A){return A.bytes?A.bytes():new Uint8Array(await A.arrayBuffer())}class IA{url;_stat;fetchImplementation;baseHeaders;baseOverrides;constructor(A,t={}){this.url=A,this.baseHeaders=t.headers??{},this.baseOverrides=t.overrides??{},this.fetchImplementation=t.fetch??globalThis.fetch.bind(globalThis);}buildRequest(A,t){return {...this.baseOverrides,...A.overrides,headers:{...this.baseHeaders,...A.headers,...t},method:"GET",redirect:"follow",mode:"cors",signal:A.signal}}async fetch(A,t){const r=t=>new Error(`${function(A){return ("object"==typeof A&&null!==A&&"message"in A&&"string"==typeof A.message?A.message:`${A}`).replace(/\.$/,"")}(t)} fetching ${A}`,{cause:t});let e;try{e=await this.fetchImplementation(A,t);}catch(v){if(!`${v}`.includes("Failed to fetch"))throw r(v);console.warn(`generic-filehandle: refetching ${A} to attempt to work around chrome CORS header caching bug`);try{e=await this.fetchImplementation(A,{...t,cache:"reload"});}catch(A){throw r(A)}}return e}async read(A,t,r={}){if(0===A)return new Uint8Array(0);if(Number.isNaN(A)||Number.isNaN(t))throw new TypeError(`read() called with NaN length or position (length=${A}, position=${t}). The index file may be corrupt.`);const e=await this.fetch(this.url,this.buildRequest(r,{range:`bytes=${t}-${t+A-1}`}));if(416===e.status)return new Uint8Array(0);if(!e.ok)throw new Error(`HTTP ${e.status} fetching ${this.url}`);if(200===e.status&&0===t||206===e.status){const t=e.headers.get("content-range"),r=/\/(\d+)$/.exec(t??"");r?.[1]&&(this._stat={size:parseInt(r[1],10)});const v=await gA(e);return this._stat||200!==e.status||(this._stat={size:v.byteLength}),v.byteLength<=A?v:v.subarray(0,A)}throw new Error(200===e.status?`${this.url} fetch returned status 200, expected 206`:`HTTP ${e.status} fetching ${this.url}`)}async readFile(A={}){const t="string"==typeof A?A:A.encoding,r="string"==typeof A?{}:A,e=await this.fetch(this.url,this.buildRequest(r));if(!e.ok)throw new Error(`HTTP ${e.status} fetching ${this.url}`);if("utf8"===t)return e.text();if(t)throw new Error(`unsupported encoding: ${t}`);return gA(e)}async stat(){return this._stat||await this.read(10,0),this._stat??{size:0}}close(){return Promise.resolve()}}class cA{readFile(){return Promise.reject(new Error("unimplemented"))}read(){return Promise.reject(new Error("unimplemented"))}stat(){return Promise.reject(new Error("unimplemented"))}close(){return Promise.reject(new Error("unimplemented"))}}function CA(A,t,r){if(r)return r;if(A)return new IA(A);if(t)return new cA(t);throw new Error("no url, path, or filehandle provided, cannot open")}async function EA(A){return function(A){return aA(A,"zlib_uncompress",(t,r,e)=>t._zlib_uncompress(r,A.length,e),!0)}(A)}class lA{parameters;dataType;constructor(A,t){this.parameters=A,this.dataType=t;}getBytesSubarray(A,t,r){}}class hA extends lA{decode(A,t,r,e){const{blockContentId:v}=this.parameters,n=r[v];if(!n)throw new nA(`no block found with content ID ${v}`);const j=e.externalBlocks.getCursor(v);return this._decodeByteArray(n,j)}_decodeByteArray(A,t){const r=A.content,{stopByte:e}=this.parameters,v=t.bytePosition,n=r.length;let j=v;for(;j<n&&r[j]!==e;)j++;if(j>=n)throw new fA("byteArrayStop reading beyond length of data buffer?");return t.bytePosition=j+1,r.subarray(v,j)}}function dA(A){const t=new Int32Array(A.length);let r=0,e=0;const v=A.length;for(;e<v;){const v=A[e];v<128?(t[r++]=v,e+=1):v<192?(t[r++]=(63&v)<<8|A[e+1],e+=2):v<224?(t[r++]=(31&v)<<16|A[e+1]<<8|A[e+2],e+=3):v<240?(t[r++]=(15&v)<<24|A[e+1]<<16|A[e+2]<<8|A[e+3],e+=4):(t[r++]=(15&v)<<28|A[e+1]<<20|A[e+2]<<12|A[e+3]<<4|15&A[e+4],e+=5);}return t.subarray(0,r)}class kA extends lA{blockContentId;constructor(A,t){if(super(A,t),this.blockContentId=A.blockContentId,"int"!==this.dataType&&"byte"!==this.dataType)throw new vA(`${this.dataType} decoding not yet implemented by EXTERNAL codec`)}decode(A,t,r,e){if("int"===this.dataType){const A=e.preDecodedIntBlocks?.get(this.blockContentId);if(A)return A.values[A.index++];const t=r[this.blockContentId];if(!t)throw new nA(`no block found with content ID ${this.blockContentId}`);const v=e.externalBlocks.getCursor(this.blockContentId);return u(t.content,v)}{const A=r[this.blockContentId];if(!A)throw new nA(`no block found with content ID ${this.blockContentId}`);const t=e.externalBlocks.getCursor(this.blockContentId);if(t.bytePosition>=A.content.length)throw new fA("attempted to read beyond end of block. this file seems truncated.");return A.content[t.bytePosition++]}}getBytesSubarray(A,t,r){const{blockContentId:e}=this.parameters,v=A[e];if(!v)return;const n=t.externalBlocks.getCursor(e),j=n.bytePosition,f=j+r;if(f>v.content.length)throw new fA("attempted to read beyond end of block. this file seems truncated.");return n.bytePosition=f,v.content.subarray(j,f)}}const BA=["raw","gzip","bzip2","lzma","rans","rans4x16","arith","fqzcomp","tok3"],qA=["FILE_HEADER","COMPRESSION_HEADER","MAPPED_SLICE_HEADER","UNMAPPED_SLICE_HEADER","EXTERNAL_DATA","CORE_DATA"];function uA(A,t,r){return r>=3?x(A,t):2===r?Q(A,t):(console.warn("recordCounter=0"),[0,0])}function QA(){return {parser:(A,t=0)=>{const r=new DataView(A.buffer,A.byteOffset,A.length);let e=0;const v=B(A.subarray(e,e+4));e+=4;const n=r.getUint8(e);e+=1;const j=r.getUint8(e);e+=1;const f=k(A.subarray(e,e+20));return e+=20,{value:{magic:v,majorVersion:n,minorVersion:j,fileId:f},offset:e}},maxLength:26}}function xA(A,t,r){const e=B(A.subarray(t,r)),v=[];for(let A=0;A<e.length;A+=3)v.push(e.slice(A,A+3));return v}function mA(){return {parser:(A,t)=>{const[r,e]=Q(A,t);t+=e;const v=A.subarray(t,t+r);t+=r;const n=[];let j=0,f=0;for(;f<v.length;f++)v[f]||(n.push(xA(v,j,f)),j=f+1);return f>j&&n.push(xA(v,j,f)),{value:{size:r,ents:n},offset:t}}}}function NA(A){const t={};for(const{key:r,value:e}of A.ents)t[r]&&console.warn(`duplicate key ${r} in map`),t[r]=e;return t}function wA(A){return "number"==typeof A.refSeqId}function pA(A){return {parser:(t,r)=>{const[e,v]=Q(t,r);r+=v;const[n,j]=uA(t,r,A);r+=j;const[f,s]=Q(t,r);r+=s;const[b,i]=Q(t,r);r+=i;const o=[];for(let A=0;A<b;A++){const[A,e]=Q(t,r);r+=e,o.push(A);}let a;return A>=2&&(a=[...t.subarray(r,r+16)],r+=16),{value:{recordCounter:n,md5:a,contentIds:o,numContentIds:b,numBlocks:f,numRecords:e},offset:r}},maxLength:A=>40+5*A}}function yA(A){return {parser:(t,r)=>{const[e,v]=Q(t,r);r+=v;const[n,j]=Q(t,r);r+=j;const[f,s]=Q(t,r);r+=s;const[b,i]=Q(t,r);r+=i;const[o,a]=uA(t,r,A);r+=a;const[g,I]=Q(t,r);r+=I;const[c,C]=Q(t,r);r+=C;const E=[];for(let A=0;A<c;A++){const[A,e]=Q(t,r);r+=e,E.push(A);}const[l,h]=Q(t,r);let d;return r+=h,A>=2&&(d=[...t.subarray(r,r+16)],r+=16),{value:{md5:d,numBlocks:g,numRecords:b,numContentIds:c,refSeqSpan:f,refSeqId:e,refSeqStart:n,recordCounter:o,refBaseBlockId:l,contentIds:E},offset:r}},maxLength:A=>60+5*A}}function DA(A,t){const r=A,e=new DataView(r.buffer,r.byteOffset,r.length),[v,n]=Q(A,t);t+=n;const[j,f]=Q(A,t);t+=f;const s={};if(0===v);else if(1===v){const[r,e]=Q(A,t);s.blockContentId=r,t+=e;}else if(2===v){const[r,e]=Q(A,t);s.offset=r,t+=e;const[v,n]=Q(A,t);s.M=v,t+=n;}else if(3===v){const[r,e]=Q(A,t);t+=e;const v=[];for(let e=0;e<r;e++){const[r,e]=Q(A,t);v.push(r),t+=e;}const[n,j]=Q(A,t);t+=j;const f=[];for(let r=0;r<n;r++){const[r,e]=Q(A,t);t+=e,f.push(r);}s.numCodes=r,s.symbols=v,s.numLengths=n,s.bitLengths=f;}else if(4===v){const{value:r,offset:e}=DA(A,t);s.lengthsEncoding=r,t=e;const{value:v,offset:n}=DA(A,t);s.valuesEncoding=v,t=n;}else if(5===v){s.stopByte=e.getUint8(t),t+=1;const[r,v]=Q(A,t);s.blockContentId=r,t+=v;}else if(6===v){const[r,e]=Q(A,t);s.offset=r,t+=e;const[v,n]=Q(A,t);s.length=v,t+=n;}else if(7===v){const[r,e]=Q(A,t);s.offset=r,t+=e;const[v,n]=Q(A,t);s.K=v,t+=n;}else if(8===v){const[r,e]=Q(A,t);s.offset=r,t+=e;const[v,n]=Q(A,t);s.log2m=v,t+=n;}else {if(9!==v)throw new Error(`unknown codecId ${v}`);{const[r,e]=Q(A,t);s.offset=r,t+=e;}}return {value:{codecId:v,parametersBytes:j,parameters:s},offset:t}}function FA(){return {parser:(A,t)=>{const[r,e]=Q(A,t);t+=e;const[v,n]=Q(A,t);t+=n;const j=[];for(let r=0;r<v;r++){const r=String.fromCharCode(A[t])+String.fromCharCode(A[t+1]);t+=2;const{value:e,offset:v}=DA(A,t);t=v,j.push({key:r,value:e});}return {value:{mapSize:r,ents:j,mapCount:v},offset:t}}}}function SA(){return {parser:(A,t)=>{const[r,e]=Q(A,t);t+=e;const[v,n]=Q(A,t);t+=n;const j=[];for(let r=0;r<v;r++){const[r,e]=Q(A,t);t+=e;const v=String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(255&r),{value:n,offset:f}=DA(A,t);t=f,j.push({key:v,value:n});}return {value:{mapSize:r,ents:j,mapCount:v},offset:t}}}}function GA(A){return {maxLength:52,parser:(t,r)=>{const e=t,v=new DataView(e.buffer,e.byteOffset,e.length).getInt32(r,!0);r+=4;const[n,j]=Q(t,r);r+=j;const[f,s]=Q(t,r);r+=s;const[b,i]=Q(t,r);r+=i;const[o,a]=Q(t,r);r+=a;const[g,I]=uA(t,r,A);let c;if(r+=I,A>1){const[A,e]=x(t,r);c=A,r+=e;}const[C,E]=Q(t,r);r+=E;const[l,h]=Q(t,r);return {value:{length:v,refSeqId:n,refSeqStart:f,alignmentSpan:b,numBlocks:C,numLandmarks:l,numBases:c,recordCounter:g,numRecords:o},offset:r+=h}}}}function RA(A){return {parser:(t,r)=>{const e=t,v=new DataView(e.buffer,e.byteOffset,e.length),[n,j]=Q(t,r);r+=j;const f=[];for(let A=0;A<n;A++){const[A,e]=Q(t,r);r+=e,f.push(A);}let s;return A>=3&&(s=v.getUint32(r,!0),r+=4),{value:{...void 0===s?{}:{crc32:s},numLandmarks:n,landmarks:f},offset:r}},maxLength:A=>5+5*A+4}}function KA(A){return {cramFileDefinition:QA(),cramBlockHeader:{parser:(A,t=0)=>{const r=A,e=new DataView(r.buffer,r.byteOffset,r.length);let v=0;const n=e.getUint8(v),j=BA[n];if(!j)throw new Error(`compression method number ${n} not implemented`);v+=1;const f=e.getUint8(v),s=qA[f];if(!s)throw new Error(`invalid block content type id ${f}`);v+=1;const[b,i]=Q(A,v);v+=i;const[o,a]=Q(A,v);v+=a;const[g,I]=Q(A,v);return v+=I,{offset:v,value:{uncompressedSize:g,compressedSize:o,contentId:b,contentType:s,compressionMethod:j}}},maxLength:17},cramBlockCrc32:{parser:(A,t)=>{const r=A,e=new DataView(r.buffer,r.byteOffset,r.length).getUint32(t,!0);return {offset:t+=4,value:{crc32:e}}},maxLength:4},cramDataSeriesEncodingMap:FA(),cramTagEncodingMap:SA(),cramCompressionHeader:{parser:(A,t)=>{const{value:r,offset:e}=((A,t)=>{const r=A,e=new DataView(r.buffer,r.byteOffset,r.length),[v,n]=Q(A,t);t+=n;const[j,f]=Q(A,t);t+=f;const s=[];for(let r=0;r<j;r++){const r=String.fromCharCode(A[t])+String.fromCharCode(A[t+1]);if(t+=2,"MI"===r||"UI"===r||"PI"===r||"RN"===r||"AP"===r||"RR"===r)s.push({key:r,value:!!e.getUint8(t)}),t+=1;else if("SM"===r)s.push({key:r,value:[e.getUint8(t),e.getUint8(t+1),e.getUint8(t+2),e.getUint8(t+3),e.getUint8(t+4)]}),t+=5;else {if("TD"!==r)throw new Error(`unknown key ${r}`);{const{offset:e,value:v}=mA().parser(A,t);s.push({key:r,value:v.ents}),t=e;}}}return {value:{mapSize:v,mapCount:j,ents:s},offset:t}})(A,t);t=e;const{value:v,offset:n}=FA().parser(A,t);t=n;const{value:j,offset:f}=SA().parser(A,t);return t=f,{value:{dataSeriesEncoding:NA(v),preservation:NA(r),tagEncoding:NA(j)},offset:t}}},cramEncoding:{parser:(A,t)=>DA(A,t)},cramUnmappedSliceHeader:pA(A),cramMappedSliceHeader:yA(A),cramContainerHeader1:GA(A),cramContainerHeader2:RA(A)}}function MA(A,t){if("Z"===A)return k(t);if("A"===A)return String.fromCharCode(t[0]);if("C"===A)return t[0];if("c"===A)return t[0]>127?t[0]-256:t[0];if("B"===A)return function(A){const t=String.fromCharCode(A[0]),r=new DataView(A.buffer,A.byteOffset,A.byteLength),e=r.getUint32(1,!0),v=new Array(e);if("c"===t)for(let A=0;A<e;A++)v[A]=r.getInt8(5+A);else if("C"===t)for(let A=0;A<e;A++)v[A]=r.getUint8(5+A);else if("s"===t)for(let A=0;A<e;A++)v[A]=r.getInt16(5+2*A,!0);else if("S"===t)for(let A=0;A<e;A++)v[A]=r.getUint16(5+2*A,!0);else if("i"===t)for(let A=0;A<e;A++)v[A]=r.getInt32(5+4*A,!0);else if("I"===t)for(let A=0;A<e;A++)v[A]=r.getUint32(5+4*A,!0);else {if("f"!==t)throw new Error(`unknown type: ${t}`);for(let A=0;A<e;A++)v[A]=r.getFloat32(5+4*A,!0);}return v}(t);if("H"===A)return Number.parseInt(k(t).replace(/^0x/,""),16);const r=new DataView(t.buffer,t.byteOffset,t.byteLength);if("I"===A)return r.getUint32(0,!0);if("i"===A)return r.getInt32(0,!0);if("s"===A)return r.getInt16(0,!0);if("S"===A)return r.getUint16(0,!0);if("f"===A)return r.getFloat32(0,!0);throw new nA(`Unrecognized tag type ${A}`)}function OA(A,t,r){const e=t?.("QS",A);if(e)return e;const v=new Uint8Array(A);for(let t=0;t<A;t++)v[t]=r();return v}function HA(A,t,r,e,v,n,j,f,s,b,i,o,a,g){let I=t.BF();const c=t.CF();if(!wA(n.parsedContent))throw new Error("slice header not mapped");const C=b>1&&-2===n.parsedContent.refSeqId?t.RI():n.parsedContent.refSeqId,E=t.RL();let l=t.AP();v.APdelta&&(l+=s.lastAlignmentStart),s.lastAlignmentStart=l;const h=t.RG();let d,q,u,Q;if(v.readNamesIncluded&&(d=t.RN()),S.isDetached(c)){const A=t.MF();let r;v.readNamesIncluded||(d=t.RN(),r=k(d));const e=t.NS(),n=t.NP();(A||e>-1)&&(q={flags:A,sequenceId:e,alignmentStart:n,readName:r}),u=t.TS(),G.isUnmapped(A)&&(I=F.setMateUnmapped(I)),G.isOnNegativeStrand(A)&&(I=F.setMateReverseComplemented(I));}else S.isWithMateDownstream(c)&&(Q=t.NF()+i+1);const x=t.TL();if(x<0)throw new nA("invalid TL index");const m={},N=v.getTagNames(x),w=N.length;if(!1!==a?.decodeTags)for(let A=0;A<w;A++){const t=N[A],r=e[t](),v=t[0]+t[1],n=t[2];m[v]=void 0===r?void 0:"number"==typeof r?r:MA(n,r);}let p,y,D,R,K;if(F.isSegmentUnmapped(I))S.isDecodeSequenceAsStar(c)?(K=null,R=null):(K=function(A,t,r){const e=t?.("BA",A);if(e)return B(e);const v=new Uint8Array(A);for(let t=0;t<A;t++)v[t]=r();return B(v)}(E,g,t.BA),S.isPreservingQualityScores(c)&&(R=OA(E,g,t.QS)));else {const A=t.FN();if(y=E,A){const[e,v]=function(A,t,r,e){let v=0,n=0;const j=A-1,f=new Array(t),s=r.FC,b=r.FP;for(let A=0;A<t;A++){const t=s();v+=b();const r=e[t];if(!r)throw new nA(`invalid read feature code "${String.fromCharCode(t)}"`);const i=r[0],o=r[1]();f[A]={code:i,pos:v,refPos:v+j+n,data:o},"D"===i||"N"===i?n+=o:"I"===i||"S"===i?n-=o.length:"i"===i&&(n-=1);}return [f,n]}(l,A,t,r);p=e,y+=v;}Number.isNaN(y)&&(console.warn(`${C}:${l} record has invalid read features`),y=E),D=t.MQ(),S.isPreservingQualityScores(c)&&(R=OA(E,g,t.QS));}return {readLength:E,sequenceId:C,cramFlags:c,flags:I,alignmentStart:l,readGroupId:h,readNameRaw:d,mate:q,templateSize:u,mateRecordNumber:Q,readFeatures:p,lengthOnRef:y,mappingQuality:D,qualityScores:R,readBases:K,tags:m,uniqueId:o}}function LA(A,t,r){let{bytePosition:e,bitPosition:v}=t;if(1===r){const r=A[e]>>v&1;return v-=1,v<0&&(e+=1,v=7),t.bytePosition=e,t.bitPosition=v,r}let n=0;for(let t=0;t<r;t++)n<<=1,n|=A[e]>>v&1,v-=1,v<0&&(e+=1,v=7);return t.bytePosition=e,t.bitPosition=v,n}const JA={1:kA,3:class extends lA{codes={};codeBook={};sortedCodes=[];valuesByIndex=[];bitLengthsByIndex=[];bitCodeToIndex=[];constructor(A,t){if(super(A,t),!["byte","int"].includes(this.dataType))throw new TypeError(`${this.dataType} decoding not yet implemented by HUFFMAN_INT codec`);this.buildCodeBook(),this.buildCodes(),this.buildCaches(),this.sortedCodes.length>0&&0===this.sortedCodes[0].bitLength&&(this._decode=this._decodeZeroLengthCode);}buildCodeBook(){const A=new Array(this.parameters.numCodes);for(let t=0;t<this.parameters.numCodes;t++)A[t]={symbol:this.parameters.symbols[t],bitLength:this.parameters.bitLengths[t]};A.sort((A,t)=>A.bitLength-t.bitLength||A.symbol-t.symbol),this.codeBook={},A.forEach(A=>{this.codeBook[A.bitLength]||(this.codeBook[A.bitLength]=[]),this.codeBook[A.bitLength].push(A.symbol);});}buildCodes(){this.codes={};let A=0,t=-1;Object.entries(this.codeBook).forEach(([r,e])=>{const v=Number.parseInt(r,10);e.forEach(r=>{const e={bitLength:v,value:r,bitCode:0};t+=1;const n=v-A;if(t<<=n,e.bitCode=t,A+=n,function(A){let t=A-(A>>1)&1431655765;return t=(858993459&t)+(t>>2&858993459),16843009*(t+(t>>4)&252645135)>>24}(t)>v)throw new nA("Symbol out of range");this.codes[r]=e;});});}buildCaches(){if(this.sortedCodes=Object.values(this.codes).sort((A,t)=>A.bitLength-t.bitLength||A.bitCode-t.bitCode),this.valuesByIndex=this.sortedCodes.map(A=>A.value),this.bitLengthsByIndex=this.sortedCodes.map(A=>A.bitLength),this.sortedCodes.length>0){let A=0;for(const t of this.sortedCodes)t.bitCode>A&&(A=t.bitCode);this.bitCodeToIndex=new Array(A+1).fill(-1);for(let A=0;A<this.sortedCodes.length;A++)this.bitCodeToIndex[this.sortedCodes[A].bitCode]=A;}}decode(A,t,r,e){return this._decode(A,t,e.coreBlock)}_decodeZeroLengthCode(){return this.sortedCodes[0].value}_decode(A,t,r){const e=t.content;let v=0,n=0;for(let A=0;A<this.sortedCodes.length;A+=1){const t=this.sortedCodes[A].bitLength,j=t-v;j>0&&(n<<=j,n|=LA(e,r,j)),v=t;const f=this.bitCodeToIndex[n]??-1;if(f>-1&&this.bitLengthsByIndex[f]===t)return this.valuesByIndex[f];for(;A+1<this.sortedCodes.length&&this.sortedCodes[A+1].bitLength===t;)A+=1;}throw new nA("Huffman symbol not found.")}},4:class extends lA{instantiateCodec;_lengthCodecCache;_dataCodecCache;constructor(A,t,r){super(A,t),this.instantiateCodec=r;}decode(A,t,r,e){const v=this._getLengthCodec().decode(A,t,r,e);if(v>0){const n=this._getDataCodec(),j=n.getBytesSubarray(r,e,v);if(j)return j;{const j=new Uint8Array(v);for(let f=0;f<v;f+=1)j[f]=n.decode(A,t,r,e);return j}}return new Uint8Array(0)}_getLengthCodec(){return this._lengthCodecCache??=this.instantiateCodec(this.parameters.lengthsEncoding,"int"),this._lengthCodecCache}_getDataCodec(){return this._dataCodecCache??=this.instantiateCodec(this.parameters.valuesEncoding,"byte"),this._dataCodecCache}},5:hA,6:class extends lA{constructor(A,t){if(super(A,t),"int"!==this.dataType)throw new vA(`${this.dataType} decoding not yet implemented by BETA codec`)}decode(A,t,r,e){return function(A,t,r,e){let{bytePosition:v,bitPosition:n}=t;if(8===r&&7===n){const r=A[v];return t.bytePosition=v+1,r-e}let j=0;for(let t=0;t<r;t++)j<<=1,j|=A[v]>>n&1,n-=1,n<0&&(v+=1,n=7);return t.bytePosition=v,t.bitPosition=n,j-e}(t.content,e.coreBlock,this.parameters.length,this.parameters.offset)}},7:class extends lA{constructor(A,t){if(super(A,t),"int"!==this.dataType)throw new vA(`${this.dataType} decoding not yet implemented by SUBEXP codec`)}decode(A,t,r,e){return function(A,t,r,e){let{bytePosition:v,bitPosition:n}=t,j=0;for(;;){const t=A[v]>>n&1;if(n-=1,n<0&&(v+=1,n=7),0===t)break;j+=1;}const f=0===j?r:j+r-1;let s=0;for(let t=0;t<f;t++)s<<=1,s|=A[v]>>n&1,n-=1,n<0&&(v+=1,n=7);return t.bytePosition=v,t.bitPosition=n,(0===j?s:1<<f|s)-e}(t.content,e.coreBlock,this.parameters.K,this.parameters.offset)}},9:class extends lA{constructor(A,t){if(super(A,t),"int"!==this.dataType)throw new vA(`${this.dataType} decoding not yet implemented by GAMMA codec`)}decode(A,t,r,e){return function(A,t,r){let{bytePosition:e,bitPosition:v}=t,n=1;for(;;){if(e>=A.length)throw new fA("read beyond end of core block; file seems truncated");const t=A[e]>>v&1;if(v-=1,v<0&&(e+=1,v=7),1===t)break;n+=1;}let j=0;const f=n-1;if(f>0)for(let t=0;t<f;t++)j<<=1,j|=A[e]>>v&1,v-=1,v<0&&(e+=1,v=7);return t.bytePosition=e,t.bitPosition=v,(j|1<<n-1)-r}(t.content,e.coreBlock,this.parameters.offset)}}};function _A(A,t){const r=(e="ignore"===t?0:A.codecId,JA[e]);var e;if(!r)throw new vA(`no codec implemented for codec ID ${A.codecId}`);return new r(A.parameters,t,_A)}const PA={BF:"int",CF:"int",RI:"int",RL:"int",AP:"int",RG:"int",MF:"int",NS:"int",NP:"int",TS:"int",NF:"int",TC:"byte",TN:"int",FN:"int",FC:"byte",FP:"int",BS:"byte",IN:"byteArray",SC:"byteArray",DL:"int",BA:"byte",BB:"byteArray",RS:"int",PD:"int",HC:"int",MQ:"int",RN:"byteArray",QS:"byte",QQ:"byteArray",TL:"int"},$A=[["C","G","T","N"],["A","G","T","N"],["A","C","T","N"],["A","C","G","N"],["A","C","G","T"]];class YA{readNamesIncluded;APdelta;referenceRequired;tagIdsDictionary;substitutionMatrix;dataSeriesCodecCache={};tagCodecCache={};tagEncoding={};dataSeriesEncoding;constructor(A){this.readNamesIncluded=A.preservation.RN??!1,this.APdelta=A.preservation.AP??!0,this.referenceRequired=A.preservation.RR??!0,this.tagIdsDictionary=A.preservation.TD,this.substitutionMatrix=function(A){const t=new Array(5);for(let r=0;r<5;r++){const e=new Array(4),v=A[r],n=$A[r];for(let A=0;A<4;A++)e[v>>6-2*A&3]=n[A];t[r]=e;}return t}(A.preservation.SM),this.dataSeriesEncoding=A.dataSeriesEncoding,this.tagEncoding=A.tagEncoding;}getCodecForTag(A){if(!this.tagCodecCache[A]){const t=this.tagEncoding[A];if(!t)throw new Error("Error, no tag encoding");this.tagCodecCache[A]=_A(t,"byteArray");}return this.tagCodecCache[A]}getTagNames(A){return this.tagIdsDictionary[A]}getCodecForDataSeries(A){let t=this.dataSeriesCodecCache[A];if(void 0===t){const r=this.dataSeriesEncoding[A];r&&(t=_A(r,PA[A]),this.dataSeriesCodecCache[A]=t);}return t}toJSON(){const A={};return Object.keys(this).forEach(t=>{t.endsWith("Cache")||(A[t]=this[t]);}),A}}const TA=new Uint8Array(0);function UA(A,t,r,e){const v=!!(e.mate||void 0!==e.mateRecordNumber&&e.mateRecordNumber!==t);if(!r.readName){const A=String(r.uniqueId);r._syntheticReadName=A,e._syntheticReadName=A;}r.mate={sequenceId:e.sequenceId,alignmentStart:e.alignmentStart,uniqueId:e.uniqueId},e.readName&&(r.mate.readName=e.readName),e.mate||void 0!==e.mateRecordNumber||(e.mate={sequenceId:r.sequenceId,alignmentStart:r.alignmentStart,uniqueId:r.uniqueId},r.readName&&(e.mate.readName=r.readName)),r.flags|=j,e.flags&s&&(r.flags|=b),r.flags&s&&(e.flags|=b),e.flags&i&&(r.flags|=o),r.flags&i&&(e.flags|=o),void 0===r.templateLength&&(v?function(A,t,r){const e=[r];let v=r;for(;void 0!==v.mateRecordNumber&&v.mateRecordNumber>=0;){const t=A[v.mateRecordNumber];if(!t)throw new nA("intra-slice mate record not found, this file seems malformed");e.push(t),v=t;}let n=e[0].alignmentStart,j=n+e[0].readLength-1;for(let A=1;A<e.length;A++){const t=e[A];t.alignmentStart<n&&(n=t.alignmentStart);const r=t.alignmentStart+t.readLength-1;r>j&&(j=r);}const f=j-n+1;f>=0&&e.forEach(A=>{if(void 0!==A.templateLength)throw new nA("mate pair group has some members that have template lengths already, this file seems malformed");A.templateLength=A.alignmentStart===n?f:-f;});}(A,0,r):function(A,t){const r=Math.min(A.alignmentStart,t.alignmentStart),e=Math.max(A.alignmentStart+A.readLength-1,t.alignmentStart+t.readLength-1)-r+1;A.templateLength=A.alignmentStart<=t.alignmentStart?e:-e,t.templateLength=t.alignmentStart<=A.alignmentStart?e:-e;}(r,e)),r.mateRecordNumber=void 0;}class zA{file;container;containerPosition;sliceSize;_headerResult;_blocksResult;_blocksContentIdIndexResult;constructor(A,t,r){this.file=A.file,this.container=A,this.containerPosition=t,this.sliceSize=r;}getHeader(){return void 0===this._headerResult&&(this._headerResult=this._fetchHeader(),this._headerResult.catch(()=>{this._headerResult=void 0;})),this._headerResult}async _fetchHeader(){const{majorVersion:A}=await this.file.getDefinition(),t=KA(A),r=await this.container.getHeader(),e=await this.file.readBlock(r._endPosition+this.containerPosition),v="MAPPED_SLICE_HEADER"===e.contentType?t.cramMappedSliceHeader.parser:"UNMAPPED_SLICE_HEADER"===e.contentType?t.cramUnmappedSliceHeader.parser:void 0;if(v){const A=m(e.content,v,0,r._endPosition);return {...e,parsedContent:A}}throw new nA(`error reading slice header block, invalid content type ${e.contentType}`)}getBlocks(){return void 0===this._blocksResult&&(this._blocksResult=this._fetchBlocks(),this._blocksResult.catch(()=>{this._blocksResult=void 0;})),this._blocksResult}async _fetchBlocks(){const A=await this.getHeader();if(this.sliceSize){const t=(await this.container.getHeader())._endPosition+this.containerPosition,r=A._endPosition,e=r-t,v=this.sliceSize-e,n=await this.file.read(v,r),j=new Array(A.parsedContent.numBlocks);let f=0;for(let A=0;A<j.length;A++){const t=await this.file.readBlockFromBuffer(n,f,r+f);j[A]=t,f=t._endPosition-r;}return j}let t=A._endPosition;const r=new Array(A.parsedContent.numBlocks);for(let A=0;A<r.length;A++){const e=await this.file.readBlock(t);r[A]=e,t=e._endPosition;}return r}async getCoreDataBlock(){return (await this.getBlocks())[0]}_getBlocksContentIdIndex(){return void 0===this._blocksContentIdIndexResult&&(this._blocksContentIdIndexResult=this._fetchBlocksContentIdIndex(),this._blocksContentIdIndexResult.catch(()=>{this._blocksContentIdIndexResult=void 0;})),this._blocksContentIdIndexResult}async _fetchBlocksContentIdIndex(){const A=await this.getBlocks(),t={};return A.forEach(A=>{"EXTERNAL_DATA"===A.contentType&&(t[A.contentId]=A);}),t}async getBlockByContentId(A){return (await this._getBlocksContentIdIndex())[A]}async getReferenceRegion(){const A=(await this.getHeader()).parsedContent;if(!wA(A))throw new Error("slice header not mapped");if(A.refSeqId<0)return;const t=await this.container.getCompressionScheme();if(void 0===t)throw new Error("compression scheme undefined");if(A.refBaseBlockId>=0){const t=await this.getBlockByContentId(A.refBaseBlockId);if(!t)throw new nA("embedded reference specified, but reference block does not exist");return {seq:B(t.content),start:A.refSeqStart,end:A.refSeqStart+A.refSeqSpan-1,span:A.refSeqSpan}}if(t.referenceRequired||this.file.fetchReferenceSequenceCallback){if(!this.file.fetchReferenceSequenceCallback)throw new Error("reference sequence not embedded, and seqFetch callback not provided, cannot fetch reference sequence");const t=await this.file.fetchReferenceSequenceCallback(A.refSeqId,A.refSeqStart,A.refSeqStart+A.refSeqSpan-1);if(t.length!==A.refSeqSpan)throw new jA("seqFetch callback returned a reference sequence of the wrong length");return {seq:t,start:A.refSeqStart,end:A.refSeqStart+A.refSeqSpan-1,span:A.refSeqSpan}}}getAllRecords(){return this.getRecords(()=>!0)}async _fetchRecords(A){const{majorVersion:t}=await this.file.getDefinition(),r=await this.container.getCompressionScheme();if(void 0===r)throw new Error("compression scheme undefined");const e=await this.getHeader(),v=await this._getBlocksContentIdIndex();if(t>1&&this.file.options.checkSequenceMD5&&wA(e.parsedContent)&&e.parsedContent.refSeqId>=0&&"0000000000000000"!==e.parsedContent.md5?.join("")){const A=await this.getReferenceRegion();if(A){const{seq:t,start:r,end:v}=A,n=function(A){return l(A.toUpperCase().replaceAll(/[^\u0021-\u007e]/g,""))}(t),j=e.parsedContent.md5?.map(A=>(A<16?"0":"")+A.toString(16)).join("");if(n!==j)throw new nA(`MD5 checksum reference mismatch for ref ${e.parsedContent.refSeqId} pos ${r}..${v}. recorded MD5: ${j}, calculated MD5: ${n}`)}}const n=await this.getCoreDataBlock(),j=new Map,f={lastAlignmentStart:wA(e.parsedContent)?e.parsedContent.refSeqStart:0,coreBlock:{bitPosition:7,bytePosition:0},externalBlocks:{getCursor(A){let t=j.get(A);return void 0===t&&(t={bitPosition:7,bytePosition:0},j.set(A,t)),t}}},s=new Set,b=new Set;function i(A,t){A&&(1===A.codecId?t?s.add(A.parameters.blockContentId):b.add(A.parameters.blockContentId):4===A.codecId?(i(A.parameters.lengthsEncoding,!0),i(A.parameters.valuesEncoding,!1)):5===A.codecId&&b.add(A.parameters.blockContentId));}for(const[A,t]of Object.entries(r.dataSeriesEncoding))i(t,"int"===PA[A]);for(const A of Object.values(r.tagEncoding))i(A,!1);for(const A of b)s.delete(A);const o=new Map;for(const A of s){const t=v[A];if(t?.content.length){const r=dA(t.content);o.set(A,{values:r,index:0});}}f.preDecodedIntBlocks=o;const a=A=>{const t=r.getCodecForDataSeries(A);if(!t)return ()=>{throw new nA(`no codec defined for ${A} data series`)};if(t instanceof kA){const A=t.parameters.blockContentId,r=o.get(A);if(r){const{values:A}=r;return ()=>A[r.index++]}const e=v[A];if(!e)return ()=>{throw new nA(`no block found with content ID ${A}`)};const n=f.externalBlocks.getCursor(A),j=e.content;return "int"===t.dataType?()=>u(j,n):()=>{if(n.bytePosition>=j.length)throw new fA("attempted to read beyond end of block. this file seems truncated.");return j[n.bytePosition++]}}if(t instanceof hA){const{blockContentId:A,stopByte:r}=t.parameters,e=v[A];if(!e)return ()=>{throw new nA(`no block found with content ID ${A}`)};const n=e.content,j=f.externalBlocks.getCursor(A);return ()=>{const A=j.bytePosition,t=n.length;let e=A;for(;e<t&&n[e]!==r;)e++;if(e>=t)throw new fA("byteArrayStop reading beyond length of data buffer?");return j.bytePosition=e+1,n.subarray(A,e)}}return ()=>t.decode(this,n,v,f)},g={BF:a("BF"),CF:a("CF"),RI:a("RI"),RL:a("RL"),AP:a("AP"),RG:a("RG"),RN:a("RN"),MF:a("MF"),NS:a("NS"),NP:a("NP"),TS:a("TS"),NF:a("NF"),TL:a("TL"),FN:a("FN"),FC:a("FC"),FP:a("FP"),DL:a("DL"),BB:a("BB"),QQ:a("QQ"),BS:a("BS"),IN:a("IN"),RS:a("RS"),PD:a("PD"),HC:a("HC"),SC:a("SC"),MQ:a("MQ"),BA:a("BA"),QS:a("QS"),TC:a("TC"),TN:a("TN")},I=r.getCodecForDataSeries("QS"),c=r.getCodecForDataSeries("BA"),C=I||c?(A,t)=>{const r="QS"===A?I:c;return r?.getBytesSubarray(v,f,t)}:void 0,E={},h=A=>{const t=r.getCodecForTag(A);return ()=>t.decode(this,n,v,f)};for(const A of Object.keys(r.tagEncoding)){const t=r.tagEncoding[A];if(4===t.codecId&&1===t.parameters.lengthsEncoding.codecId&&1===t.parameters.valuesEncoding.codecId){const r=t.parameters.lengthsEncoding.parameters.blockContentId,e=t.parameters.valuesEncoding.parameters.blockContentId,n=v[r],j=v[e];if(!n||!j){E[A]=h(A);continue}const s=j.content,b=f.externalBlocks.getCursor(e),i=o.get(r),a=n.content,g=f.externalBlocks.getCursor(r),I=i?()=>i.values[i.index++]:()=>u(a,g);E[A]=()=>{const A=I();if(0===A)return TA;const t=b.bytePosition,r=t+A;if(r>s.length)throw new fA("attempted to read beyond end of block. this file seems truncated.");return b.bytePosition=r,s.subarray(t,r)};}else E[A]=h(A);}const d=new Array(e.parsedContent.numRecords),k=function(A,t){const r=t>1?A.SC:A.IN,e=new Array(128);return e["B".charCodeAt(0)]=["B",()=>[String.fromCharCode(A.BA()),A.QS()]],e["X".charCodeAt(0)]=["X",()=>A.BS()],e["D".charCodeAt(0)]=["D",()=>A.DL()],e["I".charCodeAt(0)]=["I",()=>B(A.IN())],e["i".charCodeAt(0)]=["i",()=>String.fromCharCode(A.BA())],e["b".charCodeAt(0)]=["b",()=>B(A.BB())],e["q".charCodeAt(0)]=["q",()=>Array.from(A.QQ())],e["Q".charCodeAt(0)]=["Q",()=>A.QS()],e["H".charCodeAt(0)]=["H",()=>A.HC()],e["P".charCodeAt(0)]=["P",()=>A.PD()],e["N".charCodeAt(0)]=["N",()=>A.RS()],e["S".charCodeAt(0)]=["S",()=>B(r())],e}(g,t);for(let v=0;v<d.length;v+=1)try{d[v]=new R(HA(0,g,k,E,r,e,0,0,f,t,v,e.contentPosition+e.parsedContent.recordCounter+v+1,A,C));}catch(A){const t=A;if("CRAM_BUFFER_OVERRUN"===t.code){const A=v,r=e.parsedContent.numRecords;throw new nA(`Failed to decode all records in slice. Decoded ${A} of ${r} expected records. Buffer overrun suggests either: (1) file is truncated/corrupted, (2) compression scheme is incorrect, or (3) there's a bug in the decoder. Original error: ${t.message}`)}throw A}for(let A=0;A<d.length;A+=1){const t=d[A],{mateRecordNumber:r}=t;void 0!==r&&r>=0&&d[r]&&UA(d,A,t,d[r]);}return d}async getRecords(A,t){const r={...w,...t},e=""+(r.decodeTags?1:0),v=`${this.container.filePosition}:${this.containerPosition}:${e}`;let n=this.file.featureCache.get(v);n||(n=this._fetchRecords(r),this.file.featureCache.set(v,n));const j=(await n).filter(A);if(j.length&&this.file.fetchReferenceSequenceCallback){const A=await this.getHeader();if(wA(A.parsedContent)&&(A.parsedContent.refSeqId>=0||-2===A.parsedContent.refSeqId)){const t=A.parsedContent.refSeqId>=0?A.parsedContent.refSeqId:void 0,r=await this.container.getCompressionScheme();if(void 0===r)throw new Error("compression scheme undefined");const e={};for(const A of j){const r=void 0!==t?t:A.sequenceId;let v=e[r];v||(v={id:r,start:A.alignmentStart,end:Number.NEGATIVE_INFINITY,seq:null},e[r]=v);const n=A.alignmentStart+(A.lengthOnRef||A.readLength)-1;n>v.end&&(v.end=n),A.alignmentStart<v.start&&(v.start=A.alignmentStart);}await Promise.all(Object.values(e).map(async A=>{-1!==A.id&&A.start<=A.end&&this.file.fetchReferenceSequenceCallback&&(A.seq=await this.file.fetchReferenceSequenceCallback(A.id,A.start,A.end));}));for(const A of j){const v=e[void 0!==t?t:A.sequenceId];if(v?.seq){const t=v.seq;A.addReferenceSequence({...v,seq:t},r);}}}}return j}}class VA{file;filePosition;_headerResult;_compressionHeaderBlockResult;_compressionSchemeResult;constructor(A,t){this.file=A,this.filePosition=t;}getHeader(){return void 0===this._headerResult&&(this._headerResult=this._fetchHeader(),this._headerResult.catch(()=>{this._headerResult=void 0;})),this._headerResult}_fetchHeader(){return this._readContainerHeader(this.filePosition)}async getCompressionHeaderBlock(){return void 0===this._compressionHeaderBlockResult&&(this._compressionHeaderBlockResult=this._fetchCompressionHeaderBlock(),this._compressionHeaderBlockResult.catch(()=>{this._compressionHeaderBlockResult=void 0;})),this._compressionHeaderBlockResult}async _fetchCompressionHeaderBlock(){if(!(await this.getHeader()).numRecords)return null;const{majorVersion:A}=await this.file.getDefinition(),t=KA(A),r=await this.getFirstBlock();if("COMPRESSION_HEADER"!==r.contentType)throw new nA(`invalid content type ${r.contentType} in compression header block`);const e=m(r.content,t.cramCompressionHeader.parser,0,r.contentPosition);return {...r,parsedContent:e}}async getFirstBlock(){const A=await this.getHeader();return this.file.readBlock(A._endPosition)}async getCompressionScheme(){return void 0===this._compressionSchemeResult&&(this._compressionSchemeResult=this._fetchCompressionScheme(),this._compressionSchemeResult.catch(()=>{this._compressionSchemeResult=void 0;})),this._compressionSchemeResult}async _fetchCompressionScheme(){const A=await this.getCompressionHeaderBlock();if(A)return new YA(A.parsedContent)}getSlice(A,t){return new zA(this,A,t)}async _readContainerHeader(A){const{majorVersion:t}=await this.file.getDefinition(),r=KA(t),{cramContainerHeader1:e,cramContainerHeader2:v}=r,n=m(await this.file.read(e.maxLength,A),e.parser),j=-128&(f=n.numLandmarks)?-16384&f?-2097152&f?-268435456&f?5:4:3:2:1;var f;const s=m(await this.file.read(v.maxLength(n.numLandmarks),A+n._size-j),v.parser);return this.file.validateChecksums&&void 0!==s.crc32&&await this.file.checkCrc32(A,n._size+s._size-j-4,s.crc32,`container header beginning at position ${A}`),{...n,...s,_size:n._size+s._size-j,_endPosition:n._size+s._size-j+A}}}class XA{exports;memory;ptr;bufSize;inStart;outStart;mem8;mem32;constructor(A){this.exports=A.exports,this.memory=this.exports.memory,this.ptr=this.exports.create_context(),this._refresh(),this.bufSize=this.mem32[0],this.inStart=this.mem32[1]-this.ptr,this.outStart=this.mem32[4]-this.ptr;}supplyInput(A){this._refresh(),this.mem8.subarray(this.inStart,this.inStart+this.bufSize).set(A,0),this.exports.supply_input(this.ptr,A.byteLength);}getNextOutput(){const A=this.exports.get_next_output(this.ptr);if(this._refresh(),0!==A&&1!==A)throw new Error(`get_next_output failed with error code ${A}`);return {outChunk:this.mem8.slice(this.outStart,this.outStart+this.mem32[5]),finished:1===A}}dispose(){this.exports.destroy_context(this.ptr);}_refresh(){const A=this.memory.buffer;A!==this.mem8?.buffer&&(this.mem8=new Uint8Array(A,this.ptr),this.mem32=new Uint32Array(A,this.ptr));}}let WA,ZA;const At=new Uint8Array(0);let tt;class rt{file;validateChecksums;fetchReferenceSequenceCallback;options;featureCache;header;_sectionParsers;_definitionResult;_samHeaderResult;constructor(A){if(this.file=CA(A.url,A.path,A.filehandle),this.validateChecksums=A.validateChecksums??!1,this.fetchReferenceSequenceCallback=A.seqFetch,this.options={checkSequenceMD5:A.checkSequenceMD5,cacheSize:A.cacheSize??2e4},this.featureCache=new AA({maxSize:this.options.cacheSize}),void 0===tt&&(tt=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]),!tt)throw new Error("Detected big-endian machine, may be unable to run")}read(A,t){return this.file.read(A,t)}async _getSectionParsers(){if(!this._sectionParsers){const{majorVersion:A}=await this.getDefinition();this._sectionParsers=KA(A);}return this._sectionParsers}async getDefinition(){return void 0===this._definitionResult&&(this._definitionResult=this._fetchDefinition(),this._definitionResult.catch(()=>{this._definitionResult=void 0;})),this._definitionResult}async _fetchDefinition(){const{maxLength:A,parser:t}=QA(),r=t(await this.file.read(A,0)).value;if("CRAM"!==r.magic)throw new Error("Not a CRAM file, does not match magic string");if(2!==r.majorVersion&&3!==r.majorVersion)throw new vA(`CRAM version ${r.majorVersion} not supported`);return r}async getSamHeader(){return void 0===this._samHeaderResult&&(this._samHeaderResult=this._fetchSamHeader(),this._samHeaderResult.catch(()=>{this._samHeaderResult=void 0;})),this._samHeaderResult}async _fetchSamHeader(){const A=await this.getContainerById(0);if(!A)throw new nA("file contains no containers");const t=(await A.getFirstBlock()).content,r=new DataView(t.buffer,t.byteOffset,t.byteLength).getInt32(0,!0),e=B(t.subarray(4,4+r));return this.header=e,function(A){const t=A.split(/\r?\n/),r=[];for(const A of t){const[t,...e]=A.split(/\t/);t&&r.push({tag:t.slice(1),data:e.map(A=>{const t=A.indexOf(":");return -1!==t?{tag:A.slice(0,t),value:A.slice(t+1)}:{tag:A,value:""}})});}return r}(e)}async getHeaderText(){return await this.getSamHeader(),this.header}async*iterContainers(){let A=(await this._getSectionParsers()).cramFileDefinition.maxLength,t=0;for(;;){const r=this.getContainerAtPosition(A),e=await r.getHeader();if(yield r,0===t){A=e._endPosition;for(let t=0;t<e.numBlocks;t++)A=(await this.readBlock(A))._endPosition;}else A+=e._size+e.length;t++;}}async getContainerById(A){let t=0;for await(const r of this.iterContainers()){if(t===A)return r;t++;}}async checkCrc32(A,t,r,e){const v=await this.file.read(t,A),n=rA(v)>>>0;if(n!==r)throw new nA(`crc mismatch in ${e}: recorded CRC32 = ${r}, but calculated CRC32 = ${n}`)}async containerCount(){let A=0;try{for await(const t of this.iterContainers())A+=1;}catch(t){A--;}return A}getContainerAtPosition(A){return new VA(this,A)}async readBlockHeader(A){const{cramBlockHeader:t}=await this._getSectionParsers();return m(await this.file.read(t.maxLength,A),t.parser,0,A)}async _parseSection(A,t,r=A.maxLength,e){const v=m(e??await this.file.read(r,t),A.parser,0,t);if(v._size!==r)throw new nA(`section read error: requested size ${r} does not equal parsed size ${v._size}`);return v}async _uncompress(A,t,r){let e;if("gzip"===A)e=await EA(t);else if("bzip2"===A)e=await(v=t,n=r,aA(v,"bz2_uncompress",(A,t,r)=>A._bz2_uncompress(t,v.length,n,r),!0));else if("lzma"===A)e=await async function(A){ZA||await(WA||(WA=async function(){const A="data:application/wasm;base64,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ACABQX9qIgENAAsgAkJ/hSECCyACC8oQAgx/An4CQAJAIAAoAiRFDQAgACgCACECDAELQQAhAiAAQQA6ACggAEIANwMAIABCADcDGCAAQcgAakEAQeQAEIaAgIAAGiAAQawBakEMNgIACyAAIAEoAgQiAzYCECAAQeAAaiEEIABByABqIQUgAEG2AWohBiAAQbABaiEHIABBqAFqIQggASgCECEJAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDgoBAgAEBQYHCAkKDwsgASgCACEKIAAoAqgBIQIgACgCrAEhCyABKAIEIQwgASgCCCENDAILIAcgACgCqAEiDGogASgCACABKAIEIgJqIAEoAgggAmsiAiAAKAKsASAMayIMIAIgDEkbIgIQh4CAgAAaIAEgASgCBCACajYCBEEAIQwgAEEAIAAoAqgBIAJqIgIgAiAAKAKsASILRhs2AqgBIAIgC0cNESAAQQE2AgACQCAHQaiIgIAAQQYQhICAgABFDQBBBSEMDBILIAZBAkEAEI2AgIAAIAAoALgBRw0QQQYhDCAGLQAADREgACAALQC3ASICNgIgIAJBBEsNEUEBIAJ0QRNxRQ0RCyABKAIEIgwgASgCCCINRg0OAkAgASgCACIKIAxqLQAAIgsNACAAIAw2AhAgASAMQQFqNgIEQQYhAgwMC0EAIQIgAEEANgKoASAAQQI2AgAgACALQQJ0QQRqIgs2AqwBIAAgCzYCQAsgByACaiAKIAxqIA0gDGsiDCALIAJrIgIgDCACSRsiAhCHgICAABogASABKAIEIAJqNgIEQQAhDCAAQQAgACgCqAEgAmoiAiACIAAoAqwBIgtGGzYCqAEgAiALRw0PIAAgAkF8aiICNgKsAUEHIQwgByACQQAQjYCAgAAgByAAKAKsASICaigAAEcNDyAAQQI2AqgBIAAtALEBIgtBP3ENDAJAAkAgC0HAAHFFDQAgACAHIAggAhCRgICAAEEBRw0RIAAgACkDCDcDMCAAKAKsASECIAAtALEBIQsMAQsgAEJ/NwMwC0J/IQ4CQCALwEF/Sg0AIAAgByAIIAIQkYCAgABBAUcNECAAKAKsASECIAApAwghDgsgACAONwM4IAIgACgCqAEiC2tBAkkNDyAAIAtBAWoiCjYCqAEgCCALakEI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AA8LIAEgA0EBaiIFNgIEAkAgASgCACADai0AACAAKQMYIAAoAgQiA62Ip0H/AXFGDQBBBw8LIAAgA0EIaiIGNgIEIAUhAyAGIAJJDQALIABBADYCBCAAQgA3AxhBAQtvAQF/QQchAQJAIABBugFqLwAAQdm0AUcNACAAQbQBakEGQQAQjYCAgAAgAEGwAWooAABHDQAgAEGAAWopAwBCAoggADUAtAFSDQAgAEG4AWotAAANAEEBQQcgACgCICAAQbkBai0AAEYbIQELIAELwAIBA38CQAJAAkAgACgCJA0AIABBADoAKCAAQQA2AgBBASECDAELAkAgACgCAEEKRw0AQQAhAwwCC0ECIQMMAQtBASEDCwJAAkADQAJAAkACQAJAIAMOAwABAwMLIAEoAgQiAyABKAIIIgRGDQQgASgCACEFAkADQCAFIANqLQAADQEgASADQQFqIgM2AgQgACAAKAIEQQFqQQNxNgIEIAQgA0YNBgwACwsCQCAAKAIERQ0AQQcPCyAAKAIkRQ0BIABBADoAKCAAQQA2AgBBASEDDAMLIABCADcDGCAAQQA2AgQgAEHIAGpBAEHkABCGgICAABogAEGsAWpBDDYCAAtBAiEDDAELIAAgARCQgICAACIDQQFHDQIgAEEKNgIAQQAhAwwACwsCQCACDQBBAA8LQQdBASAAKAIEGyEDCyADC3UBAX8CQEG4CRCAgICAACICRQ0AIAIgADYCJCACIAAgARCbgICAACIANgKwCQJAIABFDQAgAkEAOgAoIAJCADcDACACQgA3AxggAkHIAGpBAEHkABCGgICAABogAkGsAWpBDDYCACACDwsgAhCCgICAAAtBAAseAAJAIABFDQAgACgCsAkQnYCAgAAgABCCgICAAAsL3RABCn8gAEHo3QFqIQIgAEHUAGohAyAAQRxqIgRBCGohBQJAAkADQCAAKAJAIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCBCIHIAEoAghJDQAgBkEHRg0BDBELIAYOCQECAwQFBgcACQ4LIAAoAkwhBgwHC0EBIQYgASAHQQFqNgIEIAEoAgAgB2otAAAiB0UNCAJAAkAgB0HfAUsNACAHQQFHDQELIABBgAI7AVACQCAAKAI8DQAgACABKAIMIAEoAhAiBmo2AhggACABKAIUIAZr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".replace("data:application/wasm;base64,",""),t=atob(A),r=t.length,e=new Uint8Array(r);for(let A=0;A<r;A++)e[A]=t.charCodeAt(A);const v=await WebAssembly.instantiate(e.buffer,{});ZA=v.instance;}()));const t=new XA(ZA),r=[];let e=0,v=!1;try{for(;;){if(t.mem32[2]===t.mem32[3])if(e<A.length){const r=Math.min(t.bufSize,A.length-e);t.supplyInput(A.subarray(e,e+r)),e+=r;}else {if(v)throw new Error("XZ decompression error: unexpected end of input");t.supplyInput(At),v=!0;}const n=t.getNextOutput();if(n.outChunk.length>0&&r.push(n.outChunk),t.mem32[5]=0,n.finished)break}if(1===r.length)return r[0];const n=r.reduce((A,t)=>A+t.length,0),j=new Uint8Array(n);let f=0;for(const A of r)j.set(A,f),f+=A.length;return j}finally{t.dispose();}}(t);else if("rans"===A)e=await function(A){return aA(A,"rans_uncompress",(t,r,e)=>t._rans_uncompress(r,A.length,e),!0)}(t);else if("rans4x16"===A)e=await function(A){return aA(A,"rans_uncompress_4x16",(t,r,e)=>t._rans_uncompress_4x16(r,A.length,e))}(t);else if("arith"===A)e=await function(A){return aA(A,"arith_uncompress",(t,r,e)=>t._arith_uncompress(r,A.length,e))}(t);else if("fqzcomp"===A)e=await async function(A){const t=await oA(),r=t._malloc(4);try{return await aA(A,"fqz_decompress",(t,e,v)=>t._fqz_decompress(e,A.length,v,r))}finally{t._free(r);}}(t);else {if("tok3"!==A)throw new vA(`${A} decompression not yet implemented`);e=await function(A){return aA(A,"tok3_decode_names",(t,r,e)=>t._tok3_decode_names(r,A.length,e))}(t);}var v,n;if(e.length!==r)throw new nA(`${A} decompression produced ${e.length} bytes, expected ${r}`);return e}async readBlock(A){const{majorVersion:t}=await this.getDefinition(),{cramBlockHeader:r,cramBlockCrc32:e}=await this._getSectionParsers(),v=m(await this.file.read(r.maxLength,A),r.parser,0,A),n=v._size+v.compressedSize+(t>=3?e.maxLength:0),j=await this.file.read(n,A);return this.readBlockFromBuffer(j,0,A)}async readBlockFromBuffer(A,t,r){const{majorVersion:e}=await this.getDefinition(),v=await this._getSectionParsers(),{cramBlockHeader:n}=v,j=m(A.subarray(t,t+n.maxLength),n.parser,0,r),f=j._endPosition,s=t+j._size,b=A.subarray(s,s+j.compressedSize),i=0===j.uncompressedSize?new Uint8Array(0):"raw"!==j.compressionMethod?await this._uncompress(j.compressionMethod,b,j.uncompressedSize):b,o={...j,_endPosition:f,contentPosition:f,content:i};if(e>=3){const r=s+j.compressedSize,e=m(A.subarray(r,r+v.cramBlockCrc32.maxLength),v.cramBlockCrc32.parser,0,f+j.compressedSize);if(o.crc32=e.crc32,this.validateChecksums){const r=A.subarray(t,t+j._size+j.compressedSize),v=rA(r)>>>0;if(v!==e.crc32)throw new nA(`crc mismatch in block data: recorded CRC32 = ${e.crc32}, but calculated CRC32 = ${v}`)}o._endPosition=e._endPosition,o._size=o.compressedSize+v.cramBlockCrc32.maxLength;}else o._endPosition=f+o.compressedSize,o._size=o.compressedSize;return o}}function et(A,t){const[r,e,v,n,j,f]=t,s=r;A[s]||(A[s]=[]),A[s].push({start:e,span:v,containerStart:n,sliceStart:j,sliceBytes:f});}class vt{parseIndexP;filehandle;constructor(A){this.filehandle=CA(A.url,A.path,A.filehandle);}async parseIndex(){const A={},t=await async function(A){return 31===A[0]&&139===A[1]?EA(A):A}(await this.filehandle.readFile()),r=new DataView(t.buffer,t.byteOffset,t.byteLength);if(t.length>4&&21578050===r.getUint32(0,!0))throw new nA("invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support");let e=[],v="";for(const r of t)if(r>=48&&r<=57||!v&&45===r)v+=String.fromCharCode(r);else if(9===r)e.push(Number.parseInt(v,10)),v="";else if(10===r)e.push(Number.parseInt(v,10)),v="",et(A,e),e=[];else if(13!==r&&32!==r)throw new nA("invalid .crai index file");v&&e.push(Number.parseInt(v,10)),6===e.length&&et(A,e);for(const t of Object.values(A))t?.sort((A,t)=>A.start-t.start||A.span-t.span);return A}getIndex(){return this.parseIndexP||(this.parseIndexP=this.parseIndex().catch(A=>{throw this.parseIndexP=void 0,A})),this.parseIndexP}async hasDataForReferenceSequence(A){return !!(await this.getIndex())[A]}async getEntriesForRange(A,t,r){const e=(await this.getIndex())[A];return e?e.filter(A=>A.start<=r&&A.start+A.span>t):[]}}function nt(A){const t=A.readName;if(void 0===t)throw new Error("readName undefined");return t}class jt{cram;index;constructor(A){this.cram=A.cram??new rt({url:A.cramUrl,path:A.cramPath,filehandle:A.cramFilehandle,seqFetch:A.seqFetch,checkSequenceMD5:A.checkSequenceMD5,validateChecksums:A.validateChecksums,cacheSize:A.cacheSize}),this.index=A.index;}async getRecordsForRange(A,t,r,e={}){const v=e.viewAsPairs??!1,n=e.pairAcrossChr??!1,j=e.maxInsertSize??2e5,f=e.onProgress,s={decodeTags:e.decodeTags},b=A,i=await this.index.getEntriesForRange(b,t,r);let o=0;for(const A of i)o+=A.sliceBytes;let a=0;f?.(0,o);let g=(await Promise.all(i.map(e=>this.getRecordsInSlice(e,e=>e.sequenceId===A&&(void 0===e.lengthOnRef?e.alignmentStart>=t&&e.alignmentStart<=r:e.alignmentStart<=r&&e.alignmentStart+e.lengthOnRef-1>t),s).then(A=>(a+=e.sliceBytes,f?.(a,o),A))))).flat();if(v){const A={},t=new Set;for(const r of g){const e=nt(r);A[e]=(A[e]??0)+1,t.add(r.uniqueId);}const r=new Set(Object.keys(A).filter(t=>1===A[t])),e=[];for(const A of g){const t=nt(A);r.has(t)&&A.mate&&(A.mate.sequenceId===b||n)&&Math.abs(A.alignmentStart-A.mate.alignmentStart)<j&&e.push(this.index.getEntriesForRange(A.mate.sequenceId,A.mate.alignmentStart,A.mate.alignmentStart+1));}const v=await Promise.all(e),f=new Map;for(const A of v.flat())f.set(`${A.containerStart}:${A.sliceStart}:${A.sliceBytes}`,A);const s=[...f.values()].map(A=>this.getRecordsInSlice(A,()=>!0).then(A=>{const e=[];for(const v of A){const A=nt(v);r.has(A)&&!t.has(v.uniqueId)&&e.push(v);}return e})),i=await Promise.all(s);g=g.concat(i.flat());}return g}getRecordsInSlice({containerStart:A,sliceStart:t,sliceBytes:r},e,v){return this.cram.getContainerAtPosition(A).getSlice(t,r).getRecords(e,v)}hasDataForReferenceSequence(A){return this.index.hasDataForReferenceSequence(A)}}})(),gmodCRAM=e;})();
52552
+ var gmodCRAM$1 = gmodCRAM;
52054
52553
 
52055
52554
  class FileHandler {
52056
52555
 
@@ -52168,7 +52667,7 @@ class CramReader {
52168
52667
  this.browser = browser;
52169
52668
  this.genome = genome;
52170
52669
 
52171
- this.cramFile = new gmodCRAM.CramFile({
52670
+ this.cramFile = new gmodCRAM$1.CramFile({
52172
52671
  filehandle: config.fileHandle ? config.fileHandle : new FileHandler(config.url, config),
52173
52672
  //url: config.url,
52174
52673
  seqFetch: config.seqFetch || seqFetch.bind(this),
@@ -52176,9 +52675,9 @@ class CramReader {
52176
52675
  });
52177
52676
 
52178
52677
  const indexFileHandle = config.indexFileHandle ? config.indexFileHandle : new FileHandler(config.indexURL, config);
52179
- this.indexedCramFile = new gmodCRAM.IndexedCramFile({
52678
+ this.indexedCramFile = new gmodCRAM$1.IndexedCramFile({
52180
52679
  cram: this.cramFile,
52181
- index: new gmodCRAM.CraiIndex({
52680
+ index: new gmodCRAM$1.CraiIndex({
52182
52681
  //url: config.indexURL
52183
52682
  filehandle: indexFileHandle
52184
52683
  }),
@@ -52303,6 +52802,9 @@ class CramReader {
52303
52802
 
52304
52803
  const alignment = decodeCramRecord(record, header.chrNames);
52305
52804
 
52805
+ // Convert qual to regular array -- this was a breaking change somewhere between 5.X and 8.3.0
52806
+ if(alignment.qual) alignment.qual = Array.from(alignment.qual);
52807
+
52306
52808
  if (this.filter.pass(alignment)) {
52307
52809
  alignmentContainer.push(alignment);
52308
52810
  }
@@ -76656,6 +77158,9 @@ class XMLSession {
76656
77158
  indexURL: r.getAttribute("index"),
76657
77159
  order: idx
76658
77160
  };
77161
+ if (r.hasAttribute("format")) {
77162
+ config.format = r.getAttribute("format");
77163
+ }
76659
77164
  resourceMap.set(config.url, config);
76660
77165
  if (!hasTrackElements) {
76661
77166
  tracks.push(config);
@@ -76743,6 +77248,13 @@ function extractTrackAttributes(track, config) {
76743
77248
 
76744
77249
  config.name = track.getAttribute("name");
76745
77250
 
77251
+ if(track.hasAttribute("type")) {
77252
+ config.type = track.getAttribute("type");
77253
+ }
77254
+ if(track.hasAttribute("format")) {
77255
+ config.format = track.getAttribute("format");
77256
+ }
77257
+
76746
77258
  const color = track.getAttribute("color");
76747
77259
  if (color) {
76748
77260
  config.color = "rgb(" + color + ")";
@@ -77054,7 +77566,7 @@ function createReferenceFrameList(loci, genome, browserFlanking, minimumBases, v
77054
77566
  })
77055
77567
  }
77056
77568
 
77057
- const _version = "3.8.1";
77569
+ const _version = "3.8.3";
77058
77570
  function version() {
77059
77571
  return _version
77060
77572
  }